Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 28

Thema: cheat-verhinderung bei opensource?

  1. #1
    Registrierter Benutzer Avatar von BLUESCREEN3D
    Registriert seit
    08.11.2002
    Beiträge
    665

    Question cheat-verhinderung bei opensource?

    Wenn es hier schon einen Spiele-Programmierungs-Thread gibt erstelle ich doch gleich mal passend dazu diesen

    Also: Wie werden bei Opensource-Multiplayer-Spielen eigentlich Cheats verhindert?
    Theoretisch könnte doch jeder seinen Quellcode etwas modifizieren...

  2. #2
    Registrierter Benutzer Avatar von SeeksTheMoon
    Registriert seit
    22.02.2002
    Beiträge
    762
    Bei opensource kannst Du das eigentlich vergessen.
    Man sollte kontrollieren können, dass alle binaries und Spieldaten der Spieler korrekt sind (z.B. Checksummen, Netzprotokoll-Version, gleiches Patchlevel, usw.). Wenn der aber den Code hat und ihn sogar selber kompiliert, dann kann er das aber alles leicht manipulieren.
    Allerdings muss sich erstmal jemand die Mühe machen und durch den Code durchblicken, den ganzen Code richtig manipulieren usw.
    Das setzt natürlich voraus, dass diese Person ein Programmierer ist und dass er bereit ist, so viel Arbeit für ein bissel fuschen zu erledigen.
    Wenn der Admin oder die anderen Spieler das merken, kicken sie den Cheater eh. Das dürfte auch die einzige Möglichkeit sein um mit Cheatern fertig zu werden; Softwaremäßig ist das bei opensource wirklich schlecht.
    Geändert von SeeksTheMoon (27-12-2003 um 10:02 Uhr)
    I haven't lost my mind - It's somewhere on a backup-disc

  3. #3
    Registrierter Benutzer Avatar von tuxipuxi
    Registriert seit
    30.08.2002
    Beiträge
    667
    hi,


    ein sehr bekanntes multiplayer opensource game ist bzflag( http://www.bzflag.org ).
    du kannst ja mal auf deren page gucken wie sie cheaten verhindern oder mal die entwickler fragen.


    gruss,
    tuxipuxi.

  4. #4
    Registrierter Benutzer
    Registriert seit
    28.05.2003
    Beiträge
    161

    another perspective

    Grundlegend kann cheaten bei oeffentlichen Wettbewerben verhindert werden, indem der Veranstalter die Hardware inklusive Software bereitstellt. Es liegt also im Interesse aller, die erfolgreich an solchen Wettbewerben teilnehmen wollen, schon beim ueben nicht zu schummeln!

    Allerdings mag das Zustandekommen solch oeffentlicher Wettbewerbe unwahrscheinlich sein, wenn das Spiel als leichte Cheaterbeute verschrien ist.

    Samsara
    Interface design
    whohas - wer hat's im Repository? Debian? Fedora? Gentoo? ...?
    Hardware compatibility list - das Original mit bereits 3000 Einträgen
    It ain't a hack if it ain't dirty.

  5. #5
    Registrierter Benutzer
    Registriert seit
    05.09.2002
    Ort
    Neuhausen
    Beiträge
    320
    Es dürfte schwierig sein, das zu verhindern. Zudem hängt es stark von der Art des Spiels ab.

    Werden z.B. bei einem Shooter alle Spielentscheidenden Berechnungen auf dem Server durchgeführt (ich gehe davon aus der man dem Server trauen kann), können Client-seitig immernoch eine Vielzahl von Cheats eingesetzt werden: Durch Wände schauen, Radar mit Feinden, Aim-Hilfen, Automatisches Ausweichen usw.

    Bei Spielen wie z.B. Schach kann man sich wesentlich besser vor Cheater schützen, allerdings kann hier natürlich ein Schachprogramm zu Hilfe gezogen werden.

    Opensource Macht das Cheaten einfacher, aber führt keine neuen Probleme hinzu: Selbst kommerzielle Spiele haben massive Probleme mit Cheater.

    Man kann hier die Erfahrungen der IT-Security gut anwenden: Programme wie Cheating Death (CS) erkennen auch nur bekannte Cheats, genau wie Antiviren-Programme nur bekannte Viren erkennen (ja es gibt natürlich Heuristiken, aber auch die lassen sich einfach austricksen).

    Ein Möglichkeit Cheater auffliegen zu lassen sehe ich über statistische Auswertung des Spielers. Das bedingt aber dass der Cheater eine gewisse Zeit lang spielt. Und auch False-Positive sind vermutlich immer wieder mal zu erwarten.

    Gruss, Andy

  6. #6
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477

    Re: cheat-verhinderung bei opensource?

    Original geschrieben von BLUESCREEN3D
    Also: Wie werden bei Opensource-Multiplayer-Spielen eigentlich Cheats verhindert?
    Theoretisch könnte doch jeder seinen Quellcode etwas modifizieren...
    In den meisten Spielen hat der Server die Kontrolle über den Spielzustand und kann daher plausible Befehle/Daten von den Clients erkennen, bzw erkennen, wenn es keine glaubwürdigen Daten sind.

    Ist also mehr eine Frage des Designs der Kommunikation, bzw der Spielarchitektur.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  7. #7
    Registrierter Benutzer
    Registriert seit
    21.07.2000
    Ort
    Österreich
    Beiträge
    189
    Original geschrieben von RapidMax
    Werden z.B. bei einem Shooter alle Spielentscheidenden Berechnungen auf dem Server durchgeführt (ich gehe davon aus der man dem Server trauen kann), können Client-seitig immernoch eine Vielzahl von Cheats eingesetzt werden: Durch Wände schauen, Radar mit Feinden, Aim-Hilfen, Automatisches Ausweichen usw.
    durch wände schauen, und radar mit feinden könnte man leicht abstellen. denn das sind infos die der client im normalfall nicht braucht, und wenn der client nicht weiß das ein gegner hinter einer wand steht kann er auch nichts zeigen auch wenn die wand unsichtbar ist. dadurch würde aber wahrscheinlich der server stärker belastet.
    das gößere problem sind aimhilfen usw.

  8. #8
    Registrierter Benutzer Avatar von BLUESCREEN3D
    Registriert seit
    08.11.2002
    Beiträge
    665
    Original geschrieben von RapidMax
    Werden z.B. bei einem Shooter alle Spielentscheidenden Berechnungen auf dem Server durchgeführt (ich gehe davon aus der man dem Server trauen kann), können Client-seitig immernoch eine Vielzahl von Cheats eingesetzt werden: Durch Wände schauen, Radar mit Feinden, Aim-Hilfen, Automatisches Ausweichen usw.
    Jo, genau sowas meinte ich...

    Original geschrieben von Alex_K
    das sind infos die der client im normalfall nicht braucht
    Die Clients mit möglichst wenig Informationen versorgen, wäre eine Möglichkeit

    Es ist nur die Frage wie ein Aimbot funzt - holt der sich die Daten aus dem Speicherbereich des Spieles oder liest er die empfangenen Daten mit?
    Je nachdem ließe sich mglw. mit Verschlüsselung was machen, oder bringt das eher nichts, weil der Client die Daten eh entschlüsseln muss?

  9. #9
    Registrierter Benutzer Avatar von SeeksTheMoon
    Registriert seit
    22.02.2002
    Beiträge
    762
    man kann sich als aimbot eine Funktion schreiben, die die Waffe direkt auf das nächste Ziel ausrichtet und bei Bewegung dran bleibt (oder vorhält). Der Client kennt die Position des Zieles, denn er muss es ja anzeigen.
    Dann schickt man die Daten für den Schuß an den Server. Dieser merkt natürlich nicht dass die Daten berechnet wurden...

    Das kann man höchstens als Spieler irgendwann bemerken.
    I haven't lost my mind - It's somewhere on a backup-disc

  10. #10
    Registrierter Benutzer
    Registriert seit
    19.04.2003
    Beiträge
    194
    Original geschrieben von SeeksTheMoon
    man kann sich als aimbot eine Funktion schreiben, die die Waffe direkt auf das nächste Ziel ausrichtet und bei Bewegung dran bleibt (oder vorhält). Der Client kennt die Position des Zieles, denn er muss es ja anzeigen.
    Dann schickt man die Daten für den Schuß an den Server. Dieser merkt natürlich nicht dass die Daten berechnet wurden...
    über die Sinnhaftigkeit eines solchen Spielens lässt sich streiten. Das hält man vielleicht eine Stunde durch, danach schlafen einem die Füße ein *g*!

    mfG
    Going to church does not make a person religious, nor does going to school make a person educated, any more than going to a garage makes a person a car.

  11. #11
    Registrierter Benutzer Avatar von BLUESCREEN3D
    Registriert seit
    08.11.2002
    Beiträge
    665
    Original geschrieben von SeeksTheMoon
    man kann sich als aimbot eine Funktion schreiben, die die Waffe direkt auf das nächste Ziel ausrichtet und bei Bewegung dran bleibt (oder vorhält). Der Client kennt die Position des Zieles, denn er muss es ja anzeigen.
    Dann schickt man die Daten für den Schuß an den Server. Dieser merkt natürlich nicht dass die Daten berechnet wurden...

    Das kann man höchstens als Spieler irgendwann bemerken.
    ja, so kann man es bei opensource-games machen
    aber wie funzt das bei games ohne offenen sourcen?
    wird da die executable verändert oder läuft das nebenbei oder wie?
    eigentlich verhindert doch das os, dass ein programm auf den speicherbereich eines anderen zugreift!?

  12. #12
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Ja, aber du kannst dir ja auch den Netzwerk-Traffic zurechtbiegen. Oder dann halt Änderungen an den Spieldateien.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  13. #13
    Registrierter Benutzer Avatar von oracle2025
    Registriert seit
    18.03.2002
    Beiträge
    136
    Hm, also ich würde es mit signierten Binarys und ein bisschen Verschlüsselung probieren, und mir halt von jemandem helfen lassen, der ein bisschen was von Kryptographie-Theorie versteht.

    Wer dann cheaterfrei spielen will nimmt die vorkompilierten signierten Binarys, und alle anderen könnten immer noch mit dem Quellcode rumspielen.
    Niemand dringt hier durch und
    gar mit der Botschaft eines Toten.
    Du aber sitzt an Deinem Fenster und
    erträumst sie Dir, wenn der Abend kommt.

  14. #14
    Registrierter Benutzer
    Registriert seit
    21.07.2000
    Ort
    Österreich
    Beiträge
    189
    an dass hab ich auch schon gedacht, aber die frage ist ob es wirklich so leicht möglich ist die signatur sicher zu machen. denn das programm selber muss ja die signatur zurück schicken. und ich denke es wird nicht so schwer sein das zu manipulieren.

  15. #15
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    ja, auch mit Checksummen lässt sich wohl kaum etwas machen - dann kann man ja einfach das Programm, das man eh schon geändert hat, so zuerchtbiegen, dass es die Checksummen der Original-Binary rüberschickt.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •