Host a Codename Eagle server
Get your server onto the live list by announcing to
ceservers.net - the GameSpy master-server replacement for
Codename Eagle.
Quick start
- Download the patcher: ce-master-patch.exe
- Put it in your Codename Eagle folder - the one containing
ce.exe. - Run it (double-click, or run it from a command prompt).
-
Host a game the way you normally would. Your server now announces to
ceservers.netand shows up on the list.
That's the whole thing. The patcher saves your original as
ce.exe.bak first and is safe to run more than once.
What the patcher does
Codename Eagle was built to announce itself to GameSpy's master server,
whose address master.gamespy.com is baked into
ce.exe. GameSpy shut down years ago, so out of the box that
announcement goes nowhere.
The patcher changes that one hard-coded hostname to
ceservers.net, right inside ce.exe:
master.gamespy.com (18 bytes) ceservers.net + 00 00 00 00 00 (13 bytes + 5 zero bytes = 18)
ceservers.net is shorter, so it's written over the same
bytes and padded with zeros (a C string ends at the first zero byte, so
the game just reads ceservers.net). Nothing else is touched:
the file stays exactly the same size, no game code changes, and the
original is kept as ce.exe.bak. It works on Codename Eagle
versions 1.33 or later.
How announcing works
When you host a game, the patched ce.exe sends a small
heartbeat over UDP to ceservers.net (the GameSpy
heartbeat, port 27900) that says, in effect, "I'm here,
and you can query me on port 4711." It sends this at startup, then about
once every five minutes and whenever the game state changes - it never
waits for a reply.
The master then queries your server back on UDP 4711 to confirm it's real and read its details - name, map, players, game type. Those details are what appear on the server list. Players themselves connect to your game on UDP 24711.
| UDP port | Direction | Purpose |
|---|---|---|
| 27900 | your server → ceservers.net | announce (heartbeat) |
| 4711 | ceservers.net → your server | status query - must be reachable to get listed |
| 24711 | players ↔ your server | gameplay / joining |
Undo
The patcher kept a backup, so restoring the stock binary is one copy:
copy /y ce.exe.bak ce.exe