[Release] GBWC EmuServer – GunBound server emulator in Python (TH, WC S1 & WC S2)

Newbie Spellweaver
Joined
Oct 4, 2025
Messages
14
Reaction score
14
TH Play - [Release] GBWC EmuServer – GunBound server emulator in Python (TH, WC S1 & WC S2) - RaGEZONE Forums
TH Room - [Release] GBWC EmuServer – GunBound server emulator in Python (TH, WC S1 & WC S2) - RaGEZONE Forums

S1 Room List - [Release] GBWC EmuServer – GunBound server emulator in Python (TH, WC S1 & WC S2) - RaGEZONE Forums
S2 Sho - [Release] GBWC EmuServer – GunBound server emulator in Python (TH, WC S1 & WC S2) - RaGEZONE Forums



Hey everyone!

I'm releasing GBWC EmuServer, a GunBound server emulator written from scratch in Python (asyncio). One codebase covers three generations of the game; you choose the version for each game server in the config.

Tested clients
All tested clients are GBS (the Brazilian, Portuguese-only clients):
  • Thor's Hammer v404
  • World Champion Season 1 v440 and v495
  • World Champion Season 2 v548 and v584 (with Grand Prix)
All of them were tested without GameGuard. Clients from other regions may use different packets and haven't been tested.

Features
  • Broker (server list), Game Server and Buddy (friends) servers
  • Channels, rooms, room master change, quick join, matches and result screen
  • Shop with gold and cash, chest, avatars, gifts
  • Ranks and rankings (S1 and S2 rank ladders, daily job)
  • Grand Prix (S2 only; I couldn't find a WC S1 client with GP to test it)
  • S2: tutorial with rewards, Jackpot, jewel and seal enchanting, slot machine, Rena shop, battle items, MVP, country ranking and Stage channel (v584 missions, experimental)
  • GM commands
  • Database: SQLite (default, nothing to install), MySQL or PostgreSQL
  • Script that creates the database and migrates it forward by version (TH -> WCS1 -> WCS2)
  • Tool that imports items and packages straight from the client's avatar.xfs into the shop
  • 200+ automated tests

Client file editor
I use the GunBound XFS Editor alongside the server. It opens and edits the client's .xfs files (including SolFS-encrypted ones) and the item DAT files:

Anti-hack (GameGuard / HackShield)
Support is partial and experimental. It's off by default (mode: off).
  • observe: only logs the anti-hack traffic the client sends and never kicks anyone
  • capture (GameGuard): records question/answer pairs to check offline
  • v584: experimental validation, observe mode only, using the original ggauth50.dll (needs a separate x86 Python; the DLL is not in the repo)
  • HackShield (v404/v440): planned; for now the server only logs its traffic (observe)
  • There is no required mode yet (kicking clients that don't answer), and it hasn't been tested with a real client over the network
To play, use clients with the protection removed.

Requirements
  • Python 3.11 or newer
  • A compatible GBS client (see the Clients section below)

Quick setup
Code:
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
copy config.example.yml config.yml
python init_db.py WCS2
python broker.py
python game.py
python buddy.py
Set the phase of each game server in config.yml (TH, WCS1 or WCS2) to the same version you passed to init_db.py. Per-version details are in the repo READMEs (README-TH, README-WCS1 and README-WCS2).

Clients (GBS)
VersionDownloadXFS Passwords
Thor's Hammer v404
WC Season 1 v440
WC Season 1 v495
WC Season 2 v548
qnrgksdlwkdrjflaltkdlffhqhdlsmsfhzptdmfqkftkeodpwkdckrgksrjtdmfhdkffuwlaustjal
WC Season 2 v584
45skdmlRnadmsandjtdlswlskdmldlstodrhksdmsandjtdlswl5432dlwnddy1gksrkzzwpswkd12

Clients and passwords are only in this thread, not in the repo.
Password: ExtremsX

All clients are portable (no install needed), run in windowed mode and come without GG/HS. Just extract and play.

Known limitations
  • Only GBS (Portuguese) clients were tested
  • GameGuard support is partial; HackShield is only planned so far (see above)
  • Grand Prix was only tested on S2
  • Some packet fields are still unknown and are sent with default values
  • Where there was no source (original server or client), values were estimated and are configurable
  • The Stage channel and parts of S2 still need more testing with the client

Looking for official server files
I'm looking for the official server files (GunBoundServ, Broker, Buddy, setting files, DB scripts) of Season 2, Season 3 and Season 4. They're the best reference for supporting the remaining versions accurately, instead of guessing values from the client.
If you have any of them, please PM me or reply here. Partial packages help too.

Download
Server:
Editor:
License: AGPL-3.0

Bug reports, suggestions and pull requests are welcome. If you try it with another client, let me know how it went!

Credits: ExtremsX
 

Attachments

  • S2 Tutorial - [Release] GBWC EmuServer – GunBound server emulator in Python (TH, WC S1 & WC S2) - RaGEZONE Forums
    S2 Tutorial.webp
    148.1 KB · Views: 3
Last edited:
It's not ready yet, a few details are missing, mostly in S2 which I don't know how it works.
 
Back