Erstellung und Konfiguration eines Minecraft-Servers

Erstellung und Konfiguration eines Minecraft-Servers

Minecraft gehört heute zu den beliebtesten Online-Spielen. In weniger als drei Jahren (die erste offizielle Veröffentlichung fand im Herbst 2011 statt) haben Millionen von Fans auf der ganzen Welt gewonnen.

Die Entwickler des Spiels orientieren sich bewusst an den besten Beispielen vor zwanzig Jahren, als viele Spiele aus heutiger Sicht primitiv in Bezug auf Grafik und unvollkommen in Bezug auf Benutzerfreundlichkeit waren, aber dennoch mitreißend waren.

Wie alle Sandbox-Spiele bietet Minecraft den Nutzern enorme kreative Möglichkeiten – darin liegt letztlich das Geheimnis seiner PopularitĂ€t.

Die Organisation von Servern fĂŒr das Spiel im Mehrspielermodus ĂŒbernehmen die Spieler selbst und ihre Communities. Heute gibt es im Internet Zehntausende von Spieleservern (siehe z.B. die Liste hier).

Unter unseren Kunden gibt es viele Fans dieses Spiels, die in unseren Rechenzentren Hardware fĂŒr Spieleprojekte mieten. In diesem Artikel werden wir darĂŒber sprechen, auf welche technischen Aspekte man bei der Auswahl eines Servers fĂŒr
Minecraft achten sollte.

WĂ€hlen wir die Plattform

Die Spielarchitektur von Minecraft umfasst die folgenden Elemente:

  1. Server – das Programm, mit dem Spieler online miteinander interagieren;
  2. Client – das Programm zur Verbindung mit dem Server, das auf dem Computer des Spielers installiert ist;
  3. Plugins – Erweiterungen fĂŒr den Server, die neue Funktionen hinzufĂŒgen oder bestehende erweitern;
  4. Mods – ErgĂ€nzungen zur Spielwelt (neue Blöcke, GegenstĂ€nde, Möglichkeiten).

FĂŒr Minecraft gibt es viele Serverplattformen. Die gebrĂ€uchlichsten und beliebtesten sind Vanilla und Bukkit.

Vanilla ist die offizielle Plattform der Spielentwickler. Sie wird sowohl in einer grafischen als auch in einer Konsolenversion verbreitet. Neue Versionen von Vanilla werden immer gleichzeitig mit neuen Versionen von Minecraft veröffentlicht.

Ein Nachteil von Vanilla ist der ĂŒbermĂ€ĂŸige Speicherverbrauch (etwa 50 MB pro Spieler). Ein weiterer wesentlicher Nachteil ist das Fehlen von Plugins.

Bukkit wurde von einer Gruppe von Enthusiasten erstellt, die versuchten, den offiziellen Minecraft-Server zu verbessern. Der Versuch war ĂŒberaus erfolgreich: In Bezug auf die FunktionalitĂ€t ist Bukkit viel umfangreicher als Vanilla – vor allem dank der UnterstĂŒtzung vielfĂ€ltiger Mods und Plugins. Dabei wird weniger Speicher fĂŒr jeden Spieler benötigt – etwa 5–10 MB.

Die Nachteile von Bukkit liegen darin, dass er beim Start zu viel Arbeitsspeicher verbraucht. DarĂŒber hinaus benötigt der Server immer mehr Arbeitsspeicher, je lĂ€nger er lĂ€uft (auch wenn wenig Spieler online sind). Wenn man sich fĂŒr Bukkit als Server entscheidet, sollte man bedenken, dass die neuen Versionen in der Regel Fehler enthalten; eine stabile Version erscheint normalerweise etwa 2-3 Wochen nach der Veröffentlichung der offiziellen Minecraft-Version.

In letzter Zeit gewinnen außerdem andere Plattformen an PopularitĂ€t (zum Beispiel Spout, MCPC und MCPC+), sie unterscheiden sich jedoch in der eingeschrĂ€nkten KompatibilitĂ€t mit Vanilla und Bukkit und haben eine Ă€ußerst begrenzte UnterstĂŒtzung fĂŒr Mods (zum Beispiel kann man fĂŒr Spout grundsĂ€tzlich nur Mods von Grund auf neu erstellen). Wenn man sie verwendet, dann nur fĂŒr Experimente.

