/server

*MaNGOSZero* is a full featured World of Warcraft 'Classic' server, including authentication and world content serving, compatible with client versions 1.12.1 (build 5875),1.12.2 (build 6005) and 1.12.3 (build 6141). *Playable*

Primary LanguageC++OtherNOASSERTION

mangos-zero, a World of Warcraft server for vanilla WoW Build status

Rel19 is the current branch in testing, please use this branch in preference to master

mangos-zero is open source, built in C++, fast, runs on multiple platforms, can store game data in MySQL and PostgreSQL. It has optional support for SOAP, and aims to be 100% compatible with World of Warcraft in its vanilla versions, namely patch 1.12.1 and patch 1.12.2.

If you like the first incarnation of World of Warcraft, and still fancy vanilla WoW, you should try mangos-zero. We provide an authentication server where you can manage your users, and a world server which serves game content just like the original did back then.

On top of that each update is built by Travis CI as you can see by the image next to the chapter's heading! We do love green builds, and working things. To complement this, we push builds through Coverity to find and fix any possible security issues.

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

Requirements

mangos-zero 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 do support running mangos-zero on these operating systems:

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

Compilers

Building mangos-zero is currently possible with these compilers:

  • Microsoft Visual Studio (Express1), 32 bit and 64 bit. Both Visual Studio and the Express editions of Visual Studio are 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

mangos-zero 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.

Recast, G3D and libmpq are included in the mangos-zero distribution as we rely on specific versions.

Optional dependencies

  • Doxygen: if you want to export HTML or PDF formatted documentation for the mangos-zero API, you should install Doxygen.
  • Lua: if you want to test drive how mangos-zero feels with Lua as scripting language instead of the scripting library, you will need Lua 5.1.x installed.

Discuss

If you need help with building and installing mangos-zero there is thousands of users out there already running mangos-zero and many you can find on

License

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

The full license is included in the file License.md.

In addition, as a special exception, permission is granted to link the code of mangos-zero with the OpenSSL project's OpenSSL library (or with modified versions of it that use the same license as the OpenSSL library), and distribute the linked executables. You must obey the GNU General Public License in all respects for all of the code used other than OpenSSL.

Footnotes

  1. Visual Studio Express versions prior to the 2012 release can only build 32 bit applications, unless you install the Windows SDK.

  2. Clang support for Windows is experimental. Failure to compile mangos-zero may also relate to the experimental state of the port.