Как поднять сервер Palworld в Docker и не сойти с ума от настроек
Помните тот безумный ажиотаж вокруг Palworld в начале года? Игра до сих пор удерживает приличный онлайн, а с выходом крупных обновлений желание собрать друзей на собственном сервере возникает снова. Но любой, кто пробовал запускать официальный сервер на Linux, знает: это та еще головная боль с зависимостями SteamCMD, правами доступа и вечно утекающей памятью.
Проект palworld-server-docker от Thijs van Loef — это как раз тот случай, когда сообщество берет сырой инструмент и превращает его в конфетку. Автор упаковал всё необходимое в один контейнер, добавил автоматизацию и, что самое приятное, поддержку ARM64.
Почему это удобнее ручной установки
Обычно настройка игрового сервера превращается в бесконечную правку .ini файлов и борьбу с портами. Здесь же всё управление перенесено в переменные окружения. Хотите изменить сложность или включить PvP? Просто меняете строчку в compose.yaml и перезапускаете контейнер.
Кстати, проект поддерживает не только классический x86, но и Raspberry Pi 4/5, а также Mac на чипах M1/M2/M3. Для владельцев домашних серверов на ARM это спасение, так как запуск x86-приложений там обычно требует танцев с Box64. Здесь это уже настроено «из коробки».
Что умеет этот контейнер
Автор не просто сделал «обертку» над сервером, а добавил функции, которых остро не хватает в официальной сборке.
Автоматические бэкапы и обновления
Сервер Palworld в его текущем состоянии (ранний доступ) любит падать или портить сохранения. В контейнере встроена поддержка Cron. По умолчанию он делает бэкап каждую полночь, но это легко перенастроить. Есть и автоматическое удаление старых архивов, чтобы диск не забился через неделю.
Умная пауза (Auto-Pause)
Это, пожалуй, самая крутая фича для тех, кто экономит ресурсы. Контейнер умеет «усыплять» процесс сервера, когда на нем нет игроков. Как только кто-то пытается подключиться, сервер просыпается. Это экономит кучу оперативной памяти и циклов процессора, что критично, если вы арендуете слабую VPS.
Интеграция с Discord
Вы можете подключить вебхуки, и сервер будет рапортовать в ваш канал о каждом событии: кто зашел, кто вышел, когда началось обновление или когда создался очередной бэкап. Мелочь, а удобно следить за жизнью мира, не заходя в игру.
Технические требования к железу
Palworld довольно прожорлив. Если вы планируете играть в компании 4-8 человек, ориентируйтесь на такие цифры:
- Процессор: минимум 4 ядра.
- Оперативная память: 16 ГБ — это необходимый минимум. Разработчик рекомендует 32 ГБ для стабильной работы, так как у игры есть проблемы с утечками памяти при длительных сессиях.
- Диск: около 8-20 ГБ.
Быстрый старт через 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-cli и rest-cli.
Пример команды для рассылки сообщения:
docker exec -it palworld-server rcon-cli "Broadcast Внимание! Технические работы"
Для тех, кто хочет написать своего бота для управления сервером, есть полноценный REST API. Он включен по умолчанию на порту 8212.
Стоит ли пробовать
Если вы планируете играть в Palworld дольше одного вечера, этот репозиторий — мастхэв. Он избавляет от рутины с бэкапами и позволяет гибко настраивать баланс игры (скорость инкубации яиц, урон палов, скорость смены дня и ночи) через простые переменные окружения.
Единственный нюанс — аппетиты игры к оперативной памяти. Даже в Docker сервер может «съесть» все доступные ресурсы, поэтому настройка автоматических перезагрузок по расписанию (которая тут тоже есть) будет очень кстати.
Проект активно поддерживается, коммиты выходят часто, а сообщество в Discord оперативно помогает с багами. Для домашнего хостинга или небольшого сервера для друзей это сейчас лучшее решение.
