Ascent Section Home - MS Coast Home

Ascent Emu - World of Warcraft Server Emulator


Compile Under Linux

Sections

Most of this information is coming from Compiling Ascent Step by Step in Linux on assembla.com. However there are some minor changes that I thought important enough to add here.

User Creation

First if you have not already done so, you'll need to create a user for this server to run under.

As root: (or if your user can, sudo)

 useradd ascent

You'll also need to set the password for the ascent user.

 passwd ascent

From this point on, log out from being root and log in as the ascent user.

Directory Structure

Create the following structure. If the user's home directory was not created as part of the useradd command, you'll need to create it as well.

First we'll create the home of our realm.

 mkdir /home/ascent/realm_1/

Under it we'll place the following directories.

/home/ascent/  # Your main Ascent folder... in here go all the realm subdirectories
|-realm_1/     # Our first realm subdirectory
| |-ascent/    # Our source tree
| |-bin/       # In here go the binaries of the running Ascent server
| |-etc/       # Folder for our .conf files
| |-lib/       # Libraries
|

To create them, use this command line:

mkdir /home/ascent/realm_1/bin/ && mkdir /home/ascent/realm_1/etc/ \
&& mkdir /home/ascent/realm_1/lib/

Subversion Checkout

To checkout the source the first time you'll need to do the following.

cd /home/ascent/realm_1/ && svn co http://mmoforge.org/svn/ascent \
--username anonymous

Currently anonymous has no password, but you should check http://www.ascentemu.com for the current login credentials needed.

From this point on, updating your source tree to the latest version is as simple as

 cd /home/ascent/realm_1/ascent/trunk && svn up

Configure

Make sure you are in the realm's trunk directory.

 cd /home/ascent/realm_1/ascent/trunk/

For the first time compile you'll need to get the scripts for automake setup.

 libtoolize --force

If you get the following message it is fine.

You should add the contents of `/usr/share/aclocal/libtool.m4' to `aclocal.m4'.

You'll need to run autoreconf as follows:

 autoreconf -i -f

According to the guide on assemble.com, you can configure without optimize and withoutcollision, but as they are both good to do, I did both like so:

 ./configure --enable-optimize --enable-collision

Compile

Now for compiling we will want to run the included precompiled header script to speed up the compile process.

 sh make_precompiled_header.sh

When this is done you'll have much faster build times. But anytime you run svn update, you'll need to re-run that script.

Now it's time to make sure you have some coffee and a good book. Run make

 make

Coffee good? Did you read every page in "The Great Gatsby"? Terrific, you're only twenty minutes or so from completion of the make process. :)

Now let's install it. Run make install to install relative to it's current directory.

 make install

I understand you could have specified the path to use in the configure step above, however, by manually having to move the installed tree later, we prevent overwriting a good tested copy with what we just compiled.

So let's copy the relevant files to our tree created above.

cp /home/ascent/realm_1/ascent/trunk/bin/* /home/ascent/realm_1/bin/

cp /home/ascent/realm_1/ascent/trunk/lib/* /home/ascent/realm_1/lib

cp /home/ascent/realm_1/ascent/trunk/src/*.conf /home/ascent/realm_1/etc

Next Steps

Now that everything is compiled, you'll need to setup your database?.

Once the DB is setup, configure some startup? scripts and start it up.

You may also want to create an Account Creation? page that allows users to sign up and create accounts on your server.



Ascent Section Home - MS Coast Home