I have been searching for this all over the internet, this site claims that Battlefield 2 uses the GameSpy 2 protocol, I have tried this protocol, but it does not respond. I have also been working on the GameSpy 3 protocol, but that one is a lot harder.
I would like to know which one it uses so I know whether I am using the wrong protocol, or have an error in my code.
Battlefield 2 uses the Gamespy 3 protocol.
Source: GameQ library
From the GameQ config file:
[bf2] name = "Battlefield 2" port = 29900 prot = "gamespy3" pack = "bf2"