MangosTwo Install - Debian: Difference between revisions
Created page with "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..." |
No edit summary |
||
| Line 230: | Line 230: | ||
<pre> | <pre> | ||
cd ~/mangos-two/database/ | cd ~/mangos-two/database/ | ||
chmod +x make_full_WorldDB.sh | |||
./make_full_WorldDB.sh | |||
mysql -u root -p mTwo_world < full_db.sql | mysql -u root -p mTwo_world < full_db.sql | ||
</pre> | </pre> | ||
Revision as of 11:13, 13 June 2016
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:
apt-get install sudo ssh
After install of sudo, Add the user mangos and edit the /etc/sudoers file and add the mangos username
adduser mangos edit /etc/sudoers Add under 'User Privilege Section' underneath root mangos ALL=(ALL:ALL) ALL Exit and save
Now type in exit and login as mangos username. You should have sudo rights now.
Type in these commands to establish a build environment
sudo apt-get install -y autoconf automake clang cmake gcc g++ libtool make patch sudo apt-get install -y cmake-curses-gui git-core
I had an issue with these commands not being found so I had to add the default repos in /etc/apt/sources.list
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
run sudo apt-get update
to update the repos
Installing the Development headers
sudo apt-get install -y libace-dev libbz2-dev libmysqlclient-dev libncurses5-dev libreadline-dev libssl-dev zlib1g-dev
Installing the Database Server (MySQL)
sudo apt-get install -y mysql-server mysql-common mysql-client
Set the root password for the MySQL server
Creating and Setting Permissions for MySQL User
mysql -u root -p CREATE USER 'mangos'@'localhost' IDENTIFIED BY 'password';
for Password, use whatever you want and for user mangos, use whatever you want.
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 ;
again for username and password, use whatever you want, just ensure they match
Creating the Mangos Databases
mysql -u root -p CREATE DATABASE `mTwo_characters` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE DATABASE `mTwo_realm` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE DATABASE `mTwo_world` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; FLUSH PRIVILEGES ;
Downloading the Mangos-Two Source from github and compiling
While you are in user mode and not root, create the mangos source directory
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
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
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
cd server mkdir _build cd _build cmake -DCMAKE_INSTALL_PREFIX=/opt/mTwo -DDEBUG=1 -DBUILD_TOOLS=1 -DACE_USE_EXTERNAL=1 ..
DACE_USE_EXTERNAL=1 is important for the Tools to compile
Now in the ~/mangos-two/server/_build directory
make
After a successful compile run this.
make install
Configuration of Mangos
cd /opt/mTwo/etc cp ahbot.conf.dist ahbot.conf cp mangosd.conf.dist mangosd.conf cp realmd.conf.dist realmd.conf
nano realmd.conf
The LoginDatabaseInfo Variable looks like this
LoginDatabaseInfo = "127.0.0.1;3306;mangos;mangos;realmd"
Change to
LoginDatabaseInfo = "127.0.0.1;3306;mangos;password;mTwo_realm"
then for mangosd.conf
nano mangosd.conf
The lines that need to be changed are:
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"
These lines should be changed to:
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"
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 )
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]
Change to your WoW DIR
chown +x ExtractResources.sh ./ExtractResources.sh
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
cd ~/mangos-two/database/Realm/Setup mysql -u root -p mTwo_realm < 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
Inserting Table Information and Full DB
cd ~/mangos-two/database/ chmod +x make_full_WorldDB.sh ./make_full_WorldDB.sh mysql -u root -p mTwo_world < full_db.sql
Running the Server
Realmd (Realm Server)
go to /opt/mTwo/bin and run the realmd server
cd /opt/mTwo/bin ./realmd
If after running realmd and you get an error
cd ~/mangos-two/database/Realm/Updates/Rel20 mysql -u root -p mTwo_realm < update_the_SQL_file_it_was_screaming_for.sql
You should get realmd listening for connections at this time.
Mangos (World Server)
go to /opt/mTwo/bin and run the mangosd server
cd /opt/mTwo/bin ./mangosd
If after running mangosd and you get an error
cd ~/mangos-two/database/World/Updates/Rel20 mysql -u root -p mTwo_world < update_the_SQL_file_it_was_screaming_for.sql
You should get mangosd listening for connections at this time.
Finalizing running the server
I use Screen so you'll have to install this
sudo apt-get install screen
Then, in the /opt/mTwo/bin directory, create a file called runserver.sh
#!/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
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