• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Minecraft Server "Installation" Script

toemsel1

Schafhirte
Registriert
9 August 2012
Beiträge
115
Diamanten
300
Minecraft
toemsel1
Hallo!
Ich arbeite an einem Minecraft Server Installation Script das ich in Zukunft einfacher Server erstellen/aufsetzten kann. Dabei handelt es sich um ein Linux script.

Kurze beschreibung des Scriptes:
Angenommen ich habe 2 Lobbys und diese beiden sind voll mit Useren. Da ich aber nicht zu viele Spieler auf eine Lobby hauen möcht, erstelle ich einen neuen Server. Da aber das ganze konfigurieren usw. Manuell recht aufwendig ist möchte ich es vereinfachen und verschnellern.
Wenn ich ez einen Server installieren möchte führe ich einfach das Script aus. Dieses fragt zuerst ab welchen Server ich installieren möchte. Danach muss ich den port angeben. Als nächstes soll er überprüfen ob der im Bereich der, für die Kategorie (Lobby, PvP,..) zugewiesenen Ports liegt. z.b.: Lobby: von 20001-20010
wenn der bereich dazwieschen liegt soll er fortfahren und überprüfen wie viele Server (in diesem fall 2 Lobbys) vorhanden sind. Die Server sind wie folgt gegenzeichnet: 1- Lobby, 2-Lobby,... Wenn er das überprüft hat. soll er den passenden Server Ordner erstellen (hier: 3-Lobby)
Danach soll die Server vorlage kopiert werden und mit Hilfe des Scriptes konfiguriert werden. Das Script soll bei der Konfiguration ein paar daten aus der server.properties abfragen und abändern (port, max. Spieler usw.)
nach der Konfiguration müssen die Daten nur noch in den Proxy(BungeeCord) eingetragen werden und das passende Start Script erstellt werden.

Doch momentan bin ich noch recht weit am Anfang.
Das habe ich bis jetzt geschafft:
Code:
#!/bin/bash

###########################################
# Server Installation Script
###########################################

# Config
game="minecraft"


gamepath="home/${game}"
# Ende Config

cd /${gamepath}
read -p "Welcher Server soll installiert werden?" antwort

case "$antwort" in
        Lobby|lobby|hub|Hub) echo "Ok los geht's"
            sleep 1
            read -p "Server Port:" port

Was hier ez Folgen sollte ist die Port abfrage, Ob der Port für eine lobby verwendet werden darf (hier: von 20001bis 20010), und wie viele Lobbys (ordner) im Lobby ordner schon installiert wurden.

Meine Überlegung wäre es mit "if" und "scale from 20001-20010" bei der prot überprüfung und bei der Ordnerüberprüfung mit einer Schleife zu machen aber nur wie?

Ich hoffe Ihr könnt mir weiterhelfen oder Ihr habt eine bessere Idee ;)

Anregungen und Verbesserungsvorschläge sind gerne gesehen ;)

Danke für Eure Hilfe im Voraus!

Hochachtungsvoll
Thomas

Ps.: Grundkentnisse in Linux sind vorhanden (scripten, if-elif-then-else, case,..). Habe schon mehrere Dinge gescriptet. Aber hier krieg ich einfach ein paar Dinge nicht gebacken ^^.
UND. Sry für meine Rechtschreibung ;)
 
Zuletzt bearbeitet:

Eisphoenix

Kuhfänger
Registriert
9 Oktober 2014
Beiträge
81
Diamanten
0
Minecraft
Eisphoenix
http://wiki.ubuntuusers.de/Shell/Bash-Skripting-Guide_für_Anfänger#Das-Test-Kommando

Das könnte dir weiterhelfen.

In der Tabelle unter "das test-kommando" findest du einige varianten

In einem thread von mit einige tage zuvor ebenfalls im programmierunterforum ist soetwas in ein script eingebaut

Oder du lernst hiervon: http://www.selflinux.org/selflinux/pdf/shellprogrammierung.pdf . Von diesen Sachen hab ich Bash gelernt ;).

Du solltest eine Abfrage in Richtung von
Code:
if [ -x Dateipfad ]
 then
  //Mach das hier
 else
  //Sonst das hier
 fi
machen.
 

toemsel1

Schafhirte
Registriert
9 August 2012
Beiträge
115
Diamanten
300
Minecraft
toemsel1
http://wiki.ubuntuusers.de/Shell/Bash-Skripting-Guide_für_Anfänger#Das-Test-Kommando

Das könnte dir weiterhelfen.

In der Tabelle unter "das test-kommando" findest du einige varianten

In einem thread von mit einige tage zuvor ebenfalls im programmierunterforum ist soetwas in ein script eingebaut

Die Test Kommandos hab ich mir schon angeschaut. aber das Bringt mir nicht viel (meines wissens nach) wenn ich keine Zahl dem Server vergebe, sondern nur den Port.(via SSH)

Hab deinen Thread angeschaut. konnte aber nix brauchbares herausnehmen (vll. hab ich auch was übersehen).

Meine Überlegung wäre es mit einer Schleife zu machen das das Script, wenn ich den Port angegeben habe, bei 1 anfängt nach ordnern zu suchen die an der 1. Stelle eine Zahl haben (wird von mir so Formatiert) bis ka. 10 oder so und wenn dann bei 11 kein Ordner mehr mit der Ordnungsnummer 11 existiert, erstellt das Script einen mit 11-Server(Lobby, etc.)-Port(z.b. 25565) <- Das sollte nur ein Beispiel sein!
 

toemsel1

Schafhirte
Registriert
9 August 2012
Beiträge
115
Diamanten
300
Minecraft
toemsel1
Oben