# Palworld Dedicated Server Palworld dedicated server running on the Seattle VM via Docker, using [thijsvanloef/palworld-server-docker](https://github.com/thijsvanloef/palworld-server-docker). ## Connection Info | Service | Address | Protocol | |---------|--------------------------------|----------| | Game | `100.82.197.124:8211` | UDP | | Query | `100.82.197.124:27016` | UDP | | RCON | `100.82.197.124:25575` | TCP | Connect in-game using the Tailscale IP: `100.82.197.124:8211` RCON is accessible only over Tailscale (port 25575/tcp). Query port is set to 27016 instead of the default 27015 to avoid conflict with the Gmod server. ## Server Management ```bash # Start the server cd /opt/palworld && docker compose up -d # Stop the server docker compose down # View logs docker compose logs -f palworld-server # Restart the server docker compose restart palworld-server # Force update the server docker compose down && docker compose pull && docker compose up -d ``` ### RCON Commands Connect with any RCON client to `100.82.197.124:25575` using the admin password. Useful commands: | Command | Description | |----------------------------------|--------------------------| | `/Info` | Server info | | `/ShowPlayers` | List connected players | | `/KickPlayer ` | Kick a player | | `/BanPlayer ` | Ban a player | | `/Save` | Force world save | | `/Shutdown ` | Graceful shutdown | ## Configuration Environment variables are set in `docker-compose.yml`. Key settings: | Variable | Default | Description | |--------------------|-----------------|--------------------------------------| | `SERVER_NAME` | Vish Palworld | Server name shown in server browser | | `SERVER_PASSWORD` | *(empty)* | Set via `SERVER_PASSWORD` env var | | `ADMIN_PASSWORD` | changeme | RCON password, set via env var | | `PLAYERS` | 16 | Max concurrent players | | `MULTITHREADING` | true | Multi-threaded CPU usage | | `COMMUNITY` | false | Community server listing visibility | | `UPDATE_ON_BOOT` | true | Auto-update server on container start| | `TZ` | America/Los_Angeles | Server timezone | To set passwords without committing them, export env vars before starting: ```bash export SERVER_PASSWORD="REDACTED_PASSWORD" export ADMIN_PASSWORD="REDACTED_PASSWORD" docker compose up -d ``` ## Resource Limits - CPU limit: 8 cores, reservation: 2 cores - Memory limit: 16 GB, reservation: 4 GB ## Data & Backups Server data persists in the `palworld-data` Docker volume. ```bash # Find volume location docker volume inspect palworld_palworld-data # Backup the volume docker run --rm -v palworld_palworld-data:/data -v $(pwd):/backup alpine tar czf /backup/palworld-backup.tar.gz -C /data . ``` ## Firewall Rules The following ports must be open on the Seattle VM: - `8211/udp` -- Game traffic (open to Tailscale or LAN) - `27016/udp` -- Steam query (open to Tailscale or LAN) - `25575/tcp` -- RCON (restrict to Tailscale only) ## Reference - Image docs: https://github.com/thijsvanloef/palworld-server-docker - Palworld server wiki: https://tech.palworldgame.com/dedicated-server-guide