FĂŒr die Einrichtung eines Spielservers empfehlen wir die Plattform Bukkit, da sie die grĂ¶ĂŸte FlexibilitĂ€t bietet; außerdem gibt es zahlreiche verschiedene Mods und Plugins dafĂŒr. Die stabile Funktionsweise des Minecraft-Servers hĂ€ngt stark von der richtigen Wahl der Hardware-Plattform ab. Lassen Sie uns dieses Thema nĂ€her betrachten.

Hardware-Anforderungen

Sowohl der Server als auch der Client von Minecraft sind sehr ressourcenintensiv.
Bei der Auswahl der Hardware-Plattform sollte man beachten, dass ein Mehrkernprozessor keine großen Vorteile bietet: Der Minecraft-Server kann nur einen Verarbeitungs-Thread nutzen. Ein zweiter Kern wĂ€re jedoch nicht ĂŒberflĂŒssig: Einige Plugins laufen in separaten Threads und auch Java benötigt eine Menge Ressourcen


Deshalb ist es fĂŒr Minecraft-Server besser, einen Prozessor mit höherer Leistung eines Kerns zu wĂ€hlen. Ein leistungsstĂ€rkerer Dual-Core-Prozessor ist gegenĂŒber einem weniger leistungsstarken Mehrkernprozessor vorzuziehen. In spezialisierten Foren wird empfohlen, Prozessoren mit einer Taktrate von nicht weniger als 3 GHz zu verwenden.

FĂŒr den normalen Betrieb eines Minecraft-Servers wird eine große Menge an RAM benötigt. Bukkit benötigt etwa 1 GB RAM; außerdem wird fĂŒr jeden Spieler, wie bereits erwĂ€hnt, zwischen 5 und 10 MB reserviert. Plugins und Mods verbrauchen ebenfalls ziemlich viel Speicher. FĂŒr einen Server mit 30 bis 50 Spielern sind somit mindestens 4 GB RAM erforderlich.

In Minecraft hÀngt vieles (zum Beispiel das Laden derselben Plugins) von der Geschwindigkeit des Dateisystems ab. Daher ist es vorzuziehen, einen Server mit SSD zu wÀhlen. Festplatten mit Spindelmotoren sind aufgrund der niedrigen Geschwindigkeit beim zufÀlligen Lesen kaum geeignet.

Die Geschwindigkeit der Internetverbindung ist ebenfalls von großer Bedeutung. FĂŒr 40-50 Spieler reicht eine Verbindung mit 10 Mb/s völlig aus. Wer jedoch ein grĂ¶ĂŸeres Minecraft-Projekt plant, das eine Website, ein Forum und eine dynamische Karte umfasst, sollte dringend ĂŒber eine Verbindung mit höherer Bandbreite verfĂŒgen.

Welche spezifische Konfiguration ist am besten zu wÀhlen? Aus den von uns angebotenen Konfigurationen wir empfehlen, auf Folgendes zu achten:

  • Intel Core 2 Duo E8400 3GHz, 6GB RAM, 2×500GB SATA, 3000 Rub./Monat;
  • Intel Core 2 Quad Q8300 2.5GHz, 6GB RAM, 2×500GB SATA, 3500 Rub./Monat – diese Konfiguration verwenden wir fĂŒr unseren Testserver MineCraft, auf dem Sie gerade spielen können (wie das geht, steht weiter unten);
  • Intel Core i3-2120 3.3GHz, 8GB RAM, 2×500GB SATA, 3500 Rub./Monat.

Diese Konfigurationen sind durchaus geeignet, um einen Minecraft-Server fĂŒr 30-40 Spieler einzurichten. Ein kleiner Nachteil ist das Fehlen von SSDs, aber wir bieten einen anderen nicht minder wichtigen Vorteil: einen garantierten Kanal von 100 Mb/s ohne jegliche BeschrĂ€nkungen oder VerhĂ€ltnisse. Bei der Bestellung aller oben genannten Konfigurationen wird keine EinrichtungsgebĂŒhr erhoben.

