有个一键搭建脚本,没用过不确定怎么样,放到文章最后了
挑选服务器
根据官方文档,CPU需要4核,频率不要低,至少3-3.5GHz的,人越多要求越高;至少需要16G运行内存,32G为好,实测8G能带6个人玩。我选的系统是Ubuntu 22.04,Debian也可以,CentOS太老了不推荐
如果需要云服务商的话,推荐找给MC开服的,他们对于这种配置有经验
通过SSH工具链接到服务器
自行选择工具,Xshell或者Finalshell都可以
安装服务端
为了安全,创建steam用户
sudo useradd -m steam
sudo passwd steam
(steam账号的密码输入需要两遍)
赋予新用户权限
usermod -G sudo steam
进入新用户的home文件夹
sudo -u steam -s
sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install steamcmd
进入steamCMD,可以看到Steam>
,安装服务端
/usr/games/steamcmd
login anonymous
app_update 2394010 validate
app_update 1007
(安装环境依赖)
quit
mkdir -p ~/.steam/sdk64/
cp ~/Steam/steamapps/common/Steamworks\ SDK\ Redist/linux64/steamclient.so ~/.steam/sdk64/
进入安装目录
cd ~/Steam/steamapps/common/PalServer
这样就算搭建完成了
优化
提升服务器tick上限:
cd ~/Steam/steamapps/common/PalServer/Pal/Saved/Config/LinuxServer
vi Engine.ini
(使用Vim编辑器)
在底下添加:
[/Script/OnlineSubsystemUtils.IpNetDriver]
NetServerMaxTickRate=90
90为想设服务器的帧数,默认60,如果CPU频率够高的话可以设置的更高
更新
如果需要更新,可以执行上面除了环境依赖的4步
/usr/games/steamcmd
login anonymous
app_update 2394010 validate
quit
修改服务器配置
保持在上一步安装的目录
打开DefaultPalWorldSettings.ini
文件,复制这个默认配置
修改PalServer目录下的pal/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
这个文件,可以使用Vim编辑器
将默认配置粘贴
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="" ;服务器名字
ServerDescription="" ;服务器描述
AdminPassword="" ;管理员密码
SrverPassword="" ;服务器密码
PublicPort=8211 ;公网端口号
PublicIP="" ;公网IP地址
RCONEnabled=False ;启用RCON
RCONPort=25575 ;RCON端口号
Region="" ;区域
bUseAuth=True ;使用身份验证
BanListURL="https://api.palworldgame.com/api/banlist.txt" ;封禁名单URL
以上是一些参数的解释,需要自己修改的是难度、死亡惩罚、服务器名字和描述(非UTF-8编码的不要打中文)、服务器最大玩家数量(根据自己服务器配置)、公网IP、公网端口,注意包括OptionSettings之后的所有配置都写在一行,不要换行!
其它参数根据自己需求来改,推荐设置管理员密码,启用RCON来管理服务器,文档给出的管理员命令:
Command | Description |
---|---|
/Shutdown {Seconds} {MessageText} | Gracefully shuts down server with an optional timer and/or message to notify players in your server. |
/DoExit | Forcefully shuts down the server immediately. It is not recommended to use this option unless you've got a technical problem or are okay with potentially losing data. |
/Broadcast {MessageText} | Broadcasts a message to all players in the server. |
/KickPlayer {PlayerUID or SteamID} | Kicks player from the server. Useful for getting a player's attention with moderation. |
/BanPlayer {PlayerUID or SteamID} | Bans player from the server. The Player will not be able to rejoin the server until they are unbanned. |
/TeleportToPlayer {PlayerUID or SteamID} | INGAME ONLY Immediately teleport to the target player |
/TeleportToMe {PlayerUID or SteamID} | INGAME ONLY Immediately teleports target player to you. |
/ShowPlayers | Shows information on all connected players |
/Info | Shows server information |
/Save | Save the world data to disk. Useful to ensure your Pal, player, and other data is saved before stopping the server or performing a risky gameplay option. |
启动服务端
返回PalServer目录,sh PalServer.sh
运行服务端
一键搭建脚本
wget -O - https://pal-server-1251810746.cos.accelerate.myqcloud.com/pal-server/Ubuntu/install.sh|sh