Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Together
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
MangosTwo Install - Debian
Page
Discussion
English
Read
Edit
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
Edit source
View history
General
What links here
Related changes
Special pages
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
This howto will be on how to get MangosTwo running on Debian in VirtualBox as Windows 7 64 Bit as the host == Installing VirtualBox == This part should be self-explanatory, I may recap on certain settings like BIOS and other default settings == Starting up Virtual box and Installing the base operating system == Create a new virtual machine, I'm going with a 64-bit install with Debian 7.2.0 ISOs. 512MB ram, create a 20GB dynamic partition. After the new virtual machine has been set up, give the server 12MB of video ram which is more than enough to run a server. Start the server, and select your settings as you wish. When installing packages, only install what you need because we want this server to be as trim as possible. No Desktop, XWindow or gui, just a straight server. On the Software Selection screen, Unselect Everything but the standard system utilities. Install the Grub boot loader == Setting up Build Environment for Mangos == Login as root, we need to install a few things first. After looking at top, I only have 58 processes total running and about 56k of RAM used. not bad at all. We want the OS to be as trim as possible, that is one of the goals for this article. As root, type in: <pre> apt-get install sudo ssh </pre> After install of sudo, Add the user mangos and edit the /etc/sudoers file and add the mangos username <pre> adduser mangos edit /etc/sudoers Add under 'User Privilege Section' underneath root mangos ALL=(ALL:ALL) ALL Exit and save </pre> Now type in exit and login as mangos username. You should have sudo rights now. Type in these commands to establish a build environment <pre> sudo apt-get install -y autoconf automake clang cmake gcc g++ libtool make patch sudo apt-get install -y cmake-curses-gui git-core </pre> I had an issue with these commands not being found so I had to add the default repos in /etc/apt/sources.list <pre> deb http://http.debian.net/debian wheezy main deb-src http://http.debian.net/debian wheezy main deb http://http.debian.net/debian wheezy-updates main deb-src http://http.debian.net/debian wheezy-updates main </pre> run sudo apt-get update to update the repos === Installing the Development headers === <pre> sudo apt-get install -y libace-dev libbz2-dev libmysqlclient-dev libncurses5-dev libreadline-dev libssl-dev zlib1g-dev </pre> == Installing the Database Server (MySQL) == <pre> sudo apt-get install -y mysql-server mysql-common mysql-client </pre> Set the root password for the MySQL server === Creating and Setting Permissions for MySQL User === <pre> mysql -u root -p CREATE USER 'mangos'@'localhost' IDENTIFIED BY 'password'; </pre> for Password, use whatever you want and for user mangos, use whatever you want. <pre> GRANT ALL PRIVILEGES ON `mangos\_%` . * TO 'mangos'@'localhost'; GRANT USAGE ON * . * TO 'mangos'@'localhost' IDENTIFIED BY 'password' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; </pre> again for username and password, use whatever you want, just ensure they match === Creating the Mangos Databases === <pre> mysql -u root -p CREATE DATABASE `mTwo_characters` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE DATABASE `mTwo_realmd` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE DATABASE `mTwo_world` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; FLUSH PRIVILEGES ; </pre> == Downloading the Mangos-Two Source from github and compiling == While you are in user mode and not root, create the mangos source directory <pre> cd ~ mkdir mangos-two cd mangos-two ** Case Sensitive, be sure to take note of this as the branches are different ** git clone --recursive -b develop21 https://github.com/mangoszero/server.git git clone --recursive -b Develop21 https://github.com/mangoszero/database.git </pre> Be sure to use the '''--recursive''' so git will pull in everything, without this your compile will fail === Compiling Mangos === create the directories needed for build <pre> sudo mkdir -p /opt/mTwo/ sudo mkdir -p /opt/mTwo/logs/mangos-two/ sudo mkdir -p /opt/mTwo/share/mangos-two/ sudo chown -R mangos:mangos mTwo </pre> <pre> cd server mkdir _build cd _build cmake -DCMAKE_INSTALL_PREFIX=/opt/mTwo -DCMAKE_BUILD_TYPE=Debug -DACE_USE_EXTERNAL=1 -DSOAP=1 .. </pre> DACE_USE_EXTERNAL=1 is important for the Tools to compile Now in the ~/mangos-two/server/_build directory <pre> make </pre> After a successful compile run this. <pre> make install </pre> == Configuration of Mangos == <pre> cd /opt/mTwo/etc cp ahbot.conf.dist ahbot.conf cp mangosd.conf.dist mangosd.conf cp realmd.conf.dist realmd.conf </pre> <pre> nano realmd.conf </pre> The '''LoginDatabaseInfo''' Variable looks like this <pre> LoginDatabaseInfo = "127.0.0.1;3306;mangos;mangos;realmd" </pre> Change to <pre> LoginDatabaseInfo = "127.0.0.1;3306;mangos;password;mTwo_realmd" </pre> then for mangosd.conf <pre> nano mangosd.conf </pre> The lines that need to be changed are: <pre> LoginDatabaseInfo = "127.0.0.1;3306;mangos;mangos;realmd" WorldDatabaseInfo = "127.0.0.1;3306;mangos;mangos;mangos" CharacterDatabaseInfo = "127.0.0.1;3306;mangos;mangos;characters" ScriptDev2DatabaseInfo = "127.0.0.1;3306;mangos;mangos;mangos" </pre> These lines should be changed to: <pre> LoginDatabaseInfo = "127.0.0.1;3306;mangos;password;mTwo_realm" WorldDatabaseInfo = "127.0.0.1;3306;mangos;password;mTwo_world" CharacterDatabaseInfo = "127.0.0.1;3306;mangos;password;mTwo_characters" ScriptDev2DatabaseInfo = "127.0.0.1;3306;mangos;password;mTwo_scripts" </pre> Also in mangosd.conf, the "DataDir" needs to be changed from "." to "/opt/mTwo/data" == Map Extraction == Go into /opt/mTwo/bin and copy these files to your main World of Warcraft directory ( c:\program files\World of Warcraft in Windows. You should know where it is ) <pre> cp map-extractor [WoW DIR] cp vmap-extractor [WoW DIR] cp vmap-assembler [WoW DIR] cp mmap-generator [WoW DIR] cp ExtractResources.sh [WoW DIR] cp MoveMapGen.sh [WoW DIR] cp offmesh.txt[WoW DIR] </pre> Change to your WoW DIR <pre> chown +x ExtractResources.sh ./ExtractResources.sh </pre> Answer the questions, should take a while. If you ever edit the offmesh.txt file, you have to re-run the ExtractResources.sh again. After it's done, Create a 'data' directory in /opt/mTwo and copy the dbc,vmaps and mmaps directories to /opt/mTwo/data == Inserting Database Information == <pre> cd ~/mangos-two/database/Realm/Setup mysql -u root -p mTwo_realmd < realmdLoadDB.sql cd ~/mangos-two/database/Character/Setup mysql -u root -p mTwo_characters < characterLoadDB.sql cd ~/mangos-two/database/World/Setup mysql -u root -p mTwo_world < mangosdLoadDB.sql </pre> === Inserting Table Information and Full DB === <pre> cd ~/mangos-two/database/ chmod +x make_full_WorldDB.sh ./make_full_WorldDB.sh mysql -u root -p mTwo_world < full_db.sql </pre> == Running the Server == === Realmd (Realm Server) === go to /opt/mTwo/bin and run the realmd server <pre> cd /opt/mTwo/bin ./realmd </pre> If after running realmd and you get an error <pre> cd ~/mangos-two/database/Realm/Updates/Rel20 mysql -u root -p mTwo_realm < update_the_SQL_file_it_was_screaming_for.sql </pre> You should get realmd listening for connections at this time. === Mangos (World Server) === go to /opt/mTwo/bin and run the mangosd server <pre> cd /opt/mTwo/bin ./mangosd </pre> If after running mangosd and you get an error <pre> cd ~/mangos-two/database/World/Updates/Rel20 mysql -u root -p mTwo_world < update_the_SQL_file_it_was_screaming_for.sql </pre> You should get mangosd listening for connections at this time. == Finalizing running the server == I use Screen so you'll have to install this <pre> sudo apt-get install screen </pre> Then, in the /opt/mTwo/bin directory, create a file called runserver.sh <pre> #!/bin/sh cd /opt/mTwo/bin screen -A -m -d -S mangosworld ./mangosd #!/bin/sh cd /opt/mTwo/bin screen -A -m -d -S mangosrealm ./realmd </pre> Save it and then chmod +x runserver.sh == Credits == If you have any issues with this, please feel free to email me at me@chrisfaulkner.org
Summary:
Please note that all contributions to Together may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Together:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)