Minecraft - Linux Server Script
Einfache Installation und Verwaltung von MinecraftServern
Einfache Installation und Verwaltung von MinecraftServern
Informationen
Sprachen: Deutsch, Englisch
Quellcode:

Testsysteme: Ubuntu 15.10, CentOS 7 1511, openSUSE 42.1
Installation
Der folgende Befehl muss dort ausgeführt werden, wo ihr den Minecraftserver haben wollt. Dadurch wird das Skript heruntergeladen und vollständig installiert.
Code:
curl -sL https://git.io/vzQYi -o mcserver.sh && chmod +x mcserver.sh && ./mcserver.sh
Nach der Installation des Skripts, könnt ihr es verwenden um einen Vanilla-, Bukkit- oder Spigot-Server zu installieren. Für Forge und andere Server gibt es weiter unten noch zusätzliche Informationen.
Code:
# Server installieren / aktualisieren ./mcserver.sh install # Server starten ./mcserver.sh start # Server stoppen ./mcserver.sh stop # Backup erstellen ./mcserver.sh backup
configuration.ini
Code:
####################### ## Server Settings ## ####################### # Server Types: "vanilla", "bukkit", "spigot", "forge" ServerType="vanilla" # Vanilla: "1.8.9", "16w04a" # Bukkit/Spigot: "latest", "1.8.8", "580" - https://hub.spigotmc.org/versions/ # Forge: "1.8.9-11.15.1.1741" - http://files.minecraftforge.net/ ServerVersion="1.8.9" MinMemory="1G" MaxMemory="2G" ####################### ## MySQL Backup ## ####################### MySQL_Username="" MySQL_Password="" MySQL_Hostname="localhost" MySQL_Port="3306" MySQL_Database="" ####################### ## Script Settings ## ####################### InstanceName="MyMinecraftServer" ScriptLanguage="en" ScriptBranch="master" ScriptUpdates=true
./mcserver.sh backup
Erstellt ein Backup von allen wichtigen Serverdateien und der Konfigurationsdatei des Skripts. Alle jar-Dateien werden irgnoriert, damit das Backup nicht unnötig groß wird../mcserver.sh help
Zeigt eine Liste mit allen verfügbaren Aktionen an. Es werden auch Aktionen angezeigt, die vom Benutzer hinzugefügt wurden../mcserver.sh install
Installiert/Aktualisiert einen Vanilla-, Bukkit- oder Spigot-Server, je nachdem was in der Konfigurationsdatei festgelegt wurde. Bukkit und Spigot haben immer die neuste Version, bei Vanilla ist es die eingestellte Version../mcserver.sh say <text>
Sendet den Befehl "say <text>" an den Server. Dadurch wird der Text dann im Chat angezeigt../mcserver.sh start
Startet den Server mit screen im Hintergrund../mcserver.sh status
Zeigt den aktuellen Status des Servers an: Server läuft / Server läuft nicht./mcserver.sh stop
Sendet den Befehl "stop" an den Server../mcserver.sh view
Holt den screen-Prozess in den Vordergrund, in dem der Server läuft. Hier könnte ihr direkt mit der Serverkonsole interagieren. Zum Verlassen müsst ihr [Strg]+[A]+[D] drücken.Alternative Java-Server / Andere Versionen / Modpacks
Das Skript kann euch, wie ihr bereits gelesen haben solltet, bei der Installation von Vanilla, Bukkit/Spigot und Forge helfen. Wenn ihr jetzt aber eine andere Java-Serversoftware (z.B. Canary oder SpongeVanilla), eine ältere Version von Bukkit/Spigot (z.B. 1.7.10 oder auch 1.6) oder ein Modpack (z.B. Hexxit, FTB Infinity) verwenden wollte, dann kann das Skript die Installation nicht ausführen. Für bereits vorhandene Server, die auf dieses Skript umstellen, ist dieser Bereich auch interessant.
Ihr müsst euren Server, von der "mcserver.sh" aus gesehen, in den Unterordner "game" installieren. Anschließend habt ihr zwei Möglichkeiten, damit das Skript euren Server erkennt und ihn verwenden kann. In beiden Fällen solltet ihr danach kein "./mcserver.sh install" mehr ausführen, ansonsten wird die jar-Datei durch die die eingestellte Serversoftware ersetzt (im Standardfall wäre es Vanilla).
- Ihr installiert einen Server über das Skript, ersetzt dann alle Dateien und nennt die server.jar (z.B. craftbukkit.jar oder hexxit.jar) genau so wie die installierte Jar-Datei hieß (z.B. vanilla.1.8.9.MyMinecraftServer.jar).
- Oder ihr fügt die folgende Zeile in eure configuration.ini ein und gebt den Namen der server.jar ein. Damit wird die automatische Erstellung des Namens im Skript überschrieben. Den Beispielnamen "meineServer.jar" ersetzt ihr dabei durch den richtigen Namen (z.B. craftbukkit.jar oder hexxit.jar).
Code:GAME_EXECUTABLE="${GAME_DIR}meineServer.jar"
Das Skript kann problemlos für mehrere Server auf der selben Maschine verwendet werden, dafür muss es für jeden Server an einem anderen Ort neu installiert werden. Die "InstanceName" Einstellung in der configuration.ini muss (!!!) für jeden Server anders sein, ansonsten funktioniert das Skript nicht richtig und es kann passieren, dass ihr Server1 nicht starten könnt weil er angeblich schon läuft, aber eigentlich läuft nur Server2. Außerdem müsst ihr in der server.properties-Datei vom Server dafür sorgen, dass die Server sich nicht den selben Port nehmen wollen, dann könnte nämlich auch nur einer der Server laufen.
Erweiterungen und Anpassungen
Neue Aktionen / Sprachen
Zusätzliche Dateien werden von der Update-Funktion nicht beachtet. Ihr könnt als problemlos eigene Aktionen im ".script/actions/"-Ordner anlegen und neue Sprachen im ".script/languages/"-Ordner erstellen.
Das selbe gilt auch für neue Funktionsbibliotheken im ".script/"-Ordner. Hierbei solltet ihr aber beachten, dass diese Dateien jedes mal geladen und damit auch ausgeführt werden.
Fehlerkorrekturen / Anpassungen
Alle Änderungen an meinen Dateien, werden vom Updater erkennt und wieder überschrieben. Wenn ihr das verhindern wollt, müsst ihr den Updater in der configuration.ini deaktivieren.
Zum Projekt beitragen
Ihr könnte natürlich auch einen Fork des Projekts anlegen, dort eure Fehlerkorrekturen, Anpassungen, Erweiterungen usw. einfügen und es dann mit einem Pull-Request an mich zurück schicken. Ich werde mir die Änderungen dann genau ansehen und entscheiden, ob ich sie annehme oder ablehne.
Besonders beim Hinzufügen und Verbessern der Sprachdateien bin ich auf eure Hilfe angewiesen.
Meine TODO-Liste
Hier stehen Änderungen und Erweiterung für das Skript, die mir eingefallen aber noch nicht umgesetzt sind. Ihr dürft euch auch gerne einen oder mehrere der Punkte vornehmen. Die Punkte mit einem * bearbeite ich und will in kürze damit anfangen.
Installation von Bukkit / Spigot(2016-02-01)Backup-Funktion auch für MySQL(2016-02-12)Installation von Forge(2016-02-12)- Einrichtung als Service
- Verwaltung mehrere Server durch eine Skript Installation






