Linux部署幻兽帕鲁服务器,PalWorld开服联机教程,保姆级教程

avatar
作者
筋斗云
阅读量:0

UID:Chat_lsm2025

已经经过:blog.zenurs.tech站长的转载许可,请看清再回复工单

------另一个号申请积分--------

Linux系统搭建PalWorld私服,幻兽帕鲁开服联机教程,保姆级教程

最近这游戏挺火,很多人想跟朋友联机,如果有专用服务器,就不需要房主一直开着电脑,稳定性也好得多。

幻兽帕鲁简介

幻兽帕鲁》是一款游戏作品。 它既有类似《宝可梦》的宠物,又有 FPS 战斗系统。在游戏中,玩家可以培养“帕鲁”,使其战斗、繁殖、耕种、制造,还可以出售帕鲁,甚至将其制作成食物。

在广阔的世界中收集神奇的生物“帕鲁”,派他们进行战斗、建造、做农活,工业生产等,这是一款支持多人游戏模式的全新开放世界生存制作游戏。

准备

首先需要一台云服务器,这里推荐雨云的:

雨云优惠注册地址:雨云 - 新一代云服务提供商

购买大厂的服务器时最好买时间长一点,因为只有新用户优惠便宜,后续续费非常贵。

注册完账号后进到雨云控制台,游戏云入口可以在后台的 总览 和 云产品 部分找到:

点击购买游戏云,选择VPS服务器

接着选择机型和配置,VPS服务器目前有14900KF、13900KF、Ryzen 7950X、5900X、Gold 6146和E5 2666V3这6种配置,选哪个都可以,幻兽帕鲁对CPU性能要求不高,配置建议4核8G以上(幻兽帕鲁官方推荐服务器配置为4核16G,最低8G,最好32G以上,当然如果只是好友几个玩用不着这么高)

计费模式如果是经常玩的建议选固定计费,不常玩的选动态计费即可。

系统选择Ubuntu最新版

选好后就可以点右下角的购买了,年付有7折优惠。可以1元试用1天。

因为这游戏太火了服务器都卖完了,所以截图里都没货,这几天会陆续上架新机器了。

下面教程我都用美国的云服务器演示,操作流程跟游戏云的一样。

购买后即可在我的游戏云这里看到你买的VPS,点击这个卡片或者管理键。

接着就可以看到VPS的信息了,在这里重装/切换系统,可以升级配置。

连接服务器

下载安装并打开ssh客户端软件,ssh客户端软件推荐putty或mobaxterm。

我这里用mobaxterm,在SSH客户端中输入你的服务器的IP地址或域名(雨云控制台获取),还有SSH端口,然后点击好的或者打开。

然后输入账号并按回车,账号一般默认为root,接着输入密码并按回车确定,输入密码时不会显示出来。

温馨提示:在SSH终端中按住鼠标左键选择文字,然后松开鼠标,再在空白处单击一下,这样就把选中的文字复制了;在SSH终端单击右键即为粘贴。

设置端口映射

如果用的服务器有独立公网IP就不需要进行这一步的端口映射设置。

点击NAT端口映射,新建规则,设置需要映射出去的内网端口(幻兽帕鲁服务器默认端口 8211),然后点创建映射规则,外网端口不用改,它会随机生成,如果创建提示外网端口被使用你就手动随便输入一个。

记住映射后的公网地址和端口,下面开好服后联机要用。

然后回到SSH终端输入下面这些命令来关闭系统自带防火墙(也可以不关闭防火墙,只需你自己配置开放所需要的端口即可,这样更安全,不过这里不细讲了)。

# 关闭防火墙,依次执行 systemctl stop firewalld systemctl disable firewalld service iptables stop

我下面命令提示是防火墙本就并没有开启,不过为了保证顺利开服照例执行一遍。

开服

操作步骤

有别于Windows的部署教程,Linux的部署操作需要通过命令行来完成,如果您不熟悉Linux的相关操作,建议您使用Windows操作系统进行部署。

