One-command Dofus Retro server with Docker. Community sandbox for beginners, hobbyists, and fork users.
StarLoco Docker is a reproducible Dofus Retro server stack for local hosting, VPS deployment, and fork experimentation. It packages login, game, database, cache, and web services into one Docker-based workflow with safe defaults and no runtime downloads.
Why use this instead of manual setup:
- No manual server assembly
- No runtime downloads from external sources
- Secrets are auto-generated
- Defaults are tuned for beginners
- Optional fork overrides for advanced users
./run.sh startFirst run generates secrets automatically, builds Docker images, and starts all services.
Ports exposed:
- Login:
localhost:450 - Game:
localhost:5555 - Web:
localhost:80 - Redis:
localhost:6379
See Quick Start Guide for full details.
Run ./run.sh start to generate secrets, build images, and start the full stack.
Use the default .env values for a beginner-friendly local setup, then connect a Dofus 1.39.8 client.
Edit .env to change server IP, name, rates, and other gameplay settings without modifying code.
Use the experimental fork overrides to point the build at compatible custom repositories, refs, and JAR files. See Fork Support.
| Service | Purpose | Ports |
|---|---|---|
| login | Authentication server | 450, 666 |
| game | World server | 5555, 666 |
| mariadb | Account and game database | 3306 |
| redis | Session and cache | 6379 |
| web | Portal and downloads | 80 |
Additional features:
- Backup and restore
- Production mode with resource limits
- Health checks for all services
- JSON-structured logs
- Experimental fork support
On first launch, ./run.sh creates secrets in secrets/ if missing:
mariadb_root.secret— MariaDB root passwordstarloco_db_password.secret— Game database passwordexchange_key.secret— Server exchange key
Important: Copy the secrets/ folder to any other hosts before starting there.
Edit .env for basic settings:
| Variable | Default | Description |
|---|---|---|
BIND_ADDRESS |
0.0.0.0 |
Listen address (use 127.0.0.1 for localhost only) |
GAME_SERVER_IP |
127.0.0.1 |
Public IP players connect to |
GAME_SERVER_ID |
601 |
Server identifier |
GAME_SERVER_KEY |
YOUR_GAME_SERVER_KEY |
Server authentication key |
GAME_SERVER_NAME |
YOUR_GAME_SERVER_NAME |
Server display name |
GAME_SERVER_VERSION |
1.39.8 |
Dofus client version |
RATE_XP |
1 |
Experience multiplier |
RATE_DROP |
1 |
Drop rate multiplier |
RATE_KAMAS |
1 |
Kamas multiplier |
See the included .env.example for all options.
| Command | Description |
|---|---|
./run.sh start |
Start all services (default) |
./run.sh start --prod |
Start with production config |
./run.sh start --build |
Rebuild Docker images |
./run.sh stop |
Stop all services |
./run.sh restart |
Restart all services |
./run.sh logs -f |
View logs |
./run.sh logs [service] |
View specific service logs |
./run.sh status |
Show service status |
./run.sh backup |
Backup data |
./run.sh restore |
Restore from backup |
./run.sh clean |
Delete all data |
Production mode includes resource limits, health checks, log rotation, auto-restart, and non-root containers:
./run.sh start --prod| Service | Memory | CPU |
|---|---|---|
| mariadb | 1.5 GB | 1.0 |
| redis | 256 MB | 0.25 |
| login | 768 MB | 0.5 |
| game | 2 GB | 2.0 |
| web | 384 MB | 0.25 |
./run.sh backup
./run.sh restoreWarning: Restore overwrites all existing data.
Common issues:
- Services won't start — check logs with
./run.sh logs -f - Connection refused — verify firewall/port forwarding and
BIND_ADDRESS - Build fails — force rebuild with
./run.sh start --build
StarLoco Docker supports optional fork overrides. This is experimental and compatibility is not guaranteed.
You can override:
- Game repository URL
- Game ref (tag/branch/commit)
- Game JAR filename
- Login repository URL
- Login ref
- Login JAR filename
Add to .env:
STARLOCO_GAME_REPO=https://github.com/myuser/StarLoco-Game.git
STARLOCO_GAME_REF=my-custom-branch
STARLOCO_LOGIN_REPO=https://github.com/myuser/StarLoco-Login.git
STARLOCO_LOGIN_REF=v1.0.2Then rebuild:
./run.sh start --buildFor a fork to work, it must:
- Use the same database schema as StarLoco
- Follow the same configuration format
- Expose the same ports
- Include Lua scripts in the repository
See Fork Support Guide for full details.
See FAQ.
- Can I use my own fork? — Yes, via experimental fork overrides.
- Is this beginner-safe? — Yes, defaults work out of the box with one command.
- How do I change my server IP? — Edit
GAME_SERVER_IPin.env. - What should I edit first? — Start with
GAME_SERVER_KEYandGAME_SERVER_NAME.
MIT License — Modify and distribute as you wish.