Es wurde darauf hingewiesen, dass meine vorherige Antwort möglicherweise auf einem Missverständnis dessen beruhte, was Sie unter "Spoofing" verstanden haben. (Wenn ja, lassen Sie es mich bitte wissen und ich werde es löschen.)
Wenn Sie verhindern möchten, dass die Spieleserver gefälschte Daten an den Master-Server senden, ist dies - wie Jari Komppa feststellt - im Allgemeinen nicht vollständig zu verhindern. Tatsächlich ist es einfach eine Variante des klassischen Problems der Verhinderung von Betrug im Mehrspielermodus , außer dass die Zwischenserver und nicht die Clients des Betrugs verdächtigt werden. Viele der gleichen Techniken, die für die traditionelle Betrugsprävention verwendet werden, könnten auch hier funktionieren, aber wie üblich ist keine von ihnen völlig narrensicher.
Es gibt jedoch einige Dinge, die Sie tun könnten, um Server zu betrügen. Eine davon wäre, dass jeder Spieler in einem Spiel separat den Master-Server kontaktiert und bestätigt, dass er an diesem Spiel teilnimmt. (Sie sollten dies wahrscheinlich tun, bevor das Spiel beginnt, damit Sie sicherstellen können, dass alle zustimmen, wer die Teilnehmer sind, und dass niemand versucht ist, zu behaupten, dass sie nicht an einem verlorenen Spiel teilgenommen haben. Sie können dazu digitale Signaturen verwenden Verschieben Sie dies jedoch. Im Wesentlichen könnte jeder Spieler in einem Spiel eine Nachricht mit der Aufschrift " Ich bin Spieler X und nehme an Spiel M auf Server S zum Zeitpunkt T mit den Spielern Y, Z und W teilnehmen.""und senden Sie es an den Spieleserver, der es später an den Master-Server weiterleiten kann.) Auf diese Weise können Sie zumindest sicherstellen, dass ein Betrugsserver die Rangfolge eines Spielers nicht beeinflusst, der nicht tatsächlich auf diesem Server spielt .
Dies ist besonders nützlich, wenn Sie so etwas wie Elo-Bewertungen verwenden, bei denen die Rangfolge der Spieler hauptsächlich von ihrer relativen Leistung abhängt . Sicher, jemand, der einen gefälschten Server betreibt, könnte immer noch eine Reihe gefälschter Konten erstellen und Ergebnisse einreichen, die besagen, dass sein eigenes Konto die gefälschten übertrifft. Bei einem relativen Ranking-System reicht es jedoch aus, das Konto des Betrügers leicht über den Fälschungen zu platzieren ( was wiederum Tiefstwerte haben wird).
Eine andere naheliegende Maßnahme, um Betrug zu unterbinden, besteht darin, die Spieler ihre Spielergebnisse direkt vom Master-Server aus überprüfen zu lassen. Wenn ein Spieler ein Match auf einem neuen Server gewinnt, die an den Master-Server gesendeten Ergebnisse jedoch besagen, dass er verloren hat (oder wenn die Ergebnisse überhaupt nicht gesendet werden), wird er darüber informiert, dass etwas faul ist. Hoffentlich melden sie zu diesem Zeitpunkt entweder den Server wegen Betrugs oder stimmen zumindest mit den Füßen ab und spielen nie wieder auf diesem Server.
Tatsächlich könnten Sie dies automatisch machen: Lassen Sie die Clients nach jedem Spiel, nachdem die Ergebnisse an den Master-Server gesendet wurden, sie vom Master-Server zurückholen und vergleichen Sie sie mit der Meinung des Clients, dass das Spiel beendet ist. Wenn es eine Nichtübereinstimmung gibt, melden Sie dies sowohl dem Spieler (damit er weiß, dass etwas nicht stimmt) als auch dem Master-Server (damit Sie betrügerische Server erkennen können). Natürlich müssen Sie als Betreiber des Master-Servers dann entscheiden, wer lügt - der Server oder der Player -, aber hoffentlich wird dies in den meisten Fällen anhand des Berichtsmusters ziemlich offensichtlich.