The Castle Doctrine Forums

Discuss the massively-multiplayer home defense game.

You are not logged in.

#26 2014-01-07 19:47:17

zed
Member
Registered: 2013-04-16
Posts: 161

Re: Hardcore Anti-Cheat

> First of all, it wouldn't stop being an open-source game.  It would just be a
> closed key game.
> [...]
> What would change is that you couldn't (easily) build from source and play on
> the main server.

I understand. But that would be a major difference. Do you really want to
discourage people making interface improvements and customisations, and
porting the game to new platforms for you?

> Second, what evidence do you have that everyone has been honorable?

der:
: > How do you know that some people aren't peeking at where the vault is with
: > a modded client?
: I know that they are doing it, I've seen by myself.

OK. Then maybe something has to be done.

> Yes, I've been playing with ram dumps on this end.  I've already made some
> progress here (so that at least the text maps don't hang around in ram
> anymore).

With the game logic code as it stands, the map is presumably going to be
loaded into ram every time a turn is processed. Not as text, but as an array,
and I'm sure it wouldn't be too hard to find it. You could try to obfuscate
that too in a way which isn't revealed in the public source... but then that's
going to make the game even further from being open source, and be a pain to
maintain.

I'm sure you've thought of all this, but really this
security-through-obscurity does sound like an all-round bad idea to me. Like
they say.

> Here, there's a pretty compelling reason to ensure that the vast majority of
> people are playing with the same game client on the main server.  It's not just
> about protecting robbery.... so many other aspects of the game become slightly
> (or very) unfair if people are playing by different rules.  What if you never
> have to die in a self test?  Wouldn't that be nice?  What if you could run your
> self test with no shrouds?

I guess that will always need some trust. A player can always load the map to
test into a separate client not connected to the server, record a successful
run through, then send that to the server. This could be automated.

Offline

#27 2014-01-07 22:02:46

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

Re: Hardcore Anti-Cheat

Hmm.... I'm starting to come around to your "perfunctory bike lock" analogy.  It lets someone know that the bike isn't abandoned and that someone is probably coming back for it.  No one will ride off on it by accident.  Furthermore, two identical bikes, from different owners, can be parked side by side without any chance of a naive mix-up.

Right now, anyone, even a non-programmer, can mod the game so easily that they might stumble into doing so without realizing the implications of their actions.  At the most basic level, they'll end up dying when they submit a robbery to to the server after mucking around in the gameElements folder.  Oops.

Someone who is building from source, a programmer, might make this or that mod, maybe for convenience, or out of curiosity, without realizing the harm they might be causing to other players.

So, different approach would be to put a lock in place that prevents modded clients from connecting to the main server, but give everyone the key, with instructions about how the key is intended to be used (i.e., not for connecting to the main server with modded clients that violate the spirit and point of the game).  Sorta like the red safety box over the Launch Nukes button.

But if you just compile the source bundle, you'll find that you can't connect to the main server.  You have to read the instructions, where it explains how to modify the header file with the necessary key value, where that key value is something like, "Please don't abuse your power to mod the game by giving yourself an unfair advantage."

The same "key" could be used to sign stuff in the gameElements folder to prevent naive modding of those things.  And a script could be provided in the source bundle to re-sign those things (thus allowing cool, benign stuff like the Halloween mod).

Offline

#28 2014-01-08 11:35:36

zed
Member
Registered: 2013-04-16
Posts: 161

Re: Hardcore Anti-Cheat

> But if you just compile the source bundle, you'll find that you can't
> connect to the main server.  You have to read the instructions, where it
> explains how to modify the header file with the necessary key value, where
> that key value is something like, "Please don't abuse your power to mod the
> game by giving yourself an unfair advantage."

I like it! I hope it would work.

Maybe also include some description of what would be considered cheating, to
deal with people who might otherwise think "oh, allowing myself to undo a turn
after death isn't *really* cheating, it's just protecting myself from
carelessness" or similar.

Offline

#29 2014-01-08 13:00:46

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

Re: Hardcore Anti-Cheat

Good idea!

Offline

Board footer

Powered by FluxBB 1.5.8