Jump to content

[GUIDE] Ubuntu/Debian/CentOS/RHEL Install Guide


Recommended Posts

  • Replies 289
  • Created
  • Last Reply

Top Posters In This Topic

Yeah .. other than those.. I"m really out of ideas... try the 9.04 in a VM first. So that you know it's working before you deploy it to a real server.

When I tried it this afternoon, it was in a VM too. In case you wanna reproduce the exact same steps I did, here's how I installed it... (notes of steps that I took.. ask me if any steps doesn't make sense to you):

==========================

NOTES

###  Updated for Mangos(r8429) and ScriptDev2(r1373) on 2009-08-27

# Lines after "$" are actual commands.
# Lines after "#" or "#"s are comments and descriptions.
# MANGOS=$HOME/momserv313  # momd313 is where everything Mangos related resides.
#  myup = mysql -uroot -pmangos

==========================

DEPENDENCIES

#  "sudo aptitude install" the following:

build-essential git-core subversion automake libtool zlibc libmysql++-dev \\
libssl-dev unrar p7zip-full pkg-config

# If you're used to using apt-get, it's fine too.  Just don't mix the two.

==========================

II) COMPILING MANGOS AND SCRIPTDEV2


###  Downloading mangos and scriptdev2 sources

@$MANGOS/
$ git clone git://github.com/mangos/mangos.git
$ svn co [url]http://scriptdev2.svn.sourceforge.net/svnroot/scriptdev2[/url] \\
mangos/src/bindings/ScriptDev2

###  Apply the ScriptDev2 patch to Mangos

@$MANGOS/
$ git apply src/bindings/ScriptDev2/patches/MaNGOS-8273-ScriptDev2.patch
$ autoreconf --install --force --verbose
$ mkdir build && cd build
$ export MANGOS=$HOME/momserv313

###  The usual configure; make; make install

@$MANGOS/build/
$ ../configure --prefix=$MANGOS/r8429 \\
--sysconfdir=$MANGOS/sysconfdir --datadir=$MANGOS/datadir --enable-cli \\
CXXFLAGS="-march=native -O2 -pipe" CFLAGS="${CXXFLAGS}"
$ make -j3            #3:49.7 (i7-920), 9:49 (core2-e6600)
$ make install

==========================

EDIT:

# Package "p7zip-full" is not necessary.

# Package "unrar" is to later extract UDB.

Link to comment
Share on other sites

I instaled 9.04 on VM and now a new problem starst to anoy!!

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

Initialized empty Git repository in /mangos/.git/

remote: Counting objects: 35956, done.

remote: Compressing objects: 100% (7022/7022), done.

remote: Total 35956 (delta 29064), reused 35770 (delta 28881)

Receiving objects: 100% (35956/35956), 28.93 MiB | 231 KiB/s, done.

fatal: index-pack failed

Link to comment
Share on other sites

if i was to do this as of today which version of the DBC's, maps and vmaps would i need? Given that the latest (as of 28 Aug 2009) of Acid's SQL is no longer 009, but is 3.0.0.?

Current supported client version is 3.1.3, and that's where you should get maps from. And yes, the guide is a bit outdated: ACID is at 3.0.0.

http://www.scriptdev2.com/acid-3-0-t4502.html

I instaled 9.04 on VM and now a new problem starst to anoy!!

Dang .. seems like mangos doesn't like you .. :P

Joking aside, I did a little research on your git error, and some people are experiencing similar problems on Jaunty 9.04. But I just tested it, and it went fine on my standalone 9.04 server.

jellyb@momserv:~/playground$ git clone git://github.com/mangos/mangos.git
Initialized empty Git repository in /home/jellyb/playground/mangos/.git/
remote: Counting objects: 35990, done.
remote: Compressing objects: 100% (7052/7052), done.
remote: Total 35990 (delta 29093), reused 35778 (delta 28884)
Receiving objects: 100% (35990/35990), 28.93 MiB | 301 KiB/s, done.
Resolving deltas: 100% (29093/29093), done.

Is it specific to your new install? Can you run git on your regular machine?

Link to comment
Share on other sites

I can clone on other sistems but they are all 8.10 :(

Only thing i cant think of is that i instaled 8.10 i did dist-update to 9.04 that is what i will do on my server (or to travel 150 km and reinstall the whole sistem).

BTW i downloaded source on antoher sistem copy paste it on VM server and was able to compile but i need git :(

EDIT: Solved :) Just reinstall git-core ;)

