Napisałem sobie finalnie skrypt, który restartuje serwer do minecrafta. Mianowicie, wiadomości na czacie, zapisywanie, wyrzucanie graczy, stop serwera, zabicie procesów screena, uruchomienie go ponownie i finalnie uruchomienie serwera.
Skrypt:
Kod: Zaznacz cały
#!/bin/bash# Minecraft AutoRestart
cd /home/xpirationcraft/
echo "=================================================="
echo "Rozpoczynam sekwencje: Automatyczny Restart Serwera"
echo "=================================================="
screen -p 0 -S xpiration -X stuff "say ============================================="`echo -ne '\015'`
sleep 0.5
screen -p 0 -S xpiration -X stuff "say Serwer zostanie za chwile zrestartowany!"`echo -ne '\015'`
sleep 0.5
screen -p 0 -S xpiration -X stuff "say Restart serwera uruchamiany jest automatycznie!"`echo -ne '\015'`
sleep 0.5
screen -p 0 -S xpiration -X stuff "say O godzinach: 5:00 | 10:00 | 15:00 | 20:00"`echo -ne '\015'`
sleep 0.5
screen -p 0 -S xpiration -X stuff "say Kazdy restart trwa od 1 do 2 minut."`echo -ne '\015'`
sleep 0.5
screen -p 0 -S xpiration -X stuff "say Nie wyjscie moze skutkowac utrata ekwipunku!"`echo -ne '\015'`
sleep 0.5
screen -p 0 -S xpiration -X stuff "say ============================================="`echo -ne '\015'`
sleep 5
echo "Restart serwera za 60 sekund"
screen -p 0 -S xpiration -X stuff "say RESTART SERWERA ZA: 60 sekund"`echo -ne '\015'`
sleep 10
echo "Restart serwera za 50 sekund"
screen -p 0 -S xpiration -X stuff "say RESTART SERWERA ZA: 50 sekund"`echo -ne '\015'`
sleep 10
echo "Restart serwera za 40 sekund"
screen -p 0 -S xpiration -X stuff "say RESTART SERWERA ZA: 40 sekund"`echo -ne '\015'`
sleep 10
echo "Restart serwera za 30 sekund"
screen -p 0 -S xpiration -X stuff "say RESTART SERWERA ZA: 30 sekund (Prosimy o wyjscie!)"`echo -ne '\015'`
sleep 10
echo "Restart serwera za 20 sekund"
screen -p 0 -S xpiration -X stuff "say RESTART SERWERA ZA: 20 sekund (Prosimy o wyjscie!)"`echo -ne '\015'`
sleep 10
echo "Restart serwera za 10 sekund (Zapisuje stan serwera)"
screen -p 0 -S xpiration -X stuff "say RESTART SERWERA ZA: 10 sekund (Prosimy o wyjscie!)"`echo -ne '\015'`
screen -p 0 -S xpiration -X stuff "save-all"`echo -ne '\015'`
sleep 5
screen -p 0 -S xpiration -X stuff "say RESTART SERWERA ZA: 5 sekund (Prosimy o wyjscie!)"`echo -ne '\015'`
sleep 1
screen -p 0 -S xpiration -X stuff "say RESTART SERWERA ZA: 4 sekundy (Prosimy o wyjscie!)"`echo -ne '\015'`
sleep 1
screen -p 0 -S xpiration -X stuff "say RESTART SERWERA ZA: 3 sekundy (Prosimy o wyjscie!)"`echo -ne '\015'`
sleep 1
screen -p 0 -S xpiration -X stuff "say RESTART SERWERA ZA: 2 sekundy (Prosimy o wyjscie!)"`echo -ne '\015'`
sleep 1
screen -p 0 -S xpiration -X stuff "say RESTART SERWERA ZA: 1 sekunde (Prosimy o wyjscie!)"`echo -ne '\015'`
sleep 1
echo "Wyrzucam wszystkich graczy"
screen -p 0 -S xpiration -X stuff "kickall"`echo -ne '\015'`
sleep 1
echo "Wylaczam serwer"
sleep 1
screen -p 0 -S xpiration -X stuff "say ---==[RESTART]==---"`echo -ne '\015'`
sleep 1
screen -p 0 -S xpiration -X stuff "stop"`echo -ne '\015'`
sleep 1
echo "Czekam 30 sekund na wylaczenie serwera"
sleep 10
echo "Czekam 20 sekund na wylaczenie serwera"
sleep 10
echo "Czekam 10 sekund na wylaczenie serwera"
sleep 10
echo "Zabijam screena"
killall -v screen
sleep 2
echo "Uruchamiam ponownie screena oraz serwer..."
cd "/home/xpirationcraft"; screen -S xpiration -dmS java -Xms14336M -Xmx14336M -jar craftbukkit-1.4.2-R0.2.jar nogui
sleep 40
screen -p 0 -S xpiration -X stuff "say Restart serwera przebiegł pomyślnie!"`echo -ne '\015'`
Co tutaj jest nie tak?