Warum haben Online-Spiele eine regelmäßige Downtime?



  • Um dem Rätsel mal auf die technische Spur zu kommen frag ich am besten hier

    Viele um nicht zu sagen alle Online-Spiele, die ich kenne, werden regelmäßig ganz heruntergefahren, teils für Stunden.

    Warum sollte das notwendig sein? Patches können doch auch live aufgespielt werden, notfalls Cluster für Cluster, zum Testen gibts Testsysteme, etc.



  • Wie willst du die Richtigkeit von Laufzeitobjekte bewahren?



  • GuildWars kommt komplett ohne Downtimes aus.

    Es ist halt eine Frage des Aufwandes. Maintenance waehrend einer Downtime ist halt viel einfacher als wenn man da verteilte Systeme warten muss.


  • Mod

    manche onlinespiele bestehen aus kleinen instanzen, die hin und her zu schieben ist relativ einfach, diese spiele haben entsprechend wohl keine down time.

    andere haben ein grosses zusammenhaengendes system, bei einem update aendert sich soviel, dass daten "transformiert" werden muessen und das dauert seine zeit.
    Ansonsten wuerden teile vom alten und teile vom neuen system zur gleichen zeit koexistieren und das gegen alle eventualitaeten zu sichern ist nicht moeglich. es beinhalten nicht nur hardware oder software design, sondern auch teile vom gamedesign die 100% sicher sein muessten.

    da ist es einfacher das momentane system runter zu fahren, ein backup zu machen, daten zu transformieren und alles wieder hochzufahren. und auch das schon ist nicht trivial und defarf unmengen an tests.



  • rapso schrieb:

    Ansonsten wuerden teile vom alten und teile vom neuen system zur gleichen zeit koexistieren und das gegen alle eventualitaeten zu sichern ist nicht moeglich.

    Wenns nur um Daten geht, doch. Man kann ohne Ruckler von der ganzen Welt einen Snapshot schießen und den dann in Ruhe abspeichern, während das Spiel weiterläuft. Man kann auch den Gameserver so modular halten, daß viele Programmupdates gemacht werden können, ohne daß ein Spieler sich ausloggen muß.

    Aber man wird sowas nicht nachträglich reinfrickeln wollen. Nein, nein.



  • Ich seh darin alleine aus wirtschaftlicher Sicht nahezu keinen Sinn. So ein Live-Update System macht alles nur deutlich komplizierter (als es eh schon ist), den Code noch schwer zu warten usw usw.
    Und wozu das ganze? Damit dann ein paar Süchtige auch um Mittwoch um 5 Uhr morgens zocken können?

    Blizzard fährt die WoW Server jeden Mittwoch von ca. 6 Uhr morgens bis 9 Uhr morgens runter und ich habe noch nie einen getroffen, den das gestört hat.


  • Mod

    volkard schrieb:

    rapso schrieb:

    Ansonsten wuerden teile vom alten und teile vom neuen system zur gleichen zeit koexistieren und das gegen alle eventualitaeten zu sichern ist nicht moeglich.

    Wenns nur um Daten geht, doch.

    wie ich schrieb, geht es um hardware, software und gamedesign. nicht nur daten.

    Man kann ohne Ruckler von der ganzen Welt einen Snapshot schießen und den dann in Ruhe abspeichern, während das Spiel weiterläuft.

    bezueglich daten ist das nicht noetig, es laeuft meistens wie ein code versionierungssystem, jede wichtige sache ist eine versionierte transaktion. das macht man zum einen um nachverfolgen zu koennen was leute machen (z.b. cheaten) und zum anderen bestehen die "transformationen" bei einem update in einem "replay" der existierenden transaktionen. es ist quasi wie ein riesiges savegame, die man in der entwicklung oft auch so macht, um kompatibiliaet zwischen den einzelnen spiel-entwicklungsstufen und spielstaenden zu halten (klappt natuerlich nichti mmer). (es ist also nicht ein simples serialisieren und deserialisieren, weil bei solchen transformationen immer mal neue fehler aufkommen koennen, das passiert nicht wenn man quasi den input des systems loggt das den "ist zustand" representiert. wenn es system etwas falsch interpretiert, fixt man es und spielt den input neu ein).

    Man kann auch den Gameserver so modular halten, daß viele Programmupdates gemacht werden können, ohne daß ein Spieler sich ausloggen muß.

    das ist auch der fall, es gibt viele updates, sowohl auf server wie auf client seite (beim client meistens wenn er sich einloggen will). bei manchen spielen ist das taeglich der fall.
    die grossen downtimes kommen dann eher mit den refactorings daher. kann man sich wie edit&continue vorstellen. geht lange gut, aber nicht ewig 😉

    Aber man wird sowas nicht nachträglich reinfrickeln wollen. Nein, nein.

    so ein riesen system kann man zwar in vielerlei hinsicht planen, aber nicht alles. vieles kommt nachtraeglich noch rein, diese grossen unvorhergesehenen changes sind es die die downtime verursachen, es waechst eher organisch.



  • this->that schrieb:

    Und wozu das ganze? Damit dann ein paar Süchtige auch um Mittwoch um 5 Uhr morgens zocken können?

    Wenn es in Deutschland 5 Uhr morgens ist, ist es in Teilen der USA 22 Uhr Abends. Bei internationalen Online-Diensten ist es nicht immer so einfach, ein gutes Wartungsfenster zu finden.

    Künstliche Segmentierung der Spieler in Regionen vereinfacht das natürlich wieder.



  • Christoph schrieb:

    Künstliche Segmentierung der Spieler in Regionen vereinfacht das natürlich wieder.

    Was is daran künstlich? Macht sowohl softwaretechnisch, finanziell und auch spielteschnisch (niedrigere Latenz) absolut Sinn.
    Nicht um sonst gibts z.B. in WoW deutsche Server, französische, russische, amerikanische usw. Und ich denke mal Blizzard weiß schon was sie machen;)


  • Mod

    this->that schrieb:

    Christoph schrieb:

    Künstliche Segmentierung der Spieler in Regionen vereinfacht das natürlich wieder.

    Was is daran künstlich? Macht sowohl softwaretechnisch, finanziell und auch spielteschnisch (niedrigere Latenz) absolut Sinn.
    Nicht um sonst gibts z.B. in WoW deutsche Server, französische, russische, amerikanische usw. Und ich denke mal Blizzard weiß schon was sie machen;)

    wenn man ein MMO in viele MMO instanzen aufteilt, wirkt das kuenstlich. und natuerlich wissen sie was sie tun, sie machen sich das leben einfacher 🙂

    afaik ist EVE das einzige MMO was aus nur einer welt besteht.



  • rapso schrieb:

    this->that schrieb:

    Christoph schrieb:

    Künstliche Segmentierung der Spieler in Regionen vereinfacht das natürlich wieder.

    Was is daran künstlich? Macht sowohl softwaretechnisch, finanziell und auch spielteschnisch (niedrigere Latenz) absolut Sinn.
    Nicht um sonst gibts z.B. in WoW deutsche Server, französische, russische, amerikanische usw. Und ich denke mal Blizzard weiß schon was sie machen;)

    wenn man ein MMO in viele MMO instanzen aufteilt, wirkt das kuenstlich. und natuerlich wissen sie was sie tun, sie machen sich das leben einfacher 🙂

    afaik ist EVE das einzige MMO was aus nur einer welt besteht.

    Da er von Zeitzonen gesprochen hat ging ich von einer Segmentierung bzgl. der geografischen Lage aus. Und das macht in jedem Fall Sinn. Mal abgesehen davon dass es technisch ein Alptraum ist wenn ALLE Spieler weltweit auf einem Server spielen könnten, hätte man zig weitere Probleme: Welche Ingame Uhrzeit zeigt man an? Will man wirklich, dass Leute unterschiedlicher Nationen/Sprachen in einem Chat abhängen? Usw.

    Die Instantiierung innerhalb eines Servers ist etwas künstlich, ja. Aber die Vorteile liegen auf der Hand. Neben den technischen Gründen macht es auch spieltechnisch Sinn. Es soll eben jede Gruppe genau das selbe Spielerlebnis haben, d.h. jede Gruppe kriegt ihre eigene Instanz. Wäre problematisch, wenn gleichzeitig 3000 Leute in einen Dungeon absteigen wollen;)


Anmelden zum Antworten