Allods Online 1.1 Server
Docker-based local environment for running the Allods Online 1.1 server stack.
Requirements
- python3
- make
- docker
- docker-compose
Services
The project uses the following containers:
- postgres - PostgreSQL for the account database
- mariadb - MariaDB for game service databases
- account-server - account service
- master-server - master service
- billing-server - billing service
- itemmall-server - item mall service
- shard - game shard
MariaDB is exposed on 127.0.0.1:3306, PostgreSQL on 127.0.0.1:5432.
Quick Start
1. Prepare databases:
make db/prepare
2. Apply the billing schema and seed data:
make maria/up
make billing/apply-sql
make down
3. Configure the external IP address:
python3 scripts/configure_external_ip.py <IP>
4. Build the application image:
make build
5. Start the full stack:
make up
6. Create an account after account-server is running:
python3 scripts/create_account.py --name admin --password admin --role Master
Database Setup
make db/prepare
Creates the required databases if they do not already exist:
- PostgreSQL: `account`
- MariaDB: `billing`, `master`, `auction`, `guild`, `mail`, `shard`
This target is safe to run multiple times.
If it fails on the first attempt, wait for the database containers to finish initializing and run it again.
make billing/apply-sql
Imports `sql/billing.sql` into the `billing` MariaDB database:
make billing/apply-sql
The SQL dump contains `DROP TABLE IF EXISTS`, so re-running it will recreate the billing tables and data.
External IP Configuration
Update the server configuration files with your external IP:
python3 scripts/configure_external_ip.py <IP>
This script updates:
- `server_bin/accountServer/cfg/config.xml`
- `server_bin/shard/cfg/config.xml`
Rebuild the image after changing the IP:
make build
Build
Build the base server image:
make build
The image tag is `allods:1.1`.
Run
Start all services:
make up
Check status:
make ps
View logs:
make logs
Stop all services:
make down
Account Creation
Create an account after the account service is up:
python3 scripts/create_account.py --name admin --password admin --role Master
Available roles:
- `User`
- `Master`
- `Developer`
Useful Make Targets
General:
- make build
- make up
- make down
- make ps
- make logs
- make run/bash
Database:
- make db/prepare
- make psql/up
- make psql/prepare
- make maria/up
- make maria/prepare
- make maria/exec
- make billing/apply-sql
Service startup:
- make account/up
- make master/up
- make billing/up
- make itemmall/up
- make shard/up
Shell access:
- make account/exec
- make master/exec
- make billing/exec
- make itemmall/exec
- make shard/exec
Notes
- Server containers use `network_mode: host`.
- `scripts/create_account.py` requires `account-server` to be running.
- `make db/prepare` only creates databases. It does not automatically import `sql/billing.sql`.
You can find client here https://community.allods-developers.eu/threads/guide-allods-1-1-02-0-server-setup-on-windows.406/
Docker-based local environment for running the Allods Online 1.1 server stack.
Requirements
- python3
- make
- docker
- docker-compose
Services
The project uses the following containers:
- postgres - PostgreSQL for the account database
- mariadb - MariaDB for game service databases
- account-server - account service
- master-server - master service
- billing-server - billing service
- itemmall-server - item mall service
- shard - game shard
MariaDB is exposed on 127.0.0.1:3306, PostgreSQL on 127.0.0.1:5432.
Quick Start
1. Prepare databases:
make db/prepare
2. Apply the billing schema and seed data:
make maria/up
make billing/apply-sql
make down
3. Configure the external IP address:
python3 scripts/configure_external_ip.py <IP>
4. Build the application image:
make build
5. Start the full stack:
make up
6. Create an account after account-server is running:
python3 scripts/create_account.py --name admin --password admin --role Master
Database Setup
make db/prepare
Creates the required databases if they do not already exist:
- PostgreSQL: `account`
- MariaDB: `billing`, `master`, `auction`, `guild`, `mail`, `shard`
This target is safe to run multiple times.
If it fails on the first attempt, wait for the database containers to finish initializing and run it again.
make billing/apply-sql
Imports `sql/billing.sql` into the `billing` MariaDB database:
make billing/apply-sql
The SQL dump contains `DROP TABLE IF EXISTS`, so re-running it will recreate the billing tables and data.
External IP Configuration
Update the server configuration files with your external IP:
python3 scripts/configure_external_ip.py <IP>
This script updates:
- `server_bin/accountServer/cfg/config.xml`
- `server_bin/shard/cfg/config.xml`
Rebuild the image after changing the IP:
make build
Build
Build the base server image:
make build
The image tag is `allods:1.1`.
Run
Start all services:
make up
Check status:
make ps
View logs:
make logs
Stop all services:
make down
Account Creation
Create an account after the account service is up:
python3 scripts/create_account.py --name admin --password admin --role Master
Available roles:
- `User`
- `Master`
- `Developer`
Useful Make Targets
General:
- make build
- make up
- make down
- make ps
- make logs
- make run/bash
Database:
- make db/prepare
- make psql/up
- make psql/prepare
- make maria/up
- make maria/prepare
- make maria/exec
- make billing/apply-sql
Service startup:
- make account/up
- make master/up
- make billing/up
- make itemmall/up
- make shard/up
Shell access:
- make account/exec
- make master/exec
- make billing/exec
- make itemmall/exec
- make shard/exec
Notes
- Server containers use `network_mode: host`.
- `scripts/create_account.py` requires `account-server` to be running.
- `make db/prepare` only creates databases. It does not automatically import `sql/billing.sql`.
You can find client here https://community.allods-developers.eu/threads/guide-allods-1-1-02-0-server-setup-on-windows.406/