Skip to content

Add support for Axis & Allies RTS (gamename: aarts) #33

Description

@fullnoob

Hi! I'd like to request support for Axis & Allies RTS (2004, TimeGate Studios / Atari, PC).

Most of the stack already works against OpenSpy via hosts redirects — login, chat and the room
list are all fine. The only thing missing is game-specific data, which keeps the game from
hosting. I've done the legwork below, hopefully it saves you time.

Game identifiers

gamename aarts (demo: aartsd)
secret key tR3b8h (from the public gslist.cfg)
GameSpy Product ID 10318
GameSpy Game ID 868
Namespace 1
Query port 8850
Host port 7290

(Product ID / Game ID / namespace come from the game's own AVars_AA.tgi config file.)

What already works

With the hosts entries below, using an account created at https://account.openspy.net with a
profile in namespace 1:

  • gpcm login — works (the game logs in with uniquenick)
  • peerchat — works: chat is functional, player list populates, rooms Main and
    Tournament are listed correctly
  • server browser — the TCP connection to aarts.ms0.gamespy.com:28910 establishes

What doesn't work

The in-game Create (host) button stays permanently disabled. Its tooltip is set at runtime
and reads:

Please wait while retrieving official map list

(the string is ui_gamespy_waiting_on_official_maps in the game's strings_rtse.tgi)

The game never completes retrieval, so hosting is never enabled. Joining is unaffected in
principle, but with no one able to host there is nothing to join.

Worth noting: the game's config has

GameSpyRatedMapsURL = http://sdkdev.gamespy.com/games/aarts/web/maps.txt
GameSpyRankURL      = http://sdkdev.gamespy.com/games/aarts/web/ranks.txt

but I verified the game issues no HTTP request at all at that point — I redirected
sdkdev.gamespy.com to a local web server serving those exact paths and it received zero
requests. So the official map list appears to be requested over one of the GameSpy connections
rather than over HTTP.

Evidence

netstat on the game process while sitting in the lobby:

Established  134.122.16.249:28910   (master / server browser, x2)
Established  167.99.14.87:6667      (peerchat)
Established  157.230.90.177:29900   (gpcm)

hosts entries in use:

157.230.90.177   gpcm.gamespy.com
157.230.90.177   gpsp.gamespy.com
167.99.14.87     peerchat.gamespy.com
134.122.16.249   aarts.master.gamespy.com
134.122.16.249   aarts.available.gamespy.com
134.122.16.249   aarts.ms0.gamespy.com   (ms0 through ms9)
167.99.14.87     natneg1.gamespy.com
157.230.90.177   natneg2.gamespy.com
167.99.14.87     motd.gamespy.com
157.230.90.177   gamestats.gamespy.com

Note the game uses the %s.ms%d.gamespy.com pattern for the server browser, which is easy to
miss when writing a redirect list.

Request

Could aarts (and aartsd) be registered so the game-specific queries are served? I'm happy to
run any tests, capture packets, or try patches — I have the game installed and working, and can
reproduce the issue reliably.

Thanks for keeping these games alive.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions