Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Mangos How To Compile & Setup CactusEMU Cataclysm on Windows (32bit & 64bit)

Lord of the Legion
Joined
Jul 28, 2005
Messages
426
Reaction score
35
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

(Installation explained below)


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.
 
Last edited:
Newbie Spellweaver
Joined
Nov 23, 2004
Messages
19
Reaction score
0
First of all, Thanks. The guide is very clear and easy to follow. However, I am stuck at the Generate Maps step, specifically: " go to C:\CactusEMU\build\release\ and copy extractor.exe" I don't seem to have any directory like that. I even ran a search for extractor.exe with no results. Any Suggestions? Thanks.
 
Lord of the Legion
Joined
Jul 28, 2005
Messages
426
Reaction score
35
Whoops, I meant C:\CactusEMU\bin\Release\

Sorry, my mistake. If it's not in there, open CMake and do as you did when you made the makefiles but make sure Injector, Scripts and Server is unchecked since we want to only compile the tools and not the actual server files again. Then run the new solution and set the configuration to x64 (Or Win32, whatever you are using) and Release. Then in the sidebar, right click extractor and click Build.

Now you should have extractor.exe in C:\CactusEMU\bin\Release\
 
Last edited:
Newbie Spellweaver
Joined
Nov 23, 2004
Messages
19
Reaction score
0
Yup, that was it. I forgot to check the tools tick thingy in cmake *It's like 3:30 AM zZZzzz... :p*. Had to rebuild the solution in VS and back in business. Thanks.

---------- Post added at 08:59 AM ---------- Previous post was at 08:39 AM ----------

Ok, the final (I hope) problem I am having is with my client. I can't run launcher.exe because it tries to collect patch information and when it fails it closes. So, when I tried wow.exe in the root folder I got this error:

followed by this error:

*** Just run repair utility and re-patch. (Don't run Launcher.exe) :p***

***********************************************************************************

What do I need to do to log in from another IP? what do I need to change? Thanks for your help. AWESOME Guide!

P.S. Is it normal that there are no NPC or mobs anywhere?
 
Last edited:
Lord of the Legion
Joined
Jul 28, 2005
Messages
426
Reaction score
35
As far as the first error, delete these folders: \World of Warcraft\Cache and \World of Warcraft\Data\Cache. A lot of people also say that error can be caused by security programs (Such as anti-virus, firewalls, etc.) blocking WoW.

The second error is WoW trying to update but failing to do so because it appears the update MPQ are corrupt. You can try deleting the \Updates\ folder and re-running launcher.exe but make sure you only run the launcher in order to update your client to 4.0.3 13329. I'm not sure what will happen if you run the launcher after you patched wow.exe.

Yes, for now a lot of the world will be empty because CactusEMU is brand new and they're still mostly working on the core.

If you want to log in from another IP, you'll need to download LogMeIn Hamachi2, install it, run it and get the IP it gives you. Replace the BindIP in worldserver.conf with that IP and forward ports 8085 and 3724. Then set your realmlist.wtf to your Hamachi IP on whatever client you're trying to log in from.
 
Last edited:
Newbie Spellweaver
Joined
Dec 16, 2008
Messages
5
Reaction score
0
I can't get my map extracted, it says verify your account at [blahblahblah]
I don't know, just this problem when i click on the extractor,
I have the dbc folder but not the map! D:
 
Lord of the Legion
Joined
Jul 28, 2005
Messages
426
Reaction score
35
I believe that error is caused by having the incorrect version of WoW installed. Make sure you have Cataclysm v4.0.3 Build 13329.
 
Last edited:
Newbie Spellweaver
Joined
Dec 16, 2008
Messages
5
Reaction score
0
It works for the dbc, but the maps and vmaps are not working,
BTW, the version is the same as yours.
I've done every simple steps of yours.

-- EDIT --
And the version suppose to be v4.0.3? (13329)

lOl?

----------

If you need,
OS: Window XP

-- EDIT 2 --
Can someone send me your MAPS & vMAPS FILE? Thankyou!

------------
 
Last edited:
Joined
Feb 9, 2010
Messages
3
Reaction score
0
good work so far guys i'm impressed. Although i can't talk to npc's and the talents wont learn for me. I look forward to you updates :)
 
Initiate Mage
Joined
Sep 23, 2007
Messages
1
Reaction score
0
Hello.
I was following your guide on how to compile & setup CactusEMU Cataclysm on Windows and everything went fine untill I got 1 error at the end :glare:
"Compiling The Patcher" was the thing i was trying to do

Darkicon - How To Compile & Setup CactusEMU Cataclysm on Windows (32bit & 64bit) - RaGEZONE Forums


Been trying to get past this for awhile without luck, thought I'd ask for assistance.
 
Last edited:
Joined
Feb 9, 2010
Messages
3
Reaction score
0
First of all, Thanks. The guide is very clear and easy to follow. However, I am stuck at the Generate Maps step, specifically: " go to C:\CactusEMU\build\release\ and copy extractor.exe" I don't seem to have any directory like that. I even ran a search for extractor.exe with no results. Any Suggestions? Thanks.

cactusEMU is now a dead project so i wouldn't bother with them anymore. Check out Skyfire they seem to be still working on theirs.
 
Junior Spellweaver
Joined
Dec 13, 2008
Messages
134
Reaction score
37
hi RZ. i'm getting this error, does anyone know why or how to solve this? tried google but didn't get results.

2011-03-02 22:55:46 Realm running as realm ID 1
2011-03-02 22:55:46 Using World DB: CTDB 403.05.46
2011-03-02 22:55:46 Using creature EventAI: CTDBAI 403.0.0
2011-03-02 22:55:46 Will clear `logs` table of entries older than 1209600 seconds every 10 minutes.
2011-03-02 22:55:46 Using DataDir ./Data", BindIP = to "127.0.0.1/
2011-03-02 22:55:46 WORLD: VMap support included. LineOfSight:0, getHeight:0
2011-03-02 22:55:46 WORLD: VMap data directory is: ./Data", BindIP = to "127.0.0.1/vmaps
2011-03-02 22:55:46 WORLD: VMap config keys are: vmap.enableLOS, vmap.enableHeight, vmap.ignoreMapIds, vmap.ignoreSpellIds
2011-03-02 22:55:46 ERROR: Map file './Data", BindIP = to "127.0.0.1/maps/0004331.map': does not exist!

thanks in advance to anyone who can help :)
 
Newbie Spellweaver
Joined
Jan 3, 2007
Messages
9
Reaction score
0
Could anyone upload: OpenSSL 1.0.0b ?
Thanks.
 
Newbie Spellweaver
Joined
Oct 30, 2006
Messages
98
Reaction score
1
All working fine, except I can't connect from my other pc...I get stuck at the realm select
 
Last edited:
Back
Top