Create,Compile,Configure,MaNGOS + UDB + Scriptdev2(IMAGES)

UPDATED FOR 3.3.x



IF YOU HAVE ANY QUESTIONS PLEASE ASK


This is a Step-by-Step Guide on how to create the latest rev MaNGOS server with UDB and Scriptdev2.

Tested on Windows XP 32bit , Windows Vista 64bit , Windows 7 32bit
Works Perfectly

i have been asked by my Friend Bossrogue to make this Guide, becouse about 80% of all new starting to MaNGOS people have error's and mistakes by following the more Professional Guides .


Step one :
{ THE DOWNLOADS }

they are all important, but there are alternatives --Scroll-down

Download and Install All the Following Software
Some of Them have an Installation Guide --Scroll-down

GIT: no Installation Guide -simple
http://msysgit.googlecode.com/files/...ew20091022.exe

Tortoise-SVN : no Installation Guide -simple
32 Bit
Download TortoiseSVN from SourceForge.net
64 Bit
Download TortoiseSVN from SourceForge.net

Visual C++ 2008 Express Edition : no Installation Guide -simple
Visual C++ 2008 Express Edition

( Note : This Doesn't Work Properly on Vista so if your using Vista then Download the Following : )

Visual C++ 2005 Express Edition : no Installation Guide -simple
Thanks To { Le Froid } for the Links :

Filebeam - Beam up that File Scottie!

and You Will Need a Platform SDK Installed For Windows System : This is the Link :

Filebeam - Beam up that File Scottie!

MySQL : Installation Guide -- Scroll-down

MySQL :: MySQL 5.1 GA

Windows 32bit Edition :
DOWNLOAD Windows MSI Installer (x86) Size : 104.7M approxx
MySQL :: Select a Mirror

Windows 64bit Edition :
DOWNLOAD Windows MSI Installer (AMD64 / Intel EM64T) Size : 94.6M aproxx
MySQL :: Select a Mirror

How to Setup MySQL :

While Installing MySql it will ask you if you want a Complete install or Typical
Chose Complete -

then it Show the Wizard Complete Window
it Will ask you if you want to Configure and Register
Keep these checked dont modify it.

it will open the Configuration Window
Click - Next
then
Standerd Configuration
then
Install as Windows Service will Appear keep it like it is just continue with installation by clicking Next
Then Enter your
New Root Password and the Password Confirmation
( you have to rememeber This password - try not to forget )
You will See the CheckBox
Enable Root Access from remote Machines Click on it



Then Click Next And Then Finish - if Any Errors Appear Then you Did Not Follow this to the letter.

Step Two :
{ Setting Up the Stuff}


Go To Your Desktop or Any Other Place you Would like to Create your MaNGOS server on,

Create a File Called " MaNGOS " or anything you would like .
ofc without the Quote's aka " "

Inside the File "MaNGOS"
Create a File Called "UDB"
and
Create a File Called "Server"

Now
Right Click on The File "MaNGOS" and Click on Git GUI Here As Following :



Then Click Clone Existing Repository As Following :



Then Put the Following Line in the Source Location Field-box :
git://github.com/mangos/mangos.git

and Put the Following Line in The Target Directory Field-box
D:/Users/YOUR USER NAME/Desktop/MaNGOS/src

or Pick Browse and Chose the Location of Your File "MaNGOS"
it Can't Be an Already Existing File So You have To Put These letters "/src"



After That it Will Clone The Directory On The URL in your "src" File
And Then After its Completed a Window Will Appear , you can Just Close it.

Alternative To GIT :
You Can Just Download The Directory Via Browser and Skip This step
Link :
http://github.com/mangos/mangos/zipball/master

After That It Will Appear Like This :



Now Right Click on the File "UDB" And Click on SVN Checkout as Following :



Then Paste The Following Line on The URL OF REPOSITORY field-box :

https://unifieddb.svn.sourceforge.net/svnroot/unifieddb

As Following :



Now it Will Take At SomeTime to Download the UDB to your File "UDB"
Depending on Your Download speed ( my max is 170 kb/sec ) /cry

Download aproxm : 200 mb
AproxTime on DSL : 12 Mins
AproxTime on Dialup : 42 Mins

After Its Done Click OK.

Now Go To Your File "src" Then Go To "src" Then Go To "Bindings"
and Create a New File Called "scriptdev2" as Following :



Then Click on Your File "scriptdev2" and Click on SVN Checkout Just as Following :



Then Paste The Following Line on The URL OF REPOSITORY field-box as Following :

https://scriptdev2.svn.sourceforge.n...oot/scriptdev2




Now it Will Take At SomeTime to Download the scriptdev2 to your File "scriptdev2"
Depending on Your Download speed
Approx Size : 2 mb
approx Time : 17 Seconds

After Its Finished Just Click OK.

Now Go To Your Directory "MaNGOS\src\win"

If You have Visual C++ 2008 Installed Open The Following File
"mangosdVC90.sln"

If You have Visual C++ 2005 Edition Installed Open the Following File
"mangosdVC80.sln"

After Opening it with C++

Click on The Build in the Above Bar and Then Click on Configuration Manger
as Following :



Then Click on Release From the Active solution Configuration Bar
as Following :



Then Click on Build Then Build Solution As Following :



After its Done it Should Be Like This :
if it Says something other Then 0 failed then Reset The Process



Now Go To SQLYog or Any Other Software you Use and Use the Following Settings To Open Your MySql db as following :

MySQL Host Adress : localhost
UserName : root
UserPass : The Password you Used in MySQL Configuration Above
( told you its important )
Port : 3306



First Thing you Do Is Delete The Test Database by Clicking on it then Clicking the Delete Button on your Keyboard.

Then Create The Following Databases :
mangos
realmd
scriptdev2
characters

to Create a Database Right Click on The Empty Space and Click Create Database as Following :



Then Insert the Database name that you would Like to Create as Following :



after All Databases are created it should appear like this :



Now Before You Restore The Database Sql Dumps Go To Your File
"MaNGOS\src\src\bindings\scriptdev2" and Open The Following


If You have Visual C++ 2008 Installed Open The Following File
"scriptVC90.sln"

If You have Visual C++ 2005 Edition Installed Open the Following File
"scriptVC80.sln"

After Opening it with C++

Click on The Build in the Above Bar and Then Click on Configuration Manger
Same As You DID Before.

Then Click on Release From the Active solution Configuration Bar
Same As You DID Before.

Then Click on Build Then Build Solution
Same As You DID Before.

After its Done it Should Be Like This :
if it Says something other Then 0 failed then Reset The Process Entirly
or Post The Error You Encountered Here so i can fix it for you .

Now Return To SQLYog And Start the Restoring Process .
First Click on The Database:
characters then Click on import then Restore from Sql dump as Following :



Then Click on the ... Box and Navigate to your File
"MaNGOS\src\sql\characters.sql" as following :



Then Click on Execute and you will get a Window Statement as Following Click Yes :



Then it Will Start Executing the Queries inside that sql file and it will be like this :



After ot Finished Just Click Done .

Now Repeat the Process For Realmd .

Click on realmd then Click on import then Restore from Sql dump as Following :



Then Click on the ... Box and Navigate to your File
"MaNGOS\src\sql\realmd.sql" .

Then Click Execute then Done.

Now Lets Get To Sql Dumping MaNGOS This is The Tricky Part :

First off Navigate to your File
"MaNGOS\UDB\trunk\Full_DB\"

You will see a RAR File
Right Click it then Click on Extract here
After Extracting a Sql File will appear
Follow these steps :

Click on mangos then Click on import then Restore from Sql dump as Following :



Then Click on the ... Box and Navigate to your File
"MaNGOS\UDB\trunk\Full_DB\*.sql"
the SQL File that You Just Extracted. as Following :



Then Execute The Sql File and Click Done.

Now
Click on mangos then Click on import then Restore from Sql dump as Following :



Then Click on the ... Box and Navigate to your File
"MaNGOS\UDB\trunk\Updates\0.11.6_additions\"
or The File Any Number Beyond 0.11.6 depending on the time you use this .

Now Restore the Files that Start with the name
XXX are Numbers

"XXX_corepatch_mangos_XXX_to_XXX"

example :
"384_corepatch_mangos_8587_to_8734"

Restore them by a Number order

Example THIS IS JUST AN EXAMPLE
Restore
"384_corepatch_mangos_8587_to_8734"
Then Restore
"385_corepatch_mangos_8735_to_8798.sql"
Then Restore
"386_corepatch_mangos_8976_to_9102.sql"

if you happend to find Files Called
XXX are numbers

"XXX_updatepack_mangos.sql"
Example
"384_updatepack_mangos.sql"
then Restore them in number order

Then Execute The Sql File and Click Done.

if there in a problem then SQLYog Will Give You a Message Saying :

There was an error while executing a query.
The query and the error message has been logged at:
D:\Users\YOUR USER NAME\AppData\Roaming\SQLyog\sqlyog.err.
Please click on "Open Error File..." to open the error file.


then that means you have to Restore another Sql File before you can Restore This one.
or it means you can't Restore this file becouse your Database version is higher then it.

To Fix This Problem Simply Try to Restore another File
then come back to this one
You Must Restore All the Files

Now Click on Your mangos database and Click on Tables and the Click on db_version as following :

DEPENDING ON THE TIME YOU USE THIS GUIDE THE DB VERSION MIGHT BE DIFFERENT BUT ITS THE SAME METHOD.



MEMORIZE THIS NUMBER :

Now comes the part where you restore the updates that UDB didn't include :

IM GOING TO JUST WRITE THE NEXT STEPS COZ IV BEEN Writing This For 5 hours now.

YOU ARE NOT ABLE TO RUN YOUR SERVER IF THE UDB VERSION IS OLDER THEN MANGOS

SO FOLLOW THESE STEPS TO MAKE IT UP-to-DATE
if your 100% sure that UDB IS LATEST then skip these steps

Now
Click on mangos then Click on import then Restore from Sql dump .

Then Click on the ... Box and Navigate to your File
"MaNGOS\src\sql\updates\"

And Look For The SQL File Number Just Above the Number in the DB Version

Copy All The Sql Files That have a Number Above the Number Mentioned in the DB Version .

and create a New File Called "Need to be added" or What Ever you would like.

Paste All the Files that you Copied from your File
"MaNGOS\src\sql\updates\"

and Start Restoring them By Number Order.

if you happened to Get sqlyog Error while trying to Restore one file, don't worry
its 90% chance that you missed a file or you tried to restore a file twice.

if that happened just try to restore the file number right under this one and the file number right above it. maybe by two numbers above it or under it.

after you get a Correct Execution then Continue Restoring the Files in Number order.

After All The Files are Restored.

Now
Click on scriptdev2 then Click on import then Restore from Sql dump .

Then Click on the ... Box and Navigate to your File
"MaNGOS\src\src\bindings\scriptdev2\sql\"

Execute The Following Sql's in Order :

1) scriptdev2_create_structure.sql
2) scriptdev2_script_full.sql

