五分钟快速部署幻兽帕鲁服务器

视频版本

在开始前—工具准备

一、购买服务器

推荐使用腾讯云轻量应用服务器

由于幻兽帕鲁服务器端优化较差,且存在内存泄漏等问题,服务器配置需求较高

服务器要求:

  • 2vCPU以上,4vCPU 推荐
  • 8G内存基础,16G 内存推荐
  • 硬盘建议大于50GB
图片[1]-五分钟快速部署幻兽帕鲁服务器-Rain's Blog

这里推荐使用Debian12-Docker24的应用镜像,免去再次安装Docker组件的烦恼

图片[2]-五分钟快速部署幻兽帕鲁服务器-Rain's Blog

二、开始部署

由于此次教程目标为新手,故推荐使用Docker-Compose的方式进行快速部署,仅需一个yml配置文件即可一键启动服务器,无需繁杂的环境配置等问题。

此次使用jammsen/docker-palworld-dedicated-server: Docker container to easily provision and manage Palworld Dedicated Server (github.com)镜像进行部署,首选我们需要连接到服务器并上传yml模板,

使用SSH客户端登录服务器

登录服务器可以选择一键登录,腾讯云的OrcaTerm也是非常好用的。

图片[3]-五分钟快速部署幻兽帕鲁服务器-Rain's Blog

如果使用其他SSH客户端,那么在第一次登录前需要重置一次密码

图片[4]-五分钟快速部署幻兽帕鲁服务器-Rain's Blog

密码重置完成后,即可进行登录

使用WinSCP连接并上传yml文件到服务器

图片[5]-五分钟快速部署幻兽帕鲁服务器-Rain's Blog
图片[6]-五分钟快速部署幻兽帕鲁服务器-Rain's Blog

创建完成后,我们可以进行docker-compose.yml文件的自定义了

version: '3.9'
services:
  palworld-dedicated-server:
    #build: .
    container_name: palworld-dedicated-server
    image: jammsen/palworld-dedicated-server:latest
    restart: always
    network_mode: bridge
    ports:
      - target: 8211 # 容器内游戏服务器端口
        published: 8211 # 实际占用映射端口
        protocol: udp
        mode: host
      - target: 25575 # 容器内的RCON端口
        published: 25575 # 实际占用映射端口
        protocol: tcp
        mode: host
    environment:
      - ALWAYS_UPDATE_ON_START=true  #每次启动时更新服务器
      - MAX_PLAYERS=16  #最大玩家数
      - MULTITHREAD_ENABLED=true  #改进多核CPU使用
      - COMMUNITY_SERVER=true #是否设置为社区服务器
      - RCON_ENABLED=true #是否启动RCON
      - RCON_PORT=25575 #RCON端口
      - PUBLIC_IP=111.229.207.116  #服务器IP地址,如未指定则自动检测
      - PUBLIC_PORT=8211  #服务器端口,如未指定则自动检测
      - SERVER_NAME=黑猫的服务器  #服务器名称
      - SERVER_DESCRIPTION=由黑猫使用Docker-Composer快速部署  #服务器简介
      - SERVER_PASSWORD=  #服务器密码,不设置请留空,不建议设置因为目前的客户端存在BUG
      - ADMIN_PASSWORD=youradminpasswd  #管理员密码  
      - BACKUP_ENABLED=true #是否启用备份
      - BACKUP_CRON_EXPRESSION=0 * * * *  #备份定时器,默认设置为每小时一次
      - TZ=Asia/Shanghai    #时区
    volumes:
      - /data/Pal:/palworld    #文件映射卷位置

  rcon:
    image: outdead/rcon:latest
    entrypoint: ['/rcon', '-a', '111.229.207.116:25575', '-p', 'youradminpasswd']
    profiles: ['rcon'] 

开始部署

在编辑完成上述yml文件后,使用SSH登录到服务器

移动到yml所在目录,执行

docker-compose up

此时docker会自动开始拉取最新镜像并进行启动,只需要等待完成即可

图片[7]-五分钟快速部署幻兽帕鲁服务器-Rain's Blog

容器到这里会卡住一段时间,并不是真卡住了,这是在从Steam进行下载帕鲁服务器端的文件,稍微等待1-4分就会提示进度

图片[8]-五分钟快速部署幻兽帕鲁服务器-Rain's Blog

