我的世界 Linux 服务器 | Start.sh 问题
Minecraft Linux Server | Start.sh problem
我在 Linux 上有一个 Minecraft 服务器 运行。
我用来启动服务器,一个包含以下内容的 start.sh 文件:
(此内容启动屏幕会话和 minecraft 服务器)
screen -S {ScreenSession} java -Xmx2G -Xms2G -jar spigot-1.18.1.jar
如果我使用 /restart ingame,屏幕会话将结束并且服务器将不会启动。所以我必须进入 Linux 服务器并再次启动 Minecraft 服务器。
我的问题:
如果我使用 /restart 服务器将以活动的屏幕会话重新启动,我该如何做到这一点。
如果尝试了很多东西。
我希望有一个人可以帮助我,
~Kitty 猫工艺品
有多种方法可以实现你想要的。
如果您有很多服务器,您可以使用快速 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 会尝试查找脚本。如果成功,它将 运行 第二次执行相同的脚本,因此会有 ghost 进程。
我在 Linux 上有一个 Minecraft 服务器 运行。 我用来启动服务器,一个包含以下内容的 start.sh 文件: (此内容启动屏幕会话和 minecraft 服务器)
screen -S {ScreenSession} java -Xmx2G -Xms2G -jar spigot-1.18.1.jar
如果我使用 /restart ingame,屏幕会话将结束并且服务器将不会启动。所以我必须进入 Linux 服务器并再次启动 Minecraft 服务器。
我的问题:
如果我使用 /restart 服务器将以活动的屏幕会话重新启动,我该如何做到这一点。
如果尝试了很多东西。 我希望有一个人可以帮助我, ~Kitty 猫工艺品
有多种方法可以实现你想要的。
如果您有很多服务器,您可以使用快速 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 会尝试查找脚本。如果成功,它将 运行 第二次执行相同的脚本,因此会有 ghost 进程。