Yeah, there's a wiki for this but it contains a lot of gibberish and it's generally just really messy. Here's a better guide that includes also setting it up.
Tools
OpenSSL 1.0.0b (Click one of these:
An SQL Database Manager (I'll be using
Installing MySQL
Install it as you would any other program. Once it gets to the Instance Configuration Wizard, select Standard Configuration and tick Install as a Windows Service, untick Include Bin Directory in Windows PATH, click Next. Set up a password. Doesn't matter what the password is, just remember it.
Downloading CactusEMU
Run GIT Bash (Not GIT GUI). Type in cd /c to change the working directory then type git clone git://github.com/CactusEMU/CactusEMU.git CactusCore_Build in that exact casing. Let it download. It may take a minute or two.
Downloading The Database
Run GIT Bash again, type cd /c then type git clone git://github.com/CactusDB/CactusDB.git CactusCore_Database and let it download.
Building CactusEMU Makefiles
STOP. You must have Visual Studio Express C++ 2010 installed to continue.
CactusEMU does not come with a Windows makefile so we must make it ourselves. Run \build\cmake-gui.exe in the CMake folder from the tools we downloaded. For the field Where is the source code: type in C:\CactusCore_Build\ for Where to build the binaries: type C:\CactusEMU\. Please note you will not be able to build the binaries in the same folder we downloaded the core to. Press Configure. It will ask if you want to make the folder, say yes. Then it will ask to specify the generator. Drop the listbox down and select Visual Studio 10 if you are running 32-bit or Visual Studio 10 Win64 if you're running 64-bit. Leave the next setting as Use default native compilers. Now click Finish. Let it load completely. It should say Configuration done. Scroll the top box down and tick Tools. This next part depends on what version of MySQL Community Server you installed. If you installed any version other than 5.1.x, untick USE_MYSQL_SOURCES (If you are running a 5.1.x version, leave it ticked). Now click Configure again and it should say Configuration done again and there should be no more red boxes in the top box. Now click Generate and it should say Generating done.
Compiling CactusEMU
Go to C:\CactusEMU\ and open CactusEMU.sln in Visual Studio Express C++ 2010. Go to Build>Configuration Manager, set the Active solution configuration to Release, click Close. Go to Build>Clean Solution and then Build>Rebuild Solution. This will take awhile. I also suggest pressing Ctrl+Alt+O to open the Output window so you can see when it finishes. It should eventually say ========== Build: 16 completed, 0 failed, 1 skipped ==========.
Setting up the Database
Open Navicat. Go to Connection>MySQL. Type CactusEMU for Connection Name. Type localhost for Host Name/IP Address and 3306 for Port. Type root for User Name (MySQL uses root for the root user) and whatever your password is. Click OK and connect to the SQL server over in the sidebar by double clicking the connection. Click on User and go to New User. For User Name type cactusemu, localhost for Host and cactusemu for the Password and click Save. Now your CactusEMU server can, by default settings, properly connect to the SQL server.
Creating the Databases
STOP. Skip to the next paragraph in this section if you already have a database in your connection named either world, auth or characters. You probably do if you have other servers.
Right click on your CactusEMU connection in Navicat and go to Execute SQL File, browse to C:\CactusCore_Build\sql\create\ and execute create_mysql.sql. After it finishes, you can press F5 (Refresh) to see the changes it made. You should now have 3 new databases in your connection. auth, world and characters.
This paragraph is for people who already have a database with one of those names. Skip to the next section if you executed that SQL file with no errors. Right click your CactusEMU connection and click and go to New Database and type world2. Do this two more times except use auth2 and characters2 or something like that if you happen to also have one of those.
Populating the Databases
Browse to C:\CactusCore_Build\sql\base\ and open world_database.sql in Notepad and erase +++DO NOT IMPORT THIS UNLESS YOU WANT A *BLANK* DATABASE.+++. Save and close it. In Navicat, right click your world database and go to Execute SQL File and browse over to the file we just edited and execute it. Now do the same with your auth database but execute auth_database.sql and once again with your characters database but execute characters_database.sql.
Now go to C:\CactusCore_Database\Full_DB\ and extract the .zip archive that's there. Back in Navicat, right click your world database and go to Execute SQL File and browse to C:\CactusCore_Database\Full_DB\ and the folder we just extracted that archive to and execute that SQL file.
Generating Maps
First make sure your World of Warcraft client is at the version CactusEMU currently requires (Right now it's 4.0.3 13329, the latest version). If it is, go to C:\CactusEMU\bin\Release\ and copy extractor.exe to your root World of Warcraft folder and run it. It will take awhile. In the mean time, go back to your \bin\Release\ folder and create a new folder named Data. Once extractor.exe finishes move the new folders it created in \World of Warcraft\, \maps\ and \dbc\, into the \Data\ folder we just created.
Configuring CactusEMU
Go to C:\CactusEMU\build\Release\. Rename both worldserver.conf.dist.in and authserver.conf.dist.in. Only remove the .dist.in from them. Open worldserver.conf, scroll down. Set DataDir = to "./Data", BindIP = to "127.0.0.1". LoginDatabase, WorldDatabase and CharacterDatabase should all be set correctly by default ("127.0.0.1;3306;cactusemu;cactusemu;auth" ;world" and ;characters", respectively).
If you did not use the same names in the database as we did in this guide, you will need to change those 3 settings to whatever you named them. Save and close the file.
If you installed a version of MySQL Community Server other than 5.1.x then you will need to browse to C:\Program Files\MySQL\MySQL Server <Version>\lib\ and copy all the files in there but not the folders to C:\CactusEMU\bin\Release.
Compiling The Patcher
Go to C:\CactusCore_Build\src\redirect\Patcher and open CactusPatcher.sln. It's going to say about converting it because it was written for VS2008. Just click Finish. It should convert just fine. Go to Build>Configuration Manager and set Active solution configuration to Release and click Close. Go to Build>Clean CactusPatcher then Build>Build CactusPatcher. It should only take a few seconds to compile.
Setting Up Your Client
Go to C:\CactusCore_Build\src\redirect\Patcher\CactusPatcher\bin\Release\ and copy CactusPatcher.exe to your root World of Warcraft directory. Run CactusPatcher.exe, click Patch. Go to \World of Warcraft\Data\enUS\ and open realmlist.wtf in Notepad. Change set realmlist and set patchlist to 127.0.0.1. Save and close the file.
Starting Your Server
Browse over to C:\CactusEMU\bin\Release and start authserver.exe then worldserver.exe. They shouldn't automatically close unless you messed something up... Or I did. If it does close, open either auth.log (For authserver.exe) or Server.log (For worldserver.exe). The error will be in there. If you can't figure out the problem. PM me the log and I'll see if I can help you out. Give worldserver.exe a little while. You may see a whole lot of DB errors, ignore them. Once you hear worldserver.exe beep, you can go ahead and start World of Warcraft Cataclysm and login with the username and password, administrator.
Additional poop
If I left out anything, please feel free to tell me. If you need help, PM me, I will do my best to help you but for the love of God, please use proper grammar. I hate deciphering what people say when they use broken English or teen texting lingo.
This guide can be used to compile and setup a SkyFireEmu server as well.
Tools
You must be registered to see links
You must be registered to see links
(Installation explained below)
You must be registered to see links
You must be registered to see links
OpenSSL 1.0.0b (Click one of these:
You must be registered to see links
You must be registered to see links
)An SQL Database Manager (I'll be using
You must be registered to see links
)Installing MySQL
Install it as you would any other program. Once it gets to the Instance Configuration Wizard, select Standard Configuration and tick Install as a Windows Service, untick Include Bin Directory in Windows PATH, click Next. Set up a password. Doesn't matter what the password is, just remember it.
Downloading CactusEMU
Run GIT Bash (Not GIT GUI). Type in cd /c to change the working directory then type git clone git://github.com/CactusEMU/CactusEMU.git CactusCore_Build in that exact casing. Let it download. It may take a minute or two.
Downloading The Database
Run GIT Bash again, type cd /c then type git clone git://github.com/CactusDB/CactusDB.git CactusCore_Database and let it download.
Building CactusEMU Makefiles
STOP. You must have Visual Studio Express C++ 2010 installed to continue.
CactusEMU does not come with a Windows makefile so we must make it ourselves. Run \build\cmake-gui.exe in the CMake folder from the tools we downloaded. For the field Where is the source code: type in C:\CactusCore_Build\ for Where to build the binaries: type C:\CactusEMU\. Please note you will not be able to build the binaries in the same folder we downloaded the core to. Press Configure. It will ask if you want to make the folder, say yes. Then it will ask to specify the generator. Drop the listbox down and select Visual Studio 10 if you are running 32-bit or Visual Studio 10 Win64 if you're running 64-bit. Leave the next setting as Use default native compilers. Now click Finish. Let it load completely. It should say Configuration done. Scroll the top box down and tick Tools. This next part depends on what version of MySQL Community Server you installed. If you installed any version other than 5.1.x, untick USE_MYSQL_SOURCES (If you are running a 5.1.x version, leave it ticked). Now click Configure again and it should say Configuration done again and there should be no more red boxes in the top box. Now click Generate and it should say Generating done.
Compiling CactusEMU
Go to C:\CactusEMU\ and open CactusEMU.sln in Visual Studio Express C++ 2010. Go to Build>Configuration Manager, set the Active solution configuration to Release, click Close. Go to Build>Clean Solution and then Build>Rebuild Solution. This will take awhile. I also suggest pressing Ctrl+Alt+O to open the Output window so you can see when it finishes. It should eventually say ========== Build: 16 completed, 0 failed, 1 skipped ==========.
Setting up the Database
Open Navicat. Go to Connection>MySQL. Type CactusEMU for Connection Name. Type localhost for Host Name/IP Address and 3306 for Port. Type root for User Name (MySQL uses root for the root user) and whatever your password is. Click OK and connect to the SQL server over in the sidebar by double clicking the connection. Click on User and go to New User. For User Name type cactusemu, localhost for Host and cactusemu for the Password and click Save. Now your CactusEMU server can, by default settings, properly connect to the SQL server.
Creating the Databases
STOP. Skip to the next paragraph in this section if you already have a database in your connection named either world, auth or characters. You probably do if you have other servers.
Right click on your CactusEMU connection in Navicat and go to Execute SQL File, browse to C:\CactusCore_Build\sql\create\ and execute create_mysql.sql. After it finishes, you can press F5 (Refresh) to see the changes it made. You should now have 3 new databases in your connection. auth, world and characters.
This paragraph is for people who already have a database with one of those names. Skip to the next section if you executed that SQL file with no errors. Right click your CactusEMU connection and click and go to New Database and type world2. Do this two more times except use auth2 and characters2 or something like that if you happen to also have one of those.
Populating the Databases
Browse to C:\CactusCore_Build\sql\base\ and open world_database.sql in Notepad and erase +++DO NOT IMPORT THIS UNLESS YOU WANT A *BLANK* DATABASE.+++. Save and close it. In Navicat, right click your world database and go to Execute SQL File and browse over to the file we just edited and execute it. Now do the same with your auth database but execute auth_database.sql and once again with your characters database but execute characters_database.sql.
Now go to C:\CactusCore_Database\Full_DB\ and extract the .zip archive that's there. Back in Navicat, right click your world database and go to Execute SQL File and browse to C:\CactusCore_Database\Full_DB\ and the folder we just extracted that archive to and execute that SQL file.
Generating Maps
First make sure your World of Warcraft client is at the version CactusEMU currently requires (Right now it's 4.0.3 13329, the latest version). If it is, go to C:\CactusEMU\bin\Release\ and copy extractor.exe to your root World of Warcraft folder and run it. It will take awhile. In the mean time, go back to your \bin\Release\ folder and create a new folder named Data. Once extractor.exe finishes move the new folders it created in \World of Warcraft\, \maps\ and \dbc\, into the \Data\ folder we just created.
Configuring CactusEMU
Go to C:\CactusEMU\build\Release\. Rename both worldserver.conf.dist.in and authserver.conf.dist.in. Only remove the .dist.in from them. Open worldserver.conf, scroll down. Set DataDir = to "./Data", BindIP = to "127.0.0.1". LoginDatabase, WorldDatabase and CharacterDatabase should all be set correctly by default ("127.0.0.1;3306;cactusemu;cactusemu;auth" ;world" and ;characters", respectively).
If you did not use the same names in the database as we did in this guide, you will need to change those 3 settings to whatever you named them. Save and close the file.
If you installed a version of MySQL Community Server other than 5.1.x then you will need to browse to C:\Program Files\MySQL\MySQL Server <Version>\lib\ and copy all the files in there but not the folders to C:\CactusEMU\bin\Release.
Compiling The Patcher
Go to C:\CactusCore_Build\src\redirect\Patcher and open CactusPatcher.sln. It's going to say about converting it because it was written for VS2008. Just click Finish. It should convert just fine. Go to Build>Configuration Manager and set Active solution configuration to Release and click Close. Go to Build>Clean CactusPatcher then Build>Build CactusPatcher. It should only take a few seconds to compile.
Setting Up Your Client
Go to C:\CactusCore_Build\src\redirect\Patcher\CactusPatcher\bin\Release\ and copy CactusPatcher.exe to your root World of Warcraft directory. Run CactusPatcher.exe, click Patch. Go to \World of Warcraft\Data\enUS\ and open realmlist.wtf in Notepad. Change set realmlist and set patchlist to 127.0.0.1. Save and close the file.
Starting Your Server
Browse over to C:\CactusEMU\bin\Release and start authserver.exe then worldserver.exe. They shouldn't automatically close unless you messed something up... Or I did. If it does close, open either auth.log (For authserver.exe) or Server.log (For worldserver.exe). The error will be in there. If you can't figure out the problem. PM me the log and I'll see if I can help you out. Give worldserver.exe a little while. You may see a whole lot of DB errors, ignore them. Once you hear worldserver.exe beep, you can go ahead and start World of Warcraft Cataclysm and login with the username and password, administrator.
Additional poop
If I left out anything, please feel free to tell me. If you need help, PM me, I will do my best to help you but for the love of God, please use proper grammar. I hate deciphering what people say when they use broken English or teen texting lingo.
This guide can be used to compile and setup a SkyFireEmu server as well.
Last edited: