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

  1. Download the patcher: ce-master-patch.exe
  2. Put it in your Codename Eagle folder - the one containing ce.exe.
  3. Run it (double-click, or run it from a command prompt).
  4. Host a game the way you normally would. Your server now announces to ceservers.net and 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.

Open your ports. For other players to find and join you, your router/firewall needs to allow inbound UDP 4711 (so the master can read your server's details) and UDP 24711 (so players can join). If 4711 can't be reached, your server announces but never gets listed.

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