Die meisten MMOs lassen heutzutage aus Sicherheitsgründen alles Wichtige serverseitig erledigen. Sie können nicht viel auf den Client auslagern, weshalb AI-Routinen als erstes beseitigt werden. Ich denke, die meisten Entwickler halten die Client-Seite in der Regel für hackbar und nicht für eine Ausnahme.
Scalifys Badumna ( http://www.scalify.com/badumna.php ) versucht, einen Teil davon auf die Clients zu übertragen, indem sie Berechnungen clientseitig durchführen und aneinander senden lassen. Einige Daten werden auch an einen autorisierten Peer gesendet, um validiert zu werden, bevor sie an Clients weitergeleitet werden, genau wie ein dedizierter Server. Das Problem ist, dass ALLE Daten in einem Multiplayer-Spiel über einen autorisierenden Peer gesendet werden MÜSSEN, wenn Sie Betrug verhindern möchten. Ich brachte Badumna auf den Punkt, da es dem am nächsten zu sein schien, was Sie vielleicht wollen, aber selbst das wird Betrüger nicht fangen können - es könnte einige fangen, aber alles, was kritisch ist (dh alles, ziemlich viel), muss auf dem Server erledigt werden. Seite.
Ich könnte Badumna etwas erweitern, weil es immer noch nützlich sein könnte (aber ich fordere Sie dringend auf, das Abladen von allem, was für die Kunden wichtig ist, zu überdenken, da die Kunden schummeln WERDEN).
Badumna bietet eine hybride Architektur für Datenoperationen. Der Entwickler hat die vollständige Kontrolle darüber, was kritisch ist (und überprüft werden muss) und was nicht (und somit vom dezentralen Netzwerk gesendet werden kann).
Wenn ein MMO die Überprüfung jeder einzelnen Information erfordert, fungiert Badumna als Client-Server-Lösung. Ich glaube jedoch, dass es unterschiedliche Kategorien von MMO-Anwendungen mit unterschiedlichen Anforderungen gibt. Zum Beispiel hat ein MMO ziemlich oft Kampfzonen, in denen die Spieler wahrscheinlich betrügen und daher jede Information überprüft werden muss. Es gibt jedoch auch Zonen, in denen Spieler nur laufen / rennen / tanzen / chatten können. Solche Zonen erfordern keine vollständige Überprüfung und können das dezentrale Netzwerk von Badumna nutzen und von der Skalierbarkeit profitieren, die es bietet.
Zweitens bietet Badumna zusätzliche Sicherheitsfunktionen, auf die Entwickler zugreifen können, z. B. Identitätsschutz (damit Benutzer nicht vorgeben können, jemand anderes zu sein), Beschwerdeproxy (damit Clients so konfiguriert werden können, dass böswillige / betrügerische Spieler an eine vertrauenswürdige Quelle gemeldet werden) und schwarze Liste (Verbot böswilliger Spieler von den Spielen).
Ich habe Badumna nicht wirklich erforscht, daher kann es Probleme und Funktionen geben, die mir nicht bekannt sind, aber ich habe zumindest einen flüchtigen Blick darauf geworfen.
tl; dr: der client sollte eigentlich nur eine tastatur und maus sein, die mit dem internet verbunden sind.