Code Monkey home page Code Monkey logo

mangosthree / server Goto Github PK

View Code? Open in Web Editor NEW
84.0 7.0 47.0 346.02 MB

Mangos THREE is a server for World of Warcraft: Cataclysm. The server serves full world content including authentication & scripts support. Compatible with World of Warcraft client 4.3.4 (Build 15595). Report all issues at https://www.getmangos.eu/bug-tracker/mangos-three/ - Playable but unstable. In development.

License: GNU General Public License v2.0

CMake 0.35% Python 0.09% C++ 80.88% C 17.80% Shell 0.15% PHP 0.01% Batchfile 0.01% HTML 0.49% JavaScript 0.07% CSS 0.03% Yacc 0.02% Makefile 0.03% DIGITAL Command Language 0.06% Roff 0.01% Perl 0.01%

server's Introduction

Latest GitHub release GitHub last commit Downloads on GitHub

         Build Status: Linux/MAC: Windows:
Repository Status:


MangosThree - Cataclysm WoW server

Mangos is an open source project written in C++. It's fast, runs on multiple platforms and stores game data in MySQL or MariaDB. It also has optional support for SOAP.

If you liked the fourth incarnation of World of Warcraft and still want to play it, this is the branch for you. 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.

It aims to be 100% compatible with the final version of CATA World of Warcraft, namely patch 4.3.4.

On top of that each update is automatically built by Travis CI (Linux/MAC) and AppVeyor (Windows) as you can see by the images in the heading above! We do love green builds, and working things.

Requirements

The 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 (v3.12+) to provide a cross-platform build system which adapts to your chosen operating system and compiler.

Operating systems

Currently we support running the server on the following operating systems:

  • Windows, 32 bit and 64 bit. Windows Server 2008 (or newer) or Windows 8 (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 are recommended.

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

Compilers

Building the server is currently possible with these compilers:

  • Microsoft Visual Studio 32 bit and 64 bit. All editions of Visual Studio from 2015 upwards are officially supported (although support for 2015 and 2017 are end of life.)

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

Dependencies

The server stands on the shoulders of several well-known Open Source libraries plus 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.

  • Git / Github for Windows: This version control software allows you to get the source files in the first place.
  • MySQL / MariaDB: These databases are used to store content and user data.
  • ACE: aka Adaptive Communication Environment, 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, Recast is used to do the dirty work. It provides functions for rendering, pathing, etc.
  • G3D: This engine provides the basic framework for handling 3D data and is used to handle basic map data.
  • Stormlib: Provides an abstraction layer for reading from the client's data files.
  • Zlib/Zlib for Windows provides compression algorithms used in both MPQ archive handling and the client/server protocol.
  • Bzip2/Bzip2 for Windows provides compression algorithms used in MPQ archives.
  • OpenSSL/OpenSSL for Windows provides encryption algorithms used when authenticating clients.

ACE, Recast, G3D, Stormlib, Zlib and Bzip2 are included in the standard distribution as we rely on specific versions.

Optional dependencies

  • Doxygen: If you want to export HTML or PDF formatted documentation for the Mangos API, you should install this.


We have a small, but extremely friendly and helpful community managed by MadMax and Antz.

Our discord/forum motto is:

'Be nice or Be somewhere else'

Any trolling or unpleasantness is swiftly dealt with !!

Official Website

We welcome anyone who is interested in enjoying older versions of wow or contributing and helping out !

Discord Server

We also have a Discord server where many of us hang out and discuss Mangos related stuff.

Main Wiki

The repository of as much information as we can pack in. Details regarding the Database, file type definitions, packet definitons etc.

Bug / Issue Tracker

Found an issue or something which doesn't seem right, please log it in the relevant section of the Bug Tracker.

Installation Guides

Installation instructions for various operation systems can be found here.

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.

We have all put in hundreds of hours of time for free to make the server what it is today.
All we ask is that if you modify the code and make improvements, please have the decency to feed those changes back to us.

In addition, as a special exception, permission is granted to link the code of Mangos 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.

Acknowledgements

World of Warcraft, and all related art, images, and lore are copyright Blizzard Entertainment, Inc.

server's People

Contributors

alexdereka avatar antzmangos avatar apoc avatar arrai avatar balrok avatar billy1arm avatar dasblub avatar derex avatar domgries avatar dramacydal avatar elmsroth avatar hunuza avatar i-am-fyre avatar laise avatar ligthguard avatar lordjz avatar lynx3d avatar meltie2013 avatar netcho avatar rochet2 avatar salja avatar sanctum32 avatar schmoozerd avatar silverice avatar technoir42 avatar tomrus88 avatar triply avatar vermie avatar xfurry avatar zakamurite avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

server's Issues

Lua problem

when I put some lua script in the lua_scripts folder it doesn't execute them, I don't know if I'm doing something wrong

[Problem] Npc's going under ground when aggroed.

I disabled mmaps but with no luck, fyre sent me his own db files but the problem still persists. It happens at almost all the instances and dungeons. Firelands bosses and mobs doesnt go underground, and dragon soul works too. But the stonecore (evertyhing falls through) zul aman first three mobs at the enterance fall through. Its like pathfinding is bugged somehow, and mobs get negative z coordinate so they run underneath you at the right x,y coordinates. But its still strange because in zul aman all other mobs are working correctly, only the mobs that are elevated in some way like standing on stairs etc..

flying mount

If you use a flying mount the gm fly mode will be turned on even if you have gm level 0. It's impossible for the player to stop/deactivate the fly mode.

I don't know if this bug is related to the buggy riding and flying trainers.

https://youtu.be/zTsTPHPZ-nY

Correct *.map files not found in path '/opt/wow/install/mangos/conf/maps'

I am trying to get this up and running in order to experiment with it. That being said I am unable to do so on Linux, as the map files expected differ from those extracted from the 4.3.4:15595 client.
I have followed the steps detailed in the installation guide, including database setup using the mangosthree/database repo.
The installation process including build and database population happens without problem, however when I get to the point of starting mangosd I get the following output;

$ ./mangosd 
2201001 [world-daemon]
<Ctrl-C> to stop.
  __  __      _  _  ___  ___  ___   _____ _         
 |  \/  |__ _| \| |/ __|/ _ \/ __| |_   _| |_  _ _ ___ ___    
 | |\/| / _` | .` | (_ | (_) \__ \   | | | ' \| '_/ -_) -_)  
 |_|  |_\__,_|_|\_|\___|\___/|___/   |_| |_||_|_| \___\___| 
 Powered By MaNGOS Core
 __________________________________________________________

 Website/Forum/Wiki/Issue Tracker: https://www.getmangos.eu
 __________________________________________________________


