Sanitized mirror from private repository - 2026-03-19 02:19:26 UTC
Some checks failed
Documentation / Build Docusaurus (push) Failing after 18m30s
Documentation / Deploy to GitHub Pages (push) Has been skipped

This commit is contained in:
Gitea Mirror Bot
2026-03-19 02:19:26 +00:00
commit 206cbd2780
1222 changed files with 304559 additions and 0 deletions

View 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

View 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