直到出现

[S_API FAIL] Tried to access Steam interface SteamNetworkingUtils004 before SteamAPI_Init succeeded.

类似字样时,则代表服务器启动成功,

连接到服务器

在连接服务器前,我们需要在腾讯云面板将防火墙放行

图片[9]-五分钟快速部署幻兽帕鲁服务器-Rain's Blog

此时,Steam打开游戏,点击连接服务器,输入服务器IP:端口后点击连接即可游玩.

确认服务器可游玩后,断开连接,回到SSH客户端中

按住Ctrl+C停止容器,我们需要让服务器在后台持续运行

输入命令以后台模式运行服务器

docker-compose up -d

其他命令:

重启服务器

docker-compose restart

停止并删除后台运行的服务器(不影响服务器存档,适用于更新容器/服务器的情况)

docker-compose down

更新服务器容器镜像

docker-compose pull

三、其他注意事项

存档问题警告

由于目前服务端的问题众多,其中最严重的问题就是炸档&存档不通用

炸档可以通过定时备份服务器存档解决,而存档不通用的问题较为严重

由于帕鲁的Windows服务器与Linux服务器采用了不同的方式生成了玩家的GUID,这导致跨平台存档并不会匹配到玩家,此时需要一个脚本进行存档的转换

具体步骤可以参考GitHub以下的项目

xNul/palworld-host-save-fix: Fixes the bug which forces a player to create a new character when they already have a save. Useful for migrating maps from co-op to dedicated servers and from one dedicated server to another. (github.com)

转换过程即使有脚本的帮助也是颇为复杂的,且存在未解决的问题,故目前不建议跨平台的服务器存档转换

参数配置说明

此处仅供参考,具体由于游戏仍在测试中,可能随时会产生变化

快速生成Pal配置请使用此生成器PalWorld Settings Generator (dysoncheng.github.io)

官方的服务器参数配置指南Palworld tech guide – Optimize game balance (palworldgame.com)

