AAO25.com

Assist => Support => AA Support => Topic started by: atomsoldier on Tuesday, July 05, 2022, 04:46:01 AM

Title: Commands for query an AA25 Server
Post by: atomsoldier on Tuesday, July 05, 2022, 04:46:01 AM
Hello everybody,

I am planing to write some scripts for querying AA25 servers. I just made such a tool 15 years ago using Visual Basic and now I want to implementing it in python or other scripting language. Unfortunately I cannot find any informations about the query command strings and how the UDP datagrams are constructed.

Two questions:
(1): Is it still possible to query an AA25 server which is ran by 25Assist Server Manager using the Query Port or is the querying restricted to the 25Assist
(2): Can someone provide informations about the query commands ?

As far as I remember, AA25 is based on unreal engine, isnt it ?

best regards,
AtomSoldier
Title: Re: Commands for query an AA25 Server
Post by: 82nd_DXO_COL=Shad 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.
Title: Re: Commands for query an AA25 Server
Post by: atomsoldier on Wednesday, July 06, 2022, 02:25:18 AM
Hello 82nd_DXO_COL=Shad,

thank you for the very detailed answer ! I could just figure out the query code in hex-format "FEFD00DEADC0DEFFFF00" yesterday using WireShark sniffing the data packages :-).
Using a simple python script just worked gently as a minimal example code.

Thank you !

Warm regards,
AtomSoldier