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

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



On Sat, 4 Jan 2003, 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.

Checksums won't work, because the offender can run the checksum over the
original source/binary and send it, yet still use a modified program to
cheat. You need a zero-trust protocol, where the client only receives the
information it needs (the one that is visible on the screen for the user),
and the rules of the game are implemented server-side: the client only
displays information; it doesn't decide anything in the game.

This would elliminate several types of cheats, but you could still
implement a "blackjack rainman" with this scheme. I'm affraid you wouldn't
be able to avoid this problem, unless youcontrol the software that is
being run on the client machines (which is not the case).

Anyways, unless you are planning to run an on-line cassino with this, it
should be enough. People who cheat while playing are not playing for fun
anyways, and that defeats the purpose of the game, doesn't it? (I could
modify spacegame to start with 1,000 lives, but what's the use?)

Greetings,
Arturo

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