Using configuration file /opt/wow/install/mangos/conf/mangosd.conf.
Using SSL version: OpenSSL 1.1.1n  15 Mar 2022 (Library: OpenSSL 1.1.1n  15 Mar 2022)
Using ACE: 6.5.9
World Database total connections: 2
Connected to MySQL database [email protected]:3306/mangos3
MySQL client library: 10.3.34
MySQL server ver: 10.3.34-MariaDB-0+deb10u1 
AUTOCOMMIT SUCCESSFULLY SET TO 1
Connected to MySQL database [email protected]:3306/mangos3
MySQL client library: 10.3.34
MySQL server ver: 10.3.34-MariaDB-0+deb10u1 
AUTOCOMMIT SUCCESSFULLY SET TO 1
The table `db_version` indicates that your [World] database has the same version as the core requirements.

Character Database total connections: 2
Connected to MySQL database [email protected]:3306/character3
MySQL client library: 10.3.34
MySQL server ver: 10.3.34-MariaDB-0+deb10u1 
AUTOCOMMIT SUCCESSFULLY SET TO 1
Connected to MySQL database [email protected]:3306/character3
MySQL client library: 10.3.34
MySQL server ver: 10.3.34-MariaDB-0+deb10u1 
AUTOCOMMIT SUCCESSFULLY SET TO 1
The table `db_version` indicates that your [Character] database has the same version as the core requirements.

Login Database total connections: 2
Connected to MySQL database [email protected]:3306/realmd
MySQL client library: 10.3.34
MySQL server ver: 10.3.34-MariaDB-0+deb10u1 
AUTOCOMMIT SUCCESSFULLY SET TO 1
Connected to MySQL database [email protected]:3306/realmd
MySQL client library: 10.3.34
MySQL server ver: 10.3.34-MariaDB-0+deb10u1 
AUTOCOMMIT SUCCESSFULLY SET TO 1
The table `db_version` indicates that your [Realmd] database has the same version as the core requirements.


Realm running as realm ID 1

Using World DB: Version: 22, Structure: 2, Content: 10

Using DataDir /opt/wow/install/mangos/conf/
WORLD: VMap support included. LineOfSight:1, getHeight:1, indoorCheck:1
WORLD: VMap data directory is: /opt/wow/install/mangos/conf/vmaps
WORLD: MMap pathfinding enabled

Please check for the existence of map file '/opt/wow/install/mangos/conf/maps/00004331.map
'
Correct *.map files not found in path '/opt/wow/install/mangos/conf/maps' or *.vmtree/*.vmtile files in '/opt/wow/install/mangos/conf/vmaps'. Please place *.map and vmap files in appropriate directories or correct the DataDir value in the mangosd.conf file.

The map files were extracted using the ./bin/tools/map-extractor binary obtained post build, and a 4.3.4:15595 client. The map files are in the expected directory, however the dump don't contain the file 00004331.map.

Any idea what's going wrong? Thank you for all your hard work :)

"Fatal error: Could not read LiquidType.dbc!" when extract vmaps

Hello everyone.
I try to build mangosthree on debian 12.
First I cloned the latest codes from .git, and built it successfully, no error report, with options:
-DBUILD_MANGOSD=1 -DBUILD_REALMD=1 -DBUILD_TOOLS=1 -DUSE_STORMLIB=1 -DSCRIPT_LIB_ELUNA=1 -DSCRIPT_LIB_SD3=1 -DPLAYERBOTS=1 -DPCH=1

After extracted dbc & maps files successfully by tools/map-extractor from enUS client 4.3.4(15595),
I run the tools/vmap-extractor and got error reports below:

Detected and using locale locale: enUS
Reading liquid types from LiquidType.dbc...Fatal error: Could not read LiquidType.dbc!

I tried to use vmaps-extractor with enGB Client, it's same :

Detected and using locale locale: enGB
Reading liquid types from LiquidType.dbc...Fatal error: Could not read LiquidType.dbc!

I don't understand why it happens, can anyone help me here?
Thanks.

[Problem] npc name unknown

Hi!
Compiled yesterday and I ended up with:

  1. npc name "unknown"
  2. The hunter's pet is not moving. Stands in place.
  3. The npc has no gossip menu.
  4. Selected talents do not apply.
  5. Quit the game is not possible. Only ctrl + f4.
    What could this be connected with? I use World of Warcraft client 4.3.4 (Build 15595). Maybe it's because I'm not patched wow.exe. (https://github.com/mangosthree/tools/tree/master/MaNGOSPatcher ).
    I already had a patched wow.exe to log into the game, but only with a different connection_patcher patch from https://github.com/The-Cataclysm-Preservation-Project - I used it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.