Wir haben auch leistungsstĂ€rkere, aber auch teurere Server (bei der Bestellung dieser Konfigurationen wird ebenfalls keine EinrichtungsgebĂŒhr erhoben):

  • 2× Intel Xeon 5130, 2GHz, 8GB RAM, 4×160GB SATA, 5000 Rub./Monat;
  • 2× Intel Xeon 5504, 2GHz, 12GB RAM, 3×1TB SATA, 9000 Rub./Monat.

Wir empfehlen auch, auf das neue Budgetmodell mit SSD auf Basis des Intel Atom C2758 Prozessors zu achten: Intel Atom C2758 2.4GHz, 16 GB RAM, 2×240GB SSD, 4000 Rub./Monat, EinrichtungsgebĂŒhr – 3000 Rub.

Installation und Betrieb des Bukkit-Servers unter OC Ubuntu

Bevor wir den Server einrichten, erstellen wir einen neuen Benutzer und fĂŒgen ihn der sudo-Gruppe hinzu:

$ sudo useradd -m -s /bin/bash 
$ sudo adduser  sudo

Als NĂ€chstes setzen wir ein Passwort, mit dem der neu erstellte Benutzer sich mit dem Server verbindet:

$ sudo passwd

Wir melden uns mit dem neuen Benutzerkonto wieder am Server an und beginnen mit der Installation.
Minecraft ist in Java geschrieben, daher muss auf dem Server unbedingt die Java Runtime Environment installiert werden.

Wir aktualisieren die Liste der verfĂŒgbaren Pakete:

$ sudo apt-get update

Dann fĂŒhren wir den folgenden Befehl aus:

$ sudo apt-get install default-jdk

FĂŒr die Installation und den Betrieb von Bukkit ist es ratsam, auch einen Terminal-Multiplexer zu installieren – zum Beispiel screen (andere Terminal-Multiplexer können ebenfalls verwendet werden – siehe unser Überblick):

$ sudo apt-get install screen

Screen wird benötigt, wenn wir uns ĂŒber ssh mit dem Spieleserver verbinden. Damit können wir den Minecraft-Server in einem separaten Terminalfenster starten, und selbst nach dem Schließen des ssh-Clients bleibt der Server aktiv.

Legen wir ein Verzeichnis an, in dem die Serverdateien gespeichert werden:

$ mkdir bukkit
$ cd bukkit

Danach gehen wir auf die Download-Seite der offiziellen Bukkit-Website. In der oberen rechten Ecke der Seite finden Sie den Link zur letzten empfohlenen Serverversion (empfohlene Version). Wir empfehlen, diese herunterzuladen:

$ wget

Jetzt starten wir screen:

$ sudo screen

und fĂŒhren den folgenden Befehl aus:

$ java -Xmx1024M -jar craftbukkit.jar -o false

Wir erklÀren, was die verwendeten Parameter bedeuten:

  • Xmx1024M – maximaler Arbeitsspeicher, der auf dem Server verfĂŒgbar ist;
  • jar craftbukkit.jar – der Pfad zum Server;
  • o false – erlaubt den Zugriff auf den Server von Raubkopien.

Der Server wird gestartet.
Um den Server zu stoppen, geben Sie im Terminal den Befehl stop ein.

Einrichtung und Konfiguration des Servers

