• 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!

Bitte Löschen!

Imothep80

Redstoneengineer
Registriert
9 Oktober 2016
Beiträge
30
Diamanten
0
Moin,

1.) welche Java Version hast du bei dir am laufen? Ab 7 reicht eintrag -Xmx[Speicher] vollkommen zu. Ab 8 spar ich mir sogar diesen eintrag.
2.) der stop ist extrem brutal. Du gibst damit den Server nicht die möglichkeit das konstruckt sauber zu beenden.

Bezüglich start und stop script meine eigenen kreation. Nicht perfekt tut aber was es soll:

Code:
#!/bin/bash
# Überwachung ob die Server laufen oder nicht. Wenn nicht neustarten. Inklusiv Neustart zur gewünschten Zeit.
# Erstellt für eine-sekun.de von Imothep80 :)

# Server Variablen/Arrays

# Stelle bitte sicher das der Multiserver an erster stelle steht.
serverTyp=('BungeeCord' 'Lobby')
serverRam=('512M' '4G')
javaDatei=('BungeeCord.jar' 'spigot-1.12.2.jar')
serverDir='/home/imothep80/Bukkit/'

# Zeit zum neustart. Bitte im Format: HH:MM - z.B. 13:45

zeit='03:00'

# Prüfen des Status und starten des Servers

while [ : ]
do
  # Variablen für die Schleifen
  aktuelleZeit=$(date +%H:%M)
  arrayZaehler=1
  anzahlServer=${#serverTyp[*]}
  i=0

  # Server Wächter
  for serverAbfrage in ${serverTyp[*]}
  do
  serverPid=`pgrep -f $serverAbfrage`
  if [ -z "$serverPid" ];
  then
  cd $serverDir$serverAbfrage
  screen -AdmS $serverAbfrage java -jar ${javaDatei[i]}
  echo "$(date) starte $serverAbfrage"
  fi
  ((i++))
  done

  # Schleife Server Neustart
  if [ $zeit == "$aktuelleZeit" ];
  then
  sleep 31
  # Server Warnung
  echo "Neustart..."
  screen -S ${serverTyp[0]} -p 0 -X stuff "alert &4&lServer neustart in 30 sekunden!\\r"
  sleep 10
  screen -S ${serverTyp[0]} -p 0 -X stuff "alert &4&lServer neustart in 20 sekunden!\\r"
  sleep 10
  screen -S ${serverTyp[0]} -p 0 -X stuff "alert &4&lServer neustart in 10 sekunden!\\r"
  sleep 1
  screen -S ${serverTyp[0]} -p 0 -X stuff "alert &4&lServer neustart in 9 sekunden!\\r"
  sleep 1
  screen -S ${serverTyp[0]} -p 0 -X stuff "alert &4&lServer neustart in 8 sekunden!\\r"
  sleep 1
  screen -S ${serverTyp[0]} -p 0 -X stuff "alert &4&lServer neustart in 7 sekunden!\\r"
  sleep 1
  screen -S ${serverTyp[0]} -p 0 -X stuff "alert &4&lServer neustart in 6 sekunden!\\r"
  sleep 1
  screen -S ${serverTyp[0]} -p 0 -X stuff "alert &4&lServer neustart in 5 sekunden!\\r"
  sleep 1
  screen -S ${serverTyp[0]} -p 0 -X stuff "alert &4&lServer neustart in 4 sekunden!\\r"
  sleep 1
  screen -S ${serverTyp[0]} -p 0 -X stuff "alert &4&lServer neustart in 3 sekunden!\\r"
  sleep 1
  screen -S ${serverTyp[0]} -p 0 -X stuff "alert &4&lServer neustart in 2 sekunden!\\r"
  sleep 1
  screen -S ${serverTyp[0]} -p 0 -X stuff "alert &4&lServer neustart in &9&leine.sekun.de!\\r"
  sleep 1
  screen -S ${serverTyp[0]} -p 0 -X stuff "end\\r"

  # Neustart prozedur

  while [ $arrayZaehler -le $anzahlServer ]
  do
  screen -S ${serverTyp[arrayZaehler]} -p 0 -X stuff "stop\\r"
  ((arrayZaehler++))
  done
  echo "...durchgeführt"
  fi
  sleep 5
done

variablen musste natürlich anpassen!
 

Middicom

Kuhfänger
Registriert
9 Januar 2014
Beiträge
93
Diamanten
0
Minecraft
Middicom
Ich muss Imothep80 auf jeden Fall zustimmen! Eine solcher Stop Befehl sollte wirklich nie eingesetzt werden, es sei denn der Server hat sich komplett aufgehangen... Das ist wie als würdest du bei deinem PC statt "Herunterfahren" zu benutzen immer den Stecker ziehen :D
Du riskierst also jedesmal den Datenverlust von allen Veränderungen z. B. an der Map die seit dem letzten Speichern gemacht wurden.
Wie das vernünftig geht findest du ja im Scriptvorschlag.

MfG Middi
 

Manicraft1001

Redstoneengineer
Registriert
18 Februar 2017
Beiträge
37
Alter
22
Diamanten
300
Minecraft
Manicraft1001
welche Java Version hast du bei dir am laufen?
Ich benutze Java 8.
Schreibe doch mal deine Pluginliste
Es liegt wahrscheinlich nicht an der Pluginliste, da es mehrere Verschidene Server gibt, welche alle verschiedene Plugins haben und nie mehrals zb. Essentials benutzen
z.B. ein falsch eingestelltes Dynmap.
Wir benutzen kein Dynmap :)
Bezüglich start und stop script meine eigenen kreation. Nicht perfekt tut aber was es soll:
Danke an dich Imothep80 für dieses Script. Da ich leider noch nicht lange in der Linux und Minecraft Programmier Szene bin, überblicke ich nicht ganz das Script. Ist es möglich das Script zu kürzen oder auf mich anzupassen? Screen zb. des BungeeCordes lautet bungeeprox...
Danke an alle für die rasche Antwort.
Grüsse
Manuel
 

Imothep80

Redstoneengineer
Registriert
9 Oktober 2016
Beiträge
30
Diamanten
0
Ich benutze Java 8.

Es liegt wahrscheinlich nicht an der Pluginliste, da es mehrere Verschidene Server gibt, welche alle verschiedene Plugins haben und nie mehrals zb. Essentials benutzen

Wir benutzen kein Dynmap :)

Danke an dich Imothep80 für dieses Script. Da ich leider noch nicht lange in der Linux und Minecraft Programmier Szene bin, überblicke ich nicht ganz das Script. Ist es möglich das Script zu kürzen oder auf mich anzupassen? Screen zb. des BungeeCordes lautet bungeeprox...
Danke an alle für die rasche Antwort.
Grüsse
Manuel

Kürzen würde ich es nicht. Du hast da alles drin was man so derzeit brauch. Automatischer neustart (bei stop und crash), ein geplanten neustart (dort 3:00) und ein fast frei einstellbares script. Die namen kannst du so ändern wie du willst. Das Script ziehlt auf eine geordnete verzeichniss strucktur hin.
Bukkit/Bungeecord - Bukkit/Lobby ... und so weiter. Das Script selbst solltest du dann auch im screen laufen lassen damit es ewig läuft. BungeeCord kannst du auch gegen einen anderen Ordner name ändern (z.B. BungeeProx wenn es so heißt) die java runtime wäre dann sicher nicht bungecoord.jar sondern bungeeprox.jar und so weiter.
 
Oben