Now
Click on mangos then Click on import then Restore from Sql dump .

Then Click on the ... Box and Navigate to your File
"MaNGOS\src\src\bindings\scriptdev2\sql\mangos_scriptname_full.sql"

and then Execute it and Click Done.

Now Its Time To GET the Server Ready once and for all.

Navigate to your File
"MaNGOS\"

and Cut The Following Folder's
1- UDB
2- Server

then go inside your file
"MaNGOS\src\"

And Paste Them

Now Go To your File
"MaNGOS\src\bin\Win32_Release"
copy All The .dll and .exe Files And Paste them inside your "Server" File

Now Go To Your File
"MaNGOS\src\src\mangosd"
copy the file mangosd.conf.disn.in And Paste them inside your "Server" File

Now Go To Your File
"MaNGOS\src\src\realmd"
copy the file realmd.conf.disn.in And Paste them inside your "Server" File


Now Go To Your File
"MaNGOS\src\src\bindings\scriptdev2"
copy the file scriptdev2.conf.disn.in And Paste them inside your "Server" File

now Rename All the ".conf.dist.in" Files to ".conf"

Open Your "mangosd.conf" file and find the following lines :

RealmID = 1
DataDir = "."
LogsDir = ""
LoginDatabaseInfo = "127.0.0.1;3306;root;mangos;realmd"
WorldDatabaseInfo = "127.0.0.1;3306;root;mangos;mangos"
CharacterDatabaseInfo = "127.0.0.1;3306;root;mangos;characters"
MaxPingTime = 30
WorldServerPort = 8085
BindIP = "0.0.0.0"

