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