Re: gamespy-technology-shutdown-date
Posted: Wed Apr 16, 2014 5:31 am
I have had a quick look under the hood, and looks like 2 ways that it could be done.
Basically replicate the protocol that BF1942 uses to talk to master.gamespy.com, and setup a server on the net to do it. This would involve either patching the bf1942.exe (basically write a new url in there, this would be what EA games would have to do if they are gone fix it). Alternative is that the users have to add an entry to their hosts file to point the DNS for this server to a different IP (messy).
Initially packet sniffing suggest a relatively simple protocol to fetch the list, however if people are gone be able to publish their servers on to the list its a bit more work (more protocol features to create, and database). Luigi Auriemma has done a lot of RE already http://aluigi.altervista.org/papers.htm in regards to Gamespy, however it looks like the initial protocol for Battlefield 1942 is a little bit different.
The other way of doing it is to find a way to distribute the ServerList.dat file that is stored Settings\Profile in Battlefield folder. This file contains the list of servers that was fetched from the master previously; tests show that if it can not contact the master it will still use the list. I guess it gets abit messy here as well, the list is a binary file that has to be generated from somewhere, and then have an "agent" installed that fetches and updates your Battlefield folder (or you download it manually).
Realistically the first option is the way to go, and a patch for the exe has to be downloadable for people to be able to play online (fetch the game server list). Unless gamespy gives up the domain name master.gamespy.com then all the games using it are doomed unless the individual game studios release a patch for their game...
Basically replicate the protocol that BF1942 uses to talk to master.gamespy.com, and setup a server on the net to do it. This would involve either patching the bf1942.exe (basically write a new url in there, this would be what EA games would have to do if they are gone fix it). Alternative is that the users have to add an entry to their hosts file to point the DNS for this server to a different IP (messy).
Initially packet sniffing suggest a relatively simple protocol to fetch the list, however if people are gone be able to publish their servers on to the list its a bit more work (more protocol features to create, and database). Luigi Auriemma has done a lot of RE already http://aluigi.altervista.org/papers.htm in regards to Gamespy, however it looks like the initial protocol for Battlefield 1942 is a little bit different.
The other way of doing it is to find a way to distribute the ServerList.dat file that is stored Settings\Profile in Battlefield folder. This file contains the list of servers that was fetched from the master previously; tests show that if it can not contact the master it will still use the list. I guess it gets abit messy here as well, the list is a binary file that has to be generated from somewhere, and then have an "agent" installed that fetches and updates your Battlefield folder (or you download it manually).
Realistically the first option is the way to go, and a patch for the exe has to be downloadable for people to be able to play online (fetch the game server list). Unless gamespy gives up the domain name master.gamespy.com then all the games using it are doomed unless the individual game studios release a patch for their game...