Problem z automatycznym restartem serwera Minecraft

SuchyMonster | 2020-12-28 11:10:41 UTC | #1

Witam, znalazłem wiele tematów na temat automatycznego restartu serwera, ale totalnie nic mi nie pomogło. Sam cron działa, wyłącza serwer o podanej godzinie. Niestety serwer po restarcie się nie włącza, próbowałem chyba wszystkiego co ludzie pisali. Po wpisaniu w konsole bash start.sh serwer ładnie się włącza, nie działa to tylko przy resecie.
Skrypt od restartu:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
#!/bin/bash
screen -p 0 -S x -X stuff "broadcast &cRestart servera za...$(echo '\r')"
sleep 10
screen -p 0 -S x -X stuff "broadcast &33$(echo '\r')"
sleep 10
screen -p 0 -S x -X stuff "broadcast &32$(echo '\r')"
sleep 10
screen -p 0 -S x -X stuff "broadcast &31$(echo '\r')"
sleep 10
screen -p 0 -S x -X stuff "broadcast &4&lRestart!$(echo '\r')"
sleep 10
screen -p 0 -S x -X stuff "save-all$(echo '\r')"
sleep 5
screen -p 0 -S x -X stuff "kickall §4RESTART$(echo '\r')"
sleep 10
screen -p 0 -S x -X stuff "stop$(echo '\r')"
sleep 360
cd /home/mc1
bash start.sh

Skrypt od startu:

1
2
#!/bin/bash
/usr/bin/screen -dmS x java -Xms6G -Xmx6G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar serw.jar nogui

Axerr | 2020-12-28 12:18:35 UTC | #2

W skrypcie restartu tylko zatrzymuj serwer a w skrypcie startu zrób nieskończoną pętlę, która będzie uruchamiała serwer, gdy ten zostanie wyłączony.


SuchyMonster | 2020-12-28 12:34:02 UTC | #3

jak zrobić taką pętle? mogę prosić o gotowy skrypt?


Axerr | 2020-12-28 12:42:08 UTC | #4

#!/bin/bash
while true ; do
    # komenda startowa
done 

SuchyMonster | 2020-12-28 13:03:35 UTC | #5

nie będzie to lagować serwera?


KutiF | 2020-12-28 13:06:15 UTC | #6

Nie będzie :wink:


Axerr | 2020-12-28 13:34:43 UTC | #7

Jeżeli w # komenda startowa wrzucisz screena to jest prawie pewne, że Ci VPSa zwiesi, w to miejsce wrzuć komendę Javy a uruchamiaj skrypt w taki sposob: screen ./skrypt.sh


system | 2021-01-29 13:34:44 UTC | #8

Ten temat został automatycznie zamknięty 32 dni po ostatnim wpisie. Tworzenie nowych odpowiedzi nie jest już możliwe.