MoltenWyrm Server Core

Custom server for World of Warcraft 4.3.4


MoltenWyrm is closed source project, built in C++, it's fast, runs on multiple platforms, can store game data in MySQL and PostgreSQL. It also has optional support for SOAP, and aims to be 100% compatible with World of Warcraft in its Cataclysm version supporting clients from the patch 4.3.4 branch, specifically patch 4.3.4.

It's a fork of NomadicWow, which is based on MangosThree.

World of Warcraft, and all World of Warcraft or Warcraft art, images, and lore are copyrighted by Blizzard Entertainment, Inc.

Requirements

The MoltenWyrm server supports a wide range of operating systems, and various compiler platforms. In order to do that, we use various free cross-platform libraries and use CMake to provide a cross-platform build system which adapts to your chosen operating system and compiler.

Operating systems

Currently we support running MoltenWyrm on these operating systems:

  • Windows, 32 bit and 64 bit. Windows Server 2008 (or newer) or Windows 7 (or newer) is recommended.
  • Linux, 32 bit and 64 bit. Debian 7 and Ubuntu 12.04 LTS are recommended. Other distributions with similar package versions will work, too.
  • BSD, 32 bit and 64 bit. FreeBSD, NetBSD, OpenBSD and DragonFly are recommended.

Of course, newer versions should work, too. In the case of Windows, matching server versions will work, too.

Compilers

Building Mangos is currently possible with these compilers:

  • Microsoft Visual Studio (Express[^1]), 32 bit and 64 bit. Both Visual Studio and the Express editions of Visual Studio are supported. Only Visual Studio 2012 and above are now officially supported.

  • Microsoft Windows SDK, 32 bit and 64 bit. The Windows 7 SDK is recommended, as older versions lack compiler features required to build the server.

  • Clang, 32 bit and 64 bit. The Clang compiler can be used on any supported operating system.[^2]

Dependencies

The MoltenWyrm server stands on the shoulders of well-known Open Source libraries, and a few awesome, but less known libraries to prevent us from inventing the wheel again.

Please note that Linux and Mac OS X users should install packages using their systems package management instead of source packages.

  • MySQL / PostgreSQL: to store content, and user data, we rely on MySQL/MariaDB and PostgreSQL to handle data.
  • ACE: the ADAPTIVE Communication Environment aka. ACE provides us with a solid cross-platform framework for abstracting operating system specific details.
  • Recast: in order to create navigation data from the client's map files, we use Recast to do the dirty work. It provides functions for rendering, pathing, etc.
  • G3D: the G3D engine provides the basic framework for handling 3D data, and is used to handle basic map data.
  • libmpq: libmpq provides an abstraction layer for reading from the client's data files.
  • Zlib: Zlib (Zlib for Windows) provides compression algorithms used in both MPQ archive handling and the client/server protocol.
  • Bzip2: Bzip2 (Bzip2 for Windows) provides compression algorithms used in MPQ archives.
  • OpenSSL: OpenSSL (OpenSSL for Windows) provides encryption algorithms used when authenticating clients.
  • Lua: Lua 5.2 (Lua 5.2 for Windows) provides a convenient, fast scripting environment, which allows us to make live changes to scripted content.

ACE, Recast, G3D and libmpq are included in the MoltenWyrm distribution as we rely on specific versions.