簡體   English   中英

我的世界 Linux 服務器 | start.sh 問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM