前置条件:
- 一台 Linux 服务器(内存至少16G)
- Ubuntu 系统(Debian系统缺少组件,会很麻烦)
1. 安装 steamcmd
- 以root用户创建steam用户:
sudo useradd -m steam sudo passwd steam
- 进入其主文件夹:
sudo -u steam -s cd /home/steam
Ubuntu 系统
- 要安装 SteamCMD,必须启用 multiverse 存储库和 x86 软件包。
sudo add-apt-repository multiverse sudo dpkg --add-architecture i386 sudo apt update sudo apt install steamcmd
2. 下载游戏及构建服务器
注:独立服务器就可以,没必要社区服务器。因为官方的问题,只能搜索前200个社区服务器,所以即使搭建社区服务器,小伙伴也搜索不到。直接 “IP:端口号” 的方式访问服务器即可。
构建 Dedicated server 独立服务器:
steamcmd +login anonymous +app_update 2394010 validate +quit
构建 Community server 社区服务器:
steamcmd +login anonymous +app_update 2394010 validate +quit EpicApp=PalServer
3. 启动
下载完成后,切换到下载目录。
cd ~/Steam/steamapps/common/PalServer
要启动服务器,请运行 PalServer.sh 脚本。
启动独立服务器:./PalServer.sh
启动社区服务器:
./PalServer.sh EpicApp=PalServer
多核优化(推荐):
./PalServer.sh -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS
4. 解决报错(可选)
如果出现以下报错:.steam/sdk64/steamclient.so: cannot open shared object file: No such file or directory
解决方法:
mkdir -p ~/.steam/sdk64/ steamcmd +login anonymous +app_update 1007 +quit cp ~/Steam/steamapps/common/Steamworks\ SDK\ Redist/linux64/steamclient.so ~/.steam/sdk64/
5. 游戏里加入服务器即可
连接服务器,在服务器列表下方输入IP地址和端口号。
6. 存档备份以及迁移
备份:
- 定期备份Saved目录就行
存档迁移:
- 存档迁移后,如果正常开服后1分钟就崩溃,是由于跨服务器或者root权限的问题,需要chmod -R 777 存档目录
Reference:
steamcmd: https://developer.valvesoftware.com/wiki/SteamCMD#Linux
Pal-server: https://tech.palworldgame.com/dedicated-server-guide#linux
crash-in-1-min: https://bbs.saraba1st.com/2b/thread-2168983-2-1.html