Minecraft Server "Installation" Script

Dieses Thema im Forum "Programmierung" wurde erstellt von toemsel1, 4. Januar 2015.

  1. toemsel1
    Offline

    toemsel1

    Registriert seit:
    9. August 2012
    Beiträge:
    120
    Ort:
    Österreich, Voradelberg
    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 (Text):
    1.  
    2. #!/bin/bash
    3.  
    4. ###########################################
    5. # Server Installation Script
    6. ###########################################
    7.  
    8. # Config
    9. game="minecraft"
    10.  
    11.  
    12. gamepath="home/${game}"
    13. # Ende Config
    14.  
    15. cd /${gamepath}
    16. read -p "Welcher Server soll installiert werden?" antwort
    17.  
    18. case "$antwort" in
    19.         Lobby|lobby|hub|Hub) echo "Ok los geht's"
    20.             sleep 1
    21.             read -p "Server Port:" port
    22.  
    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 ;)
     
    #1
  2. AnonymusChaotic
    Offline

    AnonymusChaotic

    Registriert seit:
    22. November 2013
    Beiträge:
    762
    Ort:
    Wien, Österreich
    Minecraft:
    AnonymusChaotic
    #2
    Eisphoenix gefällt das.
  3. Eisphoenix
    Offline

    Eisphoenix

    Registriert seit:
    9. Oktober 2014
    Beiträge:
    82
    Ort:
    Garmisch-Partenkirchen
    Minecraft:
    Eisphoenix
    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 (Text):
    1. if [ -x Dateipfad ]
    2.  then
    3.   //Mach das hier
    4.  else
    5.   //Sonst das hier
    6.  fi
    7.  
    machen.
     
    #3
  4. toemsel1
    Offline

    toemsel1

    Registriert seit:
    9. August 2012
    Beiträge:
    120
    Ort:
    Österreich, Voradelberg
    Minecraft:
    toemsel1
    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!
     
    #4
  5. toemsel1
    Offline

    toemsel1

    Registriert seit:
    9. August 2012
    Beiträge:
    120
    Ort:
    Österreich, Voradelberg
    Minecraft:
    toemsel1
    ok werd mir die Seite ma angucken.

    In Richtung if habe ich es mir auch schon überlegt aber werd es ma ausprobieren ;)
     
    #5
    Eisphoenix gefällt das.