type
status
date
slug
summary
tags
category
Property
Jan 25, 2024 06:25 AM
password
icon
0.购买服务器前需要了解的
幻兽帕鲁这个游戏极其不靠谱
虽然真的好玩,但是作为一款偏向联机的游戏太失败了
官方服务器崩溃、回档、甚至删档
自建服务器也同样会遇到这些情况
这都和游戏服务端的垃圾内存管理有关
它的内存会不断增加,不会清理,直到内存超过服务器最大限度
游戏崩溃!
无论是8g 16g 32g 就算你是128g的独立服务器
玩久了一样会把内存吃满满,然后服务端崩溃
在官方彻底修补解决前,我们是没有办法根治的
因此我们需要做好频繁崩溃的准备,也要做好崩溃前游戏丢包卡顿的准备
服务器配置8g起步,上不封顶
1.购买完服务器之后
购买完服务器之后,将其重装成Ubuntu20.04系统(因为我是这个系统)
我们需要做到以下几点
- 扩充swap,变相增加内存
- 安装服务端(Steamcmd和Palserver)
- 配置Systemd
- 修改PalWorldSettings.ini文件
- 熟悉管理员命令
swap
- 创建一个新的 swap 文件(如果需要):
这会在根目录下创建一个名为
swapfile
的 10GB 大小的 swap 文件。- 设置新 swap 文件的权限:
- 将文件转换为 swap 文件:
- 启用新的 swap 文件:
- 查看是否成功启用了新的 swap 文件:
- 永久性配置,以便在系统重新启动时自动加载新的 swap 文件:
- 打开 /etc/fstab文件:
- 在文件末尾添加以下行:
- 最后,刷新文件系统表:
服务端搭建
按顺序输入代码
Systemd配置
需要执行以下步骤:
- 打开 systemd 服务单元文件:
- 在 Vim 中,按
i
进入插入模式,然后添加或修改文件内容。以下是一个示例 PalServer systemd 服务单元文件的内容,包含了添加 Vim 的配置:
其中,服务器人数上限和服务器停止后等待重启秒数都可以自由设置
- 在编辑完成后,按
Esc
键退出插入模式
- 输入
:wq
并按Enter
保存并退出 Vim
systemd 提供了更强大的服务管理功能,包括启动、停止、重启、状态监控等,而无需依赖终端窗口
通过 systemd,你可以使用以下命令来管理 PalServer 服务:
- 启动服务:
- 停止服务:
- 重启服务:
- 查看服务状态:
- 设置服务开机自启动 :
- 禁用服务开机自启动:
- 重新加载 systemd 以使更改生效(vim修改后报错时):
修改配置文件
本来是很麻烦的事情
但是有台湾友人倾情写了个网站方便大众
这个网站可以直接输入你想要的设定然后输出PalWorldSettings.ini文件
把目录/home/steam/PalServer/PalSaved/Config/LinuxServer/文件夹中的文件替换掉即可
熟悉管理员命令
最后的最后,成为腐竹当然要能掌控全局!
虽然管理员命令不是很多,但有些还是很重要的
在游戏内对话框(按回车打开对话框)中输入/AdminPassword 管理员密码
即可成为管理员
之后在对话框可以输入的命令有:
/Shutdown {Seconds} {MessageText} 服务器关闭数秒后将收到您的 MessageText 通知
/DoExit 强制停止服务器
/Broadcast {MessageText} 向服务器中的所有玩家发送消息
/KickPlayer {SteamID} 将玩家从服务器中踢出
/BanPlayer {SteamID} 从服务器禁止玩家
/TeleportToPlayer {SteamID} 传送到目标玩家的当前位置
/TeleportToMe {SteamID} 目标玩家传送到您当前的位置
/ShowPlayers 显示所有已连接玩家的信息
/Info 显示服务器信息
/Save 保存世界数据
/Save可以在停服前手动保存存档,减少坏档的机率,/Shutdown 60 可以在服务器卡顿时,无须操作终端软件,在服务器内关闭游戏端,并且通过配合systemd实现自动重启游戏端
2.开开心心的玩吧!
服务器准备到这种程度,后续发生的一切都随缘啦
该坏还是坏,该崩还是崩
只能期待自己运气好点,官方早点更新!
附加:游玩中遇到的坑
游戏过程中避免不了经常重启游戏端
而重启就避免不了回档、坏档等各种恶心bug
为了应对这些麻烦,可以使用脚本每小时备份存档
同时也使用脚本快捷的恢复存档
以下是整个脚本的步骤:
- 创建备份脚本:
在打开的编辑器中,粘贴以下内容:
保存并退出编辑器。然后给脚本添加执行权限:
- 创建 systemd 服务单元文件:
在打开的编辑器中,粘贴以下内容:
保存并退出编辑器
- 创建 systemd 定时任务单元文件:
在打开的编辑器中,粘贴以下内容:
保存并退出编辑器
- 启用和启动定时任务:
这样,系统将在每个小时的整点时刻执行备份脚本
接下来是恢复存档的脚本:
- 创建恢复脚本:
将以下内容粘贴到打开的编辑器中:
保存并退出编辑器,然后给予脚本执行权限:
- 运行脚本:
脚本将列出可用的备份供你选择,并进行相应的还原操作
此外,游戏端的软重启可能释放内存不够彻底,使用服务器的硬重启能使内存清理的更加完全,因此和结合自动存档脚本,写一个自动重启服务器的脚本:
- 创建 systemd 定时器:
在打开的编辑器中,粘贴以下内容:
保存并退出编辑器
- 创建 systemd 服务:
在打开的编辑器中,粘贴以下内容:
保存并退出编辑器。
- 启用和启动定时任务:
这样设置后,服务器将在每天0点半自动重启一次,并且每隔两小时自动重启一次。如果希望重启的时间,可以修改以下代码:
- 编辑 systemd 定时器:
在打开的编辑器中,修改
[Timer]
部分的 OnCalendar
行,以适应你想要的开始时间和间隔。例如,如果你想要每隔三小时重启一次,可以将 OnCalendar
行更改为:这将使服务器在每天的 00:30:00 开始,然后每隔三小时重启一次。
保存并退出编辑器。
- 重新加载 systemd 定时器:
- 重新启动 systemd 定时器:
通过这样的操作,你就可以根据自己的需要调整服务器重启的开始时间和间隔