前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >五分钟快速部署幻兽帕鲁服务器

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

原创
作者头像
SakuraRain
发布2024-01-28 01:19:04
6040
发布2024-01-28 01:19:04
举报
文章被收录于专栏:Rain的随笔小记Rain的随笔小记

在开始前---工具准备

一、购买服务器

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

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

服务器要求:

  • 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文件的自定义了

代码语言:yaml
复制
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所在目录,执行

代码语言:shell
复制
docker-compose up

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

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

直到出现

代码语言:bash
复制
[S_API FAIL] Tried to access Steam interface SteamNetworkingUtils004 before SteamAPI_Init succeeded.

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

连接到服务器

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

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

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

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

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

代码语言:shell
复制
docker-compose up -d

其他命令:

重启服务器

代码语言:docker
复制
docker-compose restart

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

代码语言:shell
复制
docker-compose down

更新服务器容器镜像

代码语言:docker
复制
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)

代码语言:ini
复制
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

使用禁止游玩的名单

String

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 在开始前---工具准备
  • 一、购买服务器
  • 二、开始部署
    • 使用SSH客户端登录服务器
      • 使用WinSCP连接并上传yml文件到服务器
        • 开始部署
          • 连接到服务器
          • 三、其他注意事项
            • 存档问题警告
              • 参数配置说明
              相关产品与服务
              容器服务
              腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档