Replace the lines with

RealmID = 1
DataDir = "."
LogsDir = ""
LoginDatabaseInfo = "127.0.0.1;3306;root;YOUR ROOT PASSWORD;realmd"
WorldDatabaseInfo = "127.0.0.1;3306;root;YOUR ROOT PASSWORD;mangos"
CharacterDatabaseInfo = "127.0.0.1;3306;root;YOUR ROOT PASSWORD;characters"
MaxPingTime = 30
WorldServerPort = 8085
BindIP = "0.0.0.0"

Open Your "realmd.conf" file and find the following line :

LoginDatabaseInfo = "127.0.0.1;3306;root;mangos;realmd"

replace with

LoginDatabaseInfo = "127.0.0.1;3306;root;YOUR PASSWORD;realmd"

Open Your "scriptdev2.conf" file and find the following lines :

ScriptDev2DatabaseInfo = "127.0.0.1;3306;mangos;mangos;scriptdev2"

Replace with

ScriptDev2DatabaseInfo = "127.0.0.1;3306;root;YOUR PASSWORD;scriptdev2"

NOW YOUR ALMOST READY TO BEGIN YOUR SERVER.
but you forgot the most important Step XD
go to your file
"MaNGOS\src\contrib\extractor"
and copy ad.exe
Now Go To Your Wow Directory And Paste Ad.exe
and Run it

