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_USERandDB_PASSmust matchMYSQL_USERandMYSQL_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:
- Create a site at Cloudflare Turnstile
- 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:
- Shops:
MuServer/Data/Shop/*.txt - Messages:
MuServer/Data/Message_Eng.txt,Message_Spn.txt,Message_Por.txt - Spawns:
MuServer/Data/Custom/MonsterSetBase.txt
Server
.txtfiles must be saved in ANSI/Windows-1252 encoding without BOM. UTF-8 breaks accented characters in the client.