Anyway, I did however get a lot of stuff done. Game servers now connect to the login server to expose themselfs. The login server will then reply with a list of all servers (Including the one that just connected), and will give the server name, IP, port, capacity and approx current users.
The login server also pings each server once a minute to check it's still there. If it isn't, it notifies all the other game servers that it's gone. If a server joins, the login server also notifies all the game servers.
I'm not sure if a game server needs to know about all the other game servers, but it's probably a handy thing to have kicking around. It'd allow me to let users change servers without logging out, etc etc (Well, maybe).
I'm going to add some more features to the web interface now, so I can view details of all the servers, and their ping times, etc. I'll also look at shutting down servers through the web admin, but that might be pointless.
I'm going to DC Studios on the 10th March now, the Friday before I start, so things will be fresh in my mind. So obviously I didn't end up going today.
RANDOM LOG SEGMENT:
[01/03/2006 23:32:12] Database connected (MySQL version 4.0.20a-nt)
[01/03/2006 23:32:12] Socket manager initialized
[01/03/2006 23:32:12] Loaded settings. "I am a Server!" will listen on port 13372 for up to 1000 users
[01/03/2006 23:32:12] Logging in to login server...
[01/03/2006 23:32:12] Connected to login server
[01/03/2006 23:32:12] Recieving server list (1 servers):
[01/03/2006 23:32:12] * I am a Server!: 184.108.40.206:13372
[01/03/2006 23:32:12] === Server ready ===
[01/03/2006 23:32:20] Discovered new game server: "Stain Server" at 220.127.116.11:13373
And from the other server:
[01/03/2006 23:50:05] Database connected (MySQL version 4.0.20a-nt)
[01/03/2006 23:50:05] Socket manager initialized
[01/03/2006 23:50:05] Loaded settings. "Stain Server" will listen on port 13373 for up to 100 users
[01/03/2006 23:50:05] Logging in to login server...
[01/03/2006 23:50:05] Connected to login server
[01/03/2006 23:50:06] Recieving server list (2 servers):
[01/03/2006 23:50:06] I am a Server!: 18.104.22.168:13372
[01/03/2006 23:50:06] * Stain Server: 22.214.171.124:13373
[01/03/2006 23:50:06] === Server ready ===
Yes. My server's clock is 20 minutes out. It's verging on the erotic now.