After its Finished Copy the maps and dbc directories and Paste them in your Server Folder.

CONGRATS

YOU NOW OWN A MANGOS SERVER WITH UDB AND SCRIPTDEV2

change your realmlist to localhost
and Start Playing wow as SUPER DUBER ADMIN

YOUR USERNAME IS : administrator
YOUR PASSWORD IS : administrator

IF YOU HAVE ANY QUESTIONS PLEASE ASK

HOW TO APPLY PATCHES TO YOUR SCRIPTDEV2 .

Alright , Let's Say you Found a Nice Anti WEH Patch or a Teleporter NPC Patch or a Teleportation Stone / Donation Vendor / Vote Vendor Patch and you would like to Insert it to your Scriptdev2 Asap.


Put Your Patch File and Any other Files Related to that Patch File in Your Desktop.
to keep things more orgenized Put then in a File Called "PATCH"




Go To Your File "MaNGOS\src\src\bindings"

Then Right Click on Folder "Scriptdev2" as Following :



Then Click on Apply Patch .

Then You will get The Browse Window , go to your File "PATCH" as Following :




After Clicking on The Patch File and Clicking Done you Will get the Following Window :



This Window Resprosents What are The Files that are going to be affected if you apply this patch .

Note: if Your Patch is Out of Date or has an Error And You Apply the Patch using This Method You will get Compiling Error's .


now Right Click on The Window in the Upper left corner and Click Patch all as Following :



Then , if you have a scriptdev2.conf Included in The Patch File like i do Above,


you Will have to Copy this and Paste it into the File "MaNGOS\src\server"

And Edit it To meet the Following right on top of the conf file :


# ScriptDev2 Configuration file
# This file must be placed within the directory which holds mangosd.conf and realmd.conf
ConfVersion=2009040501

# Database connection settings for the world server.
# Default: hostname;port;username;password;database
# .;somenumber;username;password;database - use named pipes at Windows
# Named pipes: mySQL required adding "enable-named-pipe" to [mysqld] section my.ini
# .;/path/to/unix_socket;username;password;database - use Unix sockets at Unix/Linux
# Unix sockets: experimental, not tested
ScriptDev2DatabaseInfo = "127.0.0.1;3306;root;YOUR PASSWORD;scriptdev2"

Now After Applying The Patch You have To Recompile , Exact Same Method you used to Compile it in the First Place , Above .

Without The SVN Checkout thingy .


Go To Your File "MaNGOS\src\src\bin\Win32_Release"

Copy The Files :
1- "MaNGOSScript.lib"
2- "MaNGOSScript.exp"
3- "MaNGOSScript.dll"

Then Place Them Inside Your Server File with Realmd.exe and mangosd.exe


if you have any issue getting your custom script to work in your scriptdev2 post it here ,
i have tested it on 2 windows versions and they both works with my custom scripts

I WILL EXPLAIN UPDATING SCRIPTDEV2 and MANGOS to Latest Patch Without Losing any Data in The Following Reserved Posts ,

its just i had examz in college for about 2 weeks now so real life is more important for meh

原文:

http://www.mmowned.com/forums/world-of-warcraft/emulator-servers/guides-tutorials/272201-superguide-create-compile-configure-mangos-udb-scriptdev2-images.html

你可能感兴趣的:(sql,sql,mysql,SVN,server,Go)