DocumentationConfiguration▾

Configuration

All configuration is done through a .env file in the repository root. Copy .env.example to .env and adjust the values for your environment.

Variable reference

MySQL database

Variable Description Default
MYSQL_ROOT_PASSWORD MySQL root user password changeme_root
MYSQL_DATABASE Database name MuOnline97
MYSQL_USER Database user mu_admin
MYSQL_PASSWORD Database user password changeme_pass
DB_HOST MySQL container host (leave as-is) mysql
DB_PORT MySQL port 3306
DB_USER User for server connection mu_admin
DB_PASS Password for server connection changeme_pass
DB_NAME Database name for the server MuOnline97

DB_USER and DB_PASS must match MYSQL_USER and MYSQL_PASSWORD.

Game server

Variable Description Default
PUBLIC_IP VPS public IP. The game client connects to this IP. (empty)

Web panel

Variable Description Default
WEB_PORT Web container internal port 8080
SESSION_SECRET Session signing secret. Change to a long random string. change-this-secret
TURNSTILE_SITE_KEY Cloudflare Turnstile site key (login captcha). Optional. (empty)
TURNSTILE_SECRET_KEY Cloudflare Turnstile secret key. Optional. (empty)
ADMIN_USER Admin panel username admin
ADMIN_PASS Admin panel password. Must be changed. 123456
TRUST_PROXY 1 if using a reverse proxy like Nginx Proxy Manager 1

Server editor (optional)

Variable Description Default
EDITOR_ENABLED 1 to enable the editor service, 0 to disable 0
EDITOR_PORT Editor service internal port 8090
EDITOR_API_URL Internal URL for web panel to reach the editor http://mu-editor:8090
EDITOR_MAX_BACKUPS Maximum backups per file 5
EDITOR_MAX_SNAPSHOTS Maximum full snapshots 5

Test data and timezone

Variable Description Default
SEED_TEST_DATA 1 to load test accounts on startup. For testing only. 0
TZ System timezone America/Argentina/Buenos_Aires
TIMEZONE Game server timezone America/Argentina/Buenos_Aires

Cloudflare Turnstile setup (captcha)

To add captcha to the admin login form:

  1. Create a site at Cloudflare Turnstile
  2. Copy the keys to .env:
TURNSTILE_SITE_KEY=0x4AAAAAAA...
TURNSTILE_SECRET_KEY=0x4AAAAAAA...

If the variables are empty, captcha is automatically disabled.

Running behind a reverse proxy

If the web panel runs behind Nginx or Nginx Proxy Manager:

TRUST_PROXY=1

This allows the panel to correctly read the real client IP from the X-Forwarded-For header.

Editing game data

Game data (items, monsters, rates, shops, etc.) can be configured from the admin panel at https://your-domain.com/admin/ (or http://YOUR_IP:8085/admin/ if accessing directly without a reverse proxy).

You can also directly edit .txt files in the Docker volume of mu-server:

Server .txt files must be saved in ANSI/Windows-1252 encoding without BOM. UTF-8 breaks accented characters in the client.