Sanitized mirror from private repository - 2026-04-20 01:32:01 UTC
This commit is contained in:
104
hosts/vms/seattle/palworld/README.md
Normal file
104
hosts/vms/seattle/palworld/README.md
Normal file
@@ -0,0 +1,104 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user