[Risolto] Autorestart automatico

Ciao a tutti!


Oggi stavo installando un minigames nel mio server... l'installazione tutto bene, ma ho un problema...
Questo minigames una volta terminato necessita di un riavvio automatico del server.

Ovviamente nel config di questo minigames c'è scritto il comando che può essere eseguito per riavviare (ho tenuto /Restart


Successivamente ho cercato qualche tutorial e ho trovato la guida ufficiale di spigot.

che dice di mettere all'interno della cartella del server un file chiamato start.sh con questo codice.
Codice:
#!/bin/sh

java -Xmx1G -jar spigot.jar

Una volta scritto questo messaggio gli ho dato i permessi per poterlo eseguire, ho creato un nuovo screen con il comando screen -S nome, sono entrato nella cartella del server e ho avviato lo script con il comando ./Start.sh.

Il problema è che una volta eseguito questo comando mi dice questo errore.
Codice:
bash: ./start.sh: /bin/sh^M: bad interpreter: No such file or directory

Chi mi aiuta +1 RAP Smile

Grazie! (Modificato 07/04/2017, 16:41 da ReaperJack21.)
Non trova il file "start.sh" o "java" o lo "spigot.jar".

Assicurati che lo start.sh e lo spigot.jar siano nella stessa cartella in cui stai avviando lo script e assicurati che il comando "java" sia accessibile ovunque.
Se ti sono stato d'aiuto, mi offriresti una birra?
[Immagine: dona-con-paypal.png]

Rip Maxcraft
07/04/2017, 16:58Maxetto ha scritto: Non trova il file "start.sh" o "java" o lo "spigot.jar".

Assicurati che lo start.sh e lo spigot.jar siano nella stessa cartella in cui stai avviando lo script e assicurati che il comando "java" sia accessibile ovunque.

@maxetto
Il jar e lo start.sh sono nella stessa cartella, java è installato e funziona.
07/04/2017, 17:14ReaperJack21 ha scritto:
07/04/2017, 16:58Maxetto ha scritto: Non trova il file "start.sh" o "java" o lo "spigot.jar".

Assicurati che lo start.sh e lo spigot.jar siano nella stessa cartella in cui stai avviando lo script e assicurati che il comando "java" sia accessibile ovunque.

@maxetto
Il jar e lo start.sh sono nella stessa cartella, java è installato e funziona.

Ah, capito.
Alla fine della linea "!#/bin/sh" c'è un carattere invisibile (^M).
Rimuovilo e salva il file.
Se ti sono stato d'aiuto, mi offriresti una birra?
[Immagine: dona-con-paypal.png]

Rip Maxcraft
@maxetto
Ho provato a rimuovere gli spazi, ma ancora nulla...
Codice:
#!/bin/sh
java -Xmx1G -jar Auth.jar
(Modificato 07/04/2017, 17:58 da ReaperJack21.)
07/04/2017, 17:45ReaperJack21 ha scritto: @maxetto
Ho provato a rimuovere gli spazi, ma ancora nulla...
Codice:
#!/bin/sh
java -Xmx1G -jar Auth.jar

Eppure il problema è quello.

Prova a creare un nuovo file e modificarlo scrivendo il codice manualmente.
Se ti sono stato d'aiuto, mi offriresti una birra?
[Immagine: dona-con-paypal.png]

Rip Maxcraft
@maxetto

Il problema penso sia proprio #!/bin/sh infatti ho provato a rimuoverlo tenendo solo java -Xmx1G -jar Auth.jar e adesso mi funziona, l'unico problema è che quando provo dalla console a eseguire il comando /Restart la console (screen) non mostra il caricamento del nuovo server, infatti mi apre un nuovo processo java senza screen. (per fermarlo posso solo andare ad eseguire il comando /ps x e rimuovere il processo di java (Modificato 07/04/2017, 17:59 da ReaperJack21.)
07/04/2017, 17:59ReaperJack21 ha scritto: l'unico problema è che quando provo dalla console a eseguire il comando /Restart la console (screen) non mostra il caricamento del nuovo server, infatti mi apre un nuovo processo java senza screen. (per fermarlo posso solo andare ad eseguire il comando /ps x e rimuovere il processo di java

Quello è normale. Spigot non ha accesso allo Screen, lui semplicemente spawna un'altra istanza di Java quando crasha o si riavvia.

Se vuoi avviarlo in uno Screen devi modificare lo start.sh in modo che sia così:
Codice:
screen -dmS <nome_server> <codice_di_avvio>


In futuro lo recupererai quindi con "screen -r <nome_server>".
L'unica pecca che non so risolverti è il fatto che non chiude il precedente screen, quindi te ne ritroverai tanti con il nome "<nome_server>.<pid>"

Se Googli un po' sicuramente troverai qualche script per chiudere lo screen precedente. Tanto una volta che avvii un .sh puoi fare tutto.
Se ti sono stato d'aiuto, mi offriresti una birra?
[Immagine: dona-con-paypal.png]

Rip Maxcraft
Grazie per l'aiuto Smile
+1
Puoi chiudere Wink
Discussioni simili
Ultima risposta: zDrakeeBoy_
11/12/2017, 18:05
 
[Risolto] Riavvio automatico
2 226
Ultima risposta: cobrah
27/01/2017, 15:02
Ultima risposta: XBlowmpow3r
09/09/2016, 23:08
Ultima risposta: oscar_contato_94
15/06/2016, 16:04
Ultima risposta: DoosMuus_O
10/06/2016, 15:11

Utente(i) che stanno guardando questa discussione: 1 Ospite(i)