Gamespy ceased its matchmaking services 31st May 2014, this has left the multiplayer element of a number of older games broken. The decision was made by GLU who had acquired Gamespy in 2012 as the service was no longer economically viable; thus ending multiplayer support for games from over 800 developers since 1996. Below we will provide a solution using DD-WRT, DNSMasq & GameSpy DNS with examples.
Over at gaming@Tombstones we are discussing the possibility of hosting a Neverwinter Nights server. Unfortunately as it turns out NWN is also one of those games affected by the GameSpy shutdown. Therefore to proceed with the addition of this service we needed a solution. As a client/player you can still use the favourites list and direct connect functionality from the server browser but there is a major delay in accessing the menu whilst the game attempts to authenticate with Gamespy and connect to the GameSpy chat network. We will rectify this delay below for clients.
Server publishing was also broken with the Gamespy service shutdown; there are now a number of community hosted master lists where you can publish your server address using the standard protocols. This is achieved by overwriting the DNS record for the master server with a new IP address using DD-WRT, DNSMasq & GameSpy DNS.
You can effect this override through the standard HOSTS file hack in /etc/hosts; the only downside to this is it needs to be repeated on every machine on your network individually. Our preferred alternative is to update the router (in this case using the DD-WRT firmware) to handle the redirection for your entire LAN. This is done through the DNSMasq service on our DD-WRT enabled router.
To begin we need to ensure the router is configured to use the DNSMasq settings we provide. To do this click on the Setup tab and find the section entitled Network Address Server Settings (DHCP) under Basic Settings.
Once you have located this section ensure the below is checked,
- Use DNSMasq for DCHP
- Use DNSMasq for DNS
Move onto the Services tab and locate the DNSMasq options; Enable,
Within the Additional DNSMasq Options use this format to override the default DNS address=/DNS/IP Address
Below you can see an example of how this is used for the first Nevewinter Nights and SkywingL’s server, the only addition to the default listing from the NWN community is to also override the peerchat DNS which reduces the initial delay when loading the multiplayer portion of the game.
Finally click Save and Apply Settings for these settings to take effect.
As a textual reference for you guys here is the Neverwinter Nights details. I’d appreciate any other game details left in the comments