赞
踩
幻兽帕鲁最近在社区呈现了爆火的趋势,在线人数已突破百万级别,官方服务器也开始出现不稳定,卡人闪退的情况。对于有一定财力的小伙伴,搭建一个私人服务器是一个最稳定而舒服的解决方案。本文章将讲解一下如何搭建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
】游玩私服。
目录
第一步是购买云服务器。云服务器的厂商没有特别要求,腾讯云、阿里云、华为云都行。这里以腾讯云为例子~
1. 登录某云轻量服务器购买页: ,以下教程将以某云购买页为例。
【活动推荐】
1、如果您是某云的新用户,建议您跟着教程购买并配置
2、如果您已经是某云的老用户,建议控制台注销后重新创建账号进行购买配置。
第一步是购买云服务器。云服务器的厂商没有特别要求,腾讯云、阿里云、华为云都行。这里以某云为例子~
系统记得选择Ubuntu,配置的话推荐四核十六GB的服务器,保底也是四核八G(像笔者跟两三个基友玩的话可以),内存太小根本带不动。
笔者一开始用了两核两G的机器,内存直接被拉爆了Orz。
某云对幻兽帕鲁的私服搭建也提供了一些支持,下面这篇文章中,有针对幻兽帕鲁的一键式部署脚本,可以参考https://cloud.tencent.com/developer/article/2382000
有计算机背景的同学可以跳过这部分,比较基础。
登录云服务器,可以直接用ssh命令,当然也可以用会话管理工具,使用起来会比较方便。个人比较喜欢的一个工具是tabby,可以在这个网站下载:https://tabby.sh/
然后在应用中添加新会话
会话类型选择SSH
创建ssh会话界面,填写会话标题(随便填个名字)
然后在下方的连接配置中,第一个箭头指向的部分填入云服务器的ip,第二个箭头指向的地方填用户名,第三个箭头指向的地方填写密码。ip、用户名、密码从哪里获取?可以在云平台的控制台中查看。
密码不要设置的太简单,密码不要设置的太简单,密码不要设置的太简单!!!!!!
重要的事情说三遍
点击控制台的登录按钮后,弹出页面。
可以看到我的用户名是ubuntu,在tabby的会话设置中填入即可。
设置密码
然后会话就配置完成了,点击播放键即可连入机器。
当出现这个界面的时候,连接就算成功了。
在终端执行以下命令生成一个名为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
不同的操作系统下载包的方法不一样
- 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提示,表明安装完成。
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的使用方法可以上网找
本文对于配置更改的介绍可能不够详尽,如果需要更完善的教程,可以参考:https://cloud.tencent.com/developer/article/2383187
下一步就是进入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放行规则。
这样一来,流量就不会被云服务器的防火墙阻挡。
本教程搭建在win10上面,适用与win10,服务器需要有公网ip,内网ip建议使用内网穿透,内网穿透本教程不涉及,服务器对内存占用较高,请注意。目前18个人,运行一晚,占用25G左右。
1、下载steamcmd 点击这里下载steamcmd,下载下来是zip压缩包,然后我们解压出来。
2、安装steamcmd 我们这里以安装在E盘steamcmd路径举例 在E盘新建一个steamcmd的路径,然后我们点击解压好的steamcmd.exe进行安装,安装路径选择E:\steamcmd,等待安装完成
3、安装幻兽帕鲁服务器 我们这里以安装在E:\PalServer举例 3.1在steamcmd文件夹下面,新建一个PalServerUpdate的文本文档,并把txt后缀改成bat,PalServerUpdate.bat 新建文本文档内容为 steamcmd.exe +force_install_dir E:\PalServer +login anonymous +app_update 2394010 validate
3.2我们再双击steamcmd里面双击PalServerUpdate.bat文件,等待他自动下载好,服务器就安装完成了,不过这里服务器还不能启用,需要安装环境组件。
4、安装服务器环境组件 4.1安装DirectX 点击这里下载安装DirectX,下载完运行安装就行了
4.2安装其他组件 进入E:\PalServer\_CommonRedist\vcredist\2022文件夹,把里面的exe文件,全部安装就可以了
5、运行服务器 进入E:\PalServer文件夹,双击PalServer.exe文件运行就行,不过这里,运行之后,只能再自己的电脑局域网访问使用,其他玩家无法进入
6、外网访问 外网访问需要知道自己的宽带是否为公网ip,如果不是公网ip,打客服电话申请公网ip,联通和电信大部分地区有公网ip,移动大部分没有,这一步骤不做详细赘述,请百度其他教程。 外网访问我们需要端口转发,如果是路由器拨号,就在路由器把8211端口转发出去,光猫拨号就在光猫把8211端口转发出去,转发类型,我选的全部,我也不知道是tcp还是udp。
7、如何进入服务器 我们打开游戏,选择多人服务器模式,在最下面,输入自己的ip:8211就可以进入服务器。
8、修改服务器配置 在E:\PalServer文件下面,用记事本打开DefaultPalWorldSettings.ini文件,将文件内[/Script/Pal.PalGameWorldSettings]下面的所有内容复制,包括[/Script/Pal.PalGameWorldSettings]。 进入E:\PalServer\Pal\Saved\Config\WindowsServer路径,打开PalWorldSettings.ini文件,将刚才的内容粘贴到这里面。 我把我的服务器配置贴上面,大家也可以直接使用,服务器名称【联通】萌新乐园,服务器管理密码123456,修改的内容为孵化宠物蛋不需要时间,死亡不掉落,其他未做修改。
- [/Script/Pal.PalGameWorldSettings]
- OptionSettings=(Difficulty=None,DayTimeSpeedRate=1.000000,NightTimeSpeedRate=1.000000,ExpRate=1.000000,PalCaptureRate=1.000000,PalSpawnNumRate=1.000000,PalDamageRateAttack=1.000000,PalDamageRateDefense=1.000000,PlayerDamageRateAttack=1.000000,PlayerDamageRateDefense=1.000000,PlayerStomachDecreaceRate=1.000000,PlayerStaminaDecreaceRate=1.000000,PlayerAutoHPRegeneRate=1.000000,PlayerAutoHpRegeneRateInSleep=1.000000,PalStomachDecreaceRate=1.000000,PalStaminaDecreaceRate=1.000000,PalAutoHPRegeneRate=1.000000,PalAutoHpRegeneRateInSleep=1.000000,BuildObjectDamageRate=1.000000,BuildObjectDeteriorationDamageRate=1.000000,CollectionDropRate=1.000000,CollectionObjectHpRate=1.000000,CollectionObjectRespawnSpeedRate=1.000000,EnemyDropItemRate=1.000000,DeathPenalty=None,bEnablePlayerToPlayerDamage=False,bEnableFriendlyFire=False,bEnableInvaderEnemy=True,bActiveUNKO=False,bEnableAimAssistPad=True,bEnableAimAssistKeyboard=False,DropItemMaxNum=3000,DropItemMaxNum_UNKO=100,BaseCampMaxNum=128,BaseCampWorkerMaxNum=15,DropItemAliveMaxHours=1.000000,bAutoResetGuildNoOnlinePlayers=False,AutoResetGuildTimeNoOnlinePlayers=72.000000,GuildPlayerMaxNum=20,PalEggDefaultHatchingTime=0.000000,WorkSpeedRate=1.000000,bIsMultiplay=False,bIsPvP=False,bCanPickupOtherGuildDeathPenaltyDrop=False,bEnableNonLoginPenalty=True,bEnableFastTravel=True,bIsStartLocationSelectByMap=True,bExistPlayerAfterLogout=False,bEnableDefenseOtherGuildPlayer=False,CoopPlayerMaxNum=4,ServerPlayerMaxNum=32,ServerName="【联通】萌新乐园",ServerDescription="",AdminPassword="123456",ServerPassword="",PublicPort=8211,PublicIP="",RCONEnabled=False,RCONPort=25575,Region="",bUseAuth=True,BanListURL="https://api.palworldgame.com/api/banlist.txt")
复制
服务器管理指令
- 用管理员密码登录服务器 /AdminPassword 管理员密码
- 显示当前玩家 /ShowPlayers
- 踢出 /KickPlayer [UserID]/[SteamID64]
- 封禁 /BanPlayer [UserID]/[SteamID64]
- 传送(传送到目标玩家身边) /TeleportToPlayer {SteamID}
- 拉人(将玩家传送到我身边) /TeleportToMe {SteamID}
- 存档 /Save
- 通知服务器在线玩家n秒后服务器关闭 /Shutdown {Seconds} {MessageText}
复制
以下为配置文档的意思介绍
- Difficulty=None (难度)
-
- DayTimeSpeedRate=1.000000 (日间速度倍率)
- NightTimeSpeedRate=1.000000 (夜间速度倍率)
- ExpRate=1.000000 (经验倍率)
- PalCaptureRate=1.000000 (伙伴捕获倍率)
- PalSpawnNumRate=1.000000 (伙伴生成数量倍率)
- PalDamageRateAttack=1.000000 (伙伴攻击伤害倍率)
- PalDamageRateDefense=1.000000 (伙伴防御伤害倍率)
- PlayerDamageRateAttack=1.000000 (玩家攻击伤害倍率)
- PlayerDamageRateDefense=1.000000 (玩家防御伤害倍率)
- PlayerStomachDecreaceRate=1.000000 (玩家饥饿减少速率)
- PlayerStaminaDecreaceRate=1.000000 (玩家体力减少速率)
- PlayerAutoHPRegeneRate=1.000000 (玩家自动血量恢复倍率)
- PlayerAutoHpRegeneRateInSleep=1.000000 (睡眠中玩家自动血量恢复倍率)
- PalStomachDecreaceRate=1.000000 (伙伴饥饿减少速率)
- PalStaminaDecreaceRate=1.000000 (伙伴体力减少速率)
- PalAutoHPRegeneRate=1.000000 (伙伴自动血量恢复倍率)
- PalAutoHpRegeneRateInSleep=1.000000 (睡眠中伙伴自动血量恢复倍率)
- BuildObjectDamageRate=1.000000 (建筑物受损倍率)
- BuildObjectDeteriorationDamageRate=1.000000 (建筑物劣化受损倍率)
- CollectionDropRate=1.000000 (收集物掉落倍率)
- CollectionObjectHpRate=1.000000 (收集物体生命值倍率)
- CollectionObjectRespawnSpeedRate=1.000000 (收集物体重生速度倍率)
- EnemyDropItemRate=1.000000 (敌人掉落物品倍率)
- DeathPenalty=All (死亡惩罚)
- bEnablePlayerToPlayerDamage=False (允许玩家对玩家造成伤害)
- bEnableFriendlyFire=False (允许友军伤害)
- bEnableInvaderEnemy=True (允许入侵敌人)
- bActiveUNKO=False (未知)
- bEnableAimAssistPad=True (启用手柄瞄准辅助)
- bEnableAimAssistKeyboard=False (启用键盘瞄准辅助)
- DropItemMaxNum=3000 (掉落物品最大数量)
- DropItemMaxNum_UNKO=100 (掉落物品最大数量_UNKO)
- BaseCampMaxNum=128 (基地最大数量)
- BaseCampWorkerMaxNum=15 (基地工人最大数量)
- DropItemAliveMaxHours=1.000000 (掉落物品存活最长时间(小时)
- bAutoResetGuildNoOnlinePlayers=False (自动重置公会无在线玩家)
- AutoResetGuildTimeNoOnlinePlayers=72.000000 (无在线玩家时自动重置公会时间(小时)
- GuildPlayerMaxNum=20 (公会最大玩家数量)
- PalEggDefaultHatchingTime=72.000000 (伙伴蛋默认孵化时间(小时)
- WorkSpeedRate=1.000000 (工作速度倍率)
- bIsMultiplay=False (多人游戏)
- bIsPvP=False (PvP模式)
- bCanPickupOtherGuildDeathPenaltyDrop=False (可以拾取其他公会死亡惩罚掉落)
- bEnableNonLoginPenalty=True (启用非登录惩罚)
- bEnableFastTravel=True (启用快速旅行)
- bIsStartLocationSelectByMap=True (根据地图选择起始位置)
- bExistPlayerAfterLogout=False (登出后玩家仍存在)
- bEnableDefenseOtherGuildPlayer=False (启用防御其他公会玩家)
- CoopPlayerMaxNum=4 (合作玩家最大数量)
- ServerPlayerMaxNum=32 (服务器玩家最大数量)
- ServerName="" (服务器名字)
- ServerDescription="" (服务器描述)
- AdminPassword="" (管理员密码)
- ServerPassword="" (服务器密码)
- PublicPort=8211 (公共端口号)
- PublicIP="" (公共IP地址)
- RCONEnabled=False (启用RCON)
- RCONPort=25575 (RCON端口号)
- Region="" (区域)
- bUseAuth=True (使用身份验证)
- BanListURL="https://api.palworldgame.com/api/banlist.txt" (封禁名单URL)
复制
参考资料: Palworld tech guide
我们在游戏的专用服务器页面,把127.0.0.1换成云服务器的公网ip,点击“联系”,就能进入私服。
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下最常用的文档编辑器,其实主要的用法就是
i
,进入编辑模式 编辑完了键盘打esc键,退出编辑模式 保存输入:wq!
然后回车Q7: 重启之后存档无了,怎么回事
A7:可以参考https://b23.tv/5psEdWk,windows下文件结构与linux类似,照着复制文件即可
Q8:设置好了密码,怎么进房
A8:可参考视频https://www.bilibili.com/video/BV1EK4y1i7Lx
Q9: 我要下单某云,怎么挑机器呢?
A9: 如果对OS没有特别的要求,又特别想参考本教程搭建服务器,建议选这俩系统其中一个,地域就近即可。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。