Jump to content
xisto Community
Sign in to follow this  
KainRacure

Tutorial On How To Compile Your Own Mangos World Of Warcraft Private Server. A great way to learn about how big MMORPGs work and are built.

Recommended Posts

====================
| Disclaimer Please read |
====================

This is an educational project ONLY! It is NOT MENT TO BE RAN AS A PUBLIC SERVER! If you do run a public server it MAY be against Blizzard's (World of Warcraft's parent company) EULA and you will void any agreements including the right to play on their servers. They will DELETE YOUR ACCOUNT and possibly ban you from their servers all together.

I am writing this to help you learn what goes into making a big time MMORPG and possibly get people into learning about video game production, C++, php, mysql and other programs and programming/scripting languages involved in large MMORPGs and their development.

I will reply to this thread with help if you need it but if I believe you are using this to run a public server I will ignore your posts.

Also another thing to think about, using and creating this server is 100% legal and DOES NOT infringe upon copyrights because it falls under fair use for educational purposes, HOWEVER If you use any of blizzard's images, files, even the names of their characters for anything besides learning you are BREAKING THE LAW. (This means if you make any money off of this server you can be sued by Blizzard, this would possibly include advertising on pages associated with your server and "donations".)


==================
| What you need First |
==================

First thing you will need is Some Version of MS Visual C++

This can be one of the following:


  • Visual Studio 6
  • Visual Studio 2005 + SP1
  • Visual C++ 2005 Express Edition
  • Visual Studio 2008
  • Visual C++ 2008 Express Edition
  •  
  • Most likely you will need the patch for SP-1

mangosdVC71.sln - Visual Studio 6
mangosdVC80.sln - Visual Studio 2005 or VC++ 2005 Express
mangosdVC90.sln - Visual Studio 2008 or VC++ 2008 Express


 

Now in Visual Studio select the build menu and choose the Configuration Manager

In the configuration manager change the "Active Solution Configuration" to Release and leave the "Active Solution Platform" at Win32 and close.

Now go back to the Build menu and choose Build Solution.

It should begin to compile and will take quite some time (especially on slower computers)

If you get warning messages in the bottom do not worry, some times there will be warnings, It is ok.

When it is done it should say something like: "Build: 9 succeeded, 0 failed, 0 up-to-date, 0 skipped", if it says "Build: 3 succeeded, 0 failed, 6 up-to-date, 0 skipped" That is ok too, as long as it says "0 failed" you are good.

Now on to building the Scripts.

====================
| Compiling Script Dev 2 |
====================

This is pretty much like the core, but there are a few changes.

instead of using the .sln file in C:\workbench\win you need to look for one in C:\workbench\src\bindings\ScriptDev2

MAKE SURE YOU USE THE EXACT SAME .sln FILE AS YOU USED WITH THE CORE! If you don't this build will fail and it IS annoying.

Once again we need to go to the Build menu and to Configuration Manager and change the "Active Solution Configuration" to Release and click close.

Now just as before go to the Build menu and choose Build Solution.

When this is done you will have both your scripts and core waiting for you in C:\workbench\bin\release


=====================================
| Copying your server to its Working Directory|
=====================================

Now you need to copy these files to the directory you wish to run your server out of. (This tutorial will assume C:\MANGOS)

Also copy the files mangos.conf.in out of C:\workbench\src\mangosd\ and realmd.conf.in out of C:\workbench\src\realmd\ and scriptdev2.conf out of C:\workbench\src\bindings\ScriptDev2\ and put them in C:\MANGOS

Now rename the two .conf.in files by removing the .in from each.

Check My next Tutorial for how to Set up your MANGOS Server and database. (I will add a link at the bottom when It is finished)

======
| Links |
======

Official Mangos Forum -loads more info and the ability to get involved in creating stuff for this server project.

Official ScriptDev2 Forum - Info on the scripts used here and once again the ability to get involved and learn more.

===================================
| Things you need to know when installing |
===================================

If you chose Visual C++ 2005 Express Edition You need to install and configure Platform SDK. To do this follow This tutorial found here up until it says in step 5 "Save and close the file and open Visual C++ Express."

If you are having trouble with step 3 here is a more detailed version:

It is recommended that you install SP-1 as well

-----------------------------------------

If you have chosen to use Visual Studio 2005 you HAVE TO install SP-1 for VS 2005

(other versions mentioned may have other problems but I am not familiar with them and so I can not offer any help, I only mention them because they will work.)

=============================
| The Other Main Tool for Compiling |
=============================

Now you need to download TortoiseSVN

