The Castle Doctrine Forums

Discuss the massively-multiplayer home defense game.

You are not logged in.

#1 2014-01-22 19:59:12

Registered: 2013-05-07
Posts: 505

On Cheating via Modded Clients

Ever since v5, for most version updates except recent ones, I have kept a self-built Castle Doctrine client on my Debian box, often making small cosmetic changes as I saw fit. While most of these were just retexturings, a couple involved actual code changes; none, however, made the gameplay any different. However, that's led be to see how easy cheating could be. Why use the fog of war when you could just as easily remove it? And why not let yourself see the whole map? Why not add an "undo" button while you're at it? I don't recall any countermeasures to this kind of advanced cheating, and frankly, it seems like it's only a matter of time before somebody with both programming experience, as I know a lot of Castle Doctrine players posses, and a shady motive releases a client modded in such a way so that anybody can use it. Once the Steam release hits and there's a rush of new players, some definitely will try this method to cheat.

I'd like to use this thread to discuss cheating and, more importantly, ways to prevent it before it even happens. And the only two solutions I can think of, namely validating the entire client after every robbery somehow, or mirroring all steps server-side, are both bandwidth-consuming and impractical. There has to be some means of preventing cheating like this; otherwise, the game might crumble once it hits Steam and somebody builds the inevitable cheat client.

Current life: Not dead, but I have no clue who I am
The Life and Times of Christopher Alvin Harris
Record: 149 Paintings!


#2 2014-01-22 23:23:02

Registered: 2014-01-22
Posts: 6

Re: On Cheating via Modded Clients

Someone will inevitably be smart enough to use a keystroke/mouse gesture recorder to make it so "rebuilding houses" becomes a quick and easy matter. This is not something you can easily, if at all, counteract. Although I know nobody's mind will be changed about disallowing the saving of house blueprints, do keep in mind that the client itself requires zero modification to get house saving to work.


#3 2014-01-23 06:29:20

From: A ditch somewhere
Registered: 2013-06-15
Posts: 61

Re: On Cheating via Modded Clients

What I'd do is have the client send its md5 sum when it connected to Jason's server. If the checksum isn't the same  as the current official client or no checksum is sent, refuse the client from connecting. Just a crappy solution I thought up.

Last edited by nathan (2014-01-23 06:30:10)

"I just robbed Mr. Rogers." -Ludicrosity "The wood is my desk, and I'm knocking it with my head." -Blip
"I'd rather pack 25 meats than 1 crowbar if you know what I mean..." -Jabloko
"This is one of the most disturbed things I have seen in quite a while. I blame global warming." -bey bey
"that seems like more resources than I'm willing to put into having my kids killed." -cbenny


#4 2014-01-23 07:29:22

Registered: 2014-01-22
Posts: 5

Re: On Cheating via Modded Clients

nathan wrote:

What I'd do is have the client send its md5 sum when it connected to Jason's server.

What if there's a client that sends the official md5 sum instead of its own?


#5 2014-01-23 09:37:45

Registered: 2013-04-16
Posts: 161

Re: On Cheating via Modded Clients

Blip: Jason recently made some changes to the build process to help with this problem. I think we can hope that they'll be enough. Try to connect to the main server with a modded version of the latest release to see what I'm talking about, and read the file 'HowToConnectToMainServer.txt'.


#6 2014-01-23 11:56:59

Registered: 2013-04-01
Posts: 1,231

Re: On Cheating via Modded Clients

Yeah, instead of jumping off the cliff of trying to do this the "right way" (everything server-side, really the only way), I instead opted for an honor system approach, with stuff in place to prevent accidental modding.  Someone would have to be well aware of my wishes to mod the client to cheat.


Board footer

Powered by FluxBB 1.5.8