PDA

View Full Version : Setting up an Ascent server From scratch



Jgro1413
23-07-08, 10:30 PM
This is a tutorial that will go through the whole process of setting up Ascent, installing a database and keeping it all updated.

Contents

1. Setting up Ascent

1.1 Installing programs
1.2 Downloading the source
1.3 Compiling Ascent

2. Setting up MySQL

2.1 Installing MySQL
2.2 Importing the database

3. Final configuration

3.1 Extracting Maps
3.2 Extracting DBCs
3.3 Setting up Ascent configuration files
3.4 Playing on the server

1.1 Installing Programs

There are two programs you will need to download for this section.
TortoiseSVN - You will use this to download the Ascent source code.
Visual C++ 2008 Express Edition - This is for compiling the source code.

Download and install those two then proceed to the next step.

1.2 Downloading The Source

Create a new folder called SVN. Then create another folder called Ascent inside that. Go into the folder and right click, then go to SVN Checkout like in the picture below:
http://i220.photobucket.com/albums/dd52/Jargs1/01SVNFolder.jpg



Now put "http://mmoforge.org/svn/ascent/" in the "URL of repository" like so:
http://i220.photobucket.com/albums/dd52/Jargs1/02SVNCheckout.jpg



Now click "OK" and leave it to download. You will be prompted for a username and password, put your username as anonymous and leave the password blank. When it has finished downloading, you should have three folders, "branches", "tags" and "trunk". The folder "branches" contains stable revisions of Ascent which are guaranteed to work. The folder "trunk" contains the latest revisions of Ascent, but they are not guaranteed to work. Every so often, the developers will add the updates in the trunk to the branches folder. To update your Ascent source to the latest revision, go into your SVN folder, right click and go to SVN Update like so:
http://i220.photobucket.com/albums/dd52/Jargs1/03SVNUpdate.jpg



1.3 Compiling Ascent

You can compile Ascent from the trunk or branches, but i am going to be compiling from the branches in this tutorial and suggest you do the same. At the time of writing this tutorial, the latest branch is "3_8_stable", so in my SVN folder, i will go to "Ascent/branches/3_8_stable/win/" and open "ascentVC90.sln".

Make sure everything is like it is in the following picture then click build solution.
http://i220.photobucket.com/albums/dd52/Jargs1/04Compile.jpg



If all went well it should look something like this:
http://i220.photobucket.com/albums/dd52/Jargs1/05Compiled.jpg


Now go to "branches/3_8_stable/src/scripts/" and open "scripts2008.sln". Now compile it with the same settings as before.

Now go to "branches/3_8_stable/bin/release/", your ascent files will be in there and you should have these:
http://i220.photobucket.com/albums/dd52/Jargs1/_06AscentFolder.jpg



Copy the ".conf" files from "branches/3_8_stable/src/" into this folder, and also the ".dll" files from "branches/3_8_stable/dep/lib32". Now the "release" folder contains your Ascent server, just copy it to a location of your choice and rename it to whatever you want.

2.1 Installing MySQL

Before you do anything else, you need to download MySQL and also download and install SQLyog.

Now install MySQL and select a Typical install. At the end of the install, you will get an option to "Configure the MySQL Server now", make sure this box is checked and continue. Follow the configuration wizard through like this animation:
http://i220.photobucket.com/albums/dd52/Jargs1/07MySQLSetup.gif



After you have done that, go to Start > All Programs > MySQL and open MySQL Command Line Client
When it asks you for a password just press enter.

Now type (this will set your new password for MySQL):
Quote:
SET PASSWORD FOR root@localhost=PASSWORD('newpasswordgoeshere');
Then type
Quote:
CREATE database world;
And finally
Quote:
CREATE database accounts;

It should look like this:
http://i220.photobucket.com/albums/dd52/Jargs1/08MySQLPassword.jpg



2.2 Importing a database

Go to your SVN folder that you made before and create a new folder called "NCDB". Go into the NCDB folder and go to SVN Checkout like earlier in the tutorial, and set the URL of repository to http://mmoforge.org/svn/ncdb/ click OK and the username will be anonymous, leave the password blank. Now open Tool.bat with notepad and edit it like this picture:
http://i220.photobucket.com/albums/dd52/Jargs1/09NCDBTool.jpg


