在多人联机游戏《幻兽帕鲁》中,与朋友一起开荒是核心乐趣之一。然而,官方服务器的延迟、规则限制以及存档不稳定性,常常让游戏体验大打折扣。搭建一个私有的专用服务器,不仅能获得更流畅、更可控的游戏环境,还能根据团队需求自定义游戏规则,是深度玩家的首选方案。对于不熟悉服务器运维的玩家来说,从零开始配置游戏服务端、处理网络穿透、管理存档是一系列复杂的技术挑战。
本文将为你详细拆解如何从零开始,搭建一个稳定、可自定义的《幻兽帕鲁》1.0正式版专用服务器。我们将采用容器化技术,实现服务的快速部署与管理,确保过程清晰、步骤可复现。无论你是想为固定小队创建一个长期稳定的家园,还是仅仅想体验一下自建服务器的自由度,这篇指南都将带你走完全程,从环境准备、服务部署、配置修改,到最终联机测试和日常维护。
1. 理解《幻兽帕鲁》专用服务器的核心机制
在动手部署之前,理解游戏服务器的工作原理和关键组件,能帮助你在后续配置和排错时更有方向。
1.1 服务器与客户端的通信模式
《幻兽帕鲁》采用客户端-服务器(C/S)架构。当你进入一个多人游戏时,你的游戏客户端(Client)会连接到一台运行着游戏服务端(Server)程序的机器。这台服务器负责处理所有玩家的输入(如移动、建造、捕捉),进行游戏逻辑运算(如怪物刷新、时间流逝),并将结果同步给所有连接的客户端。自建服务器,本质上就是在你的云主机或本地电脑上运行这个服务端程序。
1.2 关键端口与网络要求
游戏服务端需要通过特定的网络端口与外界通信。对于《幻兽帕鲁》,默认使用以下端口:
- 8211 (UDP): 这是游戏客户端连接服务器的主要端口。所有游戏数据(玩家位置、动作、世界状态)都通过这个UDP端口传输。
- 27015/27016 (TCP/UDP): Steam网络相关的查询端口,用于服务器在Steam服务器列表中被发现和浏览。
这意味着,在部署服务器的机器上(无论是云服务器还是本地主机),你必须确保这些端口在防火墙规则中是开放的,并且能够被外部客户端访问到。对于家庭网络,这通常意味着需要在路由器上设置端口转发(Port Forwarding)。
1.3 存档与数据持久化
服务器上所有玩家的进度、建造的建筑、地图状态都保存在服务端的存档文件中。这些文件通常位于服务端程序的工作目录下。定期备份这些存档文件至关重要,可以防止服务器崩溃、误操作或硬件故障导致的数据丢失。我们的部署方案会将存档目录映射到宿主机,方便进行备份和恢复操作。
1.4 容器化部署的优势
我们选择使用Docker进行部署,这是一种容器化技术。它将游戏服务端及其运行环境(如特定的系统库)打包成一个独立的“容器”。这样做有几个显著好处:
- 环境隔离:避免与宿主机其他软件的环境冲突。
- 一键部署:无需在宿主机上手动安装复杂的依赖,通过一条命令即可启动服务。
- 易于管理:启动、停止、重启、更新服务都通过简单的Docker命令完成。
- 配置外置:将游戏配置、存档等数据保存在宿主机目录,即使删除容器,数据也不会丢失。
2. 部署前的环境准备与资源规划
成功的部署始于周密的准备。这一步将确保你的硬件、网络和软件环境满足服务器运行的基本要求。
2.1 硬件与云服务器选型
《幻兽帕鲁》服务器对资源的需求与在线玩家数量正相关。以下是不同规模下的配置建议:
| 玩家规模 | 推荐CPU核心 | 推荐内存 | 推荐带宽 | 适用场景 |
|---|---|---|---|---|
| 2-4人小团队 | 2核 | 4GB | 5-10 Mbps | 朋友间休闲联机,预算有限。 |
| 4-8人中团队 | 4核 | 8GB | 10-20 Mbps | 标题中提到的“4H8G”配置,适合稳定的社群服务器。 |
| 8-16人大团队 | 8核 | 16GB | 20-50 Mbps | 大型公会或社区服务器,需要更流畅的体验。 |
| 16人以上 | 16核+ | 32GB+ | 50-100 Mbps+ | 专业级服务器,可能需要对服务端参数进行深度调优。 |
选择建议:
- CPU:优先选择高频CPU,单核性能对游戏逻辑运算影响较大。
- 内存:8GB是保证体验的起步线,预留一些内存给操作系统和Docker本身。
- 存储:至少需要20GB的SSD存储空间,用于存放服务端程序、存档和日志。机械硬盘可能导致地图加载缓慢。
- 网络:上行带宽是关键。国内家庭宽带通常上行带宽远小于下行,如果用作服务器且玩家在外网,体验可能不佳。更推荐使用云服务器,它们通常提供对等的公网IP和带宽。
2.2 操作系统与软件依赖
我们将在一台安装了Linux操作系统的服务器上进行部署,这是最稳定和高效的选择。
- 操作系统:推荐使用Ubuntu 22.04 LTS或CentOS 7/8。本文以Ubuntu 22.04为例。
- 远程连接:确保你拥有服务器的SSH访问权限,并知道如何通过终端(如PuTTY, Xshell, 或系统自带的终端)连接它。
- 安装Docker:Docker是我们部署的核心工具。在Ubuntu上,可以通过以下命令安装:
如果看到“Hello from Docker!”的输出,说明安装成功。# 更新软件包索引 sudo apt-get update # 安装必要的依赖包,允许apt通过HTTPS使用仓库 sudo apt-get install -y \ ca-certificates \ curl \ gnupg \ lsb-release # 添加Docker的官方GPG密钥 sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg # 设置Docker稳定版仓库 echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # 更新apt包索引,并安装Docker引擎 sudo apt-get update sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin # 验证Docker是否安装成功 sudo docker run hello-world - (可选)安装Docker Compose:虽然我们可以直接用
docker run命令,但使用Docker Compose通过一个YAML文件管理服务会更清晰。安装命令如下:# 下载特定版本的Docker Compose(这里以v2.20.0为例) sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose # 赋予执行权限 sudo chmod +x /usr/local/bin/docker-compose # 验证安装 docker-compose --version
2.3 网络与防火墙配置
这是让外部玩家能连接到你服务器的关键一步。
- 云服务器安全组/防火墙:登录你的云服务商控制台(如阿里云、腾讯云、AWS),找到你的云服务器实例,配置其安全组或防火墙规则。需要入方向放行以下端口:
- 协议:UDP,端口范围:8211
- 协议:TCP/UDP,端口范围:27015-27016 将源IP设置为
0.0.0.0/0(允许所有IP访问)或你信任的IP段。
- 本地服务器(家用电脑):这涉及路由器设置,步骤因路由器品牌而异。通常需要:
- 在路由器管理界面找到“端口转发”或“虚拟服务器”功能。
- 添加一条规则,将外部端口8211(UDP)和27015-27016(TCP/UDP)转发到你运行Docker服务的内网主机IP地址的相同端口上。
- 同时,确保你电脑本机的防火墙(如Windows Defender防火墙)也放行了这些端口。
注意:使用家庭宽带搭建服务器,通常没有固定的公网IP地址(动态公网IP或处于运营商大内网),这会导致IP地址变化后玩家无法连接。解决此问题需要申请公网IP或使用内网穿透工具,过程较为复杂,因此云服务器是更简单可靠的选择。
3. 使用Docker一键部署幻兽帕鲁服务器
我们将使用社区维护的、经过验证的Docker镜像来运行服务端,这比手动编译和配置SteamCMD要简单得多。
3.1 创建服务器数据目录
首先,在宿主机上创建一个目录,用于存放所有服务器相关的数据(配置、存档、日志)。这样即使删除容器,数据也不会丢失。
# 创建一个总目录 sudo mkdir -p /data/palworld # 进入该目录 cd /data/palworld3.2 编写Docker启动命令或Compose文件
有两种方式启动容器:直接使用docker run命令,或使用docker-compose.yml文件。后者更易于管理和版本控制。
方式一:使用docker run命令在终端中执行以下长命令(建议先复制到文本编辑器,根据注释修改后再执行):
sudo docker run -d \ --name palworld-server \ # 给容器起个名字,方便管理 -p 8211:8211/udp \ # 映射游戏UDP端口 -p 27015:27015/tcp \ # 映射Steam查询TCP端口 -p 27015:27015/udp \ # 映射Steam查询UDP端口 -v /data/palworld/saved:/palworld/saved \ # 将宿主机目录挂载到容器存档目录 -v /data/palworld/config:/palworld/config \ # 挂载配置目录 -e SERVER_NAME="My Palworld Server" \ # 设置服务器名称(在游戏列表里显示) -e SERVER_DESCRIPTION="A private server for friends" \ # 服务器描述 -e ADMIN_PASSWORD="admin123" \ # 管理员密码(用于RCON或Web管理) -e SERVER_PASSWORD="" \ # 服务器连接密码,留空则无密码 -e PLAYERS=32 \ # 最大玩家数 -e MULTITHREADING_ENABLED=true \ # 启用多线程(建议开启) -e RCON_ENABLED=true \ # 启用RCON(远程控制台) -e RCON_PORT=25575 \ # RCON端口 -e TZ=Asia/Shanghai \ # 设置容器时区 --restart unless-stopped \ # 设置容器自动重启策略 thijsvanloef/palworld-server:latest # 使用的Docker镜像方式二:使用docker-compose.yml文件(推荐)在/data/palworld目录下创建一个名为docker-compose.yml的文件:
version: '3.8' services: palworld: image: thijsvanloef/palworld-server:latest container_name: palworld-server restart: unless-stopped ports: - "8211:8211/udp" - "27015:27015/tcp" - "27015:27015/udp" - "25575:25575/tcp" # RCON端口,用于管理工具连接 volumes: - ./saved:/palworld/saved - ./config:/palworld/config environment: - SERVER_NAME=My Awesome Palworld Server - SERVER_DESCRIPTION=Welcome to our community server! - ADMIN_PASSWORD=YourStrongAdminPasswordHere # 务必修改成强密码! - SERVER_PASSWORD= # 留空为无密码,设置密码则玩家需要输入 - PLAYERS=32 - MULTITHREADING_ENABLED=true - RCON_ENABLED=true - RCON_PORT=25575 - TZ=Asia/Shanghai # 可选:限制容器资源使用,防止服务器占用过多宿主机资源 # deploy: # resources: # limits: # cpus: '4.0' # memory: 8G保存文件后,在/data/palworld目录下执行以下命令启动服务器:
sudo docker-compose up -d-d参数表示在后台运行。
3.3 关键环境变量解释
通过环境变量,我们可以灵活地配置服务器。下表列出了最常用的一些变量:
| 环境变量名 | 含义 | 默认值/示例 | 说明 |
|---|---|---|---|
SERVER_NAME | 服务器名称 | My Palworld Server | 在游戏服务器浏览器中显示的名称。 |
SERVER_DESCRIPTION | 服务器描述 | A private server | 服务器的简短描述。 |
ADMIN_PASSWORD | 管理员密码 | admin123 | **非常重要!**用于通过RCON或Web面板管理服务器。务必修改为强密码。 |
SERVER_PASSWORD | 服务器密码 | (空) | 如果设置,玩家连接时需要输入此密码。留空则服务器公开。 |
PLAYERS | 最大玩家数 | 32 | 允许同时连接的最大玩家数量。 |
MULTITHREADING_ENABLED | 多线程支持 | true | 建议设为true以提升性能。 |
RCON_ENABLED | 启用RCON | true | 启用远程控制台,允许外部工具管理服务器。 |
RCON_PORT | RCON端口 | 25575 | RCON服务监听的端口,需在防火墙中放行。 |
TZ | 时区 | Asia/Shanghai | 设置服务器内部时间,影响日志时间戳。 |
PUBLIC_IP | 公网IP | (空) | 如果你的服务器有多个IP或需要指定,可在此设置。通常不需要。 |
PUBLIC_PORT | 公网端口 | 8211 | 如果映射的宿主机端口与容器内端口不同,需在此指定公网端口。 |
3.4 验证服务器是否成功启动
启动命令执行后,需要检查服务器是否正常运行。
- 查看容器状态:
或sudo docker ps | grep palworld
你应该能看到名为sudo docker-compose pspalworld-server的容器状态为Up(运行中)。 - 查看服务器日志:
在日志中,你应该看到类似以下的关键信息,表明服务器已成功启动并开始监听连接:# 查看实时日志 sudo docker logs -f palworld-server # 或查看最后50行日志 sudo docker logs --tail 50 palworld-server
按[2024.xx.xx-xx.xx.xx:xxx][ 0]LogWorld: Bringing World /Game/Pal/Blueprints/World/BP_GameMode_Coop.BP_GameMode_Coop_C up for play (max tick rate 60) at 2024.xx.xx-xx.xx.xx [2024.xx.xx-xx.xx.xx:xxx][ 0]LogNet: GameNetDriver SteamNetDriver listening on port 8211 [2024.xx.xx-xx.xx.xx:xxx][ 0]LogNet: Steam Sockets NetDriver listening on port: 8211Ctrl+C可以退出实时日志查看。
4. 服务器配置详解与游戏内连接
基础服务运行后,我们需要根据实际需求调整游戏规则,并让玩家能够连接进来。
4.1 修改游戏配置文件(PalWorldSettings.ini)
Docker镜像会自动在挂载的/data/palworld/config目录下生成默认配置文件。我们需要修改它来定制游戏规则。
- 进入配置目录并查看文件:
你应该能看到一个名为cd /data/palworld/config ls -laPalWorldSettings.ini的文件。 - 使用文本编辑器(如
nano或vim)打开并编辑这个文件:
文件内容是一长串配置项。以下是一些最常用、对开荒体验影响最大的配置,你可以根据注释进行修改:sudo nano PalWorldSettings.ini[/Script/Pal.PalGameWorldSettings] ; 选项设置 Difficulty=None ; 难度:None, Easy, Normal, Hard ; 死亡惩罚:None(无), Item(只掉物品), ItemAndEquipment(掉物品和装备), All(掉所有) DeathPenalty=All ; 时间与速率设置 DayTimeSpeedRate=1.000000 ; 白天时间流逝速度(默认1.0) NightTimeSpeedRate=1.000000 ; 夜晚时间流逝速度(默认1.0) ExpRate=1.000000 ; 经验获取倍率(默认1.0) PalCaptureRate=1.000000 ; 帕鲁捕获率倍率(默认1.0) PalSpawnNumRate=1.000000 ; 帕鲁出现数量倍率(默认1.0) 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 ; 敌人掉落物品倍率 ; 公会设置 GuildPlayerMaxNum=20 ; 公会最大玩家数 BaseCampMaxNum=128 ; 最大基地数量 BaseCampWorkerMaxNum=15 ; 单个基地最大工作帕鲁数 ; PvP 设置 bEnablePlayerToPlayerDamage=False ; 是否开启玩家间伤害(PvP) bEnableFriendlyFire=False ; 是否开启友军伤害 bEnableInvaderEnemy=True ; 是否开启入侵事件 bActiveUNKO=False ; 是否激活UNKO(一种游戏机制) ; 其他 bEnableAimAssistPad=True ; 手柄瞄准辅助 bEnableAimAssistKeyboard=False ; 键鼠瞄准辅助 DropItemMaxNum=3000 ; 地上掉落物品最大数量 DropItemMaxNum_UNKO=100 ; UNKO相关掉落最大数量 bEnableFastTravel=True ; 是否允许快速旅行 bIsStartLocationSelectByMap=True ; 是否开局可选出生点 bExistPlayerAfterLogout=False ; 玩家下线后角色是否留在世界 bEnableDefenseOtherGuildPlayer=False ; 是否允许防御其他公会玩家 CoopPlayerMaxNum=4 ; 合作玩家最大数(似乎已由PLAYERS环境变量覆盖) ServerPlayerMaxNum=32 ; 服务器最大玩家数(由PLAYERS环境变量控制) - 修改建议:对于“开荒专用服”,可以考虑适当调高
ExpRate(如2.0)、PalCaptureRate(如1.5),并调低DeathPenalty(如设为Item),以降低前期难度,提升成长速度。修改后保存文件。 - 使配置生效:修改配置文件后,需要重启Docker容器才能使新配置生效。
# 如果使用docker run启动的 sudo docker restart palworld-server # 如果使用docker-compose启动的 sudo docker-compose restart
4.2 在游戏中连接你的服务器
服务器重启并运行后,你和你的朋友就可以在游戏中连接了。
- 获取服务器IP地址:
- 云服务器:在云服务商控制台查看服务器的公网IP地址。
- 本地服务器(且有公网IP):在搜索引擎搜索“我的IP”,或使用
curl ifconfig.me命令获取你的公网IP。
- 在《幻兽帕鲁》中连接:
- 启动游戏,进入主菜单。
- 选择“加入多人游戏(专用服务器)”。
- 在底部的“输入服务器地址”栏,按以下格式输入:
你的服务器IP:8211。例如:123.45.67.89:8211。 - 如果设置了
SERVER_PASSWORD,会提示输入密码。 - 点击“联系”即可加入服务器。
4.3 使用RCON工具进行远程管理
RCON(Remote Console)协议允许你通过第三方工具远程向游戏服务器发送控制台命令,实现不登录游戏即可管理服务器的功能,如广播消息、踢人、保存世界等。
- 确保RCON已启用:在启动容器的环境变量中,确认
RCON_ENABLED=true且RCON_PORT=25575已设置,并且ADMIN_PASSWORD是你知道的密码。 - 放行RCON端口:确保服务器的防火墙(安全组)已放行
25575端口的TCP入站流量。 - 使用RCON客户端工具:
- Palworld RCON Clients: 有许多图形化工具,如
Palworld RCON Tool、RCON-Shell等。 - 命令行工具: 如
rcon-cli。可以安装在你的本地电脑上。# 示例:使用 rcon-cli 连接服务器并执行命令 rcon-cli --host 你的服务器IP --port 25575 --password 你的ADMIN_PASSWORD "Broadcast Hello, Server!" - 常用服务器命令:
Save: 立即保存世界状态。Broadcast <消息>: 向所有在线玩家发送广播消息。Shutdown <秒数> <消息>: 在指定秒数后关闭服务器,并发送消息。KickPlayer <SteamID>: 踢出指定Steam ID的玩家。BanPlayer <SteamID>: 封禁指定Steam ID的玩家。ShowPlayers: 显示当前在线玩家列表及其SteamID。
- Palworld RCON Clients: 有许多图形化工具,如
5. 日常维护、备份与常见问题排查
服务器上线后,稳定的运行离不开日常的维护和对突发问题的快速响应。
5.1 服务器日常管理命令
掌握基本的Docker命令,可以高效地管理服务器生命周期。
| 操作 | Docker Run 方式命令 | Docker Compose 方式命令 | 说明 |
|---|---|---|---|
| 启动服务器 | sudo docker start palworld-server | sudo docker-compose up -d | 启动服务。up -d会创建并启动。 |
| 停止服务器 | sudo docker stop palworld-server | sudo docker-compose stop | 优雅地停止容器。 |
| 重启服务器 | sudo docker restart palworld-server | sudo docker-compose restart | 重启容器,使配置生效。 |
| 查看状态 | sudo docker ps | grep palworld | sudo docker-compose ps | 查看容器运行状态。 |
| 查看实时日志 | sudo docker logs -f palworld-server | sudo docker-compose logs -f | 跟踪服务器日志输出。 |
| 进入容器Shell | sudo docker exec -it palworld-server bash | sudo docker-compose exec palworld bash | 进入容器内部(用于高级调试)。 |
| 更新服务器镜像 | sudo docker pull thijsvanloef/palworld-server:latestsudo docker restart palworld-server | sudo docker-compose pullsudo docker-compose up -d | 拉取最新镜像并重启以更新游戏服务端。 |
5.2 存档备份与恢复
存档是服务器最宝贵的资产,必须定期备份。
- 备份存档:服务器的存档位于我们挂载的宿主机目录
/data/palworld/saved下。直接打包这个目录即可。
建议将备份过程写成脚本,并利用# 进入服务器数据目录 cd /data/palworld # 停止服务器(确保存档文件一致) sudo docker-compose stop # 创建备份(带上日期) tar -czvf palworld-backup-$(date +%Y%m%d-%H%M%S).tar.gz saved/ # 重新启动服务器 sudo docker-compose start # 将备份文件传输到安全的地方(如另一台机器、云存储)cron定时任务每天自动执行。 - 恢复存档:如果存档损坏或需要回滚。
# 停止服务器 sudo docker-compose stop # 删除或移走当前损坏的存档目录 mv saved saved.bak # 解压备份文件到当前目录 tar -xzvf palworld-backup-20240101-120000.tar.gz # 确保解压出的目录名为`saved` # 启动服务器 sudo docker-compose start
5.3 常见问题与排查路径
以下是搭建和运行过程中可能遇到的典型问题及解决方法。
| 问题现象 | 可能原因 | 排查步骤 | 解决方案 |
|---|---|---|---|
| 游戏内搜不到服务器 | 1. 服务器未成功启动。 2. 端口未正确映射或放行。 3. 服务器在Steam列表更新延迟。 | 1.docker ps检查容器状态。2. docker logs查看日志是否有错误。3. 在服务器本地用 netstat -anp | grep :8211检查端口监听状态。4. 检查云服务器安全组/本地防火墙规则。 | 1. 根据日志修复启动错误。 2. 确保端口映射( -p 8211:8211/udp)正确,且宿主机防火墙放行。3. 尝试使用“直接连接”方式(IP:端口)。 |
| 直接连接提示超时/失败 | 1. 网络不通。 2. 客户端IP被服务器防火墙拦截。 | 1. 从客户端电脑使用telnet 服务器IP 8211(UDP无法telnet) 或tcping 服务器IP 8211测试连通性。2. 检查服务器防火墙是否允许客户端IP段访问。 | 1. 确认客户端网络正常,无代理干扰。 2. 将客户端IP加入服务器防火墙白名单,或暂时关闭防火墙测试。 |
| 玩家连接后卡在加载界面 | 1. 服务器性能不足(CPU/内存)。 2. 玩家客户端与服务器版本不一致。 3. 存档文件过大或损坏。 | 1. 在服务器上运行htop或docker stats查看资源使用率。2. 对比服务器容器日志和玩家客户端游戏版本。 3. 检查存档文件大小。 | 1. 升级服务器配置,或减少PLAYERS数量。2. 确保服务器镜像为最新( docker pull),并重启客户端Steam更新游戏。3. 尝试恢复备份的存档。 |
| 服务器运行一段时间后崩溃 | 1. 内存泄漏或耗尽。 2. 游戏服务端本身bug。 3. 宿主机资源竞争。 | 1. 查看崩溃前的Docker日志 (docker logs --tail 100)。2. 检查宿主机系统日志 ( journalctl -xe)。3. 监控内存使用情况。 | 1. 为Docker容器设置内存限制(见Compose文件注释)。 2. 查阅镜像的GitHub Issues,看是否有已知问题。 3. 设置容器自动重启策略 ( restart: unless-stopped)。 |
| 修改配置文件后不生效 | 1. 修改了错误的文件。 2. 修改后未重启服务器。 3. 配置文件语法错误。 | 1. 确认修改的是挂载目录 (/data/palworld/config) 下的文件。2. 确认已执行 docker-compose restart。3. 检查配置文件是否有拼写错误或格式问题。 | 1. 确保路径正确。 2. 每次修改后必须重启容器。 3. 对比原始配置文件,或使用在线的INI格式校验工具。 |
| 管理员密码无效,无法使用RCON | 1. 环境变量ADMIN_PASSWORD设置错误或未生效。2. RCON服务未启动。 | 1. 检查docker-compose.yml或docker run命令中的ADMIN_PASSWORD值。2. 查看日志确认 RCON enabled on port 25575字样。3. 使用 netstat检查25575端口是否在监听。 | 1. 修正环境变量,并重启容器。 2. 确保 RCON_ENABLED=true。 |
5.4 性能监控与优化建议
为了服务器长期稳定运行,建议实施一些监控和优化措施。
- 基础监控:使用
docker stats命令可以实时查看容器的CPU、内存使用情况。对于云服务器,利用云平台提供的监控仪表盘(如CloudWatch、云监控)观察网络流量、磁盘IO等指标。 - 日志管理:Docker容器的日志默认会占用磁盘空间。可以配置Docker的日志驱动和轮转策略,防止日志文件无限增长。
# 编辑Docker守护进程配置 sudo nano /etc/docker/daemon.json # 添加或修改以下内容 { "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" } } # 重启Docker服务使配置生效 sudo systemctl restart docker - 定期更新:关注所使用的Docker镜像仓库(如
thijsvanloef/palworld-server),在游戏版本大更新后,及时拉取最新镜像并重启服务,以获取性能优化和Bug修复。 - 资源限制:在
docker-compose.yml中,可以使用deploy.resources.limits为容器设置CPU和内存上限,防止单个容器耗尽宿主机资源,影响其他服务。
通过以上步骤,你已经完成了一个《幻兽帕鲁》1.0正式版专用服务器从零到一的搭建、配置和基础运维。这个由你掌控的私人世界,将为你和你的朋友们提供稳定、自由且充满乐趣的游戏体验。记住,定期备份存档是服务器管理员最重要的职责。