-
-
Notifications
You must be signed in to change notification settings - Fork 6
Getting Started
One of the main goals of the CMaNGOS Docker project is optimization.
To achieve this, two different types of images have been developed: the one used for maintainance (larger) and the one used for execution.
With this principle in mind, we can now begin! 🚀
First of all, you have to decide up to which client version you want your server to support.
Both CMaNGOS and CMaNGOS Docker use three keywords to identify it; select the one you need and keep it in mind for the next steps:
-
classic
→ World of Warcraft® v1.12.x -
tbc
→ World of Warcraft: The Burning Crusade® v2.4.3 -
wotlk
→ World of Warcraft: Wrath of the Link King® v3.3.5a
Once you've selected the supported client version, you can download the related Docker images.
To do so, you need to open a shell or command prompt and type the following lines replacing the <version>
placeholder with the keyword of your choice:
docker pull ghcr.io/byloth/cmangos/<version>:latest
docker pull ghcr.io/byloth/cmangos/<version>/builder:latest
e.g.
For instance, let's say you wish to support up to the tbc
version of the client...
What you have to type is:
docker pull ghcr.io/byloth/cmangos/tbc:latest
docker pull ghcr.io/byloth/cmangos/tbc/builder:latest
Be sure to replace the
<
and>
characters as well!
Create a new directory on your computer to store all the stuff related to your WoW server.
It's best not to use the same directory as the client: keep them separated from each other.
Download the docker-compose.yml
1 file inside the newly created directory; make sure you don't rename it.
Actually, this file is ready-to-use and -for this reason- I had to choose a specific version to support; I chose tbc
since it's my favourite one.
If you've decided to use another version, open this file using a simple text editor (e.g. notepad.exe
) and be sure to replace the two occurrences of tbc
with the correct version of your choice.
This procedure doesn't describe a production-ready stack deployment...
It's just a simple example of the basic working configuration of CMaNGOS Docker.If you're looking for more specific guidance, you may find the Use in Production page useful.
Actually, due to legal reasons and copyright policies, CMaNGOS (and -of course- CMaNGOS Docker) cannot be distributed ready-to-run or -at least- not at 100% of its functionality... In fact, it needs some extra copyrighted files from Blizzard Entertainment®.
These files -fortunately- are present within the WoW client: exact the same client you need to play.
For this reason, if you've purchased and legally own a copy, you can use a tool to extract these files directly from it.
To do this, we must first identify the path where the WoW client was installed; copy it.
Then type the following lines replacing both the <path>
and <version>
placeholders:
Windows Command Prompt (cmd.exe
)
docker run --rm ^
--volume "cmangos_mangosd_data:/home/mangos/data" ^
--volume "<path>:/home/mangos/wow-client" ^
^
ghcr.io/byloth/cmangos/<version>/builder:latest extract
Windows PowerShell (powershell.exe
)
docker run --rm `
--volume "cmangos_mangosd_data:/home/mangos/data" `
--volume "<path>:/home/mangos/wow-client" `
`
ghcr.io/byloth/cmangos/<version>/builder:latest extract
A Unix shell (e.g. bash
)
docker run --rm \
--volume "cmangos_mangosd_data:/home/mangos/data" \
--volume "<path>:/home/mangos/wow-client" \
\
ghcr.io/byloth/cmangos/<version>/builder:latest extract
Since it's the first run, it's necessary to create the databases and load the initial data2 required by CMaNGOS to work correctly.
Open a new shell or a command prompt inside the server project directory you've created earlier and type the following line:
docker compose --project-name "cmangos" up mariadb
Then, within another shell or command prompt, type the following lines (be sure to replace the <version>
placeholder):
Windows Command Prompt (cmd.exe
)
docker run --rm ^
--env MYSQL_SUPERUSER="root" ^
--env MYSQL_SUPERPASS="root00" ^
--env MANGOS_DBHOST="mariadb" ^
--env MANGOS_DBUSER="mangos" ^
--env MANGOS_DBPASS="mangos00" ^
--network "cmangos_default" ^
--volume "cmangos_mangosd_data:/home/mangos/data" ^
^
ghcr.io/byloth/cmangos/<version>/builder:latest init-db
Windows PowerShell (powershell.exe
)
docker run --rm `
--env MYSQL_SUPERUSER="root" `
--env MYSQL_SUPERPASS="root00" `
--env MANGOS_DBHOST="mariadb" `
--env MANGOS_DBUSER="mangos" `
--env MANGOS_DBPASS="mangos00" `
--network "cmangos_default" `
--volume "cmangos_mangosd_data:/home/mangos/data" `
`
ghcr.io/byloth/cmangos/<version>/builder:latest init-db
A Unix shell (e.g. bash
)
docker run --rm \
--env MYSQL_SUPERUSER="root" \
--env MYSQL_SUPERPASS="root00" \
--env MANGOS_DBHOST="mariadb" \
--env MANGOS_DBUSER="mangos" \
--env MANGOS_DBPASS="mangos00" \
--network "cmangos_default" \
--volume "cmangos_mangosd_data:/home/mangos/data" \
\
ghcr.io/byloth/cmangos/<version>/builder:latest init-db
- This file may be updated over time.
Make sure to check it from time to time and follow the update procedure. - This information is about NPCs or mobs that can be found in the game, items or spells that are available or can be cast and quests or events that can be done... In addition, their related stats such as strength, speed or hit points, spawn or drop ratio, experience or gold gained and other stuff like that.
If you find something that seems wrong or missing while playing, feel free to report it to the CMaNGOS team.
If you encounter problems with any of the steps described in this documentation, you have found outdated content, it doesn't seem clear enough to you or -in general- if you have any suggestions to improve it, feel free to contribute...
It'll be welcome! 🙃
Warcraft®, World of Warcraft®, The Burning Crusade®, Wrath of the Lich King® and Blizzard Entertainment® are trademarks or registered trademarks of Blizzard Entertainment, Inc. in the U.S. and/or other countries. These terms and all related materials, logos, and images are copyright © Blizzard Entertainment.
This site is in no way associated with or endorsed by Blizzard Entertainment®.