Hello devs, old article by original aoe2 dev that might help for some bugs and exploits

I found an original article written by one of the original developers of aoe2 regarding cheats and exploit and bugs and some parts might still be relevant now a days. You might already know it but if not, maybe it can be of some help!

This part was interesting

My last category of cheats is something of a catchall for exploitable problems a game may have on particular hardware or operating conditions. A good example is the “construction-cancelled” bug that was found amazingly in both Age of Empires and Starcraft at about the same time. The element needed to make it work was extreme lag in network communications, to the point of a momentary disconnection. When this happened, the game engines stopped advancing to the next game turn while they waited for communications to resume. During this time, the user interface still functioned, so the player didn’t think the game had locked up. While the game was in this state, a player could issue a command to cancel construction of a building, returning its resources to the player’s inventory - only the player would issue the command over and over as many times as possible. Normally, a player could only issue one Cancel command per turn, but because the game simulation was in a holding state, multiple command requests went into the queue. Because of some necessities of RTS engine design, when an object is destroyed during a turn by something such as a Cancel command, the destruction is postponed until after all the commands for that turn have been processed. The result was the command executed multiple times during one game update.
Once discovered, this had a horrible impact on online games. People deliberately caused massive lags to take advantage of the cheat. To fix it in Age of Empires , we had to update the validation checks to see if a similar request was already pending on the current turn and reject duplicates.

Full article:
https://www.gamasutra.com/view/feature/131557/how_to_hurt_the_hackers_the_scoop_.php

1 Like