Masterserverlist for COD WaW

Masterserverlist for COD WaW

Postby UnnamedPlayer » 18 Jun 2009, 12:35

I'm new at this forum, so i first wanna say "Hello" to all.
While looking in the internet for some Gameserver Browsers i discovered this page. Nice work for a one-man-project.
I'm trying to make a webinterface for getting serverlists and quering serverinformation. I got good results for q3 and steam enginge based games, but with all gamespy games like ut3 and cod5 it sucks. To get serverlists for these games i'm using luigi auriemma's gslist.exe. While sniffing your "CoD WoW" masterquery i noticed that you have a severlist under "http://213.132.125.60/braindamage/download/codwaw.txt", maybe its possible that you can tell me how to build this list, because not even gslist.exe give me any result for "CoD WoW"
Thanks in advance.
UnnamedPlayer
 
Posts: 4
Joined: 18 Jun 2009, 11:44

Re: Masterserverlist for COD WaW

Postby bdamage » 18 Jun 2009, 13:30

Hey and welcome!

Short answer: I haven't found any good way of getting the servlist. And trust me I have spent a lot of time of doing this.

CoD WaW if you have looked in Luigi's forum you can read that CoD WaW is using Deamonware for the serverlist and isn't not based on Gamespy protocol (I have posted myself there ;)).
However this protocol is encrypted and requires authentication etc.. Therefore I haven't done any full implement of CoD WaW master serverlist.

The truth is which is no secret as other claims to do, CoD WaW is "handcrafted" and static, so I update the serverlist manually once and a while.

I know for fact that ETQW (Splash Damage has done good work for the community) which is also based on Deamonware, they opened up the master server list for third parts softwares, and Treyarch which I think is arrogant to the community they haven't commented anything on their forum or what ever.
It has been absolutly silence from them.

To give you some options in the dark...
I had some conversation with a dude that did some reverse engineering of the cache file for CoD WaW he managed to track most of the data. Not sure if he completed anything with. Basicly if you are lucky owner of the game you could open it up and update the cache file and then parse the file itself for a fresh serverlist.

So, I filemon'd (from sysinternals) CoD WaW and saw where it was accessing the servercache when i refreshed the list, it is in:
C:\Documents and Settings\[user name]\Local Settings\Application Data\Activision\CoDWaW\servercache.dat

I cracked it open with a hexeditor, and started looking for 71 20 hex, found tons of them, enough to justify 4149 servers that came back in the listing.

Anything in caps inside [] I'm pretty certain about, anything lowercase with a ? I'm uncertain, anything with just a ? I'm totally clueless.

The formatting got messed up when I pasted so I attached instead, to summarize the format is essentially

Offset Name Size Desc
0000 signature byte[4] I've noticed this is either 04 or 02, not sure what it means
0004 ip addr dword The IP address to the server.
0008 port word The port number.
000A reserved? byte[16] Always empty (zeros)
001A pure? byte Not sure if this is right.
001B version? byte Not sure if this is right.
001C password? byte Not sure if this is right.
001D players byte Actual players playing.
001E maxPlayers byte Max allowed players.
001F allowAnon byte Not sure if this is right.
0020 floodprotect byte Not sure if this is right.
0021 private byte Not sure if this is right.
0022 stockMaps byte Not sure if this is right.
0023 protocol byte Not sure if this is right.
0024 unknown byte[4] ???????
0028 minping word Minimum ping allowed.
002A maxping word Maximum ping allowed.
0x2C unknown byte[9] ?????
0x35 serverName byte[32] Server name (color codes are ^ followed by a number)
0x55 mapName byte[32] Map file name
0x75 modName byte[24] Mod name (if none, zeroes)
0x8D gameType byte[?] Game type, dm (free for all), tdm (team deathmatch), koth (king of the hill), etc, Is 35 bytes, but might be 16 to 32 bytes in length with remainder as padding?
0xB0 END

176 bytes per record, there is no header in the file, just record after record. I sent you my server cache file, it is 3,542,544 bytes, though it only contains 730,240 bytes of actual content, the remainder is zero padding. 730240 / 176 = 4149, exactly how many servers the browser listing said there were in the game itself.

struct GAMESERVER_HEADER
{
BYTE sig[4];
DWORD addr;
WORD port;
BYTE reserved[16];
BYTE pure;
BYTE version;
BYTE password;
BYTE playerCount;
BYTE maxPlayers;
BYTE allowAnon;
BYTE floodProtect;
BYTE private;
BYTE stock;
BYTE protocol;
BYTE a[4];
WORD minping;
WORD maxping;
BYTE b[9];
BYTE serverName[32];
BYTE mapName[32];
BYTE modName[24];
BYTE gameType[16];
BYTE c[19];
} waw_server, *pwaw_server;

I haven't tested this out, but this is what I've formulated so far. What do you think? I guess this could be a temporary solution until treyarch gets off their butts and opens up access to the ipgetter. Next, just have to figure out the whole launch game at intervals to grab lists. I'm guessing this is what gametracker did, or they are in the door with demonware.

Either way, if you code up a little tool you can convert servercache.dat files into your IP list format. Might be an easy way to occasionally give yourself a fresh list, even if fresh means weekly/daily. Probably better than what most tools/sites provide, not quite as static.


Hope this helps a bit...
User avatar
bdamage
Site Admin
 
Posts: 275
Joined: 04 Jan 2009, 14:09

Re: Masterserverlist for COD WaW

Postby UnnamedPlayer » 19 Jun 2009, 10:59

Thx 4 the answer dude. The same happend to me, i spend days and hours, while searching the net about masterserver information for CoD WaW. So if you are interested, we can share such kind of information? I have implemented now 41 Games. My next step is trying to include S.T.A.L.K.E.R. (both versions). For getting the masterserver list i used gslist.exe, but it only supports "S.T.A.L.K.E.R.: Clear Sky", "S.T.A.L.K.E.R.: Shadow of Chernobyl" is not supported. Also the gameserverquery is strange, it seems to be some kind of gamespy4 protocol, but the my unreal tournement 3 query doesn't work for it, sad :(.
UnnamedPlayer
 
Posts: 4
Joined: 18 Jun 2009, 11:44

Re: Masterserverlist for COD WaW

Postby bdamage » 19 Jun 2009, 23:24

GS hasn't implemented gamespy protocol yet, the plan is to do that in near future.

Do you have your website available for public today?
User avatar
bdamage
Site Admin
 
Posts: 275
Joined: 04 Jan 2009, 14:09

Re: Masterserverlist for COD WaW

Postby UnnamedPlayer » 20 Jun 2009, 11:05

gm dude,
no my tool is not ready for public now, but i can upload a private zip-file. Please write me an email (the one from the forum registration) then i will send u a link. Sorry that i don't want to post it here, but i don't want to make it public at this point of the development phase.
UnnamedPlayer
 
Posts: 4
Joined: 18 Jun 2009, 11:44

Re: Masterserverlist for COD WaW

Postby bdamage » 20 Jun 2009, 13:24

I have send you a pm.
User avatar
bdamage
Site Admin
 
Posts: 275
Joined: 04 Jan 2009, 14:09


Return to Development

Who is online

Users browsing this forum: No registered users and 1 guest

cron