Calling all Cheaters
|by jasonrohrer||Wednesday, May 1, 2013 [1:01 am]|
The Castle Doctrine server is now using a robust robbery simulation and verification system.
The server is essentially running a copy of the game client itself, and for each robbery (and house self-test) submitted, it passes the move list and map to the server-side client. The client runs the robbery with that move list and computes the result, returning that result to the server.
This allows the server's simulation of a robbery to match the game's behavior exactly (because it's running exactly the same code). Furthermore, it means that when I want to modify the way the game behaves, I only have to change the code in one place (the game client). In other words, there is no duplication of the game rules in the client and the server.
This also means that if you mod your client in a way that substantially changes the rules of the game (in other words, you cheat), your robbery results will not match the results of the server-side simulation, and the server will reject your robbery results, killing you in the process.
Mod-based cheats that plagued the game are now a thing of the past---walking through walls, moving after death, and so on. Yeah, you can still do it, but the result is that you will steal nothing in the process and end up dead.
The server-side simulation even forbids tool use after death (possible through a bug in the v5 game client), so be careful if you're thinking about exploiting this v5 bug for gain or laughs (you'll end up dead).
Finally, I've had a change of heart regarding the eleven people who were banned for excessive cheating in the past. It was their activity that eventually motivated me to take on this rather daunting programming challenge. It's done now, and the game is much more robust, in part thanks to them. So, I'm inviting all the cheaters back and unbanning them.
It's possible that the server-side simulation misses some potential exploit (or that it wrongly rejects valid behavior). I'm hoping that the former cheaters will return with their modded clients and really try to punch some holes in the new system. If you find an exploit, please report it to me! You will no longer be banned for trying to cheat.
Cheating should now be impossible, so if you can cheat, that's a bug that I need to fix.
However, keep in mind that if you find a hole, you shouldn't try to exploit it repeatedly at the expense of other players. Remember that each person who was banned didn't just cheat---they each cheated excessively and hurt many other players in the process. Damage done in The Castle Doctrine represents real harm to someone else in the world (hours of hard work lost).
So, help me find it and fix it instead.
Discuss this post in the forums