Co zrobić, aby plik start.sh ponownie włączał mój serwer MC?

matek04040 | 2020-04-16 23:58:30 UTC | #1

Jak w temacie. Co zrobić, aby plik start.sh działał (gdy na przykład serwer zaliczy crash lub zwyczajnie po wpisaniu komendy /restart). Do tej pory, gdy wpiszę “/restart” serwer po prostu się wyłącza.

W pliku start.sh umieściłem:

!/bin/sh

cd /home/mc
screen -dmS x java -Xms9216M -Xmx9216M -jar silnik.jar


Nieznajomy11 | 2020-04-16 23:57:21 UTC | #2

Pętlę:

#!/bin/sh

cd /home/mc

while true; do
  java -Xms9216M -Xmx9216M -jar silnik.jar
  sleep 2
done

I wtedy dopiero odpalasz ten skrypt z środka screena:

 screen -dmS x ./start.sh

matek04040 | 2020-04-16 23:28:55 UTC | #3

Za pomocą

screen -dmS x ./start.sh

Mam uruchamiać serwer, tak?


Nieznajomy11 | 2020-04-16 23:36:31 UTC | #4

Tak, będąc w katalogu, gdzie jest plik start.sh.
Możesz też robić to w taki sposób:

screen -s x

I wtedy wpisujesz ./start.sh po otworzeniu screena, dzięki temu zobaczysz ewentualne błędy.


matek04040 | 2020-04-16 23:33:06 UTC | #5

Znajduję się w lokalizacji pliku start.sh (/home/mc) i po wpisaniu
screen -dmS x ./start.sh

nic się nie dzieje. Co robię źle?


Timo | 2020-04-16 23:35:16 UTC | #6

Serwer odpala się w tymże screenie, więc go nie widzisz.
Przejdź do screena za pomocą komendy screen -r.


matek04040 | 2020-04-16 23:38:44 UTC | #7

Nic się nie odpala, na serwer wejść nie mogę, a po próbie przejścia do screena wyskakuje komunikat There is no screen to be resumed matching x.


matek04040 | 2020-04-16 23:54:29 UTC | #8

Nieważne, mój błąd :P Robiłem to pierwszy raz, więc nie wiedziałem co do czego.

W konsoli wystarczyło przejść do katalogu w którym znajdował się start.sh i wpisać:
chmod 777 start.sh

Na przyszłość, dla osób, które będą miały podobny problem.


Nieznajomy11 | 2020-04-17 03:14:06 UTC | #9

Zadziałało, ale prawdopodobnie poprawniejszym rozwiązaniem byłoby:

chmod +x start.sh

Chodzi tutaj o brak bitu oznaczającego plik jako wykonywalny.


system | 2020-05-19 03:13:56 UTC | #10

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