Frage

Ich bin eigentlich nicht diese Software selbst zu schreiben, aber es fiel mir ein, dass ich keine Ahnung, wie das Problem zu lösen. Als der beste Weg, um das Problem zu erklären, werde ich ein bestimmtes Szenario von einem hypothetischen Mehrspieler-First-Person-Shooter-Spiel beschreiben ...

  • Spieler A ist in einigen Büschen versteckt Richtung Westen
  • Spieler B schleicht aus dem Osten auf Spieler A, oder hinter Spieler A schleichen

Ein beliebter „Hack“ für dieses Spiel geschrieben für Spieler A wäre, ein Radar zu haben, ihm die Lage von Spielern B zeigt, obwohl er nicht Spieler B auf seinem Bildschirm sehen kann, und das Spiel bietet keine Unterstützung für ein Radar . Dieser Hack ist möglich, weil der Server innerhalb eines bestimmten Bereichs (vielleicht innerhalb Spieler A Clippingebene) Info Spieler A des Kunden auf alle Spieler zu senden ist. Es wäre nicht realistisch (soweit ich weiß), denn der Server nur zu versuchen, Informationen über die Spieler innerhalb von Spieler A Sicht Rahmen Spielern A des Kunden zu senden. Da der Server Informationen über alle in der Nähe Spieler zu Spieler A Client senden muss, Spieler A könnte einen Hack schreiben, die ein Radar auf seinem Bildschirm überlagert, die an den Client gesendet durch die Beobachtung für Daten gefüllt wird und Updates Zustand gegnerischen Spieler ziehen. Ich denke, diese werden als „Radar“ oder „Wand“ Hacks bekannt.

Gibt es eine Möglichkeit Statusaktualisierungen von gegnerischen Spielern in der Information an den Client gesendet zu verschleiern oder zu verbergen? Von dem, was ich verstehe, Verschlüsselung würde für die Echtzeit-Lösungen nicht realisierbar sein? Auch wenn der Server in der Lage war nur Statusaktualisierungen auf Spieler innerhalb Spieler A Sicht Rahmen zu senden, wäre dies immer noch Spieler A Hack die Spieler erlaubt, hinter der Tarnung oder Abdeckung Objekten versteckt zu zeigen (was zu einem geringen Teil vermutlich transparent waren).

Das einzige, was ich wirklich denken könnte, wäre eine Art von „Punkbuster“ Lösung zu implementieren. Das heißt, haben regelmäßig Spieler A Client für illegale Prozesse scannen. Die Idee ist, dass alle populären Hacks überwacht werden würde. Unbeliebt Hacks eine klein genug, um Spieler-Basis beeinflussen würde, dass sie zu klein sind, nach zu gehen.

War es hilfreich?

Lösung

Das ist der einzige Weg. Neben Punkbuster, sollten Sie einige der Forschung auf Warden (über wikipedia gibt viele interessante Sachen, die ich hier nicht verlinken). Es ist ein sehr interessanter Kampf angesichts der Gesetze der Online-Welt rel="nofollow design ...

  

Der Kunde ist in den Händen der   Feind.

Ein weiteres Element, um es ist, dass die Menschen ihre Grafiktreiber mit modded Treiber ersetzen, die ihnen Vorteile geben (Dinge sind undurchsichtig oder hervorgehoben, können die Spieler nicht „blind“, etc werden). Ich bin nicht sicher, ob irgendwelche Spiele für modded Treiber überprüfen oder nicht.

Andere Tipps

Einfache Verschlüsselung kann für die Echtzeit mit dem heutigen Hardware lebensfähig sein, aber das Problem ist, dass für die Kunden, um die verschlüsselten Daten zuzugreifen den Schlüssel hat. Wenn der Kunde den Schlüssel hat, wird es wohl nicht alles sein zu schwierig für ein Betrüger Programm zu finden und abzurufen. Der beste Weg ist nur für den Server B um die Position A zu senden, wenn es überhaupt möglich ist, B. zu sehen Es wird weiterhin möglich sein, zu betrügen, aber in etwas geringeren Ausmaß.

Eine mögliche Lösung für die Fälle, in denen B versteckt, aber ein kleiner Teil sichtbar sein kann, ist für den Server einfach zu sagen, dass es etwas in B Position. Es kann ein Rock oder Dingsbums sein. Das Problem ist, dass damit der Kunde in der Lage sein, die etwas zu machen, hat der Server eine ziemlich genaue Beschreibung zu geben. Da die heutige Multiplayer-Spiele gefälschte niedrige Latenz durch die Simulation, was der Server tut, ist dies höchstwahrscheinlich nicht möglich, bis wir extrem geringe Latenz-Netzwerke haben.

Es war ein Programm namens „eqmon“, die Everquest für das Spiel so etwas wie dies tat. Zunächst waren die Spiel-Pakete vollständig unverschlüsselt und enthalten alle Zeichen (beide PC und NPC) für die gesamte Ebene. Schließlich endete sie Verschlüsselung mit bis zu erschweren die Pakete schnüffeln, aber eqmon dazu gekommen, dass durch Brute zwingen den Verschlüsselungsschlüssel (ein neuer Schlüssel durch den Server jedes Mal, wenn du einen Level eingegeben erstellt wurde, so dauerte es manchmal ein paar Minuten den Schlüssel) zu entschlüsseln. Sie änderten es dann so, dass der Client nur Updates für PCs oder NPCs innerhalb eines bestimmten Bereichs von Ihrem Standort erhalten. Dies machte eqmon weniger hilfreich für Camping und Monitoring „seltene Spawns“ weit weg in der gleichen Ebene.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top