Now open Tool.bat normally, and use the "Install NCDB World Database". It will install the database like so:
http://i220.photobucket.com/albums/dd52/Jargs1/10Tool.jpg


Now exit the Tool.

Open SQLyog and put in the information like this picture (your password is the one you set before):
http://i220.photobucket.com/albums/dd52/Jargs1/11SQLyog.jpg



and click connect when you have done that.

Now right click your accounts database and go to "Restore From SQL Dump".



Navigate to your SVN folder and go to /Ascent/branches/3_8_stable/sql/ and select the logon_structure.sql then click execute.



Do the same for character_structure.sql in that folder.

Now we are going to create the account you will use in game. Open MySQL Command Line that we used before and enter your password. Now type:

Quote:
USE `accounts`;
Then:

Code:

insert into `accounts`(`acct`,`login`,`password`,`gm`,`banned` ,`lastlogin`,`lastip`,`email`,`flags`,`forceLangua ge`) values (1,'username goes here','password goes here','az',0,'0000-00-00 00:00:00','','',8,'enUS');



3.1 Extracting maps

We will use a map extractor to extract the maps. Use this if your WoW client is enUS, or this if your client is enGB. Place ad.exe into your World Of Warcraft directory, and make a folder in your World Of Warcraft directory called "maps". Then run ad.exe and it will extract the maps. If all is well it will look like this:



When the maps have finished extracting, move the "maps" folder to your compiled Ascent folder.


3.2 Extracting DBCs

Download this DBC extractor and follow the instructions in the readme. The move the DBC folder to your compiled Ascent folder where you put the maps.

3.3 Setting up Ascent configuration files.

There are three configuration files that you get when you compile Ascent (the config files are all located in your compiled Ascent folder or "release" folder.). "ascent.conf", "logonserver.conf", "realms.conf". I am just going to show you the things that you need to change in the configuration files to make the server work, there are alot more options so feel free to explore them.

The Ascent Configuration File.

You will need to make this part look identical to my example with the exception of the password, which should be the password you used when setting up MySQL. This is located on line 31 of the ascent.conf:

Code:

<WorldDatabase Hostname = "localhost" Username = "root" Password = "jimswow123" Name = "world" Port = "3306" Type = "1">
<CharacterDatabase Hostname = "localhost" Username = "root" Password = "jimswow123" Name = "accounts" Port = "3306" Type = "1">

On line 199 there is a message you will need to comment out (add a "#") like so:
Code:

#<die msg="I am a newb who didn't even read half my config file!">

And the same on line 600:
Code:

#<die2 msg="I read nearly all my config file, but not the whole thing!">

And finally you need to put a password (any password) on line 461 in this section:
Code:

<LogonServer DisablePings = "0"
RemotePassword = "jima1">



The Logonserver Configuration File.

You will need to edit this information on line 32 to look like my example with the exception of the password which should be your MySQL password:
Code:

<LogonDatabase Hostname = "localhost"
Username = "root"
Password = "jimswow123"
Name = "accounts"
Port = "3306"
Type = "1">

On line 85, this section determines which WoW patch versions will be able to play on your server. If you would like it to be compatible with the latest patch (2.3.3 at the time of writing this) change the "maxbuild" to 7799 like so:

Code:

<Client MinBuild = "6739"
MaxBuild = "7799">

And on line 97, you will need to set the password to the same as you put in the ascent.conf like so:
Code:

<LogonServer RemotePassword = "jima1">

3.4 Playing on the server

Now all that is left to do is to run logonserver and ascent, if you did everything right you should get two windows like this:

Logonserver:



Ascent:



Now go to your World Of Warcraft folder and open realmlist.wtf with notepad. Change it to say
Code:

set realmlist 127.0.0.1

and then save. Launch WoW.exe and play with the game account you made!

Please give me feedback on this tutorial, if it was too hard or could have been made easier to understand in parts, let me know.

***CREDIT GOS TO JARGS OF AC WEB***