Eben, gibt ja in der Programmierung nicht umsonst die Regel „Never trust the client“. Man sollte also prinzipiell alle Daten, die der Client berechnet hat, als potentiell manipuliert betrachten. Es wird ja bei vielen Multiplayer-Spielen auch schon gehandhabt, dass der Client beispielsweise Positionsdaten entsprechend der Eingaben erstmal für sich berechnet, um evenuelle Lags zu vermeiden. Es wird da aber trotzdem parallel das Gleiche in regelmäßigen Abständen vom Server berechnet, um (absichtlich) falsche Berechnungen vom Client „überstimmen“ und korrigieren zu können.
Und dann hast du bei einem Multiplayer-Spiel und besonders bei einem MMO auch noch das Problem, das die eigene Spielfigur nicht alleine isoliert mit der Spielwelt interagiert. Der Status der Spielfigur muss also permanent den anderen Spielern in der Umgebung mitgeteilt werden, damit die wissen wie viel HP die anderen Spieler gerade haben, welchen Gegner sie aktuell angreifen bzw. getötet haben, welches Erz/Kraut sie abgebaut haben usw.
Es ist einfach nicht praktibal, dass die PCs von 20+ Spielern in einem Bereich permanent jeder mit jedem die Daten austauscht, weil das die Rechenleistung und auch Internetleitung der Spieler übermäßig auslastet. Das läuft zentral über den Server (und dessen Datenbank), um die alles doppelt und dreifach zwischen den Spielern austauschen zu müssen.
Ich denke es funktioniert genauso und Manipulationen werden mit Warden überprüft. Denn so weit ich weit ich weiß ist alles verschlüsselt bei WOW , und erst im Arbeitspeicher liegt es unverschlüsselt und wird dort was manipuliert merkts Warden.
Das ist ein massives System, ein wirklich massives System. Danke für den Link, daraus ein Auszug.
Das Ziel der Planung von Zeiträumen und Fristen besteht darin, Transaktionen, die garantiert vor Ablauf ihrer Frist abgeschlossen werden, so zu aktualisieren, dass die Arbeitsbelastung minimal ist. Bei großen Echtzeitdatenbanken können Pufferfunktionen dazu beitragen, die Leistung erheblich zu verbessern. Ein Puffer ist Teil der Datenbank, die im Hauptspeicher gespeichert ist, um die Transaktionsantwortzeit zu verkürzen. Um die Eingabe- und Ausgabetransaktionen auf der Festplatte zu reduzieren, sollte eine bestimmte Anzahl von Puffern zugewiesen werden.[13] Manchmal werden Multiversionen in Puffern gespeichert, wenn der Datenblock, den die Transaktion benötigt, derzeit verwendet wird. Später werden an die Datenbank die Daten angehängt. Verschiedene Strategien weisen Puffer zu und müssen zwischen einer übermäßigen Speicherkapazität und der Suche nach allem in einem Puffer, nach dem gesucht werden muss, abwägen. Ziel ist es, die Suchzeit zu eliminieren und die Ressourcen auf Pufferrahmen zu verteilen, um schnell auf Daten zugreifen zu können. Ein Puffermanager kann bei Bedarf mehr Speicher zuweisen, um die Antwortzeit zu verbessern. Der Puffermanager kann sogar bestimmen, ob eine Transaktion vorgezogen werden soll. Das Puffern kann die Geschwindigkeit in Echtzeitsystemen verbessern.[13]
Was sind denn die Puffer ? Es sind einfach Caches, also kann man eine Echtzeitdatenbank so zusammenfassen das es eine Mischung aus Caches und Datenbanken ist. Macht ja auch Sinn. Denn ein Zugriff kann zeitkritisch niemals so schnell sein wie ein Zugriff aus dem Arbeitsspeicher. Also egal wie ist ein Cache immer beteiligt. Also ist mein Vorschlag völlig korrekt, erst in Cache und dann in die DB. Ob ein fertiges System oder selbstprogrammiert habe ich nicht bewertet.
Auch hier habe ich doch das Gleiche gesagt, es kommen nur so viele Spieler gleichzeitig auf den Server das die Hardware nicht limitiert und genauso sollten Server auch aufgeteilt werden. Klar sind da 30k Plus Spieler auf dem Server aber nur so viele gleichzeitig online das der Server es packt.
Die kochen auch nur mit Wasser.
Nur weil Blizzard dransteht stehen die nicht über den offiziell einsehbaren Spezifikationen der Hersteller und Gremien.
Klar und es gibt auch keinen Weg das auszutricksen …
Und nein im Client ist nichts verschlüsselt. Das ganze liegt in Containern den man mit dem CASC-Explorer jederzeit öffnen kann um nachzuschauen wo was ist. Ansonsten könnte man auch nicht an die Texturen für Machinima und Co kommen oder auch an die UI-Files (Lua wie Textures, gibt zwei Wege dafür) usw.
Nein eben nicht.
Betreibt man eine Echtzeitdatenbank ohne Puffer sinkt die Verarbeitungsgeschwindigkeit der Datenbank bis zu einem Punkt wo es keine Echtzeitdatenbank mehr ist. der Punkt skaliert dabei mit der Menge der Daten die eintreffen und verarbeitet werden müssen. Hier wird auf die Kombination der schnellen Bausteine in der Hardware gesetzt. Dazu kommt noch das der Puffer nur die Prioritäten steuert, nicht mehr und nicht weniger. Das ist im RAM ein eigener Speicherbereich.
Die Hardware wird sehr wahrscheinlich mehr schaffen, der eigentlich limitierende Faktor ist zu einem gewissen Teil die Hardware und zum größeren Teil die Software. Dabei kann man halt auch Software als Ganzes verstehen, was im Kontext von Blizzard bedeutet: Server-Version von WoW, Datenbanken, usw.
Wie gesagt man kann nicht anfangen vorne übertrieben viel rein zu pumpen und bekommt am Ende dann genug Leistung heraus um alles zu stemmen. Wäre schön wenn man Serverhardware und -software unendlich skalieren kann. Das schaffen nicht mal die Finanzmärkte aus dem Hochgeschwindigkeitshandel die noch dickere System dazustehen haben als Blizzard und die rufen ganz andere Summen auf und haben hochgradig angepasste Hardware für den Fall.
Wie gesagt nicht in den beschränkten Rahmen einer kleinen Firma oder eines kleinen Webanbieters denken. Das ist hier eine ganz andere Skalierung der Sache mit ganz anderen Parametern.
Jap, manipulationen der Spieldateien merkt Blizz. Es wird ja auch mit Addons an vielen Stellen manipuliert was dafür spricht das vieles auf dem Clienten passiert. Ich weiß nicht genau wie sie es machen, möchte aber bezweifeln das sie alles auf dem Server berechnen.
Mhh genau das sag ich, der Puffer ist ein Cache. Du kannst dir es so vorstellen, das es durch den Puffer wandert und dort zumindest so lange verbleibt bis es mit der DB abgeglichen wurde. Der Cache ist auch ein Bereich im Arbeitspeicher, wo sollte der Cache sonst liegen. Deine Echtzeitdatenbank ist die komplizierte Version von Cache Backgroundqueue und Datenbank.
Ja wasn nu ?
Nö machen se ja auch nicht, sie teilen es auf. So wie ichs beschrieben habe. Natürlich kannst du es nicht in einem Batzen unendlich nach oben skalieren, habe ich doch nirgends gesagt. Wenn du es aber aufteilst kannst du es so lange nach oben skalieren, bis dir die Hardware ausgeht oders Geld.
Ja das sieht man wie gut sie das mitbekommen.
Gibt genug Lücken die ausgenutzt werden können und von denen Blizzard nichts mitbekommt weil es an Warden vorbeigeht. Man könnte aktuell sogar die Charakterposition aktiv manipulieren wenn man es darauf anlegt.
Nein eben nicht.
Ein Cache speichert Daten solange zwischen bis sie in den eigentlichen Speicherbereich geschrieben werden können. Der Puffer macht in der Hinsicht gar nichts, der verwaltet nur welche Transaktion oder Stream verarbeitet wird ohne die Daten vorzuhalten oder zwischenzuspeichern. Stell dir den Puffer bei einer Echtzeitdatenbank einfach als Table vor welche die Reihenfolge der Transaktionen und Streams für die DB verwaltet und die Reihenfolge nach Priorität shiftet.
In den meisten Fällen auf einem separaten Datenträger der für Caching optimiert ist. Das kann alles mögliche sein und ist eher in den selten Fällen der RAM. Den RAM als Cache-Option nimmt man nur dann wenn es wirklich benötigt wird, da der Teil des RAMs einfach nicht für das ganze System zur Verfügung steht.
Pech beim Denken?
Na ja nicht wirklich.
Die Frankfurter Börse hat ein eigenes Datacenter in welchem ein eigener Serverpark steht der für den Hochgeschwindigkeitshandel vorgesehen ist und der ist vergleichbar mit dem der New Yorker Börse. Einzige Unterschied in New York steht der direkt im Keller und in Frankfurt 2km entfernt.
Was aber nicht korrekt ist, da die Hardware auf Dauer nicht soviel händeln kann, genau wie die Software.
Tja dann lese dir das nochmal genauer durch und genau der Punkt kommt bei der Aussage durch. Vorne alles reinpumpen um hinten alles stemmen zu können, ist halt nicht machbar.
Da sollte man dann auch schon schauen das es richtig geschrieben ist.
Auch das ist nicht so einfach möglich.
Je mehr man die Systeme aufteilt umso länger dauern die Verarbeitungen und umso größer wird der Overhead in der Kommunikation zwischen den Servern. Je mehr Kommunikation umso höher die Latenzen und umso schlechter das Endergebnis. Abgesehen von der Tatsache das für so eine Kommunikation entsprechende Direct-Connections vorhanden sein müssen.
Die Frankfurter Börse ist nur noch vom Namen her in Frankfurt und schon länger nicht mehr hier Eschborn ist der place to be
Ist doch nur noch symbolisch hier meine ich, wobei ich gar net weiß ob das parkett ausm Fernsehen auch umgezogen ist
Naja, n bissle verstreuter ist das Ganze scheinbar schon. In Eschborn in die Zentrale, in der Frankfurt City (wo auch der Hauptsitz ist) ist der Handelssaal - wo hauptsächlich gehandelt wird, in Westend werden u.a. Divisengeschäfte abgewickelt.
Interessant … 1/10 von der Einwohnerzahl her in Eschborn sind Mitarbeiter der Börsenzentrale. Übrigens gehört Eschborn zu Frankfurt.
Eine Gutschrift? Was wollt ihr als nächstes, mehr Geld in die Server investieren damit diese nicht auf dem Stand von vor über 10 Jahren sind? Nicht alle 6 Monate für ein 15jahre altes Spiel (was btw auch so schon über 120Euro im Jahr kostet) 25Euro pro Char in den Servertransfer stecken weil dank blizzards nicht vorhandener Serverpolitik wieder mal Fraktion X auf Server Y stirbt? Echte Menschen die sich um reports/tickets kümmern? Diese Erwartungshaltung im Jahr 2022…
wieso sollte das blizzard? sie geben euch die möglichkeit KOSTENLOS auf einen anderen server zu wechseln ?! was willst du bitte noch! ganz schön frech so ne Froderung