幻兽帕鲁最近在社区呈现了爆火的趋势,在线人数已突破百万级别,官方服务器也开始出现不稳定,卡人闪退的情况。对于有一定财力的小伙伴,搭建一个私人服务器是一个最稳定而舒服的解决方案。本文章将讲解一下如何搭建palworld的服务器(专用服务器),如果有不明白的,可以参考官方文档作为补充https://tech.palworldgame.com/dedicated-server-guide,或者在评论区留言,我会耐心解答。
总步骤分为三步:准备机器,下载SteamCMD,以及下载PalServer。
1、准备机器,云服务器标配是4核16G,一般预算大概300/月,现在腾讯云做活动93/月,最好用Ubuntu/Debian的机器,有现成的apt安装包,别的操作系统没试过。
2、SteamCMD 是 Steam 客户端的命令行版本。它的主要用途是使用命令行界面安装和更新Steam上可用的各种专用服务器。
3、PalServer就是PalWorld服务器的启动脚本,运行这个脚本之后,游戏里就能通过地址【云服务器ip:8211
】游玩服务器。
第一步是购买云服务器。云服务器的厂商没有特别要求,腾讯云、阿里云、华为云都行。这里以腾讯云为例子~
系统记得选择Ubuntu,配置的话推荐四核十六GB的服务器,保底也是四核八G(像笔者跟两三个基友玩的话可以),内存太小根本带不动。
笔者一开始用了两核两G的机器,内存直接被拉爆了Orz。
这里也放一个购买链接,方便读者一键下单,腾讯云最近在搞大促,价格还是比平时优惠不少的:https://cloud.tencent.com/act/pro/developer_business-scenario
腾讯云对幻兽帕鲁的服务器搭建也提供了一些支持,下面这篇文章中,有针对幻兽帕鲁的一键式部署脚本,可以参考https://cloud.tencent.com/act/pro/lhds
有计算机背景的同学可以跳过这部分,比较基础。
登录云服务器,可以直接用ssh命令,当然也可以用会话管理工具,使用起来会比较方便。个人比较喜欢的一个工具是tabby,可以在这个网站下载:https://tabby.sh/
然后在应用中添加新会话
会话类型选择SSH
创建ssh会话界面,填写会话标题(随便填个名字)
然后在下方的连接配置中,第一个箭头指向的部分填入云服务器的ip,第二个箭头指向的地方填用户名,第三个箭头指向的地方填写密码。ip、用户名、密码从哪里获取?可以在云平台的控制台中查看。
密码不要设置的太简单,密码不要设置的太简单,密码不要设置的太简单!!!!!!
重要的事情说三遍,否则你可能会看到这样的画面
点击控制台的登录按钮后,弹出页面。
可以看到我的用户名是ubuntu,在tabby的会话设置中填入即可。
设置密码
然后会话就配置完成了,点击播放键即可连入机器。
当出现这个界面的时候,连接就算成功了。
在终端执行以下命令生成一个名为steam
的云服务器账号
sudo useradd -m steam
sudo passwd steam
# 设置密码时,建议密码8字符以上带特殊符号
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
不同的操作系统下载包的方法不一样
sudo add-apt-repository multiverse; sudo dpkg --add-architecture i386; sudo apt update
sudo apt install steamcmd
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
没有RPM包,而且手动安装有bug,笔者也没尝试成功,所以在这里不写,尝试成功的读者可以分享一下。
更多系统下的steamcmd下载方法请参考https://developer.valvesoftware.com/wiki/SteamCMD#Linux
如果是ubuntu系统或者debian系统安装的steamcmd,路径在/usr/games/steamcmd
,可以通过以下指令把二进制链接到系统路径。
sudo ln -s /usr/games/steamcmd /usr/bin/steamcmd
然后在终端直接输入steamcmd,就能启动服务。
第一次启动steamcmd,程序会下载包,完成下载后会弹出报错,提示缺少steamservice.so,这个报错可以先不管。
完成下载后,输入quit退出steamcmd
下面可以开始安装幻兽帕鲁的专用服务器程序了。
执行以下命令,即可开始下载服务器程序
steamcmd +login anonymous +app_update 2394010 validate +quit
这里有小概率连接不成功,一直retry,可以多尝试几次输入该命令。如果会话出现Success提示,表明安装完成。
PalServer安装完后,项目路径根目录可能是~/Steam,也可能是~/.steam(早期版本),注意区分。一般来说项目都在/home/steam/Steam/steamapps/common/PalServer,早期下载的版本项目路径在/home/steam/.steam/SteamApps/common/PalServer
更新后的项目路径都在/home/steam/Steam/steamapps/common/PalServer了,建议没更新的小伙伴们更新一下服务。
更新方法很简单,也是输入同样的命令,然后重启服务
steamcmd +login anonymous +app_update 2394010 validate +quit
启动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的使用方法可以上网找
本文对于配置更改的介绍可能不够详尽,如果需要更完善的教程,可以参考:https://cloud.tencent.com/developer/article/2383187
下一步就是进入palserver的目录中,然后执行以下命令
mkdir ~/.steam
mkdir ~/.steam/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
nohup ./PalServer.sh &
这样幻兽帕鲁的服务器就成功拉起来了。
这个时候,别忘了看一下云服务器的安全规则,有些云服务器对8211端口不放行,需要手动添加出入站规则。
在控制台中点击机器的查看详情
点击红箭头处的添加规则按钮,增加端口为8211的UDP和TCP放行规则。
这样一来,流量就不会被云服务器的防火墙阻挡。
我们在游戏的专用服务器页面,把127.0.0.1换成云服务器的公网ip,点击“联系”,就能进入服务器。
Q1: 云主机重启之后怎么重新启动服务器
A1:
#登录切换到steam账户
sudo su 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
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
确保以下命令成功执行
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下最常用的文档编辑器,其实主要的用法就是
i
,进入编辑模式
编辑完了键盘打esc键,退出编辑模式
保存输入:wq!
然后回车Q7: 重启之后存档无了,怎么回事
A7:可以参考https://cloud.tencent.com/developer/article/2382998
这个攻略的pallbackup.sh是关键,原理是定期把存档数据压缩,然后拷贝到/palbackup文件夹。
数据桶可以买,也可以直接把备份文件下载到本地(用sz命令下载),需要的时候解压到~/Steam/steamapps/common/PalServer/Pal/Saved/SaveGames/0即可
对于技术大佬,可以研究一下这个防丢存档的补丁https://github.com/xNul/palworld-host-save-fix
Q8:设置好了密码,怎么进房
A8:可参考视频https://www.bilibili.com/video/BV1EK4y1i7Lx
Q9: 游戏客户端更新了,服务端怎么更新?
A9:跟安装PalServer的指令一样,输入
steamcmd +login anonymous +app_update 2394010 validate +quit
然后重启服务就可以了
有些小伙伴装了早期版本,安装目录是/home/steam/.steam,更新后的安装目录是/home/steam/Steam,如果是这种情况可以把.steam的存档拷贝到Steam目录相应的位置,然后执行以下命令启动服务器:
cd /home/steam/Steam/steamapps/common/PalServer
nohup ./PalServer.sh &
腾讯云的老大哥很给力,又写了个一键更新的脚本https://cloud.tencent.com/developer/article/2383571
Q10: 我要下单腾讯云,怎么挑机器呢?
A10: 如果对OS没有特别的要求,又特别想参考本教程搭建服务器,建议选这俩系统其中一个,地域就近即可。
腾讯云这边有个服务器搭建的交流群,有疑问的读者欢迎入群讨论
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。