Open Source World of Warcraft

Source: Internet
Author: User
Tags mysql host import database blizzard

Open SourceCommunityThere are often a lot of projects that are unexpected, and people are often excited. 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.

Violent snow company'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 question for online game operators is about 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 C ++ and C #Programming LanguageTo support a large multiplayer online role-playing game server.ProgramFramework. Under this framework, it should theoretically support any client-side online games. Since many people now use World of Warcraft to test it, therefore, the scripts and database files for World of Warcraft are relatively complete, and 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 small 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 command, and the mangos project will not be 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 version from the SourceForge subversion database.Source codeProgram.

I installed a mangos and tested the following for myself. 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 DBC subdirectory in the installation directory of your mangos, 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 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 DBC file directory under World of Warcraft: ("C: \ World of Warcraft \ data \ mpqout.

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 by yourselfCodeIn 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}

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.