Die Servereinstellungen werden in der Konfigurationsdatei server.properties gespeichert. Diese enthÀlt folgende Parameter:

  • generator-settings – legt das Vorlagenschema zur Generierung der Superflat-Welt fest;
  • allow-nether – bestimmt die Möglichkeit, in die Nether-Welt zu wechseln. StandardmĂ€ĂŸig ist fĂŒr diesen Parameter der Wert true eingestellt. Wenn der Wert false gesetzt ist, werden alle Spieler aus der Nether-Welt in die normale Welt verschoben.
  • level-name — der Name des Ordners mit den Karten-Dateien, die wĂ€hrend des Spiels verwendet werden. Der Ordner befindet sich im gleichen Verzeichnis wie die Server-Dateien. Wenn ein solches Verzeichnis nicht existiert, erstellt der Server automatisch eine neue Welt und platziert sie im Verzeichnis mit dem gleichen Namen;
  • enable-query — aktiviert das Protokoll GameSpy4 zur Überwachung des Servers, wenn der Wert auf true gesetzt ist;
  • allow-flight — erlaubt FlĂŒge in der Welt von Minecraft. StandardmĂ€ĂŸig ist der Wert false (Fliegen ist verboten);
  • server-port — gibt den Port an, der vom Spieleserver verwendet wird. Der Standardport fĂŒr Minecraft ist 25565. Es wird empfohlen, diesen Parameter nicht zu Ă€ndern;
  • level-type — bestimmt den Typ der Welt (DEFAULT/FLAT/LARGEBIOMES);
  • enable-rcon — öffnet den Fernzugriff auf die Server-Konsole. StandardmĂ€ĂŸig ist dieser deaktiviert (false);
  • level-seed — Eingabewerte fĂŒr den Level-Generator. Um zufĂ€llige Welten zu erstellen, muss dieses Feld leer bleiben;
  • force-gamemode — legt den Standard-Spielmodus fĂŒr Spieler fest, die sich mit dem Server verbinden;
  • server-ip — gibt die IP-Adresse an, die von den Spielern zum Verbinden mit dem Server verwendet wird;
  • max-build-height — gibt die maximale Bauhöhe auf dem Server an. Der Wert muss eine Zahl sein, die durch 16 teilbar ist (64, 96, 256 usw.);
  • spawn-npcs — erlaubt (wenn der Wert true ist) oder verbietet (wenn der Wert false ist) das Erscheinen von NPCs in Dörfern;
  • white-list — aktiviert und deaktiviert die Verwendung einer weißen Liste von Spielern auf dem Server. Wenn der Wert auf true gesetzt ist, kann der Administrator die weiße Liste manuell erstellen, indem er die Spielernamen hinzufĂŒgt. Ist der Wert false, kann jeder Nutzer, der die IP-Adresse und den Port kennt, auf den Server zugreifen;
  • spawn-animals — erlaubt das automatische Erscheinen von freundlichen Mobs, wenn der Wert auf true gesetzt ist;
  • snooper-enabled — erlaubt es dem Server, Statistiken und Daten an die Entwickler zu senden;
  • hardcore — aktiviert den Hardcore-Modus auf dem Server;
  • texture-pac — die Texturdatei, die verwendet wird, wenn sich ein Spieler mit dem Server verbindet. Der Wert dieses Parameters gibt den Namen der Zip-Datei mit den Texturen an, die sich im gleichen Verzeichnis wie der Server befindet;
  • Online-Modus - aktiviert die ÜberprĂŒfung der Premium-Accounts von Benutzern, die sich mit dem Server verbinden. Wenn dieser Parameter auf true gesetzt ist, können nur Besitzer von Premium-Accounts auf den Server zugreifen. Ist die ÜberprĂŒfung der Konten deaktiviert (Wert false), können alle Benutzer (einschließlich beispielsweise Spieler, die ihren Namen gefĂ€lscht haben) auf den Server zugreifen, was zusĂ€tzliche Sicherheitsrisiken mit sich bringt. Bei deaktivierter ÜberprĂŒfung kann man Minecraft im lokalen Netzwerk ohne Internetzugang spielen;
  • PVP - erlaubt oder verbietet es Spielern, gegeneinander zu kĂ€mpfen. Hat dieser Parameter den Wert true, können die Spieler sich gegenseitig vernichten. Ist der Wert false, können die Spieler einander keinen direkten Schaden zufĂŒgen;
  • Schwierigkeitsgrad - legt das Spielniveau fest. Kann Werte von 0 (am leichtesten) bis 3 (am schwersten) annehmen;
  • Spielmodus - gibt an, welcher Spielmodus fĂŒr die einloggenden Spieler auf dem Server festgelegt wird. Kann folgende Werte annehmen: 0 - Überleben, 1 - Kreativ, 2 - Abenteuer;
  • Spieler-InaktivitĂ€ts-Timeout - Zeit der InaktivitĂ€t (in Minuten), nach deren Ablauf die Spieler automatisch vom Server getrennt werden;
  • Maximale Spieleranzahl - maximale zulĂ€ssige Anzahl von Spielern auf dem Server (von 0 bis 999);
  • Monster erscheinen lassen - erlaubt (wenn der Wert true gesetzt ist) das Erscheinen feindlicher Mobs;
  • Strukturen generieren - aktiviert (true)/deaktiviert (false) die Generierung von Strukturen (Schatztruhen, Festungen, Dörfer);
  • Sichtweite - regelt den Radius der aktualisierten Chunks zur Übertragung an den Spieler; kann Werte von 3 bis 15 annehmen.