Link to comment
Share on other sites

Hey, Im installing MaNGOS using this tuturial, currently uploading VMaps and I should be done. But I was just looking through my SQL Database and noticed there was no table containing data for Class ID 6, Death Knights. So I was wondering if the SQL from this guide might be outdated? And if so, could anyone please tell me where I can find the right SQL file to update for this version of MaNGOS? If I'm not mistaken, this version should build-up a MaNGOS for WoW 3.1.3, right?

Thanks in advance :)

Link to comment
Share on other sites

Hey, Im installing MaNGOS using this tuturial, currently uploading VMaps and I should be done. But I was just looking through my SQL Database and noticed there was no table containing data for Class ID 6, Death Knights. So I was wondering if the SQL from this guide might be outdated? And if so, could anyone please tell me where I can find the right SQL file to update for this version of MaNGOS? If I'm not mistaken, this version should build-up a MaNGOS for WoW 3.1.3, right?

Thanks in advance :)

Yes, the OP badlly needs to be updated. I might later post a new Howto for Mangos and Ubuntu. For the mean time, look at post #99 in this thread. They were my notes and about a month old. Mangos DB incremental updates should be updated.

Link to comment
Share on other sites

I just wanted to know that I'm using Xubuntu 9.04 and I don't know if this will apply to a vanilla install of Ubuntu 9.x, but I was also receiving OPENSSL errors when running "configure". I discovered that I had to install libcurl4-openssl-dev with apt-get.

Everything worked fine for me after that point; with the exception to the outdated URLs to the SVN, which I easily fixed on my own (I just now started reading this thread). Now my problem is UDB related. I'm not even going to bother asking how to resolve the problem because I know where the problem lies.

After updating my database using the 380 core patches, I got to the 380 update pack and received the following error:

ERROR 1054 (42S22) at line 1324: Unknown column 'quest_id' in 'field list'

I opened up the sql script to find that the table being affected is called npc_spellclick_spell, which starting with Mangos 8016, the table was updated with new fields (quest_id was removed). (NOTE: See 8016_01_mangos_npc_spellclick_spells.sql in mangos/sql/updates dir).

So I guess I either need to start with an older version of mangos before updating using UDB, then repatch all the way up to the current version of Mangos (8444), or I'll need to ask on the UDB forums if it's even necessary for me to start patching from 380 and if I can just start with 381... I'll keep yall posted on my progress or if I run into any other snags...

Link to comment
Share on other sites

Try importing UDB_0.11.5_Core_7681_SD2_1012.sql into mangos database instead of sql/mangos.sql. Please refer to my post #99 on this thread. And let us know if that works out for you.

Thanks Yip... yeah... before even reading post 99, I did the same exact process you did. I started getting a better understanding of how everything marries up after reading this thread on the UDB forum:

http://udbforums.org/index.php?topic=12622.0

