Skip to content

jrtashjian/cmangos-docker

Repository files navigation

CMaNGOS powered by Docker

A collection of Docker images for the CMaNGOS project variants.

Supported Variants and Clients

  • World of Warcraft 1.12.1 (5875) used with cmangos-classic
  • World of Warcraft - The Burning Crusade 2.4.3 (8606) used with cmangos-tbc
  • World of Warcraft - Wrath of the Lich King 3.3.5 (12340) used with cmangos-wotlk

Quick Start Guide

Create a directory on your machine to store everything:

mkdir ~/cmangos-docker && cd ~/cmangos-docker

Copy one of the pre-configured docker-compose files onto your machine for the variant you want to run.

If you want cmangos-classic:

wget -O docker-compose.yml https://raw.githubusercontent.com/jrtashjian/cmangos-docker/master/docker-compose.classic.yml

If you want cmangos-tbc:

wget -O docker-compose.yml https://raw.githubusercontent.com/jrtashjian/cmangos-docker/master/docker-compose.tbc.yml

If you want cmangos-wotlk:

wget -O docker-compose.yml https://raw.githubusercontent.com/jrtashjian/cmangos-docker/master/docker-compose.wotlk.yml

Place the extracted client data files (Cameras, dbc, maps, mmaps, vmaps) into a volume or folder which will be mapped into a container.

~/cmangos-docker/extracted-data
├─ Cameras
├─ dbc
├─ maps
├─ mmaps
└─ vmaps

Run docker-compose up to start your server!

Update your World of Warcraft client's realmlist.wtf file to point to your localhost IP address.

set realmlist 127.0.0.1

Login with your client using the default username:password combos:

ADMINISTRATOR:ADMINISTRATOR
GAMEMASTER:GAMEMASTER
MODERATOR:MODERATOR
PLAYER:PLAYER

You are now running local server for the core variant you chose with the latest full content database.

Extracting client data

Using the cmangos-extractors-variant container of your chosen core variant, extract the required client data like this:

docker run \
	-v "/path/to/WoW/client:/client" \
	-v "/home/$USER/cmangos-docker/extracted-data:/maps" \
	ghcr.io/jrtashjian/cmangos-docker/extractors-classic

Creating accounts

Ensure the database and realmd services are running:

docker compose up database realmd

Start the mangosd server with console access enabled:

docker compose run --rm -e MANGOSD_CONSOLE_ENABLE=1 mangosd

In the mangosd console, create a new user account (replace username and password with your desired credentials):

account create username password

For more details, see the official instructions.

Credits

Thanks to @korhaldragonir which this project was heavily inspired by their own.
Thanks to @vishnubob and contributors for the wait-for-it.sh script.
Thanks to @krallin and contributors for making tini.
Thanks to CMaNGOS Community.

About

Run CMaNGOS using Docker!

Topics

Resources

License

Stars

Watchers

Forks

Packages