Die Logs des Minecraft-Servers werden in der Datei server.log aufgezeichnet. Diese wird im selben Ordner wie die Serverdateien gespeichert. Das Log wĂ€chst stĂ€ndig und benötigt immer mehr Speicherplatz. Die Funktionsweise des Logging-Mechanismus kann durch die sogenannte Log-Rotation geordnet werden. FĂŒr die Rotation wird ein spezielles Tool - logrotate - verwendet. Dieses begrenzt die Anzahl der EintrĂ€ge im Log auf ein bestimmtes Limit.

Die Log-Rotation kann so eingestellt werden, dass alle EintrĂ€ge gelöscht werden, sobald die Logdatei eine bestimmte GrĂ¶ĂŸe erreicht hat. Es kann auch eine Frist festgelegt werden, nach der alle alten EintrĂ€ge als veraltet gelten und gelöscht werden.

Die Haupteinstellungen zur Rotation befinden sich in der Datei /etc/logrotate.conf; zusĂ€tzlich können fĂŒr jede Anwendung individuelle Einstellungen erstellt werden. Dateien mit individuellen Einstellungen werden im Verzeichnis /etc/logrotate.d gespeichert.

Lassen Sie uns eine Textdatei /etc/logrotate.d/craftbukkit erstellen und die folgenden Parameter eintragen:

/home/craftbukkit/server.log {
  rotate 2
  weekly
  compress
  missingok
  notifempty
}

Lassen Sie uns ihre Werte nÀher betrachten:

  • Der Parameter rotate gibt die Anzahl der Rotationen an, bevor die Datei gelöscht wird;
  • weekly gibt an, dass die Rotation wöchentlich erfolgt (es können auch andere Parameter festgelegt werden: monthly - monatlich und daily - tĂ€glich);
  • compress gibt an, dass die Archivierungsprotokolle komprimiert werden mĂŒssen (die entgegengesetzte Option ist nocompress);
  • missingok gibt an, dass die Arbeit fortgesetzt werden soll, wenn die Protokolldatei fehlt, und dass keine Fehlermeldungen ausgegeben werden;
  • notifempty gibt an, dass die Protokolldatei nicht verschoben werden soll, wenn sie leer ist.

NĂ€here Informationen zu den Einstellungen der Protokolldrehung finden Sie hier.

Tipps zur Optimierung

Wir möchten gleich darauf hinweisen, dass in diesem Abschnitt RatschlĂ€ge zur Optimierung nur fĂŒr die Spielserver gegeben werden. Fragen zur Feinabstimmung und Optimierung des Servers, auf dem Minecraft installiert ist, sind ein separates Thema, das den Rahmen dieses Artikels sprengt; interessierte Leser werden problemlos die benötigten Informationen im Internet finden.

Eines der hÀufigsten Probleme, die beim Spielen von Minecraft auftreten, sind die sogenannten Lags - Situationen, in denen das Programm nicht rechtzeitig auf die Benutzereingaben reagiert. Diese können sowohl auf der Client- als auch auf der Serverseite verursacht werden. Im Folgenden geben wir Empfehlungen, die dabei helfen, die Wahrscheinlichkeit von Problemen auf der Serverseite zu verringern.

Überwachen Sie regelmĂ€ĂŸig den Speicherverbrauch des Servers und der Plugins

Der Speicherverbrauch kann mithilfe spezialisierter Administrationsplugins ĂŒberwacht werden - beispielsweise LagMeter.

Achten Sie auf die Aktualisierung der Plugins

In der Regel versuchen die Entwickler neuer Plugins mit jeder neuen Version, die Last zu reduzieren.

Vermeiden Sie die Verwendung vieler Plugins mit Àhnlicher FunktionalitÀt

Große Plugins (zum Beispiel Essentials, AdminCMD, CommandBook) beinhalten oft die FunktionalitĂ€t vieler kleinerer Plugins. So enthĂ€lt beispielsweise das gleiche Essential Funktionen der Plugins iConomy, uHome, OpenInv, VanishNoPacket, Kit. Kleinere Plugins, deren FunktionalitĂ€t vollstĂ€ndig durch die eines großen Plugins abgedeckt wird, können in den meisten FĂ€llen entfernt werden, um den Server nicht zu ĂŒberlasten.

