![](/img/trans.png)
[英]Azure agents with docker ./start.sh no such file or directory
[英]Minecraft Linux Server | Start.sh problem
我有一個在 Linux 上運行的 Minecraft 服務器。 我用來啟動服務器,一個start.sh文件,內容如下:(這個內容啟動一個屏幕session和minecraft服務器)
screen -S {ScreenSession} java -Xmx2G -Xms2G -jar spigot-1.18.1.jar
如果我使用 /restart ingame,屏幕 session 將結束,服務器將無法啟動。 所以我必須將 go 插入 Linux 服務器並再次啟動 Minecraft 服務器。
我的問題:
我怎樣才能做到這一點,如果我使用 /restart 服務器將重新啟動並顯示活動屏幕 session。
如果嘗試了很多東西。 我希望有人可以幫助我,~Kitty Cat Craft
有多種方法可以實現您想要的。
如果你有很多服務器,你可以使用一個快速的 bash 腳本,像這樣自動重啟:
#!/bin/sh
while true
do
java -Xmx2G -Xms2G -jar spigot-1.18.1.jar --nogui
sleep 5
done
當您停止時,它將等待 5 秒鍾然后重新啟動。
有了這個,您可以使用: screen -dmS <screenName> sh myScript.sh
將腳本運行到另一個屏幕。 當您從運行大量服務器的腳本運行它時,它很有用,如下所示:
screen -dmS srv1 sh srv1.sh
screen -dmS srv2 sh srv2.sh
screen -dmS srv3 sh srv3.sh
如果您只有一台服務器,您也可以先使用screen -S screenName
。 然后,當您在屏幕中時,運行自動重啟的腳本(我最初給出的腳本)。
此外,更喜歡使用 /stop 而不是 /restart,因為 spigot 會嘗試查找腳本。 如果成功,它將第二次運行相同的腳本,因此會有幽靈進程。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.