背景
最近准备和女朋友玩僵毁联机,翻了下以前的笔记,太老了,更新一下。
对linux不熟悉建议使用Debian或者ubuntu系统,centos属实没必要。
环境信息
系统:Debian 10
内存:4G
端口开放:
16261 UDP (PZ服务器)
8766 TCP (貌似不需要)
注:如果vps没重要信息的话建议切换到root用户操作。
安装命令解析
1 | # 更新一下源 |
下载安装出现的问题
1. linux32/steamcmd: No such file or directory
原因:缺库
解决办法:apt-get install lib32gcc1
参考
2. error while loading shared libraries: libSM.so.6: cannot open shared object file: No such file or directory
原因:缺库
解决办法:apt-get install -y libsm6 libxext6 libxrender-dev
3.SteamAPI_Init() failed; create pipe failed.Message: ‘Fatal Error’, Detail: ‘Steam must be running to play this game (SteamAPI_Init() failed).
原因1:steam要运行在后台
~~ 解决办法:
将ProjectZomboid64.json里面的参数修改~~
“-Dzomboid.steam=1”
改为
“-Dzomboid.steam=0”
参考~~
原因2:你运行错了文件(比如我),开服应该运行start-server.sh这个文件
4.Package ‘lib32gcc1’ has no installation candidate
原因:库不同,装个兼容的
apt-get install -y lib32gcc-s1
5.Sys_LoadModule failed to load: /root/.steam/sdk64/steamclient.so
原因1:大概率是没有指定下载位置导致运行缺库
先创建这个文件夹:mkdir /root/.steam/sdk64
找到steamclient.so文件在哪
find / -name steamclient.so
复制linux64路径下的那个文件到目标地区
cp /usr/local/etc/steam/linux64/steamclient.so /root/.steam/sdk64/steamclient.so
回到ProjectZomboid的目录下执行./projectzomboid.sh
原因2:运行的文件错误(比如我),开服应该是start-server.sh
6. 开服成功但是搜索不到
原因很多,大概以下几点:
- servertest.ini文件的Open没设为true
- 主机厂商安全组策略
- start-server.sh这个文件的Dzomboid.steam参数改为1(卡了我一晚上,如果有关键字Steam is not enabled应该就是这个原因。)
- 其他原因:可以尝试直接通过ip地址和服务器端口进行连接
设置后台启动方式
方法一
nohup 命令
缺点:不好关
方法二:
WorkingDirectory和ExecStart改为你的路径,不清楚的find一下就行,一次性复制下面所有代码并执行
1 | cat >/usr/lib/systemd/system/zomboid.service <<'EOL' |
之后就可以通过这些命令启动重启了
1 | # 启动 |