Sanitized mirror from private repository - 2026-03-19 02:19:26 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
|
||||
48
hosts/vms/seattle/palworld/docker-compose.yml
Normal file
48
hosts/vms/seattle/palworld/docker-compose.yml
Normal file
@@ -0,0 +1,48 @@
|
||||
services:
|
||||
palworld-server:
|
||||
image: thijsvanloef/palworld-server-docker:latest
|
||||
container_name: palworld-server
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8211:8211/udp" # Game port
|
||||
- "27016:27016/udp" # Query port (27015 used by gmod)
|
||||
- "25575:25575/tcp" # RCON (Tailscale-only access)
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- PORT=8211
|
||||
- QUERY_PORT=27016
|
||||
- PLAYERS=16
|
||||
- MULTITHREADING=true
|
||||
- COMMUNITY=false
|
||||
- SERVER_NAME=Vish Palworld
|
||||
- SERVER_PASSWORD="REDACTED_PASSWORD"
|
||||
- ADMIN_PASSWORD="REDACTED_PASSWORD"
|
||||
- RCON_ENABLED=true
|
||||
- RCON_PORT=25575
|
||||
- UPDATE_ON_BOOT=true
|
||||
- TZ=America/Los_Angeles
|
||||
volumes:
|
||||
- palworld-data:/palworld
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: "8"
|
||||
memory: 16G
|
||||
reservations:
|
||||
cpus: "2"
|
||||
memory: 4G
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: "10m"
|
||||
max-file: "3"
|
||||
networks:
|
||||
- palworld-network
|
||||
|
||||
volumes:
|
||||
palworld-data:
|
||||
|
||||
networks:
|
||||
palworld-network:
|
||||
driver: bridge
|
||||
Reference in New Issue
Block a user