I imported the data in a slightly different order, but ultimately, it should be exactly the same as yours (depending on which revision of Mangos you're using, of course) ;)

Anyway, I believe I got everything up to 8444 now. If anyone is having problems with a clean install, do exactly what Yip said. DO NOT import mangos.sql. Here is exactly what I did from a clean install (nothing in MySQL yet). Sorry Yip, but I have to reiterate since I didn't import characters.sql and realmd.sql from mangos/sql, but rather from the UDB (ForCleanInstallOnly) trunk.

SETTING UP MANGOS from UDB_0.11.5_Core_7681_SD2_1012 to Mangos 8444 w/ ScriptDev2 1275, ACID 3.0.0, and UDB 382:

All of this is assuming that you have successfully compiled Mangos with ScriptDev2

1. Download the prerequisite files:

# First create directories in Mangos data dir (Note I didn't install in the default /opt/mangos, so change paths accordingly)
cd /etc/mangos
mkdir acid
mkdir acid/sql
mkdir udb
mkdir udb/sql
mkdir udb/sql/updates

# Download via wget (I could have downloaded the tar ball, but it wasn't coming in correctly)
cd acid/sql
wget [url]http://sd2-acid.svn.sourceforge.net/viewvc/sd2-acid/trunk/wotlk/3.0.0/3.0.0_acid.sql[/url]

cd /etc/mangos/udb/sql
wget [url]http://unifieddb.svn.sourceforge.net/viewvc/unifieddb/trunk/Full_DB/UDB_0.11.5_Core_7681_SD2_1012.rar[/url]
unrar e UDB_0.11.5_Core_7681_SD2_1012.rar
rm UDB_0.11.5_Core_7681_SD2_1012.rar

cd ../updates
wget [url]http://unifieddb.svn.sourceforge.net/viewvc/unifieddb/trunk/Updates/0.11.5_additions/380_corepatch_mangos_7682_to_7894.sql[/url]
wget [url]http://unifieddb.svn.sourceforge.net/viewvc/unifieddb/trunk/Updates/0.11.5_additions/380_updatepack_mangos.sql[/url]
wget [url]http://unifieddb.svn.sourceforge.net/viewvc/unifieddb/trunk/Updates/0.11.5_additions/381_corepatch_mangos_7895_to_8029.sql[/url]
wget [url]http://unifieddb.svn.sourceforge.net/viewvc/unifieddb/trunk/Updates/0.11.5_additions/381_updatepack_mangos.sql[/url]
wget [url]http://unifieddb.svn.sourceforge.net/viewvc/unifieddb/trunk/Updates/0.11.5_additions/382_corepatch_mangos_8030_to_8280.sql[/url]
wget [url]http://unifieddb.svn.sourceforge.net/viewvc/unifieddb/trunk/Updates/0.11.5_additions/382_updatepack_mangos.sql[/url]

2. Create the database structure

cd /etc/mangos/mangos/sql
mysql -u root -p'<password>' < create_mysql.sql

3. Populate the database

cd /etc/mangos/udb/sql
mysql -u root -p'<password>' mangos < UDB_0.11.5_Core_7681_SD2_1012.sql

cd /etc/mangos/udb/sql/updates
mysql -u root -p'<password>' mangos < 380_corepatch_mangos_7682_to_7894.sql
mysql -u root -p'<password>' mangos < 380_updatepack_mangos.sql
mysql -u root -p'<password>' mangos < 381_corepatch_mangos_7895_to_8029.sql
mysql -u root -p'<password>' mangos < 381_updatepack_mangos.sql
mysql -u root -p'<password>' mangos < 382_corepatch_mangos_8030_to_8280.sql
mysql -u root -p'<password>' mangos < 382_updatepack_mangos.sql

4. Perform Mangos update

# The latest UDB release was for Mangos 8280. So we need to patch from 8294 to current (as of this post, 8444)

cd /etc/mangos/mangos/sql/updates
mysql -u root -p'<password>' mangos < 8294_01_mangos_playercreateinfo_action.sql
mysql -u root -p'<password>' mangos < 8310_01_mangos_spell_proc_event.sql
mysql -u root -p'<password>' mangos < 8342_01_mangos_spell_proc_event.sql
mysql -u root -p'<password>' mangos < 8361_01_mangos_spell_bonus_data.sql
mysql -u root -p'<password>' mangos < 8364_01_mangos_db_version.sql
mysql -u root -p'<password>' mangos < 8377_01_mangos_spell_area.sql
mysql -u root -p'<password>' mangos < 8392_01_mangos_spell_proc_event.sql
mysql -u root -p'<password>' mangos < 8392_02_mangos_spell_chain.sql
mysql -u root -p'<password>' mangos < 8394_01_mangos_spell_proc_event.sql
mysql -u root -p'<password>' mangos < 8397_01_mangos_spell_chain.sql
mysql -u root -p'<password>' mangos < 8397_02_mangos_spell_threat.sql
mysql -u root -p'<password>' mangos < 8399_01_mangos_spell_elixir.sql
mysql -u root -p'<password>' mangos < 8412_01_mangos_mangos_string.sql
mysql -u root -p'<password>' mangos < 8416_01_mangos_spell_learn_spell.sql
mysql -u root -p'<password>' mangos < 8444_01_mangos_mangos_string.sql

5. Finalize database population

cd /etc/mangos/mangos/sql
mysql -u root -p'<password>' characters < characters.sql
mysql -u root -p'<password>' realmd < realmd.sql

cd /etc/mangos/acid/sql
mysql -u root -p'<password>' mangos < 3.0.0_acid.sql

cd /etc/mangos/scriptdev2/sql
mysql -u root -p'<password>' < scriptdev2_create_database.sql
mysql -u root -p'<password>' scriptdev2 < scriptdev2_create_structure_mysql.sql
mysql -u root -p'<password>' scriptdev2 < scriptdev2_script_full.sql
mysql -u root -p'<password>' mangos < mangos_scriptname_full.sql

6. Update Realmlist table

# This is needed otherwise you won't be able to login

mysql -u root -p'mysql -u root -p'<password>'

# Enter the following once logged into MySQL
use realmd;
UPDATE realmlist SET name='<Realm Name>', address='<Server IP Address>' WHERE id=1;

# I used a static internal LAN IP assigned to Xubuntu 

7. Launch the the Realm and World

# Open 2 terminals

# First terminal type (NOTE: Remember, your data dir may be different, such as /opt/mangos/bin)
/etc/mangos/bin/mangos-realmd

# Second terminal
/etc/mangos/bin/mangos-worldd

8. Create an account

# If everything launches without errors, you're good to go. In the 2nd term window, type:

<Enter>
account create <username> <password>
account set addon <username> 2      # 0 = Classic, 1 = TBC, 2 = WotLK

And that's it folks. Don't forget to set the account addon, otherwise you'll be limited to WoW Classic features only.

Good luck!

EDIT 1: Removed unnecessary steps per advice provided by yip328.

Link to comment
Share on other sites

I'm glad that it's working. The reason I imported characters.sql and realmd.sql from mangos/sql is that they're always at the most recent versions. So, you don't have to worry about updating them like you did in step 4.

The only reason why I had to perform step 4 was because I was having trouble running the UDB 381 core patch for the characters DB. So I was forced to take it back by using the UDB clean install dump. So rather than figure out what was gonna break in 381 and 382 in terms of characters and realmd, I decided to just import everything in the clean install directory. Otherwise, I would have done exactly what you did.

;)

