如何让我的 Minecraft 服务器在启动时自动启动

如何让我的 Minecraft 服务器在启动时自动启动

我在 Ubuntu 21.10 上运行多个 Minecraft 服务器,我希望它们在我打开或重启机器时自动启动。我在网上听说过 systemd 服务,但我不太了解它们,如果有人能给我一个完整的指南,那就太好了。

答案1

一直在寻找这个答案,最后不得不使用聊天 GPT3 来帮助解决 systemd 错误。很可能可以进行一些改进,但从我发现的情况来看,这至少应该可以提供一个基本的工作服务。

这是最终可在 Ubuntu Server 22.04 上运行的 /etc/systemd/system/minecraft-server.service 文件

[Unit]
Description=Minecraft Bedrock Server

Wants=network.target

[Service]
KillMode=none
SuccessExitStatus=0 1
WorkingDirectory=/path/to/server
ExecStart=/path/to/server/bedrock_server LD_LIBRARY_PATH=. ./bedrock_server >/dev/null 2>&1 &
Restart=on-failure
RestartSec=10
Killmode=process

[Install]
WantedBy=multi-user.target

有些事情我不明白,但希望能帮助有同样问题的人

LD_LIBRARY_PATH 无法预先设置为绝对路径。这会让服务器在技术上启动,但会出错,无法找到 server.properties 文件。“WorkingDirectory”修复了这个问题,但不确定为什么 LD_LIBRARY_PATH 不能只是一个绝对路径变量。

ExecStart=/Path/to/server/bedrock_server - 我不知道为什么需要这个,因为我读到它是在设置路径之前运行可执行文件,然后重新运行可执行文件,但如果没有它它就无法工作。

相关内容