How to Self-Host a Palworld Server with Docker

What Is Palworld?

Palworld is an open-world survival crafting game where players capture and battle creatures called “Pals” while building bases and exploring. It became one of the fastest-selling games on Steam, hitting 25 million sales within its first month of early access in January 2024. Running your own dedicated server lets you control world settings, player limits, and who can join — without paying for official server hosting or relying on peer-to-peer connections.

Updated February 2026: Verified with latest Docker images and configurations.

Prerequisites

  • A Linux server (Ubuntu 22.04+ recommended)
  • Docker and Docker Compose installed (guide)
  • 8 GB of free RAM (minimum for 4-8 players)
  • 16 GB of free RAM (recommended for 16+ players)
  • 4 GB of free disk space (more for world saves)
  • Ports 8211/UDP and 27015/UDP open on your firewall

Docker Compose Configuration

Create a project directory:

mkdir -p /opt/palworld && cd /opt/palworld

Create a docker-compose.yml file:

services:
  palworld:
    image: thijsvanloef/palworld-server-docker:v2.3.1
    restart: unless-stopped
    ports:
      - "8211:8211/udp"     # Game server
      - "27015:27015/udp"   # Steam query port
      # - "25575:25575/tcp" # RCON (uncomment if RCON_ENABLED=true)
    environment:
      PUID: 1000                          # User ID for file permissions
      PGID: 1000                          # Group ID for file permissions
      PORT: 8211                          # Game port
      PLAYERS: 16                         # Max players (1-32)
      SERVER_NAME: "My Palworld Server"   # Server name shown in browser
      SERVER_PASSWORD: ""                 # Leave empty for no password
      ADMIN_PASSWORD: "CHANGE_THIS"       # Admin password — CHANGE THIS
      COMMUNITY: false                    # Show in community server list
      MULTITHREADING: true                # Enable multi-threading (recommended)
      UPDATE_ON_BOOT: true                # Auto-update server on container start
      BACKUP_ENABLED: true                # Enable automated backups
      BACKUP_CRON_EXPRESSION: "0 */6 * * *"  # Backup every 6 hours
      TZ: "America/New_York"              # Server timezone
      # RCON_ENABLED: false               # Uncomment to enable RCON
      # RCON_PORT: 25575                  # RCON port
      # REST_API_ENABLED: true            # REST API for server management
    volumes:
      - palworld-data:/palworld           # Server data, saves, configs

volumes:
  palworld-data:

Start the server:

docker compose up -d

The first start downloads the Palworld server files (~4 GB). Monitor progress:

docker compose logs -f palworld

Wait for Setting breakpad minidump AppID = 2394010 and the port binding messages indicating the server is ready.

Initial Setup

  1. Launch Palworld on your gaming PC
  2. Select “Join Multiplayer Game”
  3. Enter your server IP and port: your-server-ip:8211
  4. Enter the server password if you set one
  5. You’re in — the world generates on first player connection

Making Yourself Admin

  1. Connect to the server as a player
  2. Open the chat and type: /AdminPassword CHANGE_THIS (using your ADMIN_PASSWORD)
  3. You now have admin commands — kick, ban, broadcast, and world management

Configuration

Key Server Settings

VariableDefaultDescription
PLAYERS16Maximum concurrent players (1-32)
SERVER_PASSWORD(empty)Password to join — leave empty for open server
COMMUNITYfalseList in community server browser
MULTITHREADINGfalseMulti-core processing (set to true for better performance)
UPDATE_ON_BOOTtrueDownload server updates on container restart
BACKUP_ENABLEDtrueAutomated world backups
BACKUP_CRON_EXPRESSION0 0 * * *Backup schedule (default: daily midnight)
AUTO_PAUSE_ENABLEDfalsePause server when no players online (saves resources)
AUTO_PAUSE_TIMEOUT_EST180Seconds of inactivity before pause

Game World Settings

Advanced world configuration is done through PalWorldSettings.ini inside the server data volume. After the first start:

# Find and edit the settings file
docker compose exec palworld cat /palworld/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini

Key settings you can adjust:

SettingDefaultWhat It Does
ExpRate1.0Experience gain multiplier
PalCaptureRate1.0Pal catch rate multiplier
DayTimeSpeedRate1.0Day cycle speed
NightTimeSpeedRate1.0Night cycle speed
DeathPenalty1Drop items on death (0=none, 1=items, 2=items+pals)
bEnablePlayerToPlayerDamagefalsePvP toggle

Automated Backups

With BACKUP_ENABLED=true, the container automatically saves world data on the configured schedule. Backups are stored in /palworld/backups/ inside the volume.

To create a manual backup:

docker compose exec palworld backup

To restore from a backup:

docker compose exec palworld restore

Reverse Proxy

Palworld uses UDP for game traffic, so standard HTTP reverse proxies (Nginx, Caddy) don’t apply. Players connect directly to your server’s IP and game port.

Firewall rules (UFW):