This is a free ware application for sharing of source code and we will use this quite a bit during this tutorial.

Install the program normally and then you need to set up your source files using SVN checkout

=====================
| Getting the Source Files |
=====================

Make a new folder somewhere (This tutorial assumes you have created this folder in the C:\ drive's root directory and named the folder MANGOS source) (from now on this will be referred to as your " MANGOS source folder")

Right click on the MANGOS source folder and choose the "SVN Checkout" option.

In the box that pops up you want to click on the area labeled "URL of Repository" and put in the address to the MANGOS source code's SVN which is:
https://svn.code.sf.net/p/mangos/code/trunk/

Now press the ok button and allow it to download. When it is done the window will say "Completed at revision: XXXX" It is suggested that you make a note of which revision you have for later when updating and for when you are doing the rest of this tutorial.

What you have just downloaded was 1 of 3 parts to your server, this part is known as the "core"

You will also want to get a set of scripting source code called Script Dev 2 (SD2), This is what makes the creatures actually do stuff, it is not 100% necessary but without it your creatures will do very little and many other things will not work.

To get this go into your MANGOS source folder and navigate to C:\MANGOS SOURCE\src\bindings\

Create a new folder titled ScriptDev2 and as with the core's source we need to right click the folder and choose "SVN Checkout"

This time put this url into the area labeled "URL of Repository":
https://svn.code.sf.net/p/scriptdev2/code/

Now let that download and you have your scripts. (note the revision on this one too)

(the 3rd part, which is the database, I will get to in a little bit)

========================
| Updating your server's core |
========================

This is something will want to do regularly but for now to shorten this tutorial a bit I will add it in a different tutorial later.

=========
|Extra stuff|
=========

OK here is where you would add any custom patches you have. HOWEVER I will leave that to a separate tutorial seeing as it will make this INSANELY long (not that it inst right now, lol) (hmm I was right, It is long enough that I need to cut it in parts :o )

==================================
|Compiling Your MANGOS Server with SD2 |
==================================

Now to the biggest part of the work.

I suggest that you ALWAYS use a whole new set of source code for EACH
COMPILE to make sure that you do not accidentally mess it up.



SO copy your MANGOS source folder (with the SD2 folder inside it)



Label this folder "workbench"

Open your workbench folder and navigate to C:\workbench\win\
Double click the .sln file for your version of Visual Studio



Edited by OpaQue (see edit history)

Share this post


Link to post
Share on other sites

I am sorry, I havent gotten around to the actual set up tutorial yet, I have been VERY busy with things, I will create it soon (tho honestlly it gets more complicated the longer I wait, new features and all..)

Share this post


Link to post
Share on other sites

Any chance on an update for this tut yet?

Tutorial On How To Compile Your Own Mangos World Of Warcraft Private Server.

 

Replying to KainRacure

 

Have you updated the next tutorial yet? I am very curious as to what to do next, and your tutorials have been the easiest to understand and follow that I have found.

 

I would appreciate your time if you could get that tutorial up, and if you already have, then the link to that tutorial would be appreciated as well...

 

Thanks so much,

Sarenen

 

-question by Sarenen

Share this post


Link to post
Share on other sites

Definitely keeping an eye on this post. I've heard many things about mangos servers being better than ascent servers. I personally tried ascent and it had lots of bugs, and took up alot of space (well over 1 gig). So far so good with mangos, waiting for the next tutorial to continue. :lol:

Share this post


Link to post
Share on other sites
Communication ProtocolTutorial On How To Compile Your Own Mangos World Of Warcraft Private Server.

Hi, Thanks for the tutorial, it's has been very helpfull.I was wondering, do you have any documentation of the protocol used for client-server communication?You see, I have in mind the posibility of making a port to Smalltalk, just for fun, or maybe not ;). And in the no so far future, improve and add functionality in a more productive environment (or at least more productive for me ;)).But for that I don't want to read all the source to understand how it works... It'll be easier if you have some code documentation to support it that you can share.Thank you in advance,NekroN.

Share this post


Link to post
Share on other sites
Mangos help:)Tutorial On How To Compile Your Own Mangos World Of Warcraft Private Server.

I have created my own mangos server but at the end it give me a error and then shuts down...

Do you maybe know why

Please Help :D 

-reply by Shekina

 

Share this post


Link to post
Share on other sites

Thanks for the great tutorial, i may try to host my own wow server, sounds easy enough, thanks man!I play on Eternion private server, if any one is looking for a fun WOTLK server come on over!Does anyone here host their own server? We should start a Xisto wow server!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | 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.