视频版本
在开始前—工具准备
一、购买服务器
推荐使用腾讯云轻量应用服务器
由于幻兽帕鲁服务器端优化较差,且存在内存泄漏等问题,服务器配置需求较高
服务器要求:
- 2vCPU以上,4vCPU 推荐
- 8G内存基础,16G 内存推荐
- 硬盘建议大于50GB
这里推荐使用Debian12-Docker24的应用镜像,免去再次安装Docker组件的烦恼
二、开始部署
由于此次教程目标为新手,故推荐使用Docker-Compose的方式进行快速部署,仅需一个yml配置文件即可一键启动服务器,无需繁杂的环境配置等问题。
此次使用jammsen/docker-palworld-dedicated-server: Docker container to easily provision and manage Palworld Dedicated Server (github.com)镜像进行部署,首选我们需要连接到服务器并上传yml模板,
使用SSH客户端登录服务器
登录服务器可以选择一键登录,腾讯云的OrcaTerm也是非常好用的。
如果使用其他SSH客户端,那么在第一次登录前需要重置一次密码
密码重置完成后,即可进行登录
使用WinSCP连接并上传yml文件到服务器
创建完成后,我们可以进行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会自动开始拉取最新镜像并进行启动,只需要等待完成即可
容器到这里会卡住一段时间,并不是真卡住了,这是在从Steam进行下载帕鲁服务器端的文件,稍微等待1-4分就会提示进度
直到出现
[S_API FAIL] Tried to access Steam interface SteamNetworkingUtils004 before SteamAPI_Init succeeded.
类似字样时,则代表服务器启动成功,
连接到服务器
在连接服务器前,我们需要在腾讯云面板将防火墙放行
此时,Steam打开游戏,点击连接服务器,输入服务器IP:端口
后点击连接即可游玩.
确认服务器可游玩后,断开连接,回到SSH客户端中
按住Ctrl+C
停止容器,我们需要让服务器在后台持续运行
输入命令以后台模式运行服务器
docker-compose up -d
其他命令:
重启服务器
docker-compose restart
停止并删除后台运行的服务器(不影响服务器存档,适用于更新容器/服务器的情况)
docker-compose down
更新服务器容器镜像
docker-compose pull
三、其他注意事项
存档问题警告
由于目前服务端的问题众多,其中最严重的问题就是炸档&存档不通用
炸档可以通过定时备份服务器存档解决,而存档不通用的问题较为严重
由于帕鲁的Windows服务器与Linux服务器采用了不同的方式生成了玩家的GUID,这导致跨平台存档并不会匹配到玩家,此时需要一个脚本进行存档的转换
具体步骤可以参考GitHub以下的项目
转换过程即使有脚本的帮助也是颇为复杂的,且存在未解决的问题,故目前不建议跨平台的服务器存档转换
参数配置说明
此处仅供参考,具体由于游戏仍在测试中,可能随时会产生变化
快速生成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可以设置为系统的简单 普通 困难 三种固定难度!】
环境变量名称 | 游戏设置 | 说明 | 默认值 | 允许值 |
---|---|---|---|---|
NETSERVERMAXTICKRATE | NetServerMaxTickRate | 修改服务器TickRate值,此参数谨慎修改 | 120 | 30-120 |
DIFFICULTY | Difficulty | 选择难度: None Normal Difficult | None | Enum |
DAYTIME_SPEEDRATE | DayTimeSpeedRate | 白天时间流逝速度倍率 | 1.000000 | Float |
NIGHTTIME_SPEEDRATE | NightTimeSpeedRate | 夜晚时间流逝速度倍率 | 1.000000 | Float |
EXP_RATE | ExpRate | 经验倍率 | 1.000000 | Float |
PAL_CAPTURE_RATE | PalCaptureRate | 帕鲁捕获成功倍率 | 1.000000 | Float |
PAL_SPAWN_NUM_RATE | PalSpawnNumRate | 帕鲁的出现数量倍率【数值越高会导致刷的很多变卡】 | 1.000000 | Float |
PAL_DAMAGE_RATE_ATTACK | PalDamageRateAttack | 帕鲁的攻击伤害倍率 | 1.000000 | Float |
PAL_DAMAGE_RATE_DEFENSE | PalDamageRateDefense | 帕鲁承受伤害的倍率 | 1.000000 | Float |
PLAYER_DAMAGE_RATE_ATTACK | PlayerDamageRateAttack | 多人游戏玩家伤害倍率 | 1.000000 | Float |
PLAYER_DAMAGE_RATE_DEFENSE | PlayerDamageRateDefense | 多人游戏玩家防御倍率 | 1.000000 | Float |
PLAYER_STOMACH_DECREASE_RATE | PlayerStomachDecreaceRate | 玩家饱食度降低倍率 | 1.000000 | Float |
PLAYER_STAMINA_DECREACE_RATE | PlayerStaminaDecreaceRate | 玩家耐力降低倍率 | 1.000000 | Float |
PLAYER_AUTO_HP_REGENE_RATE | PlayerAutoHPRegeneRate | 玩家生命值自动恢复倍率 | 1.000000 | Float |
PLAYER_AUTO_HP_REGENE_RATE_IN_SLEEP | PlayerAutoHpRegeneRateInSleep | 玩家睡眠时生命值自动恢复倍率 | 1.000000 | Float |
PAL_STOMACH_DECREACE_RATE | PalStomachDecreaceRate | 帕鲁的饱食度降低倍率 | 1.000000 | Float |
PAL_STAMINA_DECREACE_RATE | PalStaminaDecreaceRate | 帕鲁的耐力降低倍率 | 1.000000 | Float |
PAL_AUTO_HP_REGENE_RATE | PalAutoHPRegeneRate | 帕鲁生命值自动恢复倍率 | 1.000000 | Float |
PAL_AUTO_HP_REGENE_RATE_IN_SLEEP | PalAutoHpRegeneRateInSleep | 帕鲁睡眠时的生命值恢复倍率【在终端时】 | 1.000000 | Float |
BUILD_OBJECT_DAMAGE_RATE | BuildObjectDamageRate | Damage to structure multipiler | 1.000000 | Float |
BUILD_OBJECT_DETERIORATION_DAMAGE_RATE | PalAutoHpRegeneRateInSleep | Structure determination rate | 1.000000 | Float |
COLLECTION_DROP_RATE | CollectionDropRate | Getherable items multipiler | 1.000000 | Float |
COLLECTION_OBJECT_HP_RATE | CollectionObjectHpRate | Getherable objects HP multipiler | 1.000000 | Float |
COLLECTION_OBJECT_RESPAWN_SPEED_RATE | CollectionObjectRespawnSpeedRate | Getherable objects respawn interval | 1.000000 | Float |
ENEMY_DROP_ITEM_RATE | EnemyDropItemRate | Dropped Items Multipiler | 1.000000 | Float |
DEATH_PENALTY | DeathPenalty | None : 不丢失 Item : Lost item without equipment ItemAndEquipment : Lost item and equipment All : 丢失全部装备,包括帕鲁等 | All | Enum |
ENABLE_PLAYER_TO_PLAYER_DAMAGE | bEnablePlayerToPlayerDamage | Allows players to cause damage to players | false | Boolean |
ENABLE_FRIENDLY_FIRE | bEnableFriendlyFire | 允许友方伤害 | false | Boolean |
ENABLE_INVADER_ENEMY | bEnableInvaderEnemy | Enable invaders | true | Boolean |
ACTIVE_UNKO | bActiveUNKO | Enable UNKO | false | Boolean |
ENABLE_AIM_ASSIST_PAD | bEnableAimAssistPad | Enable controller aim assist | true | Boolean |
ENABLE_AIM_ASSIST_KEYBOARD | bEnableAimAssistKeyboard | Enable Keyboard aim assist | false | Boolean |
DROP_ITEM_MAX_NUM | DropItemMaxNum | Maximum number of drops in the world | 3000 | Integer |
DROP_ITEM_MAX_NUM_UNKO | DropItemMaxNum | Maximum number of UNKO drops in the world | 100 | Integer |
BASE_CAMP_MAX_NUM | BaseCampMaxNum | Maximum number of base camps | 128 | Integer |
BASE_CAMP_WORKER_MAXNUM | BaseCampWorkerMaxNum | Maximum number of workers | 15 | Integer |
DROP_ITEM_ALIVE_MAX_HOURS | DropItemAliveMaxHours | Time it takes for items to despawn in hours | 1.000000 | Float |
AUTO_RESET_GUILD_NO_ONLINE_PLAYERS | bAutoResetGuildNoOnlinePlayers | Automatically reset guild when no players are online | false | Bool |
AUTO_RESET_GUILD_TIME_NO_ONLINE_PLAYERS | AutoResetGuildTimeNoOnlinePlayers | Time to automatically reset guild when no players are online | 72.000000 | Float |
GUILD_PLAYER_MAX_NUM | GuildPlayerMaxNum | 工会最大玩家数量 | 20 | Integer |
PAL_EGG_DEFAULT_HATCHING_TIME | PalEggDefaultHatchingTime | Time(h) to incubate massive egg | 72.000000 | Float |
WORK_SPEED_RATE | WorkSpeedRate | 工作速度倍率 | 1.000000 | Float |
IS_MULTIPLAY | bIsMultiplay | 启用多人游戏 | false | Boolean |
IS_PVP | bIsPvP | 启用PVP | false | Boolean |
CAN_PICKUP_OTHER_GUILD_DEATH_PENALTY_DROP | bCanPickupOtherGuildDeathPenaltyDrop | Allow players from other guilds to pick up death penalty items | false | Boolean |
ENABLE_NON_LOGIN_PENALTY | bEnableNonLoginPenalty | Enable non-login penalty | true | Boolean |
ENABLE_FAST_TRAVEL | bEnableFastTravel | Enable fast travel | true | Boolean |
IS_START_LOCATION_SELECT_BY_MAP | bIsStartLocationSelectByMap | Enable selecting of start location | true | Boolean |
EXIST_PLAYER_AFTER_LOGOUT | bExistPlayerAfterLogout | Toggle for deleting players when they log off | false | Boolean |
ENABLE_DEFENSE_OTHER_GUILD_PLAYER | bEnableDefenseOtherGuildPlayer | Allows defense against other guild players | false | Boolean |
COOP_PLAYER_MAX_NUM | CoopPlayerMaxNum | 玩家最大组队数量 | 4 | Integer |
MAX_PLAYERS | ServerPlayerMaxNum | 服务器最大玩家数量 | 32 | Integer |
SERVER_NAME | ServerName | 服务器名称 | jammsen-docker-generated-###RANDOM### | Integer |
SERVER_DESCRIPTION | ServerDescription | 服务器描述 | Palworld-Dedicated-Server running in Docker by jammsen | String |
ADMIN_PASSWORD | server admin password | 管理员密码 | adminPasswordHere | String |
SERVER_PASSWORD | AdminPassword | 服务器密码 | serverPasswordHere | String |
PUBLIC_PORT | public port | 游戏端口 | 8211 | Integer |
PUBLIC_IP | public ip | 服务器IP | String | |
RCON_ENABLED | RCONEnabled | 启用RCON控制台- 使用服务器管理员密码登录 | false | Boolean |
RCON_PORT | RCONPort | RCON控制台端口 | 25575 | Integer |
REGION | Region | 服务器区域 | String | |
USEAUTH | bUseAuth | 使用认证 | true | Boolean |
BAN_LIST_URL | BanListURL | 使用禁止游玩的名单 | https://api.palworldgame.com/api/banlist.txt | String |
暂无评论内容