Ich entwickle ein einfaches Kartenspiel, bei dem es ein Matchmaking-System gibt, mit dem Sie gegen einen anderen menschlichen Spieler antreten können. Dies ist der einzige verfügbare Spielmodus, ein 1vs1 gegen einen anderen Menschen, keine KI.
Ich möchte Betrug so weit wie möglich verhindern. Ich habe hier bereits viele ähnliche Fragen gelesen und weiß bereits, dass ich dem Client nicht vertrauen kann und alle Überprüfungen serverseitig durchführen muss. Ich beabsichtige, einen Server zu haben (brauche sowieso einen für das Matchmaking) und ich beabsichtige, einige Überprüfungen auf der Serverseite vorzunehmen, aber wenn ich alles auf der Serverseite überprüfen möchte, kann mein Server den Status aller aktuellen Spiele und Spiele verfolgen Überprüfen Sie jede Aktion, und ich habe nicht das Geld / die Infrastruktur, um diesen Server zu unterstützen.
Meine Idee ist es, Clients dazu zu bringen, einige der von ihrem Gegner * durchgeführten Aktionen zu überprüfen und zu verifizieren. Wenn sie illegale Aktionen finden, benachrichtigen Sie den Server über den möglichen Betrug und lassen Sie ihn vom Server überprüfen. Dies erfordert weiterhin, dass mein Server alle aktuellen Spiele im Auge behält, spart jedoch Ressourcen, indem nur einige Dinge überprüft werden, die auf Clientseite nicht überprüft werden können (z. B. die Kartenreihenfolge im Deck), und andere Dinge nur überprüft werden, wenn sie tatsächlich falsch sind.
* (nur diejenigen, die sie überprüfen können, ohne sich betrügen zu lassen! Zum Beispiel: Sie können nicht überprüfen, ob die gespielte Karte in der Hand war, da sie alle Karten in der Hand kennen müssen.)
Zusammenfassend sind meine Fragen : Ist dies ein praktikabler Ansatz? Werde ich dabei tatsächlich Ressourcen sparen oder lohnt sich die zusätzliche Komplexität des Servers und Clients für den Austausch dieser Nachrichten nicht? Kennen Sie ein Spiel, das einen ähnlichen Ansatz erfolgreich oder erfolglos ausprobiert hat?
Vielen Dank für das Lesen und Antworten