Open-source world of warcraft reference architecture-mangos

Source: Internet
Author: User
Tags mysql host svn update ftp transfer import database tortoisesvn blizzard

Open-source communities often have a lot of projects that are amazing. For example, the pearpc that runs the Apple Computer System on a general PC. Convert Microsoft Game console Xbox into the Xbox-Media Center of the home audio and video center, and install linux ipodlinux on the iPod. Of course, there are also many outstanding open-source projects in computer games.

Blizzard's games have always been excellent products. After the popularity of online games, it launched online games based on 10 years of game history: World of Warcraft is also well known (of course there are good or bad, bad reputation is that it is so attractive that many people indulge in it ). The profit model of online games is different from that of traditional computer games. The monthly fee and other peripheral products make it much more profitable than traditional computer games. A big problem for online game operators is the issue of private servers. A lot of private server software is illegal from online game development companies or operating companies, such as the private server of online games legend.

Currently, most of World of Warcraft's "private servers" are actually server-side software simulators. It is a software developed to simulate the functions of the original game server after analyzing and decrypting the client game software and the data communicating with the server. Most of such simulator software is also open-source software. For example, for most of the mangos server software used by Warcraft private servers, the mangos project is an open-source free software (like Linux or Firefox) and complies with the most stringent GPL protocol.

Mangos is short for massive network game Object Server. Blizzard has taken some legal actions against similar development teams. To avoid trouble, mangos emphasizes that it is not a Warcraft server simulator, but an open-source multiplayer online game server software. In the end, it is a game engine for online games. The mangos Development Team stressed that the software is a program framework that supports large-scale multiplayer online role playing game servers using C ++ and C # programming languages. Under this framework, in theory, it should support any client-side online games. Since many people now use World of Warcraft to test it, the scripts and database files for World of Warcraft are relatively complete, many people use this open-source project to implement Warcraft private server. The game content, such as the storyline and task scenario scripts, are independently developed by other groups.

The development team has repeatedly stressed that this is a research, educational project that benefits the development of servers for large online games. It is a software that is open to the public without any technical details, it is a very meaningful thing. If you use it for profit purposes, you are in violation of the software agreement. Therefore, any organization or individual who uses the mangos project for private server activities violates the mangos purpose and the mangos project is not responsible for them.

The technical details of mangos are as follows. The core component is a core framework program that is irrelevant to a specific game. It mainly involves process scheduling, creating the world, and establishing a heartbeat mechanism, process network access. MySQL, an open-source database software that can be used by databases. As for the game content database, game characters, time, and world scripts, they are all implemented by the extension scripts supported by this core program, therefore, some independent projects specifically simulate World of Warcraft to develop core programs supporting mangos. Now the core program of mangos has been developed on the famous collaborative development website SourceForge, and the collaborative development tool used is subversion. You can download the latest source code from the SourceForge subversion database.

In order to test this mangos, I installed one and tested the following. I didn't know much about the world of warcraft game itself. I asked a few friends who have played World of Warcraft to test it, all said that all aspects are perfect. The latest mangos project has supported the extended version of World of Warcraft "Burning expedition", TBC for short, and the corresponding ghost Client Version has reached 2.0 or above. The following installation and testing steps apply to the World of Warcraft client version 1.12.1 or 1.12.2.

I. Installation Requirements:

For Windows XP operating system, 7-Zip is recommended for decompression software. (Someone installed on Linux and MacOSX on the mangos Forum. Windows XP is used here for map extraction convenience)
Upgrade the World of Warcraft client software to version 1.12.1 or later.
Compiled mangos binary file. (You can also compile it yourself. Here I provide mangos Rev, 3462 is the development database version number),: http://filebeam.com/22b7839a746adbd95f3ac3853f3bf9ed
Http://www.megaupload.com /? D = t0sguoqb
Map Extraction Tool ad.exe(this map Extraction Tool is dedicated to 1.12.x, tbccompare compare New ad.exe, TBC map Extraction Tool is not applicable to older versions of map),: http://www.megaupload.com /? D = dzw472b4
Mpqfile Extraction Tool mpqe_1.2.rar. Blizzard's games all adopt a file format called mpq, short for Mike o'brien pack. Mike is the chief game developer and creator of blizzard. Use mpqe.exe to extract related files from the client. :
Http://www.megaupload.com /? D = vl2dxhxw
Open source database software MySQL
Official Website: MySQL
Or use the downloaded
Version: http://www.megaupload.com /? D = odyrbwsf
Mysql client software sqlyog, compiling and managing database operations
Official Website: here
My downloaded version 5.30: http://www.megaupload.com /? D = dd0lk19h
The game content database works with mangos rev 3462.
File Name: CompleteSDB156-Mangos3462.rar
:
Http://www.megaupload.com /? D = 0eme2u4y

Ii. Install MySQL database and sqlyog Client

Click the installation file to select a typical installation (typical)
Configure database server "configure the MySQL server now" and select standard configuration ".
Confirm the service programs installed in windows and the Automatic startup Services "Install as Windows Service" and "launch the MySQL server automatically ".
Enter your root user password. You can enable the option of using root to remotely manage the database, and connect to it.
Apply your settings.
Click the installation file to install sqlyog, install it to the default path, and run sqlyog.
After sqlyog is running, enter the following information:
MySQL host address: enter your local IP address or "localhost ".
Username: Root
Password: the password you configured in step 1.
Database (s) input: "realmd; mangos"
Click Connect to connect the client to your MySQL database server.
Right-click "root @ localhost" in the left column and select "create database ".
Enter "mangos" when prompted ".
Repeat steps 9 and 10 to create the Database "realmd ".

3. Install the mangos server and configure the path

Create a directory, for example, "C:/mangos"
Decompress the binary file of your downloaded mangos to this directory.
Check two important server configuration files: "mangosd. conf" and "realmd. conf ". In "mangosd. conf", you can configure items, the drop rate of money, and the growth rate of experience values.

4. decompress and install the map file

 

Place ad.exe in the installation directory of World of Warcraft, for example ("C:/World of Warcraft ")
Create a sub-directory named maps with the structure: ("C:/World of Warcraft/maps ")
Run the ad.exe file. Wait patiently for ad.exe to extract the World of Warcraft map information to the maps directory.
Copy the maps subdirectory to the "C:/mangos" directory. The structure is "C:/mangos/maps". There are more than 2400 Map Files in it.
You can safely delete the maps subdirectory under "C:/World of Warcraft.

5. decompress and install the extracted *. DBC File

 

Create the subdirectory under your mangos installation directory, with the structure: ("C:/mangos/DBC ")
Copy the Extraction Tool mpqe.exe to the data directory of the World of Warcraft installation directory, with the following structure: ("C:/World of Warcraft/Data ")
Open the DOS window and enter the world of warcraft data directory (CD "C:/World of Warcraft/Data ").
Run the following command:
Mpqe/p dbc. mpq dbfilesclient/*. DBC
The mpqe tool extracts the Game Information of Warcraft to the/mpqout/dbfilesclient directory. The entire structure is: ("C:/World of Warcraft/data/mpqout/dbfilesclient ")
After the mpqe operation is completed, all *. copy DBC to the "DBC" Directory of your mangos: ("C:/mangos/DBC"). You have about 158 *. DBC file.
You can safely delete the "C:/World of Warcraft/data/mpqout" directory of the DBC file under World of Warcraft.

7. download and install the database content. As mentioned above, mangos is only a game engine. The game content is developed by an independent group. Here we use the famous
Silver's database site library. The version is sdb156.

 

Decompress the downloaded completesdb156-mangos00002.rar file, which contains several database files. Locate the realm-database-full. SQL and mangos-full-for-rev3462. SQL files.
Use sqlyog to connect to your database.
Find realmd in the Left bar, right-click and choose "restore from SQL dump", find "realm-database-full. SQL", and import the database file.
Also find mangos, right-click to select "restore from SQL dump", find "mangos-full-for-rev3462. SQL", import database files.

8. Configure the database, configure the file, and run the Open Source Warcraft server! This article is only a test game, playing in the LAN.

 

Use sqlyog to connect to your database.
Find realmd and find the "realmlist" option.
Find "table data" in the lower right corner ".
Enter your server name in the Name field, for example, faif.
In Address, you can use "localhost" or your IP address.
Find the account table under the realmd database and click "table data" to create your game account. There are already several built-in accounts. You can refer to GM, create your username and password for the account of a common player.
Open the realmd. conf file in the mangos directory and find
"Logindatabaseinfo ="
Changed to "logindatabaseinfo =" 127.0.0.1; 3306; root; [Password]; realmd"
The IP address here can be your IP address, and the [Password] is your password. Storage disk.
Open the mangosd. conf file in the mangos directory, find the following content, and set it as follows:
Datadir = "."
Worlddatabaseinfo = "127.0.0.1; 3306; root; [Password]; mangos"
Logindatabaseinfo = "127.0.0.1; 3306; root; [Password]; realmd"
Similarly, the IP address here can be your IP address, and the [Password] is your password. Storage disk.

This is basically a success. Run the realmd.exe file first. Wait a moment and run mangosd.exe. The Warcraft server is running.
Connect to your Warcraft server, modify the realmlist. WTF file of your World of Warcraft client, and fill in 127.0.0.1 or your IP address, for example: "set realmlist 127.0.0.1"

 

So far, the open-source World of Warcraft server has been set up successfully. I have set up a few GM accounts for my friends. They tested this version and thought it was a good version, the purpose of open source is to share knowledge, and the exploration spirit of open source community hackers has to be admired.

Note: This article is based on the extraction test of the European client and the North American client 1.12.1. If you use World of Warcraft Chinese Version 1.12.3 for testing, you may encounter a message indicating version incompatibility. Possible solutions include:

1. downgrade to 1.12.1
2. Compile the mangos source code by yourself. In the mangos source code:
Find the file "src/shared/Common. h ", line 4 (the following references the latest mangos source code. mangos development policy is that only one version is supported in each development process, so as to ensure the overall quality of the Code, the current version is 6546 (Wow TBC 2.0.12). You can use SVN commit out of the old version to modify this line of code and compile your own mangos execution file.
44 // we need to stick to 1 version or half of the stuff will work for someone
45 // others will not and opposite
46 // will only support Wow And wow: TBC 2.0.12 client build 6546...
47
48 # define expected_mangos_client_build {6546, 0}

 

How to download mangos source code

How to download mangos source code

Mangos-Gui mangos GUI control tool (SVN address)
Http://mangos-gui.googlecode.com/svn/trunk/

Mangoswfe website system (SVN update address)
Http://opensvn.csie.org/MangosWFE/

Mangos-luascript script (SVN update address)
Http://mangos-luascript.googlecode.com/svn/trunk

HTTP address http://download.toaoto.cn FTP address ftp://ftp.toaoto.cn FTP Transfer Protocol and password: Wow
Mangos SVN:
Http://opensvn.csie.org/mangoswebsite
Mangosweb

Http://svn.sourceforge.net/viewvc/mangos/trunk? View = Log
Mangoslog

Http://svn.sourceforge.net/svnroot/mangos/trunk/
Mangostrunk

Http://www.mangosproject.org/forum/
Mangosforum

In view of the fact that some new users do not download the source code, I wrote a post for reference.
1: Download The TortoiseSVN-1.3.5.6804-svn-1.3.2 tool first
LanguagePack-1.3.5.6804-win32-zh_CN (this is a language patch)
After the installation is completed, change the language in setting to OK.
Http://luwakin.gbdisk.com/this handsome guy's network hard drive has it!
Then install ...... (nonsense ....)

2: Source Code address
Https://opensvn.csie.org/ScriptDev/trunk --------------- scriptdev

Https://mangos.svn.sourceforge.net/svnroot/mangos--------------Mangos

Silver database communities SVN is located here:
Https://opensvn.csie.org/SDB/
Https://opensvn.csie.org/traccgi/SDB/trac.cgi/timeline

SVN contains the latest table data and DB updates, in XML or SQL formats only. Full dB releases can be found in "index of the released DBs" section.

Https://opensvn.csie.org/SDB

Https://opensvn.csie.org/mangoDB

Http://opensvn.csie.org/MangosDatabaseProject

3: download it from my images !!!!
(1) create a folder, right-click it, select SVN, and enter the Source Code address above!
(2) After confirmation, the file will be automatically downloaded. After the download is complete, the file to be exported will be exported... you can export the file by referring to the last figure!

1) first, you need two software. The first is to download and update tortoisesvn for mangos source code. The second is vs2003 or vs2005.
Note: vs2003. this is recommended because many errors occur when vs2005 is used... causing compilation failure...
When vs2003 is used, there is no problem.

Mangos

2) After completing the first step, we can create a new folder on the computer. Here we use the C:/disk as an example. For example, C:/mangos.
Right-click the folder you created and you will see "SVN checkout...". Click... and a box is displayed,
Enter "https://mangos.svn.sourceforge.net/svnroot/mangos" in "URL of repository"
There is an option below, you need to select "head", okay... click OK.

3) after completing the above step, right-click the mangos folder and you will see "SVN Update". Click it to upgrade your mangos source code, in the future, you only need to click "SVN Update" to keep your mangos source code in the latest version.

4) Next, start compiling mangos ~~~ Are you so excited...
Open vs2003, select "Open Project", and then open "C:/mangos/win/" and select "mangosdvc71.sln"
If you are using vs2005, you need to open "mangosdvc80.sln"

5) Next, I suggest you take a look at what you need to do.

6) Haha. This step is waiting. Compilation takes time... wait for vs to help you.

7) Well... after a while ~~~ Compiled.

You can find the compiled mangos in "C:/mangos/bin/release/". These files are required.

Libeay32.dll, libmysql. dll, mangosd.exe, mangosscript. dll, realmd.exe

Well, there seems to be nothing missing

Mangosd. conf and realmd. conf is not. We can find mangosd in "C:/mangos/src/mangosd/" and C:/mangos/src/realmd. conf. in, realmd. conf. in
Ah, the name is different. Remove the. In.

You can find the SQL file in "C:/mangos/SQL/"... of course, there is only one architecture...
You can find the upgraded SQL file in "E:/mangos/SQL/updates...

Scriptdev

Download the latest version of scriptdev and use it with mangos. You need to perform the following steps:
1) create a folder and name it. Right-click the folder...
Like the above mangos source code download method, use SVN checkout, URL address for https://opensvn.csie.org/ScriptDev/trunk, and then use SVN update
2) After completing the preceding steps, right-click the folder, select tortoisesvn, and then select export.
Select a new folder and click OK. The latest scriptdev version has been released.
3) copy the SQL, SRC, and win folders to the mangos folder in the new export folder,
Now, when you compile mangos, the latest scriptdev...
Important: when a new version of scriptdev comes out... You must repeat the above actions...

Okay... you have the latest version of mangos on your hand... it's done by yourself... isn't it so excited ~~~

We recommend that you use 2003... 2005 for the software you need...
Tortoisesvn
Click here to download
VC ++ express Edition
Click here to download

The database can use 990100 of the 0712 database...

Http://bbs.99nets.com/read.php? Tid = 426801 & fpage = 2

For how to install the compiled mangos, refer to the instructions in section 990100...

Okay... The mangos with scriptdev will become the latest version of mangos...

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.