Running your server
From zero to friends on your island. You need the two files from the configurator and a machine that stays on while people play.
What you need
- A machine that stays on: a home server, spare PC, or a cloud VM. Linux is easiest, but Windows and macOS work via Docker Desktop.
- 16 GB RAM recommended (the server uses ~2 GB idle and grows over time), 2+ CPU cores, ~20 GB free disk.
- Docker with the Compose plugin (next step).
Install Docker
On Linux, the official convenience script installs Engine + Compose in one go:
curl -fsSL https://get.docker.com | sh sudo usermod -aG docker $USER # log out & back in afterwards
On Windows or macOS, install Docker Desktop and make sure it's running. Verify with docker --version.
Put your files in place
Configure your server on the Configure page and hit Download both files. Put them together in an empty folder:
palworld/ ├── docker-compose.yml # server + image settings └── .env # server name + passwords (keep private)
Heads-up: .env starts with a dot, so file managers often hide it - check your downloads folder with ls -a if it seems missing. Your world data will be created next to them in ./palworld-data.
Start the server
From inside that folder:
docker compose up -d
The first start downloads the server via SteamCMD (~5 minutes depending on your connection). Watch it come up:
docker compose logs -f # Ctrl+C stops watching, not the server docker ps # STATUS should say "healthy" once ready
The server keeps running in the background and auto-starts after a reboot (restart: unless-stopped is in your compose file).
Let friends join
- Same network: they join via your LAN IP, e.g.
192.168.x.x:8211. - Over the internet: forward UDP 8211 on your router to this machine, then share your public IP as
your-ip:8211. If you enabled the community server list, also forward UDP 27015. - In game: Join Multiplayer→ enter the address at the bottom. If you set a join password, they'll be asked for it.
Linux firewall in the way? sudo ufw allow 8211/udp
Everyday commands
docker compose logs -f # watch the log docker compose restart # restart the server docker compose down # stop it (world is saved first) docker compose pull && docker compose up -d # update to the newest version docker exec palworld-server rcon-cli Save # force a save right now docker exec palworld-server rcon-cli ShowPlayers # who's online
Automatic backups land in palworld-data/backups/ (hourly by default, 7 days kept - you chose this in the configurator). To change any setting later: edit docker-compose.yml or regenerate it, then docker compose up -d applies it with a restart.
Or skip the terminal - the Dashboard does status, saves, broadcasts and restarts for you.
If something's off
- Friends can't join:90% of the time it's the port forward - must be UDP (not TCP) 8211, to the right internal IP.
- Server gets slow after days: Palworld leaks memory over long uptimes; a scheduled
docker compose restart(e.g. nightly via cron) is standard practice. - Container restarts in a loop:
docker compose logsusually names the bad setting; RAM starvation is the other usual suspect.