This is a tutorial for everyone who wants to compile there own Arcemu server but doesn't know how.
I have been as noob friendly as possible. I hope you guys find any use in it! (Took me 4 freaking hours to make 0.o)
Good luck! Thunderofnl
Download the following programs:
Now we are going to install MSysGit, Tortoise Git. IMPORTANT DO IT IN THIS ORDER.
Just click next everytime, be sure to select "Use Git Bash only" in the MSysGit installer:
At the Tortoise Git install be sure to select "TortoisePLink, comming from Putty, intergrates with Windows better"
After these are installed, we are going to install Visual C++ 2010 express.
No need to install the SQL Server 2008 Express Service pack. So don't check it:
Just let it run while we are going to get the Arcemu Source.
Make a folder called Arcemu somewhere you can easily access it (I choose my desktop)
Right click on the folder and select Git Clone:
This window will show up:
In the URL Section put it:
Code:
git://github.com/arcemu/arcemu.git
This will be the result:
Now click ok and this window will pop up:
Just let it go untill it's finished then it should look something like this:
In the meantime we are going to install CMake Gui, this is just a matter of clicking next and let it install nothing needs to be done except that so thats why there are no screenshots ;P
After this the Git Cloning should be done.
You will now have an arcemu folder in your arcemu folder:
Now open up CMake, you will get this window:
Click on "Browse Source"
Now go into your arcemu folder and the git clone folder. There should be a folder called CMake, select it in CMake:
Click ok, and click on "Browse Build"
You will get the same sort of window, now you go to your arcemu folder and create a folder called build like so:
Select it and click ok.
Cmake should look something like this:
Now click on "Configure" a window like this should show up:
In the top column select "Visual Studio 10" now click on "Finish"
You will see something like this:
Now click on "Generate" after it is done go to your Arcemu folder:
Now go into the folder build, it would look like this:
Now open up Arcemu.sln, it shall open in Visual C++ 2010 Express:
Right click on "ALL_BUILD" and click on Build (If you don't want to be in debug mode change the part where it says "Debug" to "Release":
This will take some time but after it has been build Visual C++ 2010 Express shall look like this:
In the meantime we can start installing Mysql:
In the install click on "Typical":
Afterwards just click install, after the installation is done you will see this:
Here we are going to give your mysql database a password.
Click next and select Standard Configuration:
Click next and fill in a password for this example we are going to use the password Ownedcore.
Click Next and then "Execute" if everything went well you'll see this:
Now your Mysql database shall be set up and your arcemu compilation should be done or nearly done.
Now if its done build INSTALL only this will gather all the compiled files into 1 map:
This shall be quickly and when it's done it shall display this:
If you got any errors you should try and launch Visual C++ 2010 as Administrator.
Now you can close Visual C++ 2010 and go to:
Code:
C:\Program Files\Arcemu
you should see this:
Now we are going to make the Maps/Vmaps and DBC's. Go into the folder tools you would see this:
We will need to copy everything to a World of Warcraft 3.3.5a installation, after that is done it shall look like this:
Now execute AD.exe and VMaps.bat this would pop up:
Let it do his thing. We are going to install a database in the meantime.
So, downlod WhyDB from here:
Code:
http://filebeam.com/83382ba9a2947346fb52f4abbc9bcb25
(YOU CAN ALWAYS CHECK IF THERE IS A NEW VERSION AVAILABLE HERE:
WhyDB - View forum - Announcements)
Also download a database editor like
SQLyog.
Once SQLyog is installed open it up this window will show up:
Click on "New" and name your connection I named it arcemu:
Click on Ok and fill in the rest:
Click on "Connect" this will show up:
Now right-click on root@localhost (or whatever there is) and click on "Create Database":
Now create 3 databases:
Code:
world
characters
logon
Now we are going to import the Logon and Character structure:
Right click on Characters and go to import and click "Execute SQL Script"
Click on the "..." and a file window should pop-up.
Go to your arcemus SQL folder for me this is:
Code:
C:\Documents and Settings\Administrator\Desktop\Arcemu\arcemu\sql
4
Select the "character_structure.sql" file and click Open then Execute.
Repeat these steps for the logon database but then the .sql file is called "logon_structure.sql".
Now that those databases are filled with the structure you are going to your WhyDB folder and open tool.bat
You will see this:
Fill it in like this but of-course with your own password:
If everything is filled out you will get this view:
Type i and press enter, the world database will now be installed.
When it's done you will see this:
The database has been set up!
By now the VMaps/Maps/DBC's should be done so go back to your World of Warcraft 3.3.5 folder.
There should be 3 more folders now: vmaps, maps and dbc:
Now move these 3 folders to your arcemu compilation (Remember it was C:/Program Files/Arcemu)
Now your arcemu folders must look something like this:
Now we are nearly done! But wait... where is the configuration?!
Good you ask! We are going to add them now!
These configurations are located in your Arcemu folder
Move this folder to your arcemu compilation folder. That folder should now look like this:
In the configs folder there should be 4 .conf files: logon.conf, world.conf, realms.conf, optional.conf
Lets first open up logon.conf in your favorite text editor:
We are going to fill in the database part so normaly its:
Code:
<LogonDatabase Hostname = "host"
Username = "username"
Password = "Passwd"
Name = "database"
Port = "3306">
For me it would be:
Code:
<LogonDatabase Hostname = "localhost"
Username = "root"
Password = "ownedcore"
Name = "logon"
Port = "3306">
Be sure to change the Password to the one you chose!
Now search for "change_me_logon" you should change it to something like: ownedcoreisawesome
So my logon.conf file looks like this now:
Code:
/***********************************************************************
* ArcEmu Logonserver Configuration File
* Last edited: 11/14/2010
*
*******************************************************************************
* Configure the logonserver to connect to the accounts mysql database below *
*******************************************************************************
* Database Section
*
* LogonDatabase.Host - The hostname that the database is located on
* LogonDatabase.Username - The username used for the mysql connection
* LogonDatabase.Password - The password used for the mysql connection
* LogonDatabase.Name - The database name
* LogonDatabase.Port - Port that MySQL listens on. Usually 3306.
*******************************************************************************/
<LogonDatabase Hostname = "host"
Username = "username"
Password = "Passwd"
Name = "database"
Port = "3306">
/* Host Directive
*
* This is the address that the realmlist will listen on.
* To listen on all addresses, set it to 0.0.0.0
* Default: 127.0.0.1 (localhost)
*
* Note: ISHost is the interserver communication listener.
*/
<Listen Host = "0.0.0.0"
ISHost = "0.0.0.0"
RealmListPort = "3724"
ServerPort = "8093">
/* Server file logging level
*
* This directive controls how much output the server will
* write to log files. It cannot be disabled
* 0 = Normal + Error; 1 = Detail; 2 = Debug
* Default: 0
*/
<LogLevel File = "0">
/* Account Refresh Time
*
* This controls on which time interval accounts gets
* refreshed. (In seconds)
* Default = 600
* 600 seconds = 10 minutes - 1 second = 0.0166666667 minutes 300 seconds = 5 minutes, 150 seconds = 2.5minutes
*
*/
<Rates AccountRefresh = "600">
/* WorldServer Setup
*
* RemotePassword
* This directive controls the password used to authenticate with the worldserver.
* It must be the same between the two configs. If it is not, your server will
* not register.
*
* Default: "change_me_logon"
*
* AllowedIPs
* This section MUST be completed, otherwise all attempts to link your servers will fail.
* These "Allowed" fields are a space-separated list of CIDR-form IP addresses that are allowed
* to make server connections to your logonserver, and register realms.
* For example, everything in the 127.0.0.* range would be:
* 127.0.0.0/24, as 24 of the bits must match the 127.0.0.0
*
* To allow a single IP,
* 1.3.3.7/32, would allow only 1.3.3.7 to connect as 32 of the bits must match.
*
* AllowedModIPs
* In the same form as AllowedIPs, these are the IPs that are allowed to modify the database
* (adding bans, GMs, account permissions, etc)
*/
<LogonServer RemotePassword = "ownedcoreisawesome"
AllowedIPs = "127.0.0.1/24"
AllowedModIPs = "127.0.0.1/24">
The RemotePassword is needed so that the logon server can communicate with the world server.
Next we are going to config the realms.
Go all the way down and you will see:
Code:
<Realm1 Name = "My Realm Name"
Address = "internet-url-or-ip:8129"
Icon = "PVP"
Population = "1.0"
TimeZone = "2">
<Realm2 Name = "Private"
Address = "internal-ip-address-for-lan-access:8129"
Icon = "PVP"
Population = "1.0"
TimeZone = "1">
<Realm3 Name = "Localhost"
Address = "localhost:8129"
Icon = "PVP"
Population = "1.0"
TimeZone = "1">
At the first realm put your ip adres before the :8129. You can find this by going to
199.193.113.101 - WIMIP (What Is My IP?) lets say your ip is 83.83.168.134 then you change the internet-url-or-ip to 83.83.168.134 so it will look like this:
Code:
<Realm1 Name = "My Realm Name"
Address = "83.83.168.134:8129"
Icon = "PVP"
Population = "1.0"
TimeZone = "2">
<Realm2 Name = "Private"
Address = "internal-ip-address-for-lan-access:8129"
Icon = "PVP"
Population = "1.0"
TimeZone = "1">
<Realm3 Name = "Localhost"
Address = "localhost:8129"
Icon = "PVP"
Population = "1.0"
TimeZone = "1">
Change internal-ip-address-for-lan-access to 127.0.0.1
Save and close realms.conf
Now we are going into World.conf
At the top you will see:
Code:
<WorldDatabase Hostname = "host" Username = "username" Password = "passwd" Name = "database" Port = "3306">
<CharacterDatabase Hostname = "host" Username = "username" Password = "passwd" Name = "database" Port = "3306">
So just as with the logon.conf we are going to change that, for me it would look like this:
Code:
<WorldDatabase Hostname = "localhost" Username = "root" Password = "ownedcore" Name = "world" Port = "3306">
<CharacterDatabase Hostname = "localhost" Username = "root" Password = "ownedcore" Name = "logon" Port = "3306">
Now we are going to search for "change_me_world" we are going to change that to "ownedcoreisawesome" since it needs to be the same as the RemotePassword in logon.conf.
So you will see this:
Code:
<LogonServer DisablePings = "0"
RemotePassword = "change_me_world">
Change it to:
Code:
<LogonServer DisablePings = "0"
RemotePassword = "ownedcoreisawesome">
Save the file and your Arcemu 3.3.5a server is set up!
Lets try it out shall we if everything went well you will see this:
CONGRATULATIONS! You've just compiled Arcemu!
It would mean a lot to have you say Thanks.