Minecraft 服务器作为服务加载时未加载 server.properties

Minecraft 服务器作为服务加载时未加载 server.properties

我已遵循许多教程,但出于某种原因,我的 minecraft 服务器的服务无法读取 server.properties 文件。我对 Ubuntu 有基本的了解(必须学习如何将其用于个人项目和大学)。

但是,当我使用以下命令通过命令行正常启动它时,java -Xms4G -Xmx12G -jar serverstarter-2.0.1.jar nogui它确实会读取服务器属性文件。我已经检查了系统上是否存在任何其他 server.properties 文件,据我所知,系统上只有一个。

这是与屏幕有关的问题吗,还是我做错了什么?

我的[电子邮件保护]文件如下所示:

[Unit]
Description=Minecraft Server: %i
After=network.target

[Service]
WorkingDirectory=/opt/minecraft-servers/%i

User=minecraft
Group=minecraft

ProtectSystem=full
ProtectHome=true
ProtectKernelTunables=true
ProtectKernelModules=true
ProtectControlGroups=true


Restart=always

ExecStart=/usr/bin/screen -DmS mc-%i /usr/bin/java -Xms4G -Xmx12G -jar serverstarter-2.0.1.jar nogui
ExecStop=/usr/bin/screen -p 0 -S mc-%i -X eval 'stuff "say SERVER SHUTTING DOWN IN 5 SECONDS. SAVING ALL MAPS..."\015'
ExecStop=/bin/sleep 5
ExecStop=/usr/bin/screen -p 0 -S mc-%i -X eval 'stuff "save-all"\015'
ExecStop=/usr/bin/screen -p 0 -S mc-%i -X eval 'stuff "stop"\015'


[Install]
WantedBy=multi-user.target

如果需要其他数据,我很乐意提供。提前致谢。

答案1

您是否使用与服务定义中相同的用户/组手动启动 minecraft?

如果是的话,我猜它正在错误的目录中寻找 server.properties。

在您的 ExecStart 中,尝试添加一个执行屏幕设置的脚本,但首先将目录更改为 server.properties 所在的正确目录。

我有几个 minecraft 服务器,我从 crontab @reboot 启动。

/usr/bin/screen -dmS vanillamc /home/xxxx/minecraft/minecraft-1.17.sh

我的脚本(您可以调整并发送您的动态工作目录作为输入)

#!/bin/bash
cd /home/xxxx/minecraft/

MEM="-Xms1G -Xmx2G"

JAVA=/usr/lib/jvm/java-16-oracle/bin/java

$JAVA $MEM -jar minecraft_server-1.17.jar nogui

相关内容