PDA

View Full Version : How to Compile/Make an ArcEmu Server!



Legendary
26-09-13, 11:52 AM
How to make ArcEmu Server :)
Table of Contents
1) Requirements
A) Downloading
I) Microsoft Visual C++ and Libraries
II) Tortoise SVN
III) MySQL
IV) SQL Browser
B) Installing
I) Microsoft Visual C++ and Libraries
II) Tortoise SVN
III) MySQL
IV) SQL Browser
2) Getting ArcEmu + Database
A) Retrieving the Source
B) Retrieving the Database
3) Compiling ArcEmu
4) Setting Up ArcEmu + Database
A) Setting Up ArcEmu
B) Setting Up The Database
5) Running ArcEmu
1) Needed Files and Applications
In order for ArcEmu to compile and function properly you will need a few files and programs. Also you will need .net framework 3.5, if you don't want to get it from Microsoft updates then you can download it from here.
Download Microsoft .NET Framework 3.5 Service Pack 1 from Official Microsoft Download Center (http://www.microsoft.com/en-us/download/details.aspx?id=22)
A) Downloading
I) Microsoft Visual C++ and Libraries
The fist thing you will need to download is Microsoft Visual C++ Express which is fairly large and will be the longest to download. It is needed to compile and edit the ArcEmu source. It can be downloaded here, Visual Studio Express 2012 Products | Microsoft Visual Studio (http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-products#webInstall) (Note: you do not need to install Microsoft SQL server 2008) Also you will need the ArcEmu libraries so that ArcEmu will function properly this can be found in the SVN I will go into more depth later.
II) Tortoise SVN
Next you will need Tortoise SVN which is used to download the ArcEmu source and the Database. It can be downloaded from here.
TortoiseSVN - Downloads (http://tortoisesvn.net/downloads.html)
III) MySQL
You will also need MySQL which is used to allow your characters to be saved and for your ArcEmu server to work right. It can be downloaded from here.
MySQL :: Download MySQL Community Server (http://dev.mysql.com/downloads/mysql/5.1.html#downloads)
IV) SQL Browser
In order to be able to edit and access you will need a SQL browser. My favorite is Navicat , the windows FREE version can be downloaded here.
Navicat Premium Essentials (Multiple Databases GUI) (64-bit) - Free download and software reviews - CNET Download.com (http://download.cnet.com/Navicat-Premium-Essentials-Multiple-Databases-GUI/3000-10254_4-10870715.html?tag=mncol)
B) Installing
Between each install be sure to restart your computer
I) Microsoft Visual C++ and Libraries
For this install all you will need to do is just follow the on screen instructions and make sure you deselect Microsoft SQL Server 2008 because it is pointless to have if we already have MySQL.
II) Tortoise SVN
Just follow the on screen instructions if you need help just ask.
III) MySQL
When installing the MySQL server set all the settings on the MySQL server how ever you wish but when you get to the part for setting the security settings be sure not to set a password yet, it will make the installation process a lot easier.
http://i46.tinypic.com/30xh8ao.png
After it should come up with a screen like this,
http://i49.tinypic.com/24lrjx0.png
IV) SQL Browser
Just follow the on screen instructions if you need help just ask.
2) Getting ArcEmu + Database
This is where the fun starts. It's time to start working on the ArcEmu WoW server it self.
A) Retrieving the Source
To get the ArcEmu Source all you need to do is, create a new folder and open the folder, then right click the new folder and click SVN Checkout, once you have done that then you will put https://github.com/arcemu/arcemu for URL of repository and click okay. It will download the latest ArcEmu by it self.
http://i45.tinypic.com/2a5x89y.png
B) Retrieving the Database
There are many ArcEmu databases out there but today we're going to use WhyDB because it is the easiest to build off of DB. You will go thought the same process as you did for getting the ArcEmu source except you will put svn.xp-dev.com/svn/whydb-users/ for URL, but really you can use any ArcEmu database you would like.
3) Compiling ArcEmu
Compiling ArcEmu is a lot simpler then most people think, all you have to do is navigate to the folder where you downloaded the ArcEmu SVN, for me this is a folder on my desktop called ArcEmu, once inside go to a folder called trunk.
Inside that folder there will be a folder called ./extras/ and inside that folder there will be another folder called ./arcemu-windows-libraries/ which contain 4 folders, DLL, DLL (x64), Sources and VC, in order for the compiler to be able to compile ArcEmu you will need to install the headers contained in ./VC/. to do so you will need to navigate the the folder C:\Program Files\Microsoft Visual Studio 9.0\. Copy and paste the ./VC/ folder in to the Visual Studio folder. Saying yes to all of the messages that pop up.
http://i48.tinypic.com/ab4doh.png
Now, go to the folder ./win/ and run the file arcemuVC90 - All Projects.sln. To compile it just Build> Configuration Manager, then click on the drop down tab that says debug and change it to Release, close it. Now, go to build> build solution or just press F7, (Note: This may take a while if you have an old computer.)
http://i46.tinypic.com/9b9015.jpg
http://i49.tinypic.com/2re02dl.jpg
http://i48.tinypic.com/qnvgw4.jpg
4) Setting Up ArcEmu + Database
You can almost see your shiny new ArcEmu sever, only a few more greuling steps.
A) Setting Up ArcEmu
Now that you have compiled the server you can now start setting it up so you'll be able to have it running properly. First you have to get your Compiled ArcEmu form trunk/bin/release. The only files you really need to move to a new folder are arcemu-logonserver.exe arcemu-world.exe collision.dll and the 4 folders that dbc maps script _bin and scripts. If I didn't mention this you are supposed to make a separate folder to hold the ArcEmu compiled server. Also you will need the configs from trunk/configs, just copy the whole configs folder to your server folder. Next you will need to get the latest Maps and DBCs either from your client for from downloading them from here (DBCs) for 3.0.9. Extract each of these in the corresponding folders I.E. Maps go in maps DBCs go in dbc. (I cannont post maps because the are to large to upload but they aren't really needed anymore.)
http://i45.tinypic.com/1445j7l.jpg
B) Setting Up The Database
Now It's time to set up the database. Open up navicat create a new connection and under pass put the <pass> I told you we would need later. Then press OK. After that open the connection by double clicking on localhost, then right click localhost and click new database, you will be making 3, one named world, one named char and, one named logon. Go to the folder where you downloaded WhyDB, there should be a file called tool.bat. Right click it and press edit. Change WhyDB_world to world. then save and close it. Now open tool.bat, it will ask you for you information, the first will be root the second will be your <pass>. Then type i and press enter. Now you need to go back to navicat and double click char and logon. After you have done so you will need to right click them and choose execute batch file,Now go to <ArcEmu Source>/trunk/sql/ and find the database structure for the corresponding database. Now go to <ArcEmu Source>/trunk/sql/utilities and open ArcEmu DB Updater.bat, for this you will need to type in, localhost, 3306, root, <pass>(your password), logon, char, world. Now you will need to type a and press enter.
http://i46.tinypic.com/32zuft3.jpg
http://i49.tinypic.com/1jspis.jpg
http://i47.tinypic.com/68wig0.jpg
http://i50.tinypic.com/15einhy.jpg
http://i49.tinypic.com/mkhukx.jpg
5) Running ArcEmu
Before you can run ArcEmu you will need to set up the configs.
Has to be Changed
Your choice
ArcEmu-Logon.conf
Code:

<LogonDatabase Hostname = "localhost"
Username = "root"
Password = "<Pass>"
Name = "logon"
Port = "3306"
Type = "1">
<Rates AccountRefresh = "600">
<Client MinBuild = "9551"
MaxBuild = "9551">
<LogonServer RemotePassword = "logon"
AllowedIPs = "127.0.0.1/24"
AllowedModIPs = "127.0.0.1/24">
ArcEmu-World.conf
Code:


<WorldDatabase Hostname = "localhost" Username = "root" Password = "<pass>" Name = "world" Port = "3306" Type = "1">
<CharacterDatabase Hostname = "host" Username = "username" Password = "<pass>" Name = "char" Port = "3306" Type = "1">
<Server PlayerLimit = "100"
Motd = "Welcome to an ArcEmu based server! Wrath of the Lich King is now live!"
SendStatsOnJoin = "1"
EnableBreathing = "1"
SeperateChatChannels = "0"
CompressionThreshold = "1000"
QueueUpdateInterval = "5000"
KickAFKPlayers = "0"
ConnectionTimeout = "180"
RealmType = "1"
AdjustPriority = "0"
RequireAllSignatures = "0"
ShowGMInWhoList = "1"
MapUnloadTime="0"
LimitedNames="1"
UseAccountData="0"
AllowPlayerCommands="0"
EnableLFGJoin="0"
TimeZone="0"
Collision="0"
DisableFearMovement="0">
<Rates Health="1"
Power1="1"
Power2="1"
Power3="1"
Power4="1"
QuestReputation="1"
KillReputation="1"
Honor="1"
PvPTimer="300"
ArenaQueueDiff="150"
Compression="1"
XP="1"
QuestXP="1"
RestXP="1"
ExploreXP="1"
DropGrey="1"
DropWhite="1"
DropGreen="1"
DropBlue="1"
DropPurple="1"
DropOrange="1"
DropArtifact="1"
DropMoney="1"
Save="300"
SkillChance="1"
SkillRate="1"
ArenaMultiplier2x="1"
ArenaMultiplier3x="1"
ArenaMultiplier5x="1">
<LogonServer DisablePings = "0"
RemotePassword = "logon">


ArcEmu-Realm.conf
Code:

Don't copy these Config or they will not work for you :)
The other configs are optonial if you want to chang them, go ahead =D, Now all you need to do is start ArcEmu-World.exe and ArcEmu-Logon.exe and your set. Don't forget to change your realmlist to 127.0.0.1. This is what you should end up with, I followed the guide exactly I said it and it comes out working perfect.
http://i50.tinypic.com/11vnqeh.jpg
Note: I dont take full credit for this.

ExonatioN
27-09-13, 06:48 AM
Useful, however i'm not an arcemu user but thanks for the contribution to the forums!