>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 安全
Shell

用 Docker 搭建 Palworld 服务器:告别配置噩梦

还记得年初那阵疯狂的 Palworld 热潮吗?这款游戏至今仍保持着不错的玩家基础,随着重大更新的发布,再次萌生拉上朋友在自己服务器上开黑的冲动。但任何在 Linux 上尝试运行官方服务器的人都知道:SteamCMD 依赖、权限问题、持续的内存泄漏,这些都让人头疼不已。

Thijs van Loef 的 palworld-server-docker 项目正是社区将原始工具打磨成精品的典型案例。作者将所有需要的东西打包进一个容器,添加了自动化功能,而且最棒的是——支持 ARM64。

为什么比手动安装更方便

通常,搭建游戏服务器会陷入无尽的配置文件编辑和端口对抗中。而在这里,一切都通过环境变量来管理。想改难度或开启 PvP?只需编辑 compose.yaml 中的一行,然后重启容器即可。

顺便说一句,该项目不仅支持经典的 x86,还支持树莓派 4/5 和搭载 M1/M2/M3 芯片的 Mac。对于使用 ARM 架构搭建家庭服务器的用户来说,这简直是救星,因为在 ARM 上运行 x86 应用通常需要用 Box64 进行一番折腾。而这里,开箱即用。

这个容器能做什么

作者不仅仅做了一个服务器的"包装器"——还加入了一些官方版本急需的功能。

自动备份和更新

Palworld 服务器在其当前状态(抢先体验版)下容易崩溃或损坏存档。容器内置了 Cron 支持。默认情况下,它会在午夜进行备份,但很容易重新配置。还有自动删除旧归档的功能,这样磁盘不会在一周后被填满。

智能暂停 (Auto-Pause)

对于注重资源使用的用户来说,这可能是最酷的功能。当没有玩家在线时,容器可以让服务器进程"休眠"。一旦有人尝试连接,服务器就会唤醒。这能节省大量内存和 CPU 资源,如果你租用的是一个性能较弱的 VPS,这尤为关键。

Discord 集成

你可以连接 Webhook,服务器会向你的频道报告每个事件:谁加入了、谁离开了、什么时候开始更新、什么时候创建了备份。这是个小功能,但很方便——无需登录游戏就能监控你的世界动态。

硬件要求

Palworld 相当吃资源。如果计划 4-8 个人一起玩,目标配置如下:

  • CPU:至少 4 核心。
  • 内存:16 GB 是必要最低配置。开发者建议 32 GB 以获得稳定运行,因为游戏在长时间运行过程中存在内存泄漏问题。
  • 磁盘:约 8-20 GB。

使用 Docker Compose 快速开始

最简单的入门方式是使用 Docker Compose。创建一个 compose.yaml 文件并添加基本配置:

services:
   palworld:
      image: thijsvanloef/palworld-server-docker:latest
      restart: unless-stopped
      container_name: palworld-server
      stop_grace_period: 30s
      ports:
        - 8211:8211/udp
        - 27015:27015/udp
      environment:
         - PUID=1000
         - PGID=1000
         - PORT=8211
         - PLAYERS=16
         - MULTITHREADING=true
         - SERVER_NAME=My-Awesome-Pal-Server
         - ADMIN_PASSWORD=SuperSecretAdminPass
         - SERVER_PASSWORD=LetMeIn123
         - COMMUNITY=false
      volumes:
         - ./palworld:/palworld/

之后只需运行 docker compose up -d。容器会下载 SteamCMD、获取最新的服务器文件,然后启动世界。

通过 RCON 和 REST API 管理

如果你需要踢掉一个捣乱的人或向所有玩家发送消息("服务器将在 5 分钟后重启"),无需进入容器内部。镜像内置了 rcon-clirest-cli 工具。

广播消息的示例命令:

docker exec -it palworld-server rcon-cli "Broadcast Внимание! Технические работы"

对于想编写自己的服务器管理机器人的用户,这里有完整的 REST API。它默认在 8212 端口启用。

是否值得尝试

如果你打算玩 Palworld 不止一个晚上,这个仓库是必备的。它省去了备份的繁琐流程,让你可以通过简单的环境变量灵活配置游戏平衡(蛋孵化速度、帕鲁伤害、昼夜循环速度)。

唯一需要注意的是游戏对内存的胃口。即使在 Docker 中,服务器也可能"吃掉"所有可用资源,所以设置定时自动重启(这里也提供了这个功能)会非常有用。

该项目维护活跃,提交频繁,Discord 社区也会及时帮助解决 bug。对于家庭托管或朋友小服务器来说,这是目前最好的解决方案。

相关项目