Day Time SpeedRate=白天时间流逝速度倍率【1.000000更改数值即使修改流失速度的倍率-数值越高时间流逝越快。相反则越慢】
NightTimeSpeedRate=夜晚流逝速度倍率
PalCaptureRate=帕鲁捕获成功倍率
ExpRate=经验值倍率【设置越高经验获得越快,升级越快】
PalSpawnNumRate=帕鲁的出现数量倍率【数值越高会导致刷的很多变卡】
PalDamageRateAttack=帕鲁的攻击伤害倍率【设置越高伤害越高】
PalDamageRateDefense=帕鲁承受伤害的倍率【正常来说值越低防御越高】
PlayerStomachDecreaceRate=玩家饱食度降低倍率
PlayerStaminaDecreaceRate=玩家耐力降低倍率
PlayerAutoHPRegeneRate=玩家生命值自动恢复倍率
PlayerAutoHpRegeneRateInSleep=玩家睡眠时生命值自动恢复倍率
PalStomachDecreaceRate=帕鲁的饱食度降低倍率
PalStaminaDecreaceRate=帕鲁的耐力降低倍率
PalAutoHPRegeneRate=帕鲁的生命值自动恢复倍率
PalAutoHpRegeneRateInSleep=帕鲁睡眠时的生命值恢复倍率【在终端时】
BuildObjectDamageRate=对建筑物的伤害倍率
BuildObjectDeteriorationDamageRate=建筑物的劣化速度倍率
CollectionDropRate=道具采集量倍率
CollectionObjectHpRate=可采集物品的生命值倍率
CollectionObjectRespawnSpeedRate=可采集物品的刷新间隔
EnemyDropItemRate=道具掉落率倍率
DeathPenalty=none为关闭死亡掉落;all为开启死亡掉落
bEnablePlayerToPlayerDamage=是否开启PVP模式【False是关闭。
true应该是开启-暂时未知,官方好像说暂时不支持PVP】
bEnableFriendlyFire=False是否开启队友伤害【False是关闭,true应该是开启】
bEnableInvaderEnemy=是否开启随机袭击事件【True是开启,关闭False】
GuildPlayerMaxNum=工会上限人数默认20
PalEggDefaultHatchingTime=帕鲁宝宝的默认孵化时间
WorkSpeedRate=工作速率【应该是游戏内的制作物品的速率】
bIsMultiplay=多人游戏是否开启【默认False关闭-应该是指的服务器的可见性吧,暂时不知】
bEnableFastTravel=是否实现快速旅行【默认开启True】
bIsStartLocationSelectByMap=初始地点按地图选择【默认开启True】
CoopPlayerMaxNum=合作联机最大人数【默认4】
ServerPlayerMaxNum=服务器最大联机人数【默认32】
ServerName=服务器名字【支持中文】
ServerPassword=服务器密码【不建议设置,存在BUG】
ServerDescription=服务器描述信息【默认留空】
AdminPassword=管理员密码
PublicPort=服务器端口号【默认8211!不建议更改】
PublicIP=公共IP
Difficulty=None【默认为None也就是自定义,改动以上参数保存后即可生效!如果是Difficulty=3则代表困难模式!正常来说是123可以设置为系统的简单 普通 困难 三种固定难度!】
环境变量名称游戏设置说明默认值允许值
NETSERVERMAXTICKRATENetServerMaxTickRate修改服务器TickRate值,此参数谨慎修改12030-120
DIFFICULTYDifficulty选择难度: None Normal DifficultNoneEnum
DAYTIME_SPEEDRATEDayTimeSpeedRate白天时间流逝速度倍率1.000000Float
NIGHTTIME_SPEEDRATENightTimeSpeedRate夜晚时间流逝速度倍率1.000000Float
EXP_RATEExpRate经验倍率1.000000Float
PAL_CAPTURE_RATEPalCaptureRate帕鲁捕获成功倍率1.000000Float
PAL_SPAWN_NUM_RATEPalSpawnNumRate帕鲁的出现数量倍率【数值越高会导致刷的很多变卡】1.000000Float
PAL_DAMAGE_RATE_ATTACKPalDamageRateAttack帕鲁的攻击伤害倍率1.000000Float
PAL_DAMAGE_RATE_DEFENSEPalDamageRateDefense帕鲁承受伤害的倍率1.000000Float
PLAYER_DAMAGE_RATE_ATTACKPlayerDamageRateAttack多人游戏玩家伤害倍率1.000000Float
PLAYER_DAMAGE_RATE_DEFENSEPlayerDamageRateDefense多人游戏玩家防御倍率1.000000Float
PLAYER_STOMACH_DECREASE_RATEPlayerStomachDecreaceRate玩家饱食度降低倍率1.000000Float
PLAYER_STAMINA_DECREACE_RATEPlayerStaminaDecreaceRate玩家耐力降低倍率1.000000Float
PLAYER_AUTO_HP_REGENE_RATEPlayerAutoHPRegeneRate玩家生命值自动恢复倍率1.000000Float
PLAYER_AUTO_HP_REGENE_RATE_IN_SLEEPPlayerAutoHpRegeneRateInSleep玩家睡眠时生命值自动恢复倍率1.000000Float
PAL_STOMACH_DECREACE_RATEPalStomachDecreaceRate帕鲁的饱食度降低倍率1.000000Float
PAL_STAMINA_DECREACE_RATEPalStaminaDecreaceRate帕鲁的耐力降低倍率1.000000Float
PAL_AUTO_HP_REGENE_RATEPalAutoHPRegeneRate帕鲁生命值自动恢复倍率1.000000Float
PAL_AUTO_HP_REGENE_RATE_IN_SLEEPPalAutoHpRegeneRateInSleep帕鲁睡眠时的生命值恢复倍率【在终端时】1.000000Float
BUILD_OBJECT_DAMAGE_RATEBuildObjectDamageRateDamage to structure multipiler1.000000Float
BUILD_OBJECT_DETERIORATION_DAMAGE_RATEPalAutoHpRegeneRateInSleepStructure determination rate1.000000Float
COLLECTION_DROP_RATECollectionDropRateGetherable items multipiler1.000000Float
COLLECTION_OBJECT_HP_RATECollectionObjectHpRateGetherable objects HP multipiler1.000000Float
COLLECTION_OBJECT_RESPAWN_SPEED_RATECollectionObjectRespawnSpeedRateGetherable objects respawn interval1.000000Float
ENEMY_DROP_ITEM_RATEEnemyDropItemRateDropped Items Multipiler1.000000Float
DEATH_PENALTYDeathPenaltyNone : 不丢失 Item : Lost item without equipment ItemAndEquipment : Lost item and equipment All: 丢失全部装备,包括帕鲁等AllEnum
ENABLE_PLAYER_TO_PLAYER_DAMAGEbEnablePlayerToPlayerDamageAllows players to cause damage to playersfalseBoolean
ENABLE_FRIENDLY_FIREbEnableFriendlyFire允许友方伤害falseBoolean
ENABLE_INVADER_ENEMYbEnableInvaderEnemyEnable invaderstrueBoolean
ACTIVE_UNKObActiveUNKOEnable UNKOfalseBoolean
ENABLE_AIM_ASSIST_PADbEnableAimAssistPadEnable controller aim assisttrueBoolean
ENABLE_AIM_ASSIST_KEYBOARDbEnableAimAssistKeyboardEnable Keyboard aim assistfalseBoolean
DROP_ITEM_MAX_NUMDropItemMaxNumMaximum number of drops in the world3000Integer
DROP_ITEM_MAX_NUM_UNKODropItemMaxNumMaximum number of UNKO drops in the world100Integer
BASE_CAMP_MAX_NUMBaseCampMaxNumMaximum number of base camps128Integer
BASE_CAMP_WORKER_MAXNUMBaseCampWorkerMaxNumMaximum number of workers15Integer
DROP_ITEM_ALIVE_MAX_HOURSDropItemAliveMaxHoursTime it takes for items to despawn in hours1.000000Float
AUTO_RESET_GUILD_NO_ONLINE_PLAYERSbAutoResetGuildNoOnlinePlayersAutomatically reset guild when no players are onlinefalseBool
AUTO_RESET_GUILD_TIME_NO_ONLINE_PLAYERSAutoResetGuildTimeNoOnlinePlayersTime to automatically reset guild when no players are online72.000000Float
GUILD_PLAYER_MAX_NUMGuildPlayerMaxNum工会最大玩家数量20Integer
PAL_EGG_DEFAULT_HATCHING_TIMEPalEggDefaultHatchingTimeTime(h) to incubate massive egg72.000000Float
WORK_SPEED_RATEWorkSpeedRate工作速度倍率1.000000Float
IS_MULTIPLAYbIsMultiplay启用多人游戏falseBoolean
IS_PVPbIsPvP启用PVPfalseBoolean
CAN_PICKUP_OTHER_GUILD_DEATH_PENALTY_DROPbCanPickupOtherGuildDeathPenaltyDropAllow players from other guilds to pick up death penalty itemsfalseBoolean
ENABLE_NON_LOGIN_PENALTYbEnableNonLoginPenaltyEnable non-login penaltytrueBoolean
ENABLE_FAST_TRAVELbEnableFastTravelEnable fast traveltrueBoolean
IS_START_LOCATION_SELECT_BY_MAPbIsStartLocationSelectByMapEnable selecting of start locationtrueBoolean
EXIST_PLAYER_AFTER_LOGOUTbExistPlayerAfterLogoutToggle for deleting players when they log offfalseBoolean
ENABLE_DEFENSE_OTHER_GUILD_PLAYERbEnableDefenseOtherGuildPlayerAllows defense against other guild playersfalseBoolean
COOP_PLAYER_MAX_NUMCoopPlayerMaxNum玩家最大组队数量4Integer
MAX_PLAYERSServerPlayerMaxNum服务器最大玩家数量32Integer
SERVER_NAMEServerName服务器名称jammsen-docker-generated-###RANDOM###Integer
SERVER_DESCRIPTIONServerDescription服务器描述Palworld-Dedicated-Server running in Docker by jammsenString
ADMIN_PASSWORDserver admin password管理员密码adminPasswordHereString
SERVER_PASSWORDAdminPassword服务器密码serverPasswordHereString
PUBLIC_PORTpublic port游戏端口8211Integer
PUBLIC_IPpublic ip服务器IPString
RCON_ENABLEDRCONEnabled启用RCON控制台- 使用服务器管理员密码登录falseBoolean
RCON_PORTRCONPortRCON控制台端口25575Integer
REGIONRegion服务器区域String
USEAUTHbUseAuth使用认证trueBoolean
BAN_LIST_URLBanListURL使用禁止游玩的名单https://api.palworldgame.com/api/banlist.txtString
© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
评论 抢沙发
头像
说点什么?
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容