Link to comment
Share on other sites

The only reason why I had to perform step 4 was because I was having trouble running the UDB 381 core patch for the characters DB. So I was forced to take it back by using the UDB clean install dump. So rather than figure out what was gonna break in 381 and 382 in terms of characters and realmd, I decided to just import everything in the clean install directory. Otherwise, I would have done exactly what you did.

;)

But to my understanding, if you take realmd.sql and characters.sql from mangos/sql, you no longer need to update them with anything else including 381 and 382. Correct me if I'm wrong though.

The way I figured out was by checking their db_version tables in each of them. Let me know of what you find. I'm not proficient in SQL.

Link to comment
Share on other sites

But to my understanding, if you take realmd.sql and characters.sql from mangos/sql, you no longer need to update them with anything else including 381 and 382. Correct me if I'm wrong though.

The way I figured out was by checking their db_version tables in each of them. Let me know of what you find. I'm not proficient in SQL.

Yip, I just tested it out. Using the characters.sql that comes with Mangos core 8444 will cause 380_corepatch_characters_7682_to_7894.sql to fail right off the bat. I get the following error, due to core updates:

ERROR 1054 (42S22) at line 2: Unknown column 'required_7644_01_characters_character_pet' in 'character_db_version'

The same goes for realmd:

ERROR 1054 (42S22) at line 2: Unknown column 'required_7546_02_realmd_uptime' in 'realmd_db_version'

Thus, I can't proceed to importing 381 and 382. So it is necessary to import the characters.sql and realmd.sql files from the UDB ForCleanInstallOnly trunk.

You can test this out by creating a new database (i.e. characters2) and importing 380_corepatch_characters_XXX.sql as follows:

