This Docker image includes a Palworld Dedicated Server based on Linux and Docker.
- Docker - Palworld Dedicated Server
- Table of Contents
- How to ask for support for this Docker image
- Requirements
- Minimum system requirements
- Getting started
- Environment variables
- Docker-Compose examples
- Run RCON commands
- Webhook integration
- Deploy with Helm
- FAQ
- How can I use the interactive console in Portainer with this image?
- How can I look into the config of my Palworld container?
- I'm seeing S_API errors in my logs when I start the container?
- I'm using Apple silicon type of hardware, can I run this?
- I changed the
BaseCampWorkerMaxNum
setting, why didn't this update the server?
- Planned features in the future
- Software used
If you need support for this Docker image:
- Feel free to create a new issue.
- You can reference other issues if you're experiencing a similar problem via #issue-number.
- Follow the instructions and answer the questions of people who are willing to help you.
- Once your issue is resolved, please close it and please consider giving this repo and the Docker-Hub repository a star.
- Please note that any issue that has been inactive for a week will be closed due to inactivity.
Please avoid:
- Reusing or necroing issues. This can lead to spam and may harass participants who didn't agree to be part of your new problem.
- If this happens, we reserve the right to lock the issue or delete the comments, you have been warned!
To run this Docker image, you need a basic understanding of Docker, Docker-Compose, Linux, and Networking (Port-Forwarding/NAT).
Resource | 1-8 players | 8-12+ players |
---|---|---|
CPU | 4 CPU-Cores @ High GHz | 6-8 CPU Cores @ High GHz |
RAM | 8GB RAM Base + 2GB per player | 12GB RAM Base + 2GB per player |
Storage | 30GB | 30GB+ |
- Create a
game
sub-directory on your Docker-Node in your game-server-directory (Example:/srv/palworld
). Give it full ownership withchown -R 1000:1000 game/
or permissions withchmod 777 game
. - Set up Port-Forwarding or NAT for the ports in the Docker-Compose file.
- Pull the latest version of the image with
docker pull jammsen/palworld-dedicated-server:latest
. - Download the docker-compose.yml and default.env.
- Set up the
docker-compose.yml
anddefault.env
to your liking.- Refer to the Environment-Variables section for more information.
- Start the container via
docker-compose up -d && docker-compose logs -f
.- Watch the log, if no errors occur you can close the logs with ctrl+c.
- Now have fun and happy gaming!
See this file for the documentation
See example docker-compose.yml.
Open a shell into your container via docker exec -ti palworld-dedicated-server bash
, then you can run commands against the gameserver via the command rcon
or rconcli
$:~/steamcmd$ rcon showplayers
name,playeruid,steamid
$:~/steamcmd$ rcon info
Welcome to Pal Server[v0.1.3.0] jammsen-docker-generated-20384
$:~/steamcmd$ rcon save
Complete Save
Important: Please research the RCON-Commands on the official source: https://tech.palworldgame.com/server-commands
To enable webhook integration, you need to set the following environment variables in the default.env
:
WEBHOOK_ENABLED=true
WEBHOOK_URL="https://your.webhook.url"
After that the server should send messages in a Discord-Compatible way to your webhook.
- Server starting
- Server stopped
A Helm chart to deploy this container can be found at palworld-helm.
You can run this `docker exec -ti palworld-dedicated-server bash' or you could navigate to the "Stacks" tab in Portainer, select your stack, and click on the container name. Then click on the "Exec console" button.
You can run this docker exec -ti palworld-dedicated-server cat /palworld/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
and it will show you the config inside the container.
Errors like [S_API FAIL] Tried to access Steam interface SteamUser021 before SteamAPI_Init succeeded.
are safe to ignore.
You can try to insert in your docker-compose file this parameter platform: linux/amd64
at the palworld service. This isnt a special fix for Apple silicon, but to run on other than x86 hosts. The support for arm exists only by enforcing x86 emulation, if that isnt to host already. Rosetta is doing the translation/emulation.
This is a confirmed bug. Changing BaseCampWorkerMaxNum
in the PalWorldSettings.ini
has no affect on the server. There are tools out there to help with this, like this one: https://github.com/legoduded/palworld-worldoptions
PLEASE NOTE Adding WorldOption.sav
will break PalWorldSetting.ini
. To make changes, you must update your WorldOption.sav
again.
- Feel free to suggest something
- CM2Network SteamCMD - Debian-based (Officially recommended by Valve - https://developer.valvesoftware.com/wiki/SteamCMD#Docker)
- Supercronic - https://github.com/aptible/supercronic
- rcon-cli - https://github.com/gorcon/rcon-cli
- Palworld Dedicated Server (APP-ID: 2394010 - https://steamdb.info/app/2394010/config/)