sudo ufw allow 8211/udp    # Game port
sudo ufw allow 27015/udp   # Steam query port

If you’re behind a router, forward these ports to your server’s local IP.

Backup

What to Back Up

DataLocationImportance
World savespalworld-data volume (/palworld/Pal/Saved/)Critical
Server configpalworld-data volume (/palworld/Pal/Saved/Config/)Important
Automated backupspalworld-data volume (/palworld/backups/)Important

Volume Backup

docker compose stop palworld
tar czf palworld-backup-$(date +%Y%m%d).tar.gz -C /var/lib/docker/volumes/ palworld-data
docker compose start palworld

See Backup Strategy for automated approaches.

Troubleshooting

Server Not Appearing in Community List

Symptom: COMMUNITY=true but server doesn’t show in the community browser.

Fix:

  1. Verify port 27015/UDP is open and forwarded
  2. Check the Steam query port is accessible: nmap -sU -p 27015 your-server-ip
  3. Restart the container — community registration can take a few minutes
  4. Verify SERVER_NAME is set (unnamed servers may not appear)

Players Can’t Connect

Symptom: “Unable to connect” or timeout when joining.

Fix:

  1. Verify port 8211/UDP is open: sudo ufw status
  2. If behind NAT, ensure port forwarding is configured on your router
  3. Test from an external network (not the same LAN)
  4. Check server logs for errors: docker compose logs palworld

Server Crashes with Out of Memory

Symptom: Container killed with OOM (Out of Memory) error.

Fix:

  • Palworld servers use 4-8 GB RAM for small groups, 12-16 GB for 16+ players
  • Add more RAM to your server or reduce PLAYERS limit
  • Enable AUTO_PAUSE_ENABLED=true to free resources when no one’s playing
  • Monitor memory: docker stats palworld

World Save Corrupted

Symptom: Server starts but world is empty or reverts to earlier state.

Fix:

  1. Stop the server: docker compose stop palworld
  2. List available backups: ls -la /var/lib/docker/volumes/palworld-data/_data/backups/
  3. Restore the most recent clean backup: docker compose exec palworld restore
  4. Start the server: docker compose start palworld

Resource Requirements

PlayersRAM (Minimum)RAM (Recommended)CPUDisk
1-44 GB8 GB2 cores4 GB
5-88 GB12 GB4 cores8 GB
9-1612 GB16 GB4 cores10 GB
17-3216 GB24 GB6+ cores15 GB

Palworld servers are memory-hungry. Budget more RAM than you think you’ll need — the game loads entire world chunks into memory.

Verdict

The thijsvanloef/palworld-server-docker image is excellent — actively maintained, well-documented, and includes features like auto-updates, automated backups, and RCON support that you’d have to build yourself with a bare-metal install. Self-hosting costs a fraction of paid Palworld server hosting (G-Portal, Nitrado charge $10-25/month for similar specs).

Run your own server if you want full control over world settings, player limits, and data. Use a paid host if you don’t want to manage Docker and your player group needs guaranteed uptime with SLA support.

Frequently Asked Questions

How much RAM does a Palworld server need?

A Palworld server requires 8 GB minimum for 4-8 players. For 9-16 players, allocate 12-16 GB. The game loads entire world chunks into memory, so RAM usage grows with explored area and active structures. The server is significantly more memory-hungry than Minecraft or Valheim — budget more than you think you’ll need.

Can I run a Palworld server on a Raspberry Pi?

No. Palworld servers require x86_64 architecture and at least 8 GB of RAM. A Raspberry Pi 5 has ARM architecture and at most 8 GB RAM — neither sufficient. Use a VPS with 8+ GB RAM or a home server with a modern x86 CPU. Cloud providers like Hetzner or OVH offer suitable servers from $10-20/month.

Does the server auto-update when Palworld patches?

Yes, if you enable AUTO_UPDATE in the Docker Compose environment variables. The thijsvanloef/palworld-server-docker image checks for game updates on container start and can be configured to check periodically. Players will need to update their game client to match the server version — mismatched versions cannot connect.

How do I back up my Palworld world?

The Docker image includes automated backup support. Configure BACKUP_ENABLED=true and set BACKUP_CRON_EXPRESSION for scheduling. Backups are stored in the backup volume. You can also manually copy the save data from the game data volume. Always back up before major updates — Palworld updates occasionally change save formats.

Can I transfer my single-player world to the dedicated server?

Yes. Copy your single-player save files from your local game directory to the server’s save data volume. The save file structure must match — place files in the correct directory path within the container’s data volume. Back up both locations before attempting the transfer. Some world settings may need adjustment in the server configuration.

How do I connect to the RCON console?

Enable RCON in your environment variables with RCON_ENABLED=true and set an ADMIN_PASSWORD. Connect using any RCON client (like rcon-cli or a web-based tool) to port 25575 (default). RCON lets you manage the server remotely — kick/ban players, change settings, save the world, and shut down gracefully.

Comments