Skip to content

๐ŸŽฎ Production-ready Palworld dedicated server with ARM64 optimization, FEX emulation, auto-management, Discord notifications, and enterprise backup system.

Notifications You must be signed in to change notification settings

supersunho/docker-palworld-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

133 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฎ Palworld Dedicated Server For ARM64

๐Ÿš€ Production-ready ARM64 optimized Palworld server with FEX + SteamCMD integration

๐ŸŒŸ What Makes This Special?

๐Ÿ”ง ARM64-Optimized Palworld Server

  • Revolutionary FEX Integration: 3-5x faster than QEMU on ARM64
  • Apple Silicon Ready: M1/M2/M3 Macs with native performance
  • Raspberry Pi Support: Perfect for home servers and edge computing
  • AWS Graviton Optimized: Cloud-native ARM64 deployment

๐Ÿค– Intelligent Auto-Management

  • ๐Ÿ”„ Smart Idle Restart: Automatically restart when no players for configurable time
  • ๐Ÿ“Š Advanced Health Monitoring: CPU, memory, disk, and API health checks with auto-recovery
  • ๐Ÿ’พ Enterprise Backup System: Daily/weekly/monthly rotation with intelligent cleanup
  • ๐ŸŽฏ Zero-Downtime Updates: SteamCMD integration with graceful server management

๐ŸŒ Multi-Language Discord Integration

  • Real-time Notifications: Player join/leave, server events, backup completion
  • 4 Languages Supported: Korean, English, Japanese, Chinese
  • Smart Event Filtering: Configurable notification preferences
  • Rich Embeds: Beautiful Discord messages with server status

๐Ÿš€ Quick Start

๐Ÿณ One-Command Deploy

docker run -d \
  --name palworld-server \
  -p 8211:8211/udp \
  -p 8212:8212/tcp \
  -p 25575:25575/tcp \
  -v palworld-data:/home/steam/palworld_server \
  -v palworld-backups:/home/steam/backups \
  supersunho/palworld-server:latest

๐Ÿ“‹ Docker Compose (Recommended)

version: "3.8"
services:
    palworld-server:
        image: supersunho/palworld-server:latest
        container_name: palworld-server
        restart: unless-stopped
        ports:
            - "8211:8211/udp" # Game Server
            - "8212:8212/tcp" # REST API
            - "25575:25575/tcp" # RCON
        environment:
            - SERVER_NAME=๐ŸŽฎ My Palworld Server
            - MAX_PLAYERS=32
            - ADMIN_PASSWORD=your-secure-password
        volumes:
            - palworld-data:/home/steam/palworld_server
            - palworld-backups:/home/steam/backups
            - palworld-logs:/home/steam/logs

volumes:
    palworld-data:
    palworld-backups:
    palworld-logs:

โš™๏ธ Configuration

๐Ÿ”ง Essential Environment Variables

Variable Default Description
SERVER_NAME "Palworld Server" ๐Ÿท๏ธ Server display name
SERVER_PASSWORD "" ๐Ÿ”’ Server join password
ADMIN_PASSWORD "admin123" ๐Ÿ‘‘ Admin/RCON password
MAX_PLAYERS 32 ๐Ÿ‘ฅ Maximum player count (1-32)
BACKUP_ENABLED true ๐Ÿ’พ Enable automatic backups
DISCORD_WEBHOOK_URL "" ๐Ÿ’ฌ Discord webhook for notifications
LANGUAGE ko ๐ŸŒ Language (ko/en/ja)

โฐ NEW: Idle Restart Feature

Variable Default Description
IDLE_RESTART_ENABLED true ๐Ÿ”„ Enable auto-restart when no players
IDLE_RESTART_MINUTES 30 โฑ๏ธ Minutes to wait before restart
DISCORD_EVENT_IDLE_RESTART true ๐Ÿ“ฃ Discord notification for idle restarts

๐ŸŽฎ Game Settings (150+ configurable options)

Variable Default Description
DIFFICULTY None ๐ŸŽฏ Game difficulty
IS_PVP false โš”๏ธ Enable PvP mode
DAY_TIME_SPEED_RATE 1.0 โ˜€๏ธ Day time speed multiplier
EXP_RATE 1.0 ๐Ÿ“ˆ Experience gain rate
PAL_CAPTURE_RATE 1.0 ๐ŸŽฏ Pal capture difficulty

๐Ÿ“„ Complete Environment Variables List

๐ŸŽฏ ARM64 Performance Revolution

Why FEX Matters

Traditional ARM64 emulation (QEMU) is slow and resource-heavy. Our FEX integration changes everything:

Platform Boot Time Memory Usage CPU Usage
ARM64 + FEX ~2 minutes ~1.2GB ~15%
x86_64 Native ~2 minutes ~1.0GB ~12%
ARM64 + QEMU ~8 minutes ~2.1GB ~45%

Optimized FEX Configuration

# Automatically applied in our container
FEX_ENABLE_JIT_CACHE=1
FEX_JIT_CACHE_SIZE=1024
FEX_ENABLE_LAZY_MEMORY_DELETION=1
FEX_ENABLE_STATIC_REGISTER_ALLOCATION=1

๐Ÿ“Š Advanced Features

๐Ÿ”„ Smart Idle Management

# Automatically restart server when empty
IDLE_RESTART_ENABLED=true
IDLE_RESTART_MINUTES=30

# Discord notification in your language
๐Ÿ‡บ๐Ÿ‡ธ "โฐ No players for 30 minutes. Restarting server (My Server)."
๐Ÿ‡ฐ๐Ÿ‡ท "โฐ 30๋ถ„ ๋™์•ˆ ์ ‘์†์ž๊ฐ€ ์—†์–ด ์„œ๋ฒ„(My Server)๋ฅผ ์žฌ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค."
๐Ÿ‡ฏ๐Ÿ‡ต "โฐ 30ๅˆ†้–“ใƒ—ใƒฌใ‚คใƒคใƒผใŒใ„ใชใ‹ใฃใŸใŸใ‚ใ€ใ‚ตใƒผใƒใƒผ(My Server)ใ‚’ๅ†่ตทๅ‹•ใ—ใพใ™ใ€‚"

๐Ÿ’พ Enterprise Backup System

backup:
    enabled: true
    interval_seconds: 3600 # Hourly backups
    retention_days: 7 # Keep daily for 7 days
    retention_weeks: 4 # Keep weekly for 4 weeks
    retention_months: 6 # Keep monthly for 6 months
    compress: true # Gzip compression
    max_backups: 100 # Total backup limit

๐Ÿ“ก REST API & RCON

# REST API endpoints
curl http://localhost:8212/v1/api/info
curl http://localhost:8212/v1/api/players
curl http://localhost:8212/v1/api/settings

# RCON commands
rcon-cli --host localhost --port 25575 --password admin123 ShowPlayers
rcon-cli --host localhost --port 25575 --password admin123 "Broadcast Hello!"

๐Ÿฉบ Health Monitoring

# Built-in health check
docker exec palworld-server python /app/scripts/healthcheck.py

# Automatic recovery on failures
# CPU > 90%, Memory > 95%, API timeouts = auto-restart

๐Ÿ› ๏ธ Advanced Usage

Multi-Arch Build Commands

# Clone repository
git clone https://github.com/supersunho/docker-palworld-server.git
cd docker-palworld-server

# Build for your platform
docker build -t palworld-server .

# Build
docker buildx build --platform linux/arm64 -t palworld-server .

Custom Configuration File

# Mount your own configuration
docker run -d \
  -v ./my-config.yaml:/app/config/default.yaml \
  -v palworld-data:/home/steam/palworld_server \
  supersunho/docker-palworld-server:latest

Development Mode

# Run with development tools
docker run -it --rm \
  -v $(pwd):/app \
  -p 8211:8211/udp \
  supersunho/palworld-server:latest bash

๐ŸŒ Multi-Language Discord Notifications

Supported Languages

  • ๐Ÿ‡ฐ๐Ÿ‡ท Korean (ko) - ํ•œ๊ตญ์–ด ์•Œ๋ฆผ
  • ๐Ÿ‡บ๐Ÿ‡ธ English (en) - English notifications
  • ๐Ÿ‡ฏ๐Ÿ‡ต Japanese (ja) - ๆ—ฅๆœฌ่ชž้€š็Ÿฅ

Example Notifications

Player Join:
๐Ÿ‡บ๐Ÿ‡ธ "๐ŸŽฎ Player joined: Steve (5 players online)"
๐Ÿ‡ฐ๐Ÿ‡ท "๐ŸŽฎ ํ”Œ๋ ˆ์ด์–ด ์ฐธ๊ฐ€: Steve (ํ˜„์žฌ 5๋ช…)"
๐Ÿ‡ฏ๐Ÿ‡ต "๐ŸŽฎ ใƒ—ใƒฌใ‚คใƒคใƒผๅ‚ๅŠ : Steve (็พๅœจ5ไบบ)"

Server Restart:
๐Ÿ‡บ๐Ÿ‡ธ "๐Ÿ”„ Server restarted due to idle timeout"
๐Ÿ‡ฐ๐Ÿ‡ท "๐Ÿ”„ ๋ฌด์ ‘์†์œผ๋กœ ์ธํ•œ ์„œ๋ฒ„ ์žฌ์‹œ์ž‘"
๐Ÿ‡ฏ๐Ÿ‡ต "๐Ÿ”„ ใ‚ขใ‚คใƒ‰ใƒซใ‚ฟใ‚คใƒ ใ‚ขใ‚ฆใƒˆใซใ‚ˆใ‚‹ใ‚ตใƒผใƒใƒผๅ†่ตทๅ‹•"

๐Ÿ“ˆ Resource Requirements & Scaling

Recommended Specifications

Players CPU Cores RAM Storage Bandwidth
1-8 2 cores 2GB 10GB 5 Mbps
9-16 4 cores 4GB 15GB 10 Mbps
17-24 6 cores 6GB 20GB 15 Mbps
25-32 8 cores 8GB 25GB 20 Mbps

Cloud Provider Recommendations

ARM64 Cloud Options ๐Ÿ’š

  • AWS: Graviton3/4 instances (c7g, m7g series)
  • Oracle Cloud: Ampere A1 (4 cores, 24GB RAM - Always Free!)
  • Hetzner: CAX series ARM64 VPS
  • Scaleway: ARM64 instances

๐Ÿค Community & Support

๐Ÿ”— Links

๐Ÿ“œ License & Acknowledgments

MIT License - Free for personal and commercial use.

โญ Love this project? Give it a star! โญ

About

๐ŸŽฎ Production-ready Palworld dedicated server with ARM64 optimization, FEX emulation, auto-management, Discord notifications, and enterprise backup system.

Topics

Resources

Stars

Watchers

Forks

Packages