1
AA Support / Re: Commands for query an AA25 Server
« on: Wednesday, July 06, 2022, 00:47:03 AM »
1. Assist uses the original server binary, so you can use GameSpy query with it.
2. If you are talking about player/game status, AA2.5 can be queried using the GameSpy query protocol on port 1717 (or game port +1). You have to open a UDP socket to the game server's IP with that port, and send a query code of "FEFD00DEADC0DEFFFF00" and get a data packet back that contains the server status variables and player info. Split the packet into an array delimited by "00". Server info is about the 1st 74 items for 2.5, 75 for 2.8.5. Player info after that.
The server binary is a modified unreal 2-2.5 base developed by the U.S. Army. Ported to Linux by [email protected] by contract for the U.S. Army, and if you want anything related to how the server responds to UDP packets on the game port 1716, neither the U.S. Army or Icculus will tell you. Assist modified 2.5 using the unreal base provided uscript engine which is only accessed from the server binary. Custom server mods use compiled uscript modules. Assist is really just a distributed (vbasic?) client browser and original server binaries for Windows, Linux and Mac with uscript modules for anti-hack and data reporting back to aao25. AA2.8 on up used compiled C/C++ libraries instead to deter hacking, and dropped Mac clients which is why we don't have Assist for AA greater than 2.5
Hope that answers your question.
2. If you are talking about player/game status, AA2.5 can be queried using the GameSpy query protocol on port 1717 (or game port +1). You have to open a UDP socket to the game server's IP with that port, and send a query code of "FEFD00DEADC0DEFFFF00" and get a data packet back that contains the server status variables and player info. Split the packet into an array delimited by "00". Server info is about the 1st 74 items for 2.5, 75 for 2.8.5. Player info after that.
The server binary is a modified unreal 2-2.5 base developed by the U.S. Army. Ported to Linux by [email protected] by contract for the U.S. Army, and if you want anything related to how the server responds to UDP packets on the game port 1716, neither the U.S. Army or Icculus will tell you. Assist modified 2.5 using the unreal base provided uscript engine which is only accessed from the server binary. Custom server mods use compiled uscript modules. Assist is really just a distributed (vbasic?) client browser and original server binaries for Windows, Linux and Mac with uscript modules for anti-hack and data reporting back to aao25. AA2.8 on up used compiled C/C++ libraries instead to deter hacking, and dropped Mac clients which is why we don't have Assist for AA greater than 2.5
Hope that answers your question.