CMaNGOS

Continued Massive Network Game Object Server

What Is CMaNGOS?

CMaNGOS is first and foremost an educational project. It is 100% open source. Our first goal is to learn how a game server works. Our second goal is that we make every attempt to to emulate the original World of Warcraft experience in a local environment. Our developers work on their free time and they all work as volunteers. We invite everyone to join us on our journey by writing code, commenting and providing feedback reporting issues, testing or just chatting with us!

Our Cores

Classic

Our classic core is based on patch 1.12, released September of 2006.

The Burning Crusade

Our Burning Crusade core is based on patch 2.4.3, released July of 2008.

Wrath of the Lich King

Our Wrath of the Lich King core is based on patch 3.3.5, released June of 2010.

Supported Operating Systems

Linux

We support Debian and Ubuntu distributions.

Windows

We support Windows 10 and above.

macOS

We support macOS 10.13.x and above.

Getting Started

Here's a few links to get you started!

Recent Commits
Feign Death: Use highest miss chance instead of individual rolls
Author: Warlockbugs
Commit Hash: 6475e42

Feign Death: Use highest miss chance instead of individual rolls This statistically reduces resist rate to a more realistic value when engaging many NPCs at once.

Chat: Experimental language restriction mode for channels
Author: Warlockbugs
Commit Hash: 5e5fb8b

Chat: Experimental language restriction mode for channels This feature allows optionally enforcing realm zone language restriction in general and all kinds of custom chat channels.

FollowMovementGenerator: Strafing detection implemented, more fixes
Author: Warlockbugs
Commit Hash: 644cfd1

FollowMovementGenerator: Strafing detection implemented, more fixes Changes: * Implemented follower positioning in relation to target's strafing * Improved auto-unstuck functionality * Improved responsiveness to movement stop for better solo experience, almost instant compared to retail's ~1s. * Some refactoring and small tweaks

Extend Unit speed API
Author: Warlockbugs
Commit Hash: abacc73

Extend Unit speed API Added Unit: GetSpeedInMotion() and Unit::GetSpeedRateInMotion() to get current speed. Added API MovementInfo::GetOrientationInMotion() to get orientation in motion with strafe support.

Extend Object angle/arc API to accept overriden coordinates
Author: Warlockbugs
Commit Hash: 0485a30

Extend Object angle/arc API to accept overriden coordinates Now its possible to override current object's coordinates via args. This can be used to alter perspective to future/past time. Also fixes a few warnings.