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

Open Source Games and Cheating - a paradoxum?


You might wonder how this relates to debian. In my opinion, this problem
might become crucial to Debian. It's games that awake computer interest
and skills in young kids, and Debian needs them as volunteers. But if
Debian can't offer popular games (i.e. online multiplayer games) because
they have to be closed source, a lot of teenagers will use commercial
Distributions and won't learn about free software and Debian as if they
would use Debian and get the ability to work on "their" games - and if
that is not enough to show off - on their operating system. Basically
wen need good free (as in speech of course) games to keep Debian running

To those that grew up with Pong and Tetris: Cheating in an online game
usually means achieving an advantage by somehow changing the client side
of the game. In 3D shooters, this might mean partly invisible walls,
automatic aiming and shooting etc. Cheating kills the fun for other
players and - if not stopped somehow - kills the game.

With closed source games, cheating is fought back by fixing bugs in the
code that allowed cheating, comparing checksums of game files and
running extra programs that search for running or even installed cheats.
Cheats for popular games can be downloaded and run easier than regular
applications and are developed by experienced coders that are always a
bit ahead of the game and counter-cheat programmers.

The best way to prevent cheating is by doing all work on the server
side. This might work work for a card game, but is virtually impossible
for most other kinds of games.

Finding an open source way to prevent cheating and create cheating free
games would have two advantages:
 * Since open source develops faster, cheats won't exist long until a
counter measure is taken.
 * A lot of cheat programmers might help programming the game which the
can't to with regular games.

My train of thought starts here: Open Source will not require local
changes to the game to run and modified versions will have to to be able
to connect to certain servers.  But the mainstream which will get stable
packaged versions must be stopped from running modified versions on
public servers (the servers you usually play and where tournaments -
partly with real money prizes - are held). So we need a way for the
server to tell if the client is modified.

Solution A would be that the developers use a dual-licence or create a
own licence to be able to distribute the official version with a closed
source component that detects cheats and modified versions. Disadvantage
is the unability for the public to help develop the anti-cheat part

So we need an open source program or library (or even kernel module)
that checks for modification of itself and the main program (eg. sending
a MD5 hash to the server for comparision with a "white-list") as well as
changes from the outside (network traffic, /dev/mem, kernel).

I assume the problem will somehow find a solution - if there is any -
using Public Key Cryptography, but how exaclty I don't know. This is why
I wrote this message - as a base for some creatinve discussion within
some of the most able free software advocates and developers.

So basically we need a way for a server to know if the client is one of
the versions that are "allowed" and if they are messed with in some way
or the other.

Joachim Breitner

<flamestopper> I used mainly open source in this case because that is
the problem in this case. I usually prefer free software.</flamestopper>
Joachim Breitner 
  e-Mail: mail@joachim-breitner.de | Homepage: http://www.joachim-breitner.de
  JID: joachimbreitner@amessage.de | GPG-Keyid: 4743206C | ICQ#: 74513189
  Geekcode: GCS/IT/S d-- s++:- a--- C++ UL+++ P+++ !E W+++ N-- !W O? M?>+ V?
            PS++ PE PGP++ t? 5? X- R+ tv- b++ DI+ D+ G e+>* h! z?
Terrorists can take my live.
Only the government can take my freedom.

Attachment: signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil

Reply to: