Skip to content

Deployment Overview of Palworld Server on Server

This document provides the technical deployment configuration for a Palworld Server environment managed via MCSManager. The setup includes a web management panel, a remote daemon for service orchestration, and an Nginx reverse proxy with SSL encryption.

Prerequisites and Basic Requirements

To ensure successful deployment, the following requirements must be met:

  • Operating System: Ubuntu

  • Privileges: Root or sudo access is required for package installation and Docker configuration.

  • Dependencies:

  • Docker Engine

  • Docker Compose Plugin

  • Python 3 (with python3-docker and python3-pip)

  • Network/Ports:

  • Port 80: HTTP traffic for SSL certificate validation.

  • Port 443: HTTPS traffic for the Web Management Panel.

  • Port 12444: HTTPS/WSS traffic for the Daemon connection.

  • Port 8211/UDP: Palworld game server traffic.

  • Port 25575/TCP: RCON (Remote Console) traffic.

FQDN of the final panel on the hostkey.in domain

The management interface is accessible via a dynamically generated subdomain based on the Server ID.

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

File and Directory Structure

The following directories are utilized for data persistence, logs, and configuration:

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

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

  • /opt/proxy/letsencrypt: SSL certificates (managed via Certbot).

  • /opt/proxy/www: Webroot for Let's Encrypt challenges.

  • /opt/mcsmanager/web/data: Data directory for the MCSManager Web interface.

  • /opt/mcsmanager/daemon/data: Data directory for the MCSManager Daemon.

Application installation process

The application is deployed using a combination of package management and Docker containers:

  1. System Preparation: The system installs docker-compose-plugin, python3-docker, and python3-pip via the apt package manager.

  2. Directory Initialization: Specific directories for MCSManager web and daemon data are created with ownership set to user 1000.

  3. Container Deployment:

  4. The MCSManager Daemon is started as a Docker container.

  5. The MCSManager Web interface is started as a Docker container.

  6. Reverse Proxy Setup: An Nginx instance is deployed via Docker Compose to handle SSL termination and routing for both the Web Panel (port 443) and the Daemon (port 12444).

  7. Automated Configuration: The system performs an automated setup of the MCSManager admin account, registers the daemon with the panel using a generated API key, and initializes the Palworld game instance via the MCSManager API.

Access Rights and Security

  • Firewall: Only essential ports (80, 443, 12444, 8211/UDP, 25575/TCP) should be exposed to the public internet.

  • SSL/TLS: All management traffic is encrypted using Let's Encrypt certificates via Certbot.

  • User Permissions: Data directories are assigned to UID/GID 1000 to ensure proper file ownership within containers.

Docker Containers and Their Deployment

The deployment consists of several active containers:

MCSManager Web

  • Image: tophc7/mcssm:web (Version v10.11.0)

  • Ports: 23333:23333

  • Volumes: /opt/mcsmanager/web/data:/opt/mcsmanager/web/data

  • Restart Policy: unless-stopped

MCSManager Daemon

  • Image: tophc7/mcsm:daemon (Version v10.11.0)

  • Ports: 24444:24444

  • Volumes:

  • /opt/mcsmanager/daemon/data:/opt/mcsmanager/daemon/data

  • /var/run/docker.sock:/var/run/docker.sock

  • Restart Policy: unless-stopped

Nginx Proxy

  • Image: nginx:alpine

  • Container Name: palworld-proxy

  • Network Mode: host

  • Volumes:

  • /opt/proxy/nginx/conf.d:/etc/nginx/conf.d:ro

  • /opt/proxy/letsencrypt:/etc/letsencrypt

  • /opt/proxy/www:/var/www/certbot

  • Restart Policy: unless-stopped

Certbot (Auxiliary)

  • Image: certbot/certbot

  • Container Name: palworld-certbot

  • Volumes:

  • /opt/proxy/letsencrypt:/etc/letsencrypt

  • /opt/proxy/www:/var/www/certbot

Palworld Server Instance

  • Image: kagurazakanyaa/palworld:latest (or custom image)

  • Container Name: palworld-{Server_ID}

  • Ports:

  • 8211/UDP

  • 25575/TCP

  • Environment Variables:

  • PORT=8211

  • SERVER_NAME, SERVER_DESCRIPTION, ADMIN_PASSWORD, SERVER_PASSWORD

  • Restart Policy: unless-stopped

Custom Scripts and Additional Setup

The deployment includes an automated initialization sequence:

  • Admin Initialization: An API call is sent to the MCSManager web endpoint to set up the initial administrator credentials.

  • Daemon Registration: The system automatically extracts the daemon's unique key from its configuration file (/opt/mcsmanager/daemon/data/Config/global.json) and registers it as a remote node in the management panel.

  • Instance Provisioning: A Palworld game instance is automatically created via API, configured with specific memory limits (4096MB) and network settings, and then started immediately.

Application Update Instructions

To update the application components:

  • MCSManager Components: Pull the latest images for the web and daemon services using docker compose pull within the relevant directories.

  • Palworld Server: The instance is managed via the MCSManager panel; updates to the game files should be handled through the panel's console or file manager.

Location of configuration files and data

Component Path
Nginx Configs /opt/proxy/nginx/conf.d
SSL Certificates /opt/proxy/letsencrypt/live/
MCSManager Web Data /opt/mcsmanager/web/data
MCSManager Daemon Data /opt/mcsmanager/daemon/data

Available ports for connection

  • Web Management Panel: 443 (HTTPS)

  • Daemon Connection: 12444 (WSS)

  • Palworld Game Port: 8211 (UDP)

  • RCON Port: 25575 (TCP)

Starting and Stopping the application

Management of the proxy layer is handled via Docker Compose:

  • Start Proxy: Navigate to /opt/proxy and run docker compose up -d.

  • Stop Proxy: Navigate to /opt/proxy and run docker compose down.

The individual game instances and MCSManager services are managed directly through the MCSManager Web Panel interface.

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