👉导读
幻兽帕鲁最近在社区呈现了爆火的趋势,在线人数已突破百万级别,官方服务器也开始出现不稳定,卡人闪退的情况。对于有一定财力的小伙伴,搭建一个私人服务器是一个最稳定而舒服的解决方案。本文章将讲解一下如何搭建 palworld 的私服(专用服务器),如果有不明白的,可以参考官方文档作为补充https://tech.palworldgame.com/dedicated-server-guide
👉目录
1 准备
2 SteamCMD 下载
3 PalServer 下载
4 Q&A
总步骤分为三步:准备机器,下载 SteamCMD,以及下载 PalServer。
准备机器,云服务器标配是4核16G,平时预算大概300/月,现在腾讯云有优惠,93/月。最好用 Ubuntu/Debian 的机器,有现成的 apt 安装包,别的操作系统没试过。
SteamCMD 是 Steam 客户端的命令行版本。它的主要用途是使用命令行界面安装和更新 Steam 上可用的各种专用服务器。
PalServer 就是 PalWorld 私服的启动脚本,运行这个脚本之后,游戏里就能通过地址【
云服务器ip:8211
】游玩私服。
01
准备
机器准备
第一步是购买云服务器。这里以腾讯云为例子~
系统记得选择 Ubuntu,配置的话推荐四核十六 GB 的服务器,保底也是四核八 G(像笔者跟两三个基友玩的话可以),内存太小根本带不动。
笔者一开始用了两核两 G 的机器,内存直接被拉爆了。
这里也放一个购买链接,方便读者一键下单,腾讯云最近在搞大促,价格还是比平时优惠不少的:https://cloud.tencent.com/act/pro/bestselling#YOUXI
腾讯云对幻兽帕鲁的私服搭建也提供了一些支持,下面这篇文章中,有针对幻兽帕鲁的一键式部署脚本,可以参考https://cloud.tencent.com/developer/article/2382000
机器登录
有计算机背景的同学可以跳过这部分,比较基础。
登录云服务器,可以直接用 ssh 命令,当然也可以用会话管理工具,使用起来会比较方便。个人比较喜欢的一个工具是 tabby,可以在这个网站下载:https://tabby.sh/
然后在应用中添加新会话:
会话类型选择 SSH:
创建 ssh 会话界面,填写会话标题(随便填个名字)
然后在下方的连接配置中,第一个箭头指向的部分填入云服务器的 ip,第二个箭头指向的地方填用户名,第三个箭头指向的地方填写密码。ip、用户名、密码从哪里获取?可以在云平台的控制台中查看。
获取 ip 方法
获取密码方法:
密码不要设置的太简单,密码不要设置的太简单,密码不要设置的太简单!!!!!!重要的事情说三遍!
获取用户名方法:
点击控制台的登录按钮后,弹出页面。
可以看到我的用户名是 ubuntu,在 tabby 的会话设置中填入即可。
设置密码:
然后会话就配置完成了,点击播放键即可连入机器。
当出现这个界面的时候,连接就算成功了。
02
SteamCMD 下载
更改账号
在终端执行以下命令生成一个名为steam
的云服务器账号
sudo useradd -m steam
sudo passwd steam
steam 账号也一样,密码不要设置的太简单,密码不要设置的太简单,密码不要设置的太简单!!!!!!!
重要的事情说三遍,设置得太简单会被黑客登录,然后系统会遭到破坏。
在终端中输入以下命令,这样在 steam 账号才能使用 sudo 命令。
sudo echo "steam ALL=(ALL:ALL) ALL" >> /etc/sudoers
如果没有办法 sudo echo,显示权限不足的话,要用 vim 或者 vi 编辑器编辑 /etc/sudoers
然后加入一行 steam ALL=(ALL:ALL) ALL
然后在终端中输入以下命令,切换账号。
sudo -u steam -s
cd /home/steam
如果重新连接该会话,记得重新执行 sudo -u steam -s,切换账号到 steam。
下载包
不同的操作系统下载包的方法不一样。
Ubuntu 系统:
sudo add-apt-repository multiverse; sudo dpkg --add-architecture i386; sudo apt update
sudo apt install steamcmd
Debian 系统:
sudo apt update
sudo apt install software-properties-common
sudo apt-add-repository non-free
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install steamcmd
CentOS:
没有 RPM 包,而且手动安装有 bug,笔者也没尝试成功,所以在这里不写,尝试成功的读者可以分享一下。
其他系统:
更多系统下的 steamcmd 下载方法请参考https://developer.valvesoftware.com/wiki/SteamCMD#Linux
运行 SteamCMD:
如果是 ubuntu 系统或者 debian 系统安装的 steamcmd,路径在/usr/games/steamcmd
,可以通过以下指令把二进制链接到系统路径。
sudo ln -s /usr/games/steamcmd /usr/bin/steamcmd
然后在终端直接输入 steamcmd,就能启动服务。
第一次启动 steamcmd,程序会下载包,完成下载后会弹出报错,提示缺少 steamservice.so,这个报错可以先不管。
完成下载后,输入 quit 退出 steamcmd。
下面可以开始安装幻兽帕鲁的专用服务器程序了。
03
Palserver 下载
执行以下命令,即可开始下载服务器程序。
steamcmd +login anonymous +app_update 2394010 validate +quit
这里有小概率连接不成功,一直 retry,可以多尝试几次输入该命令。
出现 Success 提示,表明安装完成。
服务 ini 配置修改【非必需步骤】
steamcmd 安装完后,运行路径可能是~/.steam,也可能是~/Steam,可以在 /home/steam 目录下执行 ls -a,确定是否有 .steam 或者 Steam 文件夹。如果安装目录是 Steam 文件夹,把下面的 .steam 换成 Steam。
启动 PalServer 前可以修改一下配置文件,可以把默认的配置文件 DefaultPalWorldSettings.ini 拷贝一份,重命名为 PalWorldSettings.ini,然后手动修改里面的内容,用 vim 修改内容。
cd ~/.steam/SteamApps/common/PalServer
cp ./DefaultPalWorldSettings.ini Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
vim Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
vim 的使用方法可以上网找。
启动 PalServer
下一步就是进入 palserver 的目录中,然后执行以下命令。
cd ~/.steam
mkdir sdk64
cd ~/.steam/SteamApps/common/PalServer
cp linux64/* ~/.steam/sdk64
最后就是启动服务器的脚本:
cd ~/.steam/SteamApps/common/PalServer
./PalServer.sh
可以看到,一切运行正常。
这个时候已经可以用游戏连接私服了,但用这种方法起的服务器,只要终端窗口关掉,服务就会挂。如果想让服务常驻在后台,可以选择把程序挂在后台,这样哪怕会话结束,PalServer 服务进程也不会被杀死。
我们先输入ctrl+c
把当前服务杀掉,然后输入以下命令挂起服务。
# 根目录为Steam的用户执行这条
cd /home/steam/Steam/steamapps/common/PalServer
# 根目录为.steam的用户执行这条
cd /home/steam/.steam/SteamApps/common/PalServer
nohup ./PalServer.sh &
这样幻兽帕鲁的私服就成功拉起来了。
这个时候,别忘了看一下云服务器的安全规则,有些云服务器对8211端口不放行,需要手动添加出入站规则。
在控制台中点击机器的查看详情。
点击红箭头处的添加规则按钮,增加端口为8211的 UDP 和 TCP 放行规则。
这样一来,流量就不会被云服务器的防火墙阻挡。
连入私服
我们在游戏的专用服务器页面,把127.0.0.1换成云服务器的公网 ip,点击“联系”,就能进入私服。
04
Q&A
Q1:云主机重启之后怎么重新启动服务器。
A1:
#登录切换到steam账户
sudo su steam
# 根目录为Steam的用户执行这条
cd /home/steam/Steam/steamapps/common/PalServer
# 根目录为.steam的用户执行这条
cd /home/steam/.steam/SteamApps/common/PalServer
nohup ./PalServer.sh &
Q:如果我想重启服务器怎么办。
A:终端输入:
sudo su steam
ps -aux | grep Pal
能看到两个进程,以及它们对应的进程号。
kill 杀掉进程,然后执行重启命令即可。
# 杀进程示例
kill -9 556582
kill -9 556589
# 根目录为Steam的用户执行这条
cd /home/steam/Steam/steamapps/common/PalServer
# 根目录为.steam的用户执行这条
cd /home/steam/.steam/SteamApps/common/PalServer
nohup ./PalServer.sh &
Q2:第一次运行 steamcmd 后没找到 ~/.steam 文件夹。
A2:有些主机的下载路径是 ~/Steam,可以把命令中的 .steam 换成 Steam 再试试。
Q3:启动 PalServer 后报错,显示找不到 steamclient.so
文件。
A3:说明 ~/.steam/sdk64/ 下面没有 steamclient.so。
如果主机的下载路径是 ~/.steam,可以执行以下操作。
mkdir ~/.steam/sdk64
cd ~/.steam/SteamApps/common/PalServer
cp linux64/* ~/.steam/sdk64
主机的下载路径是 ~/Steam,但是 PalServer.sh 读的还是 ~/.steam/sdk64,所以可以执行以下操作。
sudo mkdir ~/.steam
mkdir ~/.steam/sdk64
cd ~/Steam/SteamApps/common/PalServer
cp linux64/* ~/.steam/sdk64
Q4:怎么上传文件到腾讯云?
A4:可以参考这个文章https://cloud.tencent.com/document/product/213/39138
如果是 linux 用户:
cd 指定目录
rz
然后会有文件选择框弹出,选择文件即可上传。
Q5:我想用 Windows 做服务器,应该怎么办?
A5:自己的主机可以参考https://cloud.tencent.com/developer/article/2382150,然后可以买一个弹性公网IP来做公网转发,如果要用云主机服务器可以参考https://cloud.tencent.com/developer/article/2382000。
Q6:vim 是什么,我没接触过 linux 不是很懂。
A6:vim 是 linux 下最常用的文档编辑器,其实主要的用法就是:
打开文件 sudo vim xxx 文件上下左右键移动光标;键盘打
i
,进入编辑模式;编辑完了键盘打 esc 键,退出编辑模式;保存输入:wq!
然后回车。
Q7:重启之后存档无了,怎么回事?
A7:可以参考https://b23.tv/5psEdWk,Windows 下文件结构与 linux 类似,照着复制文件即可.
Q8:设置好了密码,怎么进房?
A8:可参考视频https://www.bilibili.com/video/BV1EK4y1i7Lx。
Q9:我要下单腾讯云,怎么挑机器呢?
A9:如果对 OS 没有特别的要求,又特别想参考本教程搭建服务器,建议选这俩系统其中一个,地域就近即可。
腾讯云这边有个服务器搭建的交流群,有疑问的读者欢迎入群讨论。
-End-
原创作者|黄杨峻
📢📢欢迎加入腾讯云开发者社群,享前沿资讯、大咖干货,找兴趣搭子,交同城好友,更有鹅厂招聘机会、限量周边好礼等你来~
(长按图片立即扫码)