0.准备工作
准备一个云服务器
我们搭建幻兽帕鲁的社区服务器首先需要一个云服务器来运行其服务端,因此需要大家自行前往并购买一台服务器,游戏官方推荐的服务器配置是4H8G。买到服务器之后选择Windows和Linux镜像都是可以的,小白更加推荐Windows镜像,操作便捷一点。
开放服务器对应的安全组
服务器是需要公网IP地址的,然后进入服务器把8211端口(默认)的安全组开放,用于玩家连接游戏。
连接到自己的服务器
Windows系统可以通过系统中的远程桌面连接工具来连接到自己的服务器。
Linux系统则需要借助Shell工具来连接上自己的服务器。
连接上服务器以后,便可以继续进行下方的步骤了。
创建一个用户用于运行服务端(仅Linux系统)
由于幻兽帕鲁不允许以root用户的身份运行服务端,同时也不推荐大家以root用户的身份去进行一些未知的操作等。因此我们需要创建一个用户用于运行服务端。
在终端中输入adduser steam
,创建一个steam账户。然后按照提示为该账户配置账号密码和信息即可。接下来输入adduser steam sudo
,赋予该账号sudo的权限,这样子这个账号就可以使用sudo命令来执行root的操作了。
1.下载并运行SteamCMD
下载SteamCMD
首先我们需要下载并安装SteamCMD,这就相当于我们电脑上的Steam,只不过没有了图形化的界面变成了命令行。
Windows系统下载地址: https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip
Ubuntu则可以通过apt来安装,指令:sudo apt install steamcmd
Centos则可以通过yum来安装,指令:yum install steamcmd
运行SteamCMD
Windows系统可以直接解压压缩包,然后打开steamcmd.exe
就可以使用了。
Centos的话就直接切换到对应目录然后输入steamcmd
就可以了。
登录SteamCMD
由于我们使用Steamcmd只是为了下载幻兽帕鲁的服务端,所以我们只需要匿名登陆即可。
输入login anonymous
即可匿名登录了,然后我们接下来就可以开始下载服务端了。
2.通过SteamCMD下载幻兽帕鲁服务端
下载游戏服务端
在SteamCMD中,我们输入app_update 2394010
命令,游戏就会自动开始下载了,如下图所示。
下载游戏依赖
以同样的方式,我们输入app_update 1007
命令下载游戏服务端所需要的依赖。
3.配置幻兽帕鲁服务端
切换到游戏对应的目录
下载完成以后对应的目录应该会出现一个Steam文件夹,此时我们的服务端就下载在这个里面。
我们输入cd ./Steam/steamapps/common/PalServer
,来到游戏服务端对应的目录。
初次启动幻兽帕鲁服务器
这个目录底下有一个PalServer.的脚本,我们直接输入./PalServer.sh
命令来启动服务端,使其能够生成配置文件。
创建并修改配置文件
启动完成以后我们直接Ctrl+C关闭进程。然后输入指令cp DefaultPalWorldSettings.ini Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
把默认的配置文件复制过去。
然后输入vim Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
进入配置文件进行编辑。具体的各项配置的含义我会放在最后的附录中供大家查看与修改。
4.启动幻兽帕鲁服务端
因为我们直接启动会因为Shell终端关闭导致服务器进程关闭,所以我们需要持续运行服务器进程。所以我们这里使用screen命令来持续挂起我们的终端。
首先输入screen命令来打开一个窗口,然后在打开的窗口中输入./PalServer.sh
就可以持续的打开服务器了。接下来直接ctrl+a
,再按下d键
就可以回到原来的终端了,后续需要查看则直接使用screen -r
命令重连。
5.游戏连接至服务器
服务器启动以后我们可以直接在游戏中下方的服务器地址栏输入自己服务器的ip地址:端口号(默认8211)
来连接至服务器,如果设置了密码还需要勾选输入密码的选项。
6.附录
幻兽帕鲁服务端配置文件内容
AdminPassword 管理员密码,用于获取服务器管理权限
AllowConnectPlatform 允许连接的平台(Steam/Xbox)
BaseCampMaxNumInGuild 每个公会最大基地数量,默认3个,最多10个
BaseCampWorkerMaxNum 每个基地最大工作的帕鲁数量,最多50个
bEnableInvaderEnemy 是否开启敌人入侵
bIsUseBackupSaveData 是否启用世界备份数据
bShowPlayerList 是否在ESC菜单显示玩家列表
BuildObjectDamageRate 建筑受损系数
BuildObjectDeteriorationDamageRate 建筑腐化速度系数
CollectionDropRate 收集物品掉落几率
CollectionObjectHpRate 可采集物生命值倍率
CollectionObjectRespawnSpeedRate 可采集物重生间隔速度
DayTimeSpeedRate 白天时间流速
DeathPenalty 死亡惩罚
• None: 无掉落
• Item: 掉落除装备外所有物品
• ItemAndEquipment: 掉落所有物品
• All: 掉落所有物品及队伍中的所有帕鲁
EnemyDropItemRate 敌人掉落物品倍率
ExpRate 经验获取倍率
GuildPlayerMaxNum 公会最大玩家数量
LogFormatType 日志格式(文本或JSON)
NightTimeSpeedRate 夜晚时间流速
PalAutoHPRegeneRate 帕鲁自动回血速率
PalAutoHpRegeneRateInSleep 帕鲁睡眠时回血速率(帕鲁盒中的回血速率)
PalCaptureRate 捕捉帕鲁成功率
PalDamageRateAttack 帕鲁攻击伤害倍率
PalDamageRateDefense 帕鲁受到伤害倍率
PalEggDefaultHatchingTime 巨型蛋孵化时间(小时),注意:其他蛋也需要孵化时间
PalSpawnNumRate 帕鲁出现频率 *注意:影响游戏性能
PalStaminaDecreaseRate 帕鲁耐力减少速度
PalStomachDecreaseRate 帕鲁饥饿消耗速度
PlayerAutoHPRegeneRate 玩家自动回血速率
PlayerAutoHpRegeneRateInSleep 玩家睡眠时回血速率
PlayerDamageRateAttack 玩家攻击伤害倍率
PlayerDamageRateDefense 玩家受到伤害倍率
PlayerStaminaDecreaseRate 玩家耐力减少速度
PlayerStomachDecreaseRate 玩家饥饿消耗速度
PublicIP 在社区服务器设置中明确指定外部公共IP
PublicPort 在社区服务器配置中明确指定外部公共端口(此设置不会改变服务器监听端口)
RCONEnabled 是否启用RCON远程控制
RCONPort RCON端口号
RESTAPIEnabled 是否启用REST API
RESTAPIPort REST API监听端口
ServerDescription 服务器描述
ServerName 服务器名称
ServerPassword 服务器登录密码
ServerPlayerMaxNum 服务器允许的最大玩家数量