SWAT4 Master Server
This project implements the GameSpy master server protocol that is fully compatible with SWAT4 multiplayer. Namely, it accepts heartbeat requests from game servers and allows players to browse these servers from the in-game server list.
18.104.22.168 swat4.available.gamespy.com 22.214.171.124 swat4.master.gamespy.com 126.96.36.199 swat4.ms15.gamespy.com
In 2013, I launched swat4stats.com [GitHub], a player statistics tracking service for SWAT4. The core feature set in swat4stats.com has always been about statistics and numbers. However, one of its extra features, the live server browser, has quickly become the most popular part of the service thanks to the GameSpy shutdown.
A couple of years later, with the help of the SWAT4 community and research articles published by Luigi Auriemma, I was able to reverse engineer the protocols used by the game, and then reimplement the master server functionality, returning servers back to the in-game server browser:
If for any reason you wish to run your own instance of this service you can do it using a docker container:
docker run --rm ghcr.io/sergeii/swat4master:latest
For other tags see container registry.
Alternatively you can download and run a server binary suitable for your platform from one of the releases.
Building from source
To build the project from source you need Go 1.18+
go build -o swat4master cmd/swat4master/main.go