How to create a private WoW server!
Note: Much of this is custom coded by dedicated ArcEmu dev's and WhyDB dev's, and therefore there may be some glitches or content that isn't working as intended. One example of this is the Gunship battle in Ice Crown Citadel. For probably the most "blizzlike" experience I'd suggest giving Trinity Core a try, or Skyfire for a Catalysm server. After following this guide you shouldn't have much problems with setting up other servers, for the most part it is practically the same steps. For Trinity I suggest using HeidiSQL & Git Extensions as opposed to Navicat & TortoiseSVN respectively.
______________________________________________________________________________________
Contents:
1. Downloads
2. Getting the source code
3. Generating the source code
4. Compiling the source code
5. Extracting the dbc, maps, and vmaps
6. Setting up the DB's
7. Setting up your config files
8. Setting up WoW and running it
______________________________________________________________________________________
1. Downloads:
-Visual C++ 2010 Express Note: The free edition comes with 32 bit tools, but can run fine on a 64 bit OS
-TortoiseSVN or another SVN client, however in the guide I will assume you are using tortoisesvn
-MySQL
-Navicat Lite
-CMake Download the Win32 Installer
-WoW 3.3.5 installed, here is a link to a torrent for the entire directory provided by Molten, or you could look for a torrent yourself or use a wotlk disc
2. Getting the source code:
-First you will need to create a folder on your desktop, I named mine "arcemu trunk". Right click it and click "SVN Checkout..." In the box that pops enter the following "URL of repository:" field and click ok.
-A new window should pop up and starting downloading the server "core". Once it is finished it will display the revision number and you can click ok.
3. Generating the source code:
-Next you need to create another folder in which the actual server files will be located. I created mine on my desktop and named it "arcemu server".
-Open up CMake, and in the "Where is the source code:" field browse to "arcemu trunk" (or whatever you named your folder) and then highlight the CMake folder and click ok. Then for the "Where to build the binaries:" field navigate to your "arcemu trunk" folder again and make a folder called "build", select it and click ok.
-Click Configure, then select "Visual Studio 10" and click finish. Give it a minute to load the files. Once it is finished make sure everything is selected except "BUILD_LUABRIDGE". Then change the "CMake_INSTALL_PREFIX" field to your "arcemu server" folder. Click Configure again and most if not all the files should turn from red to white. If a couple stayed red make sure everything is checked except "BUILD_LUABRIDGE" and click Configure again. Now everything should be white. Click Generate and it will generate all of your project files for Visual C++ Express.
4. Compiling the source code:
-You can exit out of CMake and navigate to "arcemu trunk/build/" and in the build folder there should be a "project.sln" file. Go ahead and double click that. A box should pop up after a minute asking what version to use. Select "Visual C++ Express 2010" and press ok.
-I'm not sure if you have to wait for it to parse all the files or not but for the sake of only having to do this once let it finish "find files". Theres a dialog at the bottom left of the screen. After that click the drop down box towards the top that says "Debug" and select "Release". Once it is done finding files you can either press "F7" or click "Debug" at the very top of the screen and click "Build Solution". This step will take quite a while depending on your processor speed.
-Once that is finished it should say something along the lines of "Build: 15 succeeded, 0 failed, 0 up-to-date, 1 skipped". If anything failed or it skip a lot of files then go back and make sure you followed all of the steps right.
-Next right click the "INSTALL" file on the left of the screen, hover over "Project Only" then click "Build Only INSTALL".
-Exit Visual Studio and navigate to your "arcemu server" folder and verify that "Libmysql.dll" and "Libeay32.dll" are in the folder. If not you can copy them from "arcemu trunk/dep/dll/". If you compiled the source using 64 bit tools then make sure to use the dll64 files.
5. Extracting the dbc, maps, and vmaps:
-Download the extractors here.
-Unrar that and copy the files in that folder to the root of your WoW folder.
-Run "ad.exe" and once it is finished running there should now be a "dbc" folder and a "maps" folder in your WoW folder.
-Download the vmaps extractor here.
-Once that is done unrar it and copy all of the contents to your WoW folder again. Run "makevmaps_SIMPLE.bat", this step is going to take quite a while. If you get an error try deleting any of this folders: "dbc, maps, buildings, vmaps" if they are present, rerun ad.exe and then try it again.
-Now that that is done you should have a "dbc", "maps", and "vmaps" folder. Copy all of those to the root of your "arcemu server" folder.
6. Setting up the DB's:
- You can now close out of everything and open up Navicat. Create a new connection, MySQL, name it "arcemu", and enter the password you set when you installed MySQL.
-Double click "arcemu" and you will see a few DB's already there. Right click "arcemu" and create 3 new DB's. Name them: "arc_characters", "arc_logon", and "arc_world". Once you make them if the icon beside them is grey go ahead and double click each one to activate it, and the icon will turn green.
-Right click "arc_characters", click "Execute SQL File" and for the File field navigate to "arcemu trunk/sql/" and click the "xxxx_character_structure.sql" and click start. Once that is finished do the same for the other two DB's with their respective structure.
-Were close! Create another folder on your desktop and name it "WhyDB". Right click it, and click "SVN Checkout..." and enter the following for the repository.
Once it has finished downloading the files open the folder and run "tool.bat". Enter the appropriate details, "localhost" as the host, your MySQL username (root) and password, and then for the DB enter "arc_world". Then when the menu comes up enter "I" (eye, not L) and it will begin to install the world DB.
-Once that is finished go back to Navicat, open the "arc_logon" DB, go to "Queries", and click "New Query" towards the top. Paste the following into the window that pops up and click "Run" towards the top. After that you can close out everything.
Note: The "values" in the second set of parenthesis correspond to the fields in the first set of parenthesis respectively. So the first "admin" would be the username, second would be the password, etc. "az" would be a full gm. For a normal user you can just enter 0. The flags are for the expansions, just leave that as 24 for TBC & WOTLK, and 0 would be no for banned and 1 would be yes.
7. Setting up your config files:
-Navigate to your "arcemu trunk" folder and copy the "configs" folder to the root of your "arcemu server" folder. Open the configs folder and start by opening "logon.conf" in notepad.
-For the most part the config files are pretty straightforward to set up. You only need to edit the logon, realms, and world config files, I will walk you through most of it though so you can refer back to here if you have any problems. Edit the first section below all the stars by replacing some of the things between the quotes with the following:
-Save that and then open world.config and edit it according to the following:
-And then change the following, it's easier to just hit "ctrl+f" in notepad and search for "change_me_world" and enter "change_me_logon".
-Save that and then open realms.config, and scroll down to the bottom. Change the parts beside "Address" to what it tells you to for the first two realms. "internet-url-or-ip" would be your external IP address. You can go to
http://www.whatismyip.com/ to find that, it will be at the top. Just copy and replace that making sure you leave ": 8129" at the end of the IP address like it is in the config file.
-For the second realm to find your internal IP adress just hit start, run, and type "cmd", then type "ipconfig" and hit enter. Beside "IPv4 Address" will be your internal IP address. Do the same here that you did with the external IP address making sure that ":8192" stays at the end of it inside parenthesis in the config file. Save it and exit all of that.
8. Setting up WoW and running it:
-Navigate to your WoW folder, and go to "Data/enUS/" and open "realmlist.wtf" in notepad. Note: "enUS" refers to your region, if you used the torrent I linked to earlier it will be "enUS". Either way it's the only folder there.
-Erase what is in the file and paste the following, then save and exit:
-In order for your friends to connect to your server theirs must be the following without any quotes:
-Now you are almost there, navigate to your "arcemu server" folder and launch "logon.exe". Wait for that to load, it shouldn't take very long at all. Next launch "world.exe", this one will take a minute. once it registers your realms and their names it will display a few more lines then you are ready to connect!
-Launch WoW.exe, enter your login information that you added to the DB earlier. Select the realm you want to play on and create a character! Congratulations!
Potential Problems:
-If you get a message saying something along the lines of "could not connect to realm server" try exiting logon.exe and world.exe, delete everything in the "cache" folder in your WoW folder, and then rerun logon.exe and world.exe. If it still displays the error make sure that your realm.config file is correct.
-If it hangs at creating a character once you click done try using a different realm.
Any questions? Just ask, also I'll see what I can do about getting some screenshots posted.
It's not the religion that causes wars, it's the men who use religion as a means to control people that do.
They call me tater salad.
- For this message the author ace has received thanks:
- monkeymaximus