在开始部署之前,您需要首先登录服务器,然后依次在命令框输入并执行以下命令即可(#号后面的是注释,不用执行)。本节选用了官方推荐的Linux操作系统Ubuntu作为演示。

脚本一键部署

在SSH终端输入下面的命令:

# 由于palworld服务端不支持以root用户运行,所以需要创建个ubuntu账号,如果登陆就是ubuntu账号的就忽略这步直接执行下面的一键安装脚本 sudo useradd -s /bin/bash -m ubuntu # 设置ubuntu用户的密码,运行这条指令后按提示输入两遍密码 sudo passwd ubuntu # 授予ubuntu用户sudo权限 sudo usermod -aG sudo ubuntu # 切换到ubuntu用户 sudo su ubuntu # 切换到用户主目录,通常是“/home/用户名”目录 cd ~  # 一键安装脚本 wget -O - https://tc2.zeruns.tech/other/pal-server-install.sh | sh

注意:如果您使用中国内地地域的服务器运行一键部署脚本,则有可能因为网络原因导致脚本运行失败,建议您多次重试或换个时间段再次部署。此处的原因主要是安装过程中需要请求Steam的服务器,网络状况不稳定。

安装成功如下图所示:

一键部署脚本执行成功后,会为您创建一个名为pal-server的服务,如果您后续想管理该服务,可以使用以下命令来进行:

# 启动幻兽帕鲁的服务 sudo systemctl start pal-server # 重启幻兽帕鲁的服务 sudo systemctl restart pal-server # 关闭幻兽帕鲁的服务 sudo systemctl stop pal-server # 查询幻兽帕鲁服务的状态 sudo systemctl status pal-server

如果您想要从零开始一步一步手动部署,可以参考接下来的教程。如没有需要,则可直接跳过

手动部署

第一步:由于palworld服务端不支持以root用户运行,所以需要创建个ubuntu账号,如果登陆就是ubuntu账号的就忽略这步直接执行下面的

# 创建ubuntu账号 sudo useradd -s /bin/bash -m ubuntu # 设置ubuntu用户的密码,运行这条指令后按提示输入两遍密码 sudo passwd ubuntu # 授予ubuntu用户sudo权限 sudo usermod -aG sudo ubuntu # 切换到ubuntu用户 sudo su ubuntu # 切换到用户主目录,通常是“/home/用户名”目录 cd ~

第二步:在系统中添加multiverse组件,为系统添加32位软件支持,并更新软件包列表。

sudo add-apt-repository multiverse; sudo dpkg --add-architecture i386; sudo apt update

第三步:下载并安装SteamCMD软件包及其依赖项。

sudo apt install steamcmd

第四步:使用SteamCMD登录到Steam服务器并更新ID为2394010的游戏。

steamcmd +login anonymous +app_update 2394010 validate +quit

第五步:在当前用户的家目录下创建一个名为sdk64的子目录,并且如果需要,也会创建其父级目录(如~/.steam/

mkdir -p ~/.steam/sdk64/

第六步:使用 SteamCMD 登录到 Steam 服务器并更新 ID 为 1007 的游戏。更新过程完成后,会退出SteamCMD 。请注意,具体的游戏 ID 可能因实际情况而异,您可以根据需要替换为您要更新的游戏的正确 ID 。

steamcmd +login anonymous +app_update 1007 +quit

第七步:复制文件

cp ~/Steam/steamapps/common/Steamworks\ SDK\ Redist/linux64/steamclient.so ~/.steam/sdk64/

第八步:进入~/Steam/steamapps/common/PalServer目录中

cd ~/Steam/steamapps/common/PalServer

第九步:运行名为PalServer.sh的脚本文件,并将端口号设置为 8211

./PalServer.sh port=8211

至此,服务器已成功搭建,但是此种模式下启动的游戏服,会在关闭终端时被结束,想要长期保持游戏服启动,需要创建一个服务。

先创建一个脚本,复制下面命令框中全部内容到终端里执行(这里这个不要复制单行,要全部):

cat <<EOF > pal-server-run.sh #!/bin/bash  cd $HOME/Steam/steamapps/common/PalServer  (./PalServer.sh >> /tmp/PalServer.log &) EOF

给脚本权限和移动脚本位置:

chmod +x pal-server-run.sh && mv pal-server-run.sh $HOME/Steam/steamapps/common/PalServer

创建服务,复制下面命令框中全部内容到终端里执行(这里这个不要复制单行,要全部):

cat <<EOF > pal-server.service [Unit] Description=pal-server.service  [Service] Type=forking User=ubuntu Restart=on-failure RestartSec=30s ExecStart=$HOME/Steam/steamapps/common/PalServer/pal-server-run.sh -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS  [Install] WantedBy=multi-user.target EOF

pal-server.service文件移动到/usr/lib/systemd/system/目录

sudo mv pal-server.service /usr/lib/systemd/system/

设置palworld服务端开机自启并重启一遍

sudo systemctl enable pal-server && sudo systemctl restart pal-server

接下来您可以继续完成后续步骤。

如果您后续想管理该服务,可以使用以下命令来进行:

# 启动幻兽帕鲁的服务 sudo systemctl start pal-server # 重启幻兽帕鲁的服务 sudo systemctl restart pal-server # 关闭幻兽帕鲁的服务 sudo systemctl stop pal-server # 查询幻兽帕鲁服务的状态 sudo systemctl status pal-server

进入服务器

进入游戏,点击加入多人游戏(专用服务器)

在底下这里输入你服务器地址和端口,然后点击联系

然后就进到服务器了,可以开始游戏了,把地址发给别人就可以一起联机了

修改配置文件

先安装nano编辑器

sudo apt install nano

切换到ubuntu用户,如果已经是ubuntu用户就忽略这一步

sudo su ubuntu

复制默认配置文件

sudo cp ~/Steam/steamapps/common/PalServer/DefaultPalWorldSettings.ini ~/Steam/steamapps/common/PalServer/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini

编辑配置文件

sudo nano ~/Steam/steamapps/common/PalServer/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini

这是编辑器界面,可以用方向键移动光标到要修改的参数,修改后按 Ctrl+O 然后回车保存,接着按 Ctrl+X 退出编辑器。

使用如下命令重启服务,重启完成后即可生效。

sudo systemctl restart pal-server

看不懂英文可以参考下面这个注释版修改:

; 这个配置文件是默认服务器设置的一个样例。  ; 对这个文件的修改不会影响服务器。  ; 要改变服务器设置,请修改 Pal/Saved/Config/LinuxServer/PalWorldSettings.ini 文件。  [/Script/Pal.PalGameWorldSettings] OptionSettings=(Difficulty=None, ; 难度,None 或 Difficulty      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, ; 死亡惩罚,None 不掉落,Item 只掉物品不掉装备,ItemAndEquipment 掉物品和装备,All 全都掉      bEnablePlayerToPlayerDamage=False, ; 启用玩家对玩家伤害功能      bEnableFriendlyFire=False, ; 启用友军伤害功能      bEnableInvaderEnemy=True, ; 启用袭击事件功能      bActiveUNKO=False, ; 启用 UNKO 功能      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="Default Palworld Server", ; 服务器名称      ServerDescription="", ; 服务器描述      AdminPassword="", ; 管理员密码      ServerPassword="", ; 服务器密码      PublicPort=8211 ; 公共端口      

管理员命令

如果要使用命令,需要设置管理员密码后并使用 /AdminPassword 密码 命令在聊天框获取管理权限。

命令格式作用
/shutdown {秒} {messageText}服务器在秒数后关闭 将收到您的 MessageText 的通知
/DoExit强制停止服务器
/Broadcast {MessageText}向服务器中的所有玩家发送消息
/KickPlayer {SteamID}将玩家从服务器上踢出
/BanPlayer {SteamID}将玩家从服务器上封禁
/TeleportToPlayer {SteamID}传送到目标玩家的当前位置
/TeleportToMe {SteamID}目标玩家传送到您当前的位置
/ShowPlayers显示所有已连接玩家的信息
/Info显示服务器信息
/Save保存服务器数据

内存优化(可选)

收到大量玩家反馈,使用4核8G的服务器开服,在进行一段时间的游戏后会出现内存不足的情况,这里为大家提供一个缓解内存不足的方案作参考:定时重启

为 Linux 配置 Swap

Swap是计算机系统中的一种虚拟内存技术,它允许操作系统将部分内存中的数据暂时存储到硬盘上,以便为其他需要更多内存的任务提供空间。

第一步:检查当前的swap情况,如果您首次配置,运行这个命令将不会返回任何内容。

swapon --show

第二步:创建一个swap文件

命令里的“8G”是指创建一个大小为8GB的文件,这个文件可以用作swap空间,用于临时存储不适合放在内存中的数据。您可以根据需要调整大小。 对于 Linux 来说,建议您将该文件的大小设置为与系统内存一致,此处以8GB内存为例。
sudo fallocate -l 8G /swapfile

第三步:设置文件权限

sudo chmod 600 /swapfile

第四步:将文件格式化为swap格式

sudo mkswap /swapfile

第五步:启用swap文件

sudo swapon /swapfile

第六步:设置永久使用swap文件(系统在启动时自动启用swap文件)

sudo vim /etc/fstab

使用键盘方向键或j、k、h、l键浏览到文件的末尾。按下i进入编辑模式,光标将移动到文件的末尾,并将以下内容添加进文件:

/swapfile   none    swap    sw    0   0

按下Esc键退出编辑模式,并输入:wq并按下回车键保存文件并退出vim。

第七步:重新加载fstab文件

sudo swapon --all

第八步:验证swap设置是否成功

swapon --show

如出现下图内容,则说明设置成功。

当然,说了这么多,最佳实践可能还是升级服务器套餐配置啦。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!