Ok so this is a guide on how to compile a server completely from scratch with the Arcemu core. Now some of you are new to private servers so your probably wondering what a compiled server is compared to a repack. Here is a definition list of common words and it also will help you understand more of what this is all about.
Terms/definition List
Now your also probably wondering would should I compile when it would be tons easier to use a repack. I have also made a small list on that which you can visit here.
Why YOU should compile
Now Compiling a core isn't hard as in this guide I will show you how to do everything step by step. It also includes pictures for those hard to understand parts. Only main requirement is a basic understanding of the computer which I am pretty sure most people already have. Now there are several variations across the web of this guide, let me assure you this is the original and best way to compile a server.
((Please note that the ARCEMU core IS DIFFERENT THEN THE OPEN ASCENT CORE, THIS GUIDE IS FOR COMPILING THE ARCEMU CORE, Thank you.))
I am prone to make mistakes so if anyone finds any faults or something wrong with one of
the steps just let me know and I'll fix it, please do not flame. Most of this is Jargs guide which
I've just updated several steps.
This guide is updated every few days a week so it is never old. Last update: Nov_18_08
Credits for this guide go to:
Jargs- For making the original guide which this is based off of.
Peeps at arcemu-For well, making arcemu
ME - For making the newer guide
DO NOT post problems about other crap unrelated to this guide. This guide does not include how to set a server up publicly to DO NOT post about public connection problems. Thank you.
Contents
1. Setting up Arcemu
1.1 Installing programs
1.2 Downloading the source
1.3 Getting the Libraries
1.4 Compiling Arcemu
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 Arcemu configuration files
3.4 Playing on the server
1.1 Installing Programs
There are two programs you will need to download for this section.
Download | TortoiseSVN - You will use this to download the Ascent source code.
Downloads - This is for compiling the source code. Download the one that says Visual C++ 2008
Download and install those two then proceed to the next step.
1.2 Downloading The Source
Create a new folder called Arcemu, right click and select SVN checkout.
at the URL of Repository type in: "svn://arcemu.info/svn/" w/o the quotes
leave everything else as it is.
Click ok and it will begin downloading. It will take a little while to download so let that finish up.
1.3 Getting the Libraries
While that is downloading here is something else you can do. These steps must be completed.
Download these libraries from:
* Filebeam - Free Fast File Hosting
* RapidShare: Easy Filehosting
Navigate to this directory (adjust paths if necessary):
C:\Program Files\Microsoft Visual Studio 9.0\VC\include
In in another window Navigate to:
Navigate to ascent-windows-libraries\VC\include
copy ALL the files in ascent-windows-libraries\VC\include [to] C:\Program Files\Microsoft Visual Studio 9.0\VC\include
Now Navigate to:
C:\Program Files\Microsoft Visual Studio 9.0\VC\lib
And in another window Navigate to:
ascent-windows-libraries\VC\lib
Copy all the files from ascent-windows-libraries\VC\lib [TO] C:\Program Files\Microsoft Visual Studio 9.0\VC\lib
Next, you need to compile the zlib and PCRE libraries.
Go into ascent-windows-libraries\Sources and open VC90-solution.sln
Make sure everything is like it is in the picture below
the click Build solution
if all went right it should look like this
Close it and go into the sources folder again. There should now be be several new folders go into the one called
Output_Release. You will find two .lib files called pcre and Zlib.
Copy those two files into
C:\Program Files\Microsoft Visual Studio 9.0\VC\lib
now go into ascent-windows-libraries\DLL Files
copy the two .dll files into in your binary folder, OR
under C:\Windows\System32.
This only has to be done once per compiler!
When you update Arcemu, this doesn't need to be done each time.
Now you can build Arcemu as normal.
1.4 Compiling Arcemu
By now it should be finished downloading if not then wait until it is.
Go into ascent\win (the one you created in step 1.2).
Open the solution file arcemuVC90.sln
Make sure everything is like it is in the following picture then click build solution.
If all went well it should have 3 suceeded and 0 failed. This is the part a lot of people are having troubles with as they are getting errors, or 1 or more failed.
Now go into Arcemu\src\scripts and open the solution file scripts2008 and compile it like before.
Once it is done compiling it will be located in ascent\bin\Release along with your compiled core.
Copy the files arcemu-world.exe, arcemu-logonserver.exe and the entire script_bin folder from "bin\release\" to a new
folder (such as C:\ArcEmu). This will be your ArcEmu server folder.
Make a new folder in your, C:\ArcEmu, folder called configs
Copy the standard configuration files arcemu-world.conf, arcemu-logonserver.conf, arcemu-realms.conf, arcemu-optional.conf
and arcemu-voicechat.conf over from ascent\src to the scripts folder. NOTE: Your configs must go into the configs folder or else you will get errors.
In your new Arcemu folder you can make a folder called scripts. You can place all your lua files in here.
2.1 Installing MySQL
Before you do anything else, you need to download MYSQL "http://dev.mysql.com/downloads/"
Here is also a direct download for windows users. MySQL :: Select a Mirror
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:
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):
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):
Code:
SET PASSWORD FOR root@localhost=PASSWORD('newpasswordgoeshere');
Then type
Code:
CREATE database world;
And finally
Code:
CREATE database accounts;
It should look like this:
2.2 Importing a database
Make a new folder (not in your arcemu installation folder) called whyDB. Go into the whyDB folder and go to SVN Checkout like earlier in the tutorial,
and set the URL of repository to "http://svn2.assembla.com/svn/WhyDB". Once done go into your Whydb folder. In it should be a tool.bat. Right click it, and select edit and open it in notepad. Now edit it like in the picture
below then save and close.
Run the tool.bat and when it asked you for your database login put in 'root' and your password is the one
you set in step 2.1.
Type in I to import files into your database. Once done it will take you back to you back to the main whyDB tool page.
Now click 'L' and press enter and it will begin Importing the Character or Logon structures into your accounts table. Once done exit the tool.
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:
and then...
Code:
INSERT INTO `accounts` (`acct`,`login`,`password`,`encrypted_password`,`gm`,`banned`,`lastlogin`,`lastip`,`email`,`flags`,`forceLanguage`,`muted`) VALUES (1,'typeyourloginhere','passwordhere','','az',0,'0000-00-00 00:00:00','','',8,'enUS',0);
NOTE: in the code you will need to update the 'typeyourloginhere' and 'passwordhere' parts. Or else the code will just set up a account with that information.
3.1 Extracting maps
We will now extract the map files. Download this AC Web - Downloads - enUS Map Extractor if your WoW client is enUS,
or this AC Web - Downloads - enGB Map Extractor if your wow 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 arcemu folder.
3.2 Extracting DBCs
Download this DBC extractor AC Web - Downloads - DBC Extractor and follow the instructions in the readme. The move the DBC folder to your arcemu folder where you put the maps.
3.3 Setting up Arcemu configuration files
Now you need to set up the config files you put in the config folder in step 1.3. 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.
You will need to put in your password in the places that say yourpassword here or password goes here.
The Arcemu-world Configuration File.
Find this line and edit it exactly like below (remember to place your MYSQL password where its red.
Code:
<WorldDatabase Hostname = "localhost" Username = "root" Password = "passgoeshere" Name = "world" Port = "3306" Type = "1">
<CharacterDatabase Hostname = "localhost" Username = "root" Password = "passgoeshere" 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!">
NOTE: Not Sure if that's still there
And the same on line 600:
Code:
#<die2 msg="I read nearly all my config file, but not the whole thing!">
To enable LUA scripts on your server find this line
Code:
<ScriptBackends LUA="0"
AS="0">
and change it to this
Code:
<ScriptBackends LUA="1"
AS="0">
And finally you need to put a password (any password) on line 461 in this section:
Code:
<LogonServer DisablePings = "0"
RemotePassword = "passgoeshere">
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 = "yourpasswordhere"
Name = "accounts"
Port = "3306"
Type = "1">
Find this section and edit it like so.
Code:
<Client MinBuild = "1"
MaxBuild = "9999">
THis will work for all patches now.
And on line 97, you will need to set the password to the same as you put in the arcemu-world.conf like so:
Code:
<LogonServer RemotePassword = "passgoeshere"
AllowedIPs = "127.0.0.1/32" <-----make sure these numbers are the same in your config
AllowedModIPs = "127.0.0.1/32"> <---make sure these numbers are the same in your config
3.4 Playing on the server
Now all that is left to do is to run logonserver and worl, if you did everything right you should get two windows like this:
Arcemu-Logonserver:
Arcemu-world:
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!
4.1 Final thoughts
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.
Remember to post problems in the Support forums!! Thanks again to Ac-Web for making original guide.
.if you have any problems just post away and I'll try to fix em' Again feedback is always welcomed.
Also heres a list of gm commands for your new server, the commands are a bit different then the ascent ones some of you are used to: http://upload.virtual-angel.de/command-list.xml
ERROR(S) SECTION
Troubleshooting tips for errors.
Q: I am getting stuck at connected, Handshaking or Success. what do I do?
A: Several possible reasons:
Make sure your realmlist is set to 127.0.0.1
Make sure world and logon are running
Make sure you are up to date with the latest patch
Q: i keep getting mysql could not be started error.
A: Go into Start, Control Panel, Adimistrative tools, Services, find mysql on the list, click end process
Q: I get an error in my arcemu world that says something like Major error something something creature_proto
A: You will need to update your database as the newest arcemu core has changed several things.
Q: Side by Side Configuration is Incorrect
A: Most of these problems can be solved by downloading Framework 3.5 See Extras section for download link.
Extras
http://rapidshare.com/files/257371873/maps.rar - Maps
http://rapidshare.com/files/257371416/Server.rar - WEBSITE xD
http://www.mmowned.com/forums/emulat...-comeback.html Norwegian Elite DB and inc dbc files 3.1.3 XD
I want to thank you all for reading and NOTE: I don't take full credit for this guide! Please enjoy