Grenzen Sie die Karte ein und laden Sie sie selbststÀndig nach

Wenn Sie die Karte nicht begrenzen, wird die Serverlast erheblich steigen. Die Karte kann mithilfe des Plugins WorldBorderbegrenzt werden. Dazu muss dieses Plugin aktiviert und der Befehl /wb 200 ausgefĂŒhrt werden, gefolgt von der Kartenerstellung mit dem Befehl /wb fill.

Die Kartenerstellung wird natĂŒrlich einige Zeit in Anspruch nehmen, aber es ist besser, dies einmal zu tun, indem Sie den Server fĂŒr technische Arbeiten schließen. Wenn jeder Spieler die Karte erstellt, wird der Server langsam arbeiten.

Ersetzen Sie schwere Plugins durch schnellere und ressourcenschonendere

Nicht alle Plugins fĂŒr Minecraft sind gelungen: Oft enthalten sie viele ĂŒberflĂŒssige und unnötige Funktionen und verbrauchen manchmal auch viel Speicher. Missratene Plugins sollten besser durch Alternativen ersetzt werden (es gibt davon recht viele). Zum Beispiel kann das Plugin LWC durch Wgfix+MachineGuard ersetzt werden, und das Plugin DynMap durch Minecraft Overviewer.

Entfernen Sie immer Drops oder installieren Sie ein Plugin zur automatischen Löschung von Drops

Drops in Spielen sind GegenstÀnde, die beim Sterben eines Mobs oder beim Zerstören bestimmter Blöcke fallen. Die Speicherung und Verarbeitung von Drops beansprucht sehr viele Systemressourcen.

Damit der Server schneller lĂ€uft, sollten Drops idealerweise entfernt werden. Dies geschieht am besten mit speziellen Plugins – zum Beispiel NoLagg oder McClean.

Verwenden Sie keine Anticheats

Auf Gaming-Servern werden oft sogenannte Anticheats installiert – Programme, die versuchen, unerlaubte Eingriffe in das Spiel zu blockieren.

Es gibt auch Anticheats fĂŒr Minecraft. Jedes Anticheat stellt immer eine zusĂ€tzliche Belastung fĂŒr den Server dar. Es ist vorzuziehen, Schutzmaßnahmen fĂŒr den Launcher zu installieren (die allerdings keinerlei absolute Sicherheitsgarantie geben und leicht umgangen werden können – aber das ist ein eigenes Thema) und fĂŒr den Client.

Zum Abschluss

Jede Anleitung und Empfehlung ist umso effektiver, wenn sie durch konkrete Beispiele untermauert wird. Basierend auf den obigen Installationsanleitungen haben wir unseren eigenen Minecraft-Server erstellt und etwas Interessantes auf die Karte gesetzt.

Das ist das Ergebnis:

  • Bukkit-Server – empfohlene stabile Version 1.6.4;
  • Plugin Statistics – um Statistiken ĂŒber die Spieler zu sammeln;
  • Plugin WorldBorder – um die Karte zu rendern und zu begrenzen;
  • Plugin WorldGuard (+WorldEdit als AbhĂ€ngigkeit) – um bestimmte Bereiche zu schĂŒtzen.

Wir laden alle Interessierten ein, darauf zu spielen: Um sich zu verbinden, fĂŒgen Sie einen neuen Server hinzu und geben Sie die Adresse an mncrft.slc.tl.

Wir wĂŒrden uns freuen, wenn Sie in den Kommentaren Ihre eigenen Erfahrungen mit der Installation, Konfiguration und Optimierung von Minecraft-Servern teilen und erzĂ€hlen, welche Mods und Plugins Sie interessieren und warum.

Tolle Neuigkeiten: Ab dem 1. August wurde die EinrichtungsgebĂŒhr fĂŒr dedizierte Server mit fester Konfiguration um 50 % gesenkt. Jetzt betrĂ€gt die einmalige EinrichtungsgebĂŒhr nur noch 3000 Rubel.

Leser, die hier keine Kommentare hinterlassen können, laden wir ein, zu uns zu kommen in Blogs.

Quelle: habr.com

60GB SSD 8Gb DDR4