Automatyczne wlaczanie serwer po wpisaniu komendy

Zombie
problem
Xeqq
Xeqq

Witam, mam problem ponieważ nie wiem jak zrobić żeby po wpisaniu np. /restart serwer się wyłączał i automatycznie włączał na vps. tak wiem że jest taka opcja w bukkit/spigot

Timo
Timo Moderator forum.lvlup.pro

W jaki sposób obsługujesz serwer? Przez screena? Można to zrobić w skrypcie sh, ale musisz odpowiedzieć na pytanie wyżej.

Xeqq
Xeqq

Screen

Timo
Timo Moderator forum.lvlup.pro

Prosty skrypt, zmodyfikowany, używam na wielu serwerach. https://hastebin.com/efigacineq.bash Zmień tam tylko kilka słów w nim ;)

Xeqq
Xeqq

to mam wklejic do pliku startowego a potem normalnie np. bukkit bedzie to w configu używać ?

Timo
Timo Moderator forum.lvlup.pro

Zawartość w tym linku wklej do pliku restart.sh Po wpisaniu ./restart.sh Serwer wyłączy się jeśli jest włączony i potem włączy.

Xeqq
Xeqq

Okej, bardzo dziekuje ;) oczywiście dodać uprawnienia 777?

Timo
Timo Moderator forum.lvlup.pro

Nie, no zwariowałeś? 😂 Ustaw chown dla osoby, która ma móc odpalać skrypt i chmod 7xx, wystarczy 700, 755, jak wolisz. Właściciel winien mieć 7.

Xeqq
Xeqq

Timo:

restart.sh

Pan plBananek dawał zawsze 777 na wszystko więc ja już nie wiem jakie nadawać

Timo
Timo Moderator forum.lvlup.pro

Jak chcesz - jeśli masz tylko jednego użytkownika na VPS to bezpieczne. Lecz jeśli ktoś inny korzysta też z twojego VPSa, to z innego konta przy chmod 777 będzie mógł zrestartować twój serwer (chyba)

Xeqq
Xeqq

Teraz normalnie odpala serwer przy pomocy ./start.sh i potem jak wpisze na serwerze komende /restart to serwer powinien sie włączyć jeśli dobrze zrobiłem w configu spigot

Timo
Timo Moderator forum.lvlup.pro

Odpalaj jak zawsze, lub z komendy ./restart.sh - też można, nawet jak jest OFF - nic się nie stanie. W spigot.yml zapewne ustawiłeś restart-script czy jakoś tak i lokalizacje do niego. Po wpisaniu restart powinno zaskoczyć ;)

Xeqq
Xeqq

restart-on-crash: true restart-script: ./restart.sh

Timo
Timo Moderator forum.lvlup.pro

Dokładnie tak ;)

Xeqq
Xeqq

Nie włącza się 😕

#!/bin/bash
screen -S uhc -p 0 -X stuff "stop"`echo -ne '\015'`
sleep 10
cd /home/user/mc
screen -dmS uhc java -Xmx3072M -Xms3072M -jar /home/user/mc/start.jar nogui --nojline
Timo
Timo Moderator forum.lvlup.pro

Zrób drugi skrypt z pierwszą linijką (ta bin bash) i dwoma ostatnimi (cd i screen) i zapisz jako odpal.sh I to włącz

DBanaszewski
DBanaszewski α-tester v3

Xeqq:

plBałwanek

Mam lekkie podjerzenia co do tego 😕

(Okej, poprawione.)

//Offtop

Gdzie ja dawałem 777? Kiedyś pamiętam jak napisałem bo ktoś sobie poblokował cały system 😕

Xeqq
Xeqq

No włączyłem serwer normalnie działa

Timo
Timo Moderator forum.lvlup.pro

I jakbyś chciał go zrestartować (wyłączyc i włączyć) na raz to użyj ./restart.sh

Xeqq
Xeqq

Czyli wychodzi na to że coś robię źle w configu spigota ;/ że po wpisaniu /restart na serwerze serwer nie uruchamia ./restart.sh

settings:
  save-user-cache-on-stop-only: false
  bungeecord: true
  late-bind: false
  sample-count: 12
  player-shuffle: 0
  filter-creative-items: true
  user-cache-size: 1000
  int-cache-limit: 1024
  moved-wrongly-threshold: 0.0625
  moved-too-quickly-threshold: 100.0
  timeout-time: 60
  restart-on-crash: true
  restart-script: ./restart.sh
  netty-threads: 8
  attribute:
maxHealth:
  max: 2048.0
movementSpeed:
  max: 2048.0
attackDamage:
  max: 2048.0
  debug: false
  global-api-cache: false
Timo
Timo Moderator forum.lvlup.pro

Jakbyś dał do configu odpal a nie restart?

Xeqq
Xeqq

Bardzo dziękuje działa 😊

Czy jest tu na forum jakaś opcja dania +rep czy coś wtem desen ?

DoreK
DoreK α-tester v3

image|322x50

luxDev
luxDev Pionier

(Troszkę offtop) Moim skromnym zdaniem rozwiązanie powinno się nadawać na post który rozwiązał pytanie zadane w temacie nie na post który rozwiązał coś po drodze, aby było po prostu czytelniej dla użytkownika.

Jak coś nic nie zmieniam, to tylko moja sugestia, jeśli też masz takie zdanie możesz zostawić lajka czy coś coby było wiadomo.

Timo
Timo Moderator forum.lvlup.pro

Racja, zmieniłem.