CREATE DATABASE `characters2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE DATABASE `realmd2` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON `characters2` . * TO 'mangos'@'localhost' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON `realmd2` . * TO 'mangos'@'localhost' WITH GRANT OPTION;

mysql -u mangos -p'password' characters2 < XXX.sql

mysql -u mangos -p'password' realmd2 < XXX.sql

Also, before doing this, you may want to backup your DB so you don't accidentally override something by mistyping...

mysqldump -u root -p characters > 20090903_characters.dmp

mysqldump -u root -p realmd > 20090903_realmd.dmp

Your version probably will work for mangos/sql/characters.sql if your (original) core version is 7644 or older and/or for mangos/sql/realmd.sql if your (original) core version is 7546 or older.

Link to comment
Share on other sites

I'm sorry if I didn't make it clear in my last post.

What I meant to say was that if you use characters.sql and realmd.sql, they already include 380, 381, 382 and updates from mangos/sql/updates. So, you don't have to touch those 2 databases after importing them from mangos/sql. Let me know if i'm not making clear this time.

Link to comment
Share on other sites

I'm sorry if I didn't make it clear in my last post.

What I meant to say was that if you use characters.sql and realmd.sql, they already include 380, 381, 382 and updates from mangos/sql/updates. So, you don't have to touch those 2 databases after importing them from mangos/sql. Let me know if i'm not making clear this time.

Oh I see what you're saying. So the only 380, 381, and 382 updates that were necessary were the ones for mangos and the updatepack, correct? I didn't realize that the Mangos team incorporated the UDB character and realm info into their core. Is that a safe assumption?

Thanks for clarifying, Yip.

EDIT 1: OK... I went ahead and verified that the changes were incorporated. The only discrepancy that I found dealt with the character_spell table and some other table. Updates were made to a couple records that didn't even exist. So I'm not sure if that data was supposed to come from somewhere, or if the data is no longer needed. I'll look into this further when I get some free time.

Link to comment
Share on other sites

That's at least how I understood it. Yes please... If you could further verify it, it'd be great, since my knowledge with SQL is very limited at this point. I'll dig more into udb forums as well and see if I could come up with more useful information regarding this issue.

Link to comment
Share on other sites

That's at least how I understood it. Yes please... If you could further verify it, it'd be great, since my knowledge with SQL is very limited at this point. I'll dig more into udb forums as well and see if I could come up with more useful information regarding this issue.

OK... I just got done doing a bit of research (had a bit of time to spare)... and basically, you're correct in regards to the characters and realmd scripts. I was really curious by various updates being performed in the 380, 381, and 382 character updates. I believe some of the updates being performed dealt with data formatting. In addition, I noticed modifications to a couple tables in regards to spells.

1. Spell/Action 64904 was changed to 64901 in table character_action. This can be explained from the following links (Read comments in first link):

http://www.wowhead.com/?spell=64904

http://www.wowhead.com/?spell=64901

2. Spell 28734 was removed from the character_spell table, which was Mana Tap since it was removed as of 3.0.2:

http://www.wowhead.com/?spell=28734#comments

I'm really intrigued to see the correlation between the spell id's (all action, item, spell, etc for that matter) with the id's found on wowhead. I'm really curious where that information is stored. I wonder if it's stored in game, or if the Mangos or UDB team colaborated with Blizz/Wow. I'm really interested in know where the information comes from.

Anyway, I modified my instructions to prevent confusion in case someone reads it.

Thanks for helping me out Yip.

Link to comment
Share on other sites

Running Ubuntu 9.04 server

Trying to ../configure it failed stating Missing openssl though libssl-dev was installed correctly

Going to the configure script I noticed the check was executed by pkg-config. Since that was not installed on my system it failed to detect openssl. Installing it fixes the problem. Maybe it is wise to add pkg-config to the apt-get line for required packages.

Link to comment
Share on other sites

Running Ubuntu 9.04 server

Trying to ../configure it failed stating Missing openssl though libssl-dev was installed correctly

Going to the configure script I noticed the check was executed by pkg-config. Since that was not installed on my system it failed to detect openssl. Installing it fixes the problem. Maybe it is wise to add pkg-config to the apt-get line for required packages.

Try

 sudo apt-get install libcurl4-openssl-dev

see if that does it for you...

Link to comment
Share on other sites

  • 3 weeks later...

Here goes the next problem while executing make:

libtool: link: g++ -DDO_MYSQL -g -O2 -Wl,-Bsymbolic-functions -rdynamic /usr/lib/ -o .libs/mangos-realmd AuthSocket.o Main.o RealmList.o  -L/root/mangos/objdir/dep/src/sockets -L/opt/mangos/lib ../../dep/ACE_wrappers/ace/.libs/libACE.so -lrt -ldl -L/usr/lib/mysql /usr/lib/libmysqlclient_r.so -lcrypt -lnsl -lm -lz ../shared/Database/libmangosdatabase.a ../shared/Config/libmangosconfig.a ../shared/Auth/libmangosauth.a ../shared/libmangosshared.a ../framework/libmangosframework.a ../../dep/src/sockets/libmangossockets.a -lpthread -pthread -Wl,-rpath -Wl,/opt/mangos/lib
/usr/bin/ld: /usr/lib/: No such file: File format not recognized
collect2: ld returned 1 exit status
make[3]: *** [mangos-realmd] Error 1
make[3]: Leaving directory `/root/mangos/objdir/src/realmd'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/mangos/objdir/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/mangos/objdir'
make: *** [all] Error 2

Thanks in advance

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