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.