Hay.
Wichtig zu wissen für den Anfang ist, das das hier nur eine Idee ist. Es geht rein um die Theorie, nicht darum das jemand sich jetzt ran setzen muss, und das umsetzt. Auch wenn ich nix dagegen hätte XD
Es geht um die 2 Vanilla Server.
Ich denke jedem der schonmal auf einem war, ist aufgefallen, das diese manchmal so ihre Performance Problemchen haben.
Auf grund dessen entstand zwischen mir und einem anderen Spieler die „diskusion“ im chat, wie man das verbessern könnte.
Die erste idee war Plugins raus schmeissen. Jedoch bezweifelten wir das auf den Vanilla Server Plugins sind, die man nicht braucht. (Falls doch, wieso?)
Die Zweite Idee war dan doch schon etwas „ausgefeilter“. Nämlich die aufteilung auf 2 Server. Jedoch nicht so wie jetzt mit Vanilla 1 und 2, sondern so das 2 Server vollständig zusammenarbeiten und synchron laufen.
Da stellte sich natürlich die frage, wie zur Hölle soll das möglich sein?
2 Server im Selben Verzeichnis war meine erste Idee. Mit den Spieldaten würde das ja noch gehen, weil man ja nur einmal on ist. Zudem werden diese nach meiner Suche bei jeder Änderung direkt gespeichert. Das Problem sind die Weltendaten. Diese werden nämlich im Arbeitsspeicher gespeichert, was heist, das beide Server unterschiedliche zustände hätten. Und das war’s dann auch schon mit dieser Idee. Den dann überschreiben die Server gegenseitig die Welten und alles geht den Bach runter.
Die Zweite Idee war da doch schon vielversprechender und auch mehr auf MyFTB mit den Multiworlds beschnitten. Die Idee ist, dass beide Server komplett identische Daten haben, jedoch nicht im selben Verzeichnis. Also haben beide Server ihre eigenen Datensätze und beeinflussen sich nicht gegenseitig.
Wen jetzt ein Spieler einer Welt beitreten will, egal ob Spawn, Spielerwelt oder Farmwelt, schauen die beiden Server welcher von beiden weniger ausgelastet ist. Dieser lädt dann die entsprechende Welt und der Spieler wird in die Welt tp’t. Falls nötig wird auch automatisch der Server gewechselt.
Wen jetzt der nächste Spieler in dieselbe Welt will, merkt die Server, „Hey, die Welt haben wir schon geladen, wir schicken den also dort hin“. Also wird die Welt nicht neu geladen, und die beiden Spieler können normal miteinander Spielen.
Sobald die Welt dann entladen wird, wird sie wieder mit beiden Servern Synchronisiert, damit sie bereit für das nächste betreten ist.
Theoretisch könnte man mit solch einem System auch mehr als 2 Server einbinden. So könnte man auch eine Redundanz erreichen, das wen ein Server abschmiert, man trotzdem wieder rauf kann.
Jedoch kann dieses System auch zu Problemen bei einem Crash führen. Man müsste immer überprüfen, ob ein Server abgestürzt ist, falls das Passiert muss man ebenfalls alle Welten, die darauf geladen waren auf die anderen Server synchronisieren, damit nicht allzu viele Daten verloren gehen.
Falls dies nicht gemacht wird, und ein Spieler z.B. 3 Stunden in seiner Welt gebaut hat, könnte es beim nächsten Mal laden passieren, dass die Welt auf einem anderen Server geladen wird, und der fortschritt dementsprechend weg ist.
Sa, jetzt bin ich mal auf eure Meinung gespannt. Besonders die derjenigen die sich etwas mit der Entwicklung von Plugins auskennen.
Wäre solch ein Plugin möglich und auch realistisch?
Wen nein, wieso nicht und was müsste man ändern, dass es eventuell gehen würde?
Ich bin sehr gespannt was hier rauskommt und freue mich auf eure Antworten.
Lg