105 lines
3.5 KiB
Markdown
105 lines
3.5 KiB
Markdown
# 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 <steamid>` | Kick a player |
|
|
| `/BanPlayer <steamid>` | Ban a player |
|
|
| `/Save` | Force world save |
|
|
| `/Shutdown <seconds> <message>` | 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
|