Jump to content

[Guide] MaNGOS 11235+UDB+Acid3.0.8+Playerbot+ScriptDev2 for Debian 6


Recommended Posts

Hi all.

In this guide we will install what is cited in the case, on Linux (Debian 6) in 32-bit version.

It assumes you already have a fresh install, and recommend in the version without graphical environment for better performance. I will comment each step.

Install required packages from the repositories, from root:

aptitude install mysql-server gcc g++ automake autoconf make cmake libmysqlclient-dev libtool libssl-dev subversion patch zlib1g-dev libc6 git git-core pkg-config unzip ssh

We put in opt and download MaNGOS there:

cd /opt
git clone git://github.com/mangos/mangos.git mangos

we get in MaNGOS folder and create a folder to install scriptdev2:

cd mangos/
mkdir src/bindings/ScriptDev2
svn co [url]https://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2/[/url] src/bindings/ScriptDev2
git apply src/bindings/ScriptDev2/patches/MaNGOS-xxxxx-ScriptDev2.patch

MaNGOS is now compiled with cmake, and this requires a complement (ACE), now it will download and compile it as:

cd..
mkdir ace
cd ace
wget [url]http://download.dre.vanderbilt.edu/previous_versions/ACE-6.0.1.tar.gz[/url]
tar zxvf ACE-6.0.1.tar.gz
cd ACE_wrappers/
mkdir build
cd build
../configure
make
make install

We insert PlayerBot, if we use this module:

cd /opt/mangos/
git pull git://github.com/blueboy/mangos.git master

