phelpsben
-
Posts
64 -
Joined
-
Last visited
Never -
Donations
0.00 GBP
Content Type
Profiles
Bug Tracker
Wiki
Release Notes
Forums
Downloads
Blogs
Events
Posts posted by phelpsben
-
-
I'm waiting on a title change, if your going to compile for OS X that is the only thing different ( past installing the MySQL server ) you must do. Past that you can follow the tutorial.
-
Try this in your lib directory.
rm libmangosscript.so rm libmangosscript.so.0 rm libACE.so chmod 0777 * ln -s libmangosscript.so.0.0.0 libmangosscript.so ln -s libmangosscript.so.0.0.0 libmangosscript.so.0 ln -s libACE-5.6.6.so libACE.so
That should set and recreate the sym links.
-
I just complied on rev.8799 with ScriptDev2 rev.1496. Works great, awesome fix.
-
Thats strange, maybe you can try to chmod the files.
-
Wowhead data is gathered via an in game add-on, from there you upload to there site with there desktop application. I'm not sure about the others though.
-
The seperation of database and world server is a really smart move on development and legal stand points.
Both are useless alone, and combing them is your own decision, making only you responsible.
There IS a client for MaNGOS, so MaNGOS is not a W*W server, it only resembles the way W*W works, and you can use the W*W client to play on the server.
-
libACE should be built along with MaNGOS. It should be in the main directory.
Here is what my directory structure looks like.
-
I have created a wiki page that follows the same style as my forum guide.
You can find it here: http://getmangos.eu/wiki/Compile_MaNGOS_On_Ubuntu
Tell me what you think
-
I have updated the main post, compiled with the current revision.
-
I will update the first post for the current revision, please be patient as I re-write it.
-
Hi, when I try this:
~# mysql -p'YOUR PASSWORD HERE' realmd < UPDATE realmlist SET name = 'Your Realm Name' WHERE id = 1;
~# mysql -p'YOUR PASSWORD HERE' realmd < UPDATE realmlist SET address = 'Your IP' WHERE id = 1;
It doesn't work, it says:
-bash: UPDATE: No such file or directory
Thx for the great tuto.
Follow from step 7 again, I fixed it.
-
Still yet to answer my question.
Scriptdev2 is NOTHING to do with mangos, it is an entirely different and separate project.
How does SD2 have NOTHING do do with MaNGOS?
If SD2 has NOTHING to do with MaNGOS, than it should/would have some functionality without MaNGOS(or with something other than MaNGOS), which it does not.
It's not impossible to answer my question. The answer is simple, SD2 is (an optional) part of MaNGOS.
-
If you add a new plugin to your web browser, and the plugin does not function properly is it:
a ) the fault of the plugin
or
b) the fault of the browser
The browser (MaNGOS) can function on its own, the plugin (SD2) cannot. However it is the responsibility of the plugin to be compatible with the browser, not the other way around.
That didn't answer my question.
Scriptdev2 is NOTHING to do with mangos, it is an entirely different and separate project.What other "browser" can use the "plugin", and what can this "plugin" do without the "browser"?
How ever you want to analogize this, you can't get around the fact that MaNGOS is part of SD2 and vice versa.
-
scriptdev2 is NOT required for mangos to work.
Scriptdev2 is NOTHING to do with mangos, it is an entirely different and separate project.
If you have a problem with scriptdev, report it at their forums.
Can you give me an example of what SD2 can do on its own, or what other project can use SD2?
That's almost like saying, PEAR is not part of PHP, or Rails has nothing to do with Ruby.
-
Because I don't know Italian, I'm going to say in advance, great translation.
-
I'm happy to see people using it. Thank you.
-
The only reason you would need to apply SD2 SQL patches is if your updating your server, this is for a fresh install, not an update.
-
I run them both, UDB has SD2 1012 and SD2 is at 1083, this way, your using the current version (which could have some major updates).
You don't need to copy SD2 config, it makes 2 on its own.
-
I think you should remember this is a guide, if they have a problem, I seriously doubt they can fix it, even with our help.
# apt-get is obsolete in Debian, I don't know how that's in *buntu, I would use aptitude or such more advanced tool, but whatever, apt-get is the most error-prone solution here ..
Aptitude would need to be installed, I have never used a Ubuntu Server that has come with aptitude. Apt installs these just fine, its never messed up on me.
# Use one command per line, no semicolons! If an error occur, the command list continues executing and thus you're probably unable to find out where the error occured. If you absolutelly _must_ use several commands per line, because you feel it's somewhat cool, use `&&' instead of semicolon. This will most likely stop other commands from executing if an error occur (due to return value).
I don't feel the semicolon is "cool" in any way, I'm writing this expecting people who have no idea what there doing to try and follow it. This keeps people from copying/pasting over alot of commands and missing one. Most of the multi-command lines have a small chance of messing up anyways.
# I'm really surprised you used git-am. Almost noone realizes that I made SD2 patch usable for git-am. You should however include a git-apply version (or at least mention) for people who don't want any custom commits, because they git-stash all their custom stuff befure update (to make it fast-forward) ..
I seen the email headers at the beginning of the patch, that's how I knew. If someone is going to be adding there own patches, do you think there going to be following a guide?
# just btw .. you can use wildcards even like "git-am src/bindings/ScriptDev2/patches/MaNGOS-*.patch" to get only the .patch file (no gzip) ... or use gzipped one together with zcat.
You can't use wild cards in this example, I have tried. Try it yourself.
# I don't know why most guides use "--enable-ra" even if 95% of the people using this guide won't ever use RA.
If you leave RA off in the config file, does it really hurt anything ? We won't have 5% of people saying "OMG, i followed the guide, and my super cool make server awesome public script doesnt work!!! HALP!!!"... I would much rather just skip all that.
# Again, separate make from make install with an error check, your current solution is really, really bad as make can likely fail (which isn't true for mkdir for example).
What if I dumped the make and make install to a log file? Then the "new" people could maybe get some help.
# Using mysql passwords on command line is rather dangerous, better solution would be to use "source" from mysql client or doing something like "cat file1 file2 file3 file4 | mysql mydatabase -p" and typing the pass once. But that is, of course, not so nice, because you won't know which file caused a possible error.
If using the password on the CMD line is dangerous, maybe you should worry about who has access to your server root to look at the history where you used them. I do the MySQL commands separate because if there going to have a problem, its going to be here.
If they can't get Filezilla working, then they can ask for help, trying to keep this simple.
-
There is an error with SD2, if you look at the make exits, you will see it does so with errors.
This isn't due to the tutorial, this is the same method I have used many times over.
EDIT: just ran the code, and it installed, looks like they fixed it.
-
That doesn't matter with this guide, it will install and build for the right architecture.
Remember, this isn't windows, when you install dependencies, your always going to get the right architecture.
-
Ill write an extra section to the guide, give me a few minutes.
-
Mangos SQL Updates
Since there are SO many sql changes made, I will try my best to explain how to apply the mysql updates.
You will need the current revision of the SD2 World DB you installed, from there, you will run ALL updates from that revision and up.
The updates are in the /mangos/sql/updates folder.
If you update the core, you will need to check for any SQL changes and apply those with each new core.
-
[h]Important! Parts of this guide are obsolete due to new build system!
please check out the Wiki guide[/h]
Before we start
This is written with the following assumptions:
1) You are build a revision within 50 of 8797.
2) Your using Ubuntu Server 8.04/8.10/9.10 - Debian 5 - CentOS 5 / RHEL
3) You have the required map and data files.
4) You have at least minimal knowledge of the Linux command line.
5) You have direct or ssh access to the machine.
6) You have some good music to listen to.
7) You have 2 hours to waste.
Step 1a - Install the software - Ubuntu/Debian
This will install the packages required by MaNGOS on Debian/Ubuntu based system.
Your going to get a MySQL root password prompt if you havn't setup MySQL before, pick a secure password, make sure you remember this.
~# apt-get update ~# apt-get install build-essential gcc g++ cpp automake git-core autoconf make patch libmysql++-dev libtool libcurl4-openssl-dev libssl-dev grep binutils subversion zlibc libc6 nano mysql-server unrar-free
Step 1b - Install the software - CentOS/RHEL
This will install the packages required by MaNGOS on RHEL/CentOS based system.
Install RPMForge
~# rpm --import [url]http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt[/url]
Select the proper architecture code below. If you are unsure, "uname -m" in the command line will tell you.
32bit - i386/i686
~# wget [url]http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm[/url] ~# rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
64bit - x86_64
~# wget [url]http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm[/url] ~# rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
Install dependencies
~# yum update -y ~# yum groupinstall "Development Tools" -y ~# yum install glibc glibc-common glibc-utils mysql-devel zlib zlib-devel openssl-devel gcc-c++ curl curl-devel gcc cpp automake autoconf make patch libtool grep binutils subversion nano mysql-server git unrar -y
Step 2 - Get the source
We get the current mangos version and SD2 version.
~# git clone git://github.com/mangos/mangos.git ~# cd mangos ~# git clone git://github.com/scriptdev2/scriptdev2.git src/bindings/ScriptDev2
Step 3 - Patch MaNGOS w/ SD2
Where going to apply the SD2 patch
~# git am src/bindings/ScriptDev2/patches/MaNGOS-*
Step 4 - Compile MaNGOS
Now where going to compile, this takes anywhere from 30 minutes up to a few hours.
This is going to get everything ready, you can copy/paste this, I just placed all the commands on a single like, so there is a minimal chance to mess something up.
~# autoreconf --install --force;mkdir objdir;cd objdir;
This will configure MaNGOS. You can change "/opt/mangos" to the directory where you want to install MaNGOS.
~# ../configure --prefix=/opt/mangos --sysconfdir=/opt/mangos/etc --enable-cli --enable-ra --datadir=/opt/mangos
The last step is to start the compiler, this part takes the longest.
~# make ~# make install
All-In-One
This is an All-In-One for steps 1-4, if this fails then actually do steps 1-4 so you can find the error
cd ~;apt-get update;apt-get install build-essential gcc g++ cpp automake git-core autoconf make patch libmysql++-dev libtool libcurl4-openssl-dev libssl-dev grep binutils subversion zlibc libc6 nano mysql-server unrar-free;wget [url]http://ftp.de.debian.org/debian/pool/main/o/openssl/libssl0.9.8_0.9.8k-5_i386.deb[/url] [url]http://ftp.de.debian.org/debian/pool/main/o/openssl/openssl_0.9.8k-5_i386.deb;dpkg[/url] --install libssl0.9.8_0.9.8k-5_i386.deb;dpkg --install openssl_0.9.8k-5_i386.deb;git clone git://github.com/mangos/mangos.git;cd mangos;git clone git://github.com/scriptdev2/scriptdev2.git src/bindings/ScriptDev2;git am src/bindings/ScriptDev2/patches/MaNGOS-*;autoreconf --install --force;mkdir objdir;cd objdir;../configure --prefix=/opt/mangos --sysconfdir=/opt/mangos/etc --enable-cli --enable-ra --datadir=/opt/mangos;make;make install;
Step 5 - Setup MaNGOS
We need to enter the MaNGOS install directory. If you changed the install directory, this will be different, change to w/e directory you picked.
~# cd /opt/mangos/
First we copy the config files the compiler made, we don't rename them because you might mess one up, this way, you have a backup.
~# cp etc/mangosd.conf.dist etc/mangosd.conf ~# cp etc/realmd.conf.dist etc/realmd.conf
Now we edit them. This will start the Nano editor, this is VERY simple to use, "^" = "ctrl" in windows, so "^X" would be "ctrl+x".
You move around with your numpad (you know, the smaller words, under the numbers, you get to use those now).
~# nano etc/mangosd.conf ~# nano etc/realmd.conf
I''m going to assume you know how to change the files respectively.
Step 6 - Setup the Database
There is a magic little command we use during the setup process, this makes things so much simpler.
~# mysql -p'YOUR PASSWORD HERE'
We will use this in place of a Windows/Mac MySQL application.
Create the MaNGOS database
~# mysql -p'YOUR PASSWORD HERE' < mangos/sql/create_mysql.sql ~# mysql -p'YOUR PASSWORD HERE' < ScriptDev2/sql/ScriptDev2_create_database.sql ~# mysql -p'YOUR PASSWORD HERE' ScriptDev2 < ScriptDev2/sql/ScriptDev2_create_structure_mysql.sql
Populate the database
~# mysql -p'YOUR PASSWORD HERE' mangos < mangos/sql/mangos.sql ~# mysql -p'YOUR PASSWORD HERE' characters < mangos/sql/characters.sql ~# mysql -p'YOUR PASSWORD HERE' realmd < mangos/sql/realmd.sql ~# mysql -p'YOUR PASSWORD HERE' ScriptDev2 < ScriptDev2/sql/ScriptDev2_script_full.sql
World Database
Download Database
This is strictly copy/paste for current, this will break in the future, i will try to keep this updated
~# wget [url]https://unifieddb.svn.sourceforge.net/svnroot/unifieddb/trunk/Full_DB/UDB_0.11.6_Core_8734_SD2_1480.rar[/url] [url]https://sd2-acid.svn.sourceforge.net/svnroot/sd2-acid/trunk/wotlk/3.0.1/3.0.1_acid.sql[/url] --no-check-certificate;unrar e UDB*;
Install Database
~# mysql -p'YOUR PASSWORD HERE' mangos < UDB_0.11.6_Core_8734_SD2_1480.sql ~# mysql -p'YOUR PASSWORD HERE' mangos < 3.0.1_acid.sql ~# mysql -p'YOUR PASSWORD HERE' mangos < /mangos/src/bindings/ScriptDev2/sql/mangos_scriptname_full.sql
Now apply MySQL updates. There is a list right after this post, you can follow it to update.
Step 7 - Realmlist
Where going to update the realm name and IP so it can be accessed from other computers.
~# mysql -p'YOUR PASSWORD HERE' mysql> use realmd; mysql> UPDATE realmlist SET name = 'Your Realm Name' WHERE id = 1; mysql> UPDATE realmlist SET address = 'Your IP' WHERE id = 1; mysql> exit
Step 8 - Datafiles
Download the datatools, I got these from the contrib folder in the MaNGOS source.
If you can use a Windows Environment, then you can find pre-compiled binaries in extractor_binary
If you cannot use them, you must compile ad, vmap_extractor, vmap_assembler and optionally mmap form the sub-directories for yourself
Place these files in your w*w folder and run "ExtractResources.sh"
Your going to upload, "maps", "dbc", and "vmaps", place these in the "bin" folder You can do this with Filezilla, it supports SFTP, you can upload the files without the need to install an FTP server.
Step 9 - Starting the Server
There are a few ways you can start your server, I'm going to show you my preferred method. Where going to use a linux cmd line app that simulates different screen or windows.
Here is a video tutorial to show you how it works:
http://impactwow.com/mangos/screen/ - Will re-upload soon.
In your first screen, change to your MaNGOS bin. This could be different if you changed it in step 4.
~# cd /opt/mangos/bin ~# ./mangos-realmd
Now switch to your second screen, and change to the same directory.
~# cd /opt/mangos/bin ~# ./mangos-worldd
You can now switch between the two.
You should now have a working Mangos - UDB - SD2 - Acid - Server setup and running, if you have a public/static IP then the server should be public as well.
Thanks go to artanis for the SD2 patch snippet. Thanks to the awesome mod who made this a sticky.
Duel Win, where is it?
in OldCore modifications
Posted
Where is the code that handles a duel win?
Maybe where it checks if the player has the achievement.