Old SchoolOps

Getting Started

Run the World of Kung Fu server, point a client at it, and know what works before you do.

For Every World of Kung Fu Version Updated 2026-09-05

World of Kung Fu is a from-scratch Go server for the retail GongfuClient.exe. One process serves all three connections the client makes, login, character select and the zone, on TCP 28000.

The game content ships inside the download. Unzip it, run it, and the world is there.

Run the server

Windows: double-click start-server.bat. Linux: ./start-server.sh.

That is the whole install. The database is SQLite and needs nothing: the files appear under db\ on first run, and an account is created the first time a name logs in. If you would rather use MySQL, set DATABASE_PROVIDER to mysql in settings.cfg and run the scripts in database-mysql\.

Point a client at it

The one thing not in the download is the game client, which we are not able to redistribute. Bring your own, then run the setup script from the client\ folder:

client\setup-client.ps1 -ClientDir "C:\path\to\your\client"

That points the client at 127.0.0.1:28000, redirects the dead patch-server addresses so the patcher fails fast instead of hanging on them, and puts the client in windowed mode. Add -Server and -Port for a server somewhere else, -Fullscreen to leave it full screen, and -Launch to start the client straight after. Copy the script into the client folder and it finds the client on its own.

There is no launcher and none is needed. The client reads its server address out of ClientCfg.txt and logs in by itself. By hand, that file wants:

LoginSvrIP="127.0.0.1";
LoginSvrPort=28000;

Any name and password will do. The account is created on first use.

Changing the content

data\ is the original ZoneServer content in its original format. attrib\ holds the item, NPC, shop and buff tables, and map\ holds the maps with their spawns, waypoints and portals. It is deliberately unconverted, so anything you already know about editing this game’s data still applies and you can replace any of it without going through us.

The server reads it from data\ beside settings.cfg. Point CONTENT_ROOT somewhere else if you keep yours elsewhere.

What works, and what does not

A character logs in, creates and selects, enters Taoyuan, moves, chats, joins a party, fights, levels, loots and uses items. The level 1 to 10 loop plays through.

Character models do not currently render in the world. The server announces every entity and the client accepts them. We have traced the client building the models and handing them to its own renderer, and nothing appears on screen. We have not reproduced this against a second client build or a second machine, and that is the main reason this release exists.

If you try it, we would like to hear what you see, and especially:

  • which client build you used, and where it came from
  • whether characters and NPCs render for you
  • whatever Log\F3DLog_*.txt says in your client folder
  • logs\history.log from the server

Notes

The port is 28000 by default. Change SERVICE_PORT in settings.cfg if you need to.

ADVERTISE_IP is what the server hands the client for its second and third connections. Leave it empty for a local install and set it to your public address if other people will connect.

Game rules, formulas and balance are ours. They are not a reconstruction of the original server’s, which we have never had.