This done, we can compile MaNGOS (change the value # numberofcores / processors by the number of cores in your micro, you can do with a "cat / proc / cpuinfo" without the quotes):

cd /opt/mangos/
mkdir build
cd build
cmake -DPREFIX=/opt/mangos -DPCH=1 -DACE_USE_EXTERNAL=1 ..
make -j #numberofcores/processors
make install

Copy the default configuration files to their routes, and then edit the first two (take your time, here is the control of almost everything) comes to mangosd.conf and realmd.conf:

cd..
cp etc/mangosd.conf.dist etc/mangosd.conf
cp etc/realmd.conf.dist etc/realmd.conf
cp etc/scriptdev2.conf.dist etc/scriptdev2.conf
cp etc/playerbot.conf.dist etc/playerbot.conf
nano etc/mangosd.conf
nano etc/realmd.conf

We're going download the databases:

cd ~ && mkdir udb && cd udb
svn co [url]https://unifieddb.svn.sourceforge.net/svnroot/unifieddb[/url] unifieddb
cd ~ && mkdir acid && cd acid
svn co [url]https://sd2-acid.svn.sourceforge.net/svnroot/sd2-acid[/url] sd2-acid

Fill databases (change PASS with MySQL password):

mysql -u root -pPASS < /opt/mangos/sql/create_mysql.sql
mysql -u root -pPASS < /opt/mangos/src/bindings/ScriptDev2/sql/scriptdev2_create_database.sql
mysql -u mangos -pmangos mangos < /opt/mangos/sql/mangos.sql
mysql -u mangos -pmangos characters < /opt/mangos/sql/characters.sql
mysql -u mangos -pmangos realmd < /opt/mangos/sql/realmd.sql
mysql -u mangos -pmangos scriptdev2 < /opt/mangos/src/bindings/ScriptDev2/sql/scriptdev2_create_structure_mysql.sql
mysql -u mangos -pmangos scriptdev2 < /opt/mangos/src/bindings/ScriptDev2/sql/scriptdev2_script_full.sql
cd ~/udb/unifieddb/trunk/Full_DB
unzip *.zip
mysql -u mangos -pmangos mangos < ./*.sql
mysql -u mangos -pmangos mangos < ~/acid/sd2-acid/trunk/wotlk/3.0.8/3.0.8_acid.sql
mysql -u mangos -pmangos mangos < /opt/mangos/src/bindings/ScriptDev2/sql/mangos_scriptname_full.sql

Now we have to put SQL patches, as are many, there is a script rescued from the wiki, which does this automatically, the steps are to create a file, and paste the following contents inside:

PS: This script fails in some installations. If you have the patience, use the community version of sqlyog, to dump patches / opt / mangos / sql / updates by hand to the database " handles. " It's pretty simple. In this version you quoted are not many and you have just 10 minutes with the patch.

#!/usr/bin/env python
import glob, os
patches = glob.glob('*.sql')
patches = sorted(patches)

for x in patches:
 db = x.split("_")[2].replace('.sql', '')
 os.system("mysql -u mangos -pmangos -v " + db + " < " + x)

The file we will create from the path of SQL patches as follows:

cd /opt/mangos/sql/updates/
nano updatescript.py

Within that file updatescript.py, put in the code above two steps.

We execute permissions for that file, then run it (it is best not see a string of text that says "error"):

chmod +x updatescript.py
./updatescript.py

Well, there is little, let's set some parameters in the DB, as the name of the kingdom, and IP:

mysql -u mangos -pmangos

And once inside REALM_NAME change the name of your kingdom, and the value IP with the ip of your realm

   use realmd;
  UPDATE realmlist SET name = 'REALM_NAME' WHERE id = 1;
  UPDATE realmlist SET address = 'IP' WHERE id = 1;

Now, let's create a special user to connect from outside with Mangolín application to our MySQL database for this purpose, go into the console sql management, and create the user with full permissions to change values in the DB:

CREATE USER 'remote'@'%' IDENTIFIED BY 'PASS';
GRANT ALL PRIVILEGES ON *.* TO 'remote'@'%'
  WITH GRANT OPTION;
exit;

Change the word PASS password

Change the value of the / etc / mysql / my.cnf from:

bind-address = 127.0.0.1

to :

# bind-address = 127.0.0.1

And then restart the service:

/etc/init.d/mysql restart

Perfect, and you just have to pass the files from the Linux machine, this route (all in / opt / mangos)

/opt/mangos/contrib/extractor/
   ad.exe
/opt/mangos/contrib/vmap_extract_assembler_bin/
   makevmaps_SIMPLE.bat
   make vmaps.bat 
   vmap_assembler.exe 
   vmapExtractor3.exe

These five files, the folder you put in your WoW client, which, yes or yes, a client must be CLEAN (without any previous patch) version 3.3.5a 12340.

Then open a cmd console windows (Start - run - cmd), you stand in the path where you copied the files, and run two files, first ad.exe, and when the file has finished removing the need to extract, makevmaps_SIMPLE.bat run. This process will have created four folders.

Three of these folders, vmaps, maps, and dbc, the going to happen with WinSCP or whatever, to / opt / mangos / bin

We will install a program called screen, this program lets you open new terminals, is like a TTY TTY1 emulated in real, and can open many. This allows you to start the two below files through ssh, and when you close the ssh session, which still continue binaries running on those created with TTY's virtual screen.

aptitude install screen
screen -S wow

This has created a virtual TTY, named wow, and here we load the first file:

cd /opt/mangos/bin
./realmd

Now press CTRL + A + D, this will disconnect from the TTY, but the file is still running :D

again run another tty, named world

screen -S world

And within this new TTY, run:

cd /opt/mangos/bin
./mangosd

Again press CTRL + A + D

If we want to recover some of the TTY above, we:

screen -r wow

That we would load the first file executed TTY realmd to disconnect, you know: CTRL + A + D

If you want to see all TTY's created:

screen -ls

Enjoy your new server

Link to comment
Share on other sites

  • 11 months later...

Tried using python script, it has some bugs, here is how my fixed and working version looks:

For scriptdev2 updates

#!/usr/bin/env python
import glob, os
patches = glob.glob('*.sql')
patches = sorted(patches)

for x in patches:
 print(x)
 db = x.split("_")[1].replace('.sql', '')
 os.system("mysql -umangos -pxxxx -v " + db + " < " + x)

for UDB updates:

#!/usr/bin/env python
import glob, os
patches = glob.glob('*.sql')
patches = sorted(patches)

for x in patches:
 print(x)
 db = x.split("_")[2].replace('.sql', '')
 os.system("mysql -umangos -pxxxx -v " + db + " < " + x)

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use