You cannot see this page without javascript.

MaNGOS

Linux 조회 수 2379 추천 수 0 2015.12.05 21:38:21

MaNGOS One installation

MaNGOS is a MMO server compatible with World of Warcraft (WoW) but it has been built to support any MMO game. There is a different version for each release of WoW. The version for WoW vanilla is called MaNGOS Zero, the one for the first extension (The Burning Crusade) is called MaNGOS One, and so on. In this article, I will explain how to fetch the source, compiled them, install MaNGOS, set it up and run it ! I'm doing it on Linux (Xubuntu 13.04), but you can see more information on how to install it on Windows on the MaNGOS wiki.

Fetching the source. Getting the dependencies.

MaNGOS is separated in several pieces. First there is the core, which is called server. All information is stored in a database. There are several possible databases, I'll use the MaNGOS one. See the MaNGOS website for more information about the others databases. Then, there is the scripting part, which take care of advanced behavior of several part of the game such as NPCs, bosses, etc. MaNGOS One is available on Github. As such, you are going to need git to fetch the different part of the project: ~/ # apt-get install git Then you need to get the different parts:
~ # mkdir mangos
~ # cd mangos
~/mangos # git clone git://github.com/mangosone/server.git
~/mangos # cd server/src/bindings
~/mangos/server/src/bindings # git clone git://github.com/mangosone/scripts.git ScriptDev2
You will also need a compiler and different dependencies needed by MaNGOS. They are common packages so you can get them from your package manager: ~ # apt-get install build-essential gcc g++ automake git-core autoconf make patch libmysql++-dev libtool libssl-dev grep binutils zlibc libc6 libbz2-dev cmake That's all you need for now. Let's compile.

Compilation time !

Before starting the compilation, you need to patch the source to include the scripting system you downloaded. ~/mangos/ # git apply src/bindings/ScriptDev2/patches/MaNGOS-*-ScriptDev2.patch Now, create a directory in which you will compile the server.
~/mangos # mkdir objdir
~/mangos # cd objdir
And now, you can finally start the compilation !
~/mangos/objdir # cmake .. -DCMAKE_INSTALL_PREFIX=/opt/mangos-server
~/mangos/objdir # make

Installation.

Just type the following: ~/mangos/objdir # make install That's it !

The databases.

So you have the server installed. However, you still don't have the databases. The DBMS used by MaNGOS is MySQL. So let's install it. You also need to get the databases data from the MaNGOS git repository.
~/mangos # apt-get install mysql-server
~/mangos # git clone git://github.com/mangosone/database.git
You can also install PhpMyAdmin if you want to access your databases from your browser rather than from the command line. ~/mangos # apt-get install phpmyadmin Your databases are then accessible at http://127.0.0.1/phpmyadmin. But first, you have to create them. Scripts are available in the server directory to setting them up.
~/mangos # cd server/sql
~/mangos/server/sql # mysql -u root -p < create_mysql.sql
~/mangos/server/sql # mysql -u root -p realmd < realmd.sql
~/mangos/server/sql # mysql -u root -p characters < characters.sql
~/mangos/server/sql # mysql -u root -p mangos < mangos.sql
ScriptDev2 also need its database.
~/mangos # cd server/src/bindings/ScriptDev2/sql
~/mangos/server/src/bindings/ScriptDev2/sql # mysql -u root -p < scriptdev2_create_database.sql
~/mangos/server/src/bindings/ScriptDev2/sql # mysql -u root -p scriptdev2 < scriptdev2_create_structure_mysql.sql
~/mangos/server/src/bindings/ScriptDev2/sql # mysql -u root -p scriptdev2 < scriptdev2_script_full.sql
You now need to populate the database. Let's create the SQL script which will take care of it.
~/mangos # cd database/_tools
~/mangos/database/_tools # bash make_full_db.sh
~/mangos/database/_tools # mysql -u root -p mangos < full_db.sql
You may also need to apply update. The server will tell you if you need them when you will try to run it. The updates are located in ~/mangos/server/sql/updates.

Configuration.

Go to the configuration directory and create the base configuration.
~/ # cd /opt/mangos-server/etc
/opt/mangos-server/etc # cp mangosd.conf.dist mangosd.conf
/opt/mangos-server/etc # cp realmd.conf.dist realmd.conf
/opt/mangos-server/etc # cp scriptdev2.conf.dist scriptdev2.conf
Then you need to edit mangosd.conf and change the following values:
DataDir="/opt/mangos-server/data"
LogsDir="/opt/mangos-server/log"
And create the directories: /opt/mangos-server/ # mkdir data log

Data

You need to extract some data from the WoW client. Take a look at the wiki on how to do it on Linux or Windows. Move all data extracted to your data directory (/opt/mangos-server/data).

Let's run it !

You should know that running a program as root while it doesn't need it is a VERY BAD idea. So you are going to create a new user to run MaNGOS. You also need to change the right in the /opt/mangos-server directory so this user can launch MaNGOS correctly.
~ # adduser --no-create-home mangos
~ # chown -R mangos:mangos /opt/mangos-server 
Then you can switch to the user mangos and launch both parts. Launch them in different terminal.
 ~ # su mangos
~ # /opt/mangos-server/bin/realmd
~ # /opt/mangos-server/bin/mangosd
That's the moment you can have issue with the database not being up to date. Just run the updates you need, be careful on which database you need to run them:
~/mangos # cd sql/updates
~/mangos/sql/updates # mysql -u root -p database < sxxxx_database_*.sql 

First account creation.

You can now create your own account. You can type commands directly on the terminal running MaNGOS.
account create "username" "password"
account set addon "username" 2
account set gmlevel "username" 3
Tadaa. Your account has been created and you have access to all the administrator commands ! Modify your client realmlist.wtf and have fun.

Troubleshooting

I can connect and I see my realm but I cannot connect to it.

List of Articles
번호 제목 글쓴이 날짜 조회 수
» Linux MaNGOS [2] LynX 2015-12-05 2379
268 Linux Linux에 Boost 설치하기 LynX 2015-11-30 270
267 CentOS wow 6.x 구축 [6] LynX 2015-11-30 1006
266 CentOS wow 3.3.5a 구축 [1] LynX 2015-11-30 833
265 Windows Windows 10 재작 툴 file [21] LynX 2015-08-19 713
264 Server DNS [25] LynX 2015-07-16 1394
263 Programing 웹사이트 APK 만들기 file [1] [17] LynX 2015-07-02 1965
262 CentOS APM 소스설치 정리 file [18] LynX 2015-06-17 4311
261 CentOS CentOS7 Mail Server Setting file [13] LynX 2015-06-13 5770
260 Linux forever 설치 [18] LynX 2015-06-10 519
259 CentOS7 ▒ Doly의 CentOS7 강좌30 12. 네트워크 보안설정 12.2 iptables 서비스 (1/3) file [11] LynX 2015-06-09 520
258 CentOS7 ▒ Doly의 CentOS7 강좌29 12. 네트워크 보안설정 12.1 firewalld (2/2) [21] LynX 2015-06-09 5144
257 CentOS7 ▒ Doly의 CentOS7 강좌28 12. 네트워크 보안설정 12.1 firewalld (1/2) file [10] LynX 2015-06-09 557
256 CentOS7 ▒ Doly의 CentOS7 강좌27 10. 디스크관리 6 XFS 쿼타 file [15] LynX 2015-06-09 764
255 CentOS7 ▒ Doly의 CentOS7 강좌26 10. 디스크관리 5 LVM 5.1 SSM file [9] LynX 2015-06-09 752
254 CentOS7 ▒ Doly의 CentOS7 강좌25 10. 디스크관리 2 Gnome-disks 그놈 디스크 관리도구 file [16] LynX 2015-06-09 720
253 CentOS7 ▒ Doly의 CentOS7 강좌24 8. 파일 및 디렉토리 관리 2 파일관리자 mc file [13] LynX 2015-06-09 312
252 CentOS7 ▒ Doly의 CentOS7 강좌23 8. 파일 및 디렉토리 관리 1-파일 브라우저 노틸러스 file [13] LynX 2015-06-09 289
251 CentOS7 ▒ Doly의 CentOS7 강좌22 7. 사용자와 그룹관리 3-관리자 권한 전환 [19] LynX 2015-06-09 758
250 CentOS samba [22] LynX 2015-06-07 2965

XE Login