Skip to content

Palworld Server Deployment Overview

Prerequisites

The following parameters and conditions are required for the system to function correctly:

  • Operating System: Ubuntu.

  • Access Rights: A user with sudo privileges to install Docker and manage containers.

  • Domain Name: A domain in the hostkey.in zone is required.

  • Ports: The system uses the following ports (depending on configuration):

    • 443/TCP: HTTPS access to the control panel.

    • 12444/TCP: Access to the daemon via WebSocket (WSS).

    • 8211/UDP: Palworld game port.

    • 25575/TCP: RCON port.

FQDN of the final panel on hostkey.in domain

Parameter Value
Prefix palworld
Domain hostkey.in
Full Template palworld{Server_ID_from_Invapi}.hostkey.in

Files and Directories Structure

Core data and configurations are distributed across the following paths:

  • /opt/proxy: Base directory for the Nginx reverse proxy.

    • /opt/proxy/nginx/conf.d: Nginx configuration files.

    • /opt/proxy/letsencrypt: SSL certificates (Let's Encrypt).

    • /opt/proxy/www: Files for ACME verification.

  • /opt/mcsmanager/daemon/data: MCSManager daemon data.

  • /opt/mcsmanager/web/data: MCSManager web panel data.

  • /opt/mcsm/daemon/logs: Daemon logs.

Application Installation Process

Deployment includes automatic installation of Docker, configuration of MCSManager containers (Web and Daemon), acquisition of SSL certificates via Certbot, and creation of the Palworld game instance. After the control panel starts, local node registration (Daemon) in the web interface and the game server launch occur automatically.

Docker Containers and their Execution

The system uses several containers to ensure the operation of the control panel, proxying, and gameplay.

Proxy Server and Certificates

Container Name Image Ports Volumes Restart Policy
palworld-proxy nginx:alpine network_mode: host /opt/proxy/nginx/conf.d:/etc/nginx/conf.d:ro, /opt/proxy/letsencrypt:/etc/letsencrypt, /opt/proxy/www:/var/www/certbot unless-stopped
palworld-certbot certbot/certbot /opt/proxy/letsencrypt:/etc/letsencrypt, /opt/proxy/www:/var/www/certbot

Management (MCSManager)

Container Name Image Ports Volumes Restart Policy
mcsm-daemon tophc7/mcsm:daemon 24444:24444 /opt/mcsmanager/daemon/data:/opt/mcsmanager/daemon/data, /var/run/docker.sock:/var/run/docker.sock unless-stopped
mcsm-web tophc7/mcsm:web 23333:23333 /opt/mcsmanager/web/data:/opt/mcsmanager/web/data unless-stopped

Game Server

Container Name Image Ports Environment Variables (env) Restart Policy
palworld-server kagurazakanya/palworld:latest 8211/udp, 25575/tcp PORT=8211, PLAYERS=16, SERVER_NAME=Palworld-{Server_ID}, ADMIN_PASSWORD={password} unless-stopped

Databases

In this configuration, the database is not deployed in a separate container; instead, it uses built-in MCSManager functionality to store metadata and settings. Data is stored in directories /opt/mcsmanager/daemon/data and /opt/mcsmanager/web/data.

Application Update

Updates are performed via pull (updating images) and restarting containers:

docker compose -f /opt/proxy/docker-compose.yml pull && docker compose -f /opt/proxy/docker-compose.yml up -d

Permissions Settings

The following permissions are set for the data directories to ensure correct operation:

  • MCSManager data directories are created with owner and group 1000:1000 and access permissions 0755.

Available Connection Ports

Port Protocol Description
443 TCP HTTPS access to the web control panel
12444 TCP WebSocket (WSS) for communication between the panel and the daemon
8211 UDP Palworld game traffic
25575 TCP RCON port for remote game management

Starting and Stopping the Application

Container management is performed via Docker:

  • Start all proxy services:

    docker compose -f /opt/proxy/docker-compose.yml up -d
    

  • Restart Nginx proxy:

    docker restart palworld-proxy
    

question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×