[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [pygame] [OT] Preventing cheating in multiplayer games



Joel Ricker wrote:
A bit off topic but I have a question regarding security for my
python/pygame created game and I thought maybe there might be a few
people here with some ideas.

The project I have in mind would be a multiplayer card game
engine that allowed two or more people to play different card games
together online. The problem that I forsee though is that if this is
written in Python, then anyone could modify the source to cheat to allow
them to look at the deck or to other players cards.
I've come up with one possible solution is to maybe find a way
to run a checksum on the source and if any checksums don't match then we
know someone has modified the source. That way though runs into a couple
of more problems like again we are depending on output from a players
code and they could write code to fake a checksum.

Any other thoughts?
Without at least one trusted component, there is nothing you can really do.

If you run a server that is considered secure, it can then manage the deck (and any other secret data), without telling the clients anymore more than they really have to know. It can also validate the actions taken by each of the players.

However, this means that a trusted machine has to be available somewhere to run the server software.

And it does NOT ensure that players aren't running enhanced clients that automatically count cards or something. Just that they don't have any data not available to their clients, and can't make any illegal moves.

This is a problem no matter how you develop the game, but it is more of a problem with open source and scripted systems because it takes less effort to hack the client.

Palladium is an effort to beat this problem by moving the trusted component into the processor itself. The processor does the checksum/encrpted signature testing. Even it will be beatable by building a custom chip, or running the OS on an emulated processor.

	Thanks
	Joel

____________________________________
pygame mailing list
pygame-users@seul.org
http://pygame.seul.org

--
Don Garrett                             http://www.bgb.cc/garrett/
BGB Consulting                                      garrett@bgb.cc


____________________________________
pygame mailing list
pygame-users@seul.org
http://pygame.seul.org