在运行PalWorld《幻兽帕鲁》服务器时,由于官方服务器内存泄漏,经常会导致服务器崩溃,所以需要建立一个服务来进行自动管理,每当内存溢出时就重启服务器。
第 1 步:创建服务文件
- 打开终端。
- 使用
nano
或您喜欢的任何文本编辑器来创建服务文件。您可以使用以下命令:
sudo nano /etc/systemd/system/palworld.service
这将会以管理员权限打开一个新的或现有的文件,名为 palworld.service
。
第 2 步:编辑服务文件
在打开的文本编辑器中,粘贴以下内容:
[Unit] Description=Palworld Game Server After=network.target [Service] Type=simple User=palworld Restart=on-failure RestartSec=60s MemoryMax=9.5G ExecStart=/home/palworld/Steam/palworld/PalServer.sh -port=19132 -players=50 -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS [Install] WantedBy=multi-user.target
- 然后保存并关闭文件。在
nano
中,您可以通过按下Ctrl + O
来保存更改,然后按Ctrl + X
退出。
第 3 步:启动和启用服务
重新加载 systemd 配置:
sudo systemctl daemon-reload
更新systemctl的配置文件。
启动服务:
sudo systemctl start palworld
启动服务器。
设置服务在启动时自动运行:
sudo systemctl enable palworld
使服务器在系统启动时自启动。
检查服务状态
sudo systemctl status palworld
这个命令会显示服务的当前状态,包括是否正在运行,以及最近的日志条目。
关闭服务
sudo systemctl stop palworld
服务文件解释
[Unit]
部分Description
: 服务的描述。After
: 指定服务启动的顺序。在这里,它是在网络服务 (network.target
) 启动之后。
[Service]
部分Type=simple
: 指定服务的类型。simple
是最常见的选择,意味着一旦ExecStart
命令启动,服务就被认为是活跃的。User=palworld
: 指定服务应以哪个用户身份运行。在这里是palworld
用户。Restart=on-failure
: 当服务异常退出时,systemd 将尝试重启它。RestartSec=60s
: 在尝试重启服务之前等待的秒数,这里是60秒。MemoryMax=9.5G
: 服务使用的最大内存限制。当服务使用的内存超过这个值9.5GB时,将会被重启。ExecStart
: 指定启动服务时执行的命令。这里是你的游戏服务器启动脚本。
[Install]
部分WantedBy=multi-user.target
: 指定当系统启动为多用户模式时,这个服务应该被启动。
其他注意事项
- 确保
ExecStart
这个项目的脚本具有执行权限。您可以通过运行chmod +x
来设置执行权限。 - 如果不需要该服务了,可以使用
sudo systemctl disable palworld
来禁用服务,尤其是你可能在需要删除用户因一直创建线程遇到无法删除的问题时。
1 条评论
[...][...]