How to compile Mangos and Scriptdev2 on Windows

So basically this is a guide on compiling mangos and scriptdev2 which is a request from Spencer (which is i’m grateful for, because well you know after a long time without writing, i just don’t know where to start again) :). But anyway what’s done is done and i’ve decided that perhaps rewriting the guide is a good idea (although i’m no longer using Mangos or other WoW Emulator). But of course this time it would be different because everything is going to be straight forward without making the guide cluttered like the old version (i think)

Anyway to make things fast for you, let’s start the guide on how to compile mangos plus scriptdev2 on Windowsbut as a side note, before we begin, this guide is tested on Windows Vista with UAC Enabled, so if you’re running Windows XP then there should be no problem for you, as for Windows 7 user unfortunately i don’t have Windows 7 yet but i think it’s just the same as Vista


MSYSGitDownload MSYSGit

This is needed in order to get the mangos source and also make updating the source much easier and make sure to get the Full Installer for official GIT

TortoiseSVNDownload TortoiseSVN

This is needed in order to get ScriptDev2 source and also updating the source

Visual Studio Express 2008 SP1Download Visual Studio Express

Make sure to download Visual Studio Express 2008 SP1 offline Install ISO Image (748MB) that contains everything to make things much easier, and beside this guide is tested only on Visual Studio Express 2008 SP1

Note: You should use Visual Studio 2010 SP1 instead of VS2008, but make sure to use mangosdVC100.sln for mangos and scriptVC100.sln for the scriptdev2 if you use VS2010

MagicISO Virtual CD/DVD-ROMDownload MagicISO

This is needed to mount the ISO Image file so you can start the installation, but if you already have other Virtual CD program installed then there’s no need to download this


1. Install MagicISO for the first step

2. Mount Visual Studio Express 2008 SP1 Image by right clicking on MagicISO tray icon, then choose Virtual CD/DVD-ROM, then Mount Image

3. Then choose to install Visual C++ only

Visual Studio Express 2008 ISO

Visual Studio Express 2008 Setup

VS Express 2008 Install Path

4. After finished with VS Express installation then you need to install MSYSGit

MSYSGIT Install Path

In Windows Vista it’s necessary to install GIT to other directory than Program Files if UAC enabled, so in this example i installed it to C:\Git

5. Install TortoiseSVN (because TortoiseSVN installation is straight forward i don’t think i need to put image as an example) :)

Downloading Mangos and Scriptdev2 Source

1. Run GIT Bash from start menu and type

cd /c

Then type (choose only one repository from below)

Note: Links to the repositories updated. Thanks to Antz for mentioning this :)

- Wow Classic
git clone git:// mangos-git

- Wow BC
git clone git:// mangos-git

- Wow WotLK
git clone git:// mangos-git

- Woe Cataclysm
git clone git:// mangos-git

Mangos Git download

in this example i choose to download mangos to C:\mangos-git, but you can change the path if you want

Because Scriptdev2 now uses GIT as mentioned by stankyfish at the comment area below and also by one of this blog visitor via email to me. You can ignore step #2 in this process and because they’re using GIT you can use the same method like when you clone mangos source above but don’t forget to change the command like below

Note: Depending on which Mangos repository you choose earlier, you need to use the matching Scriptdev2

- WoW Classic
git clone git:// scriptdev2

git clone git:// scriptdev2

git clone git:// scriptdev2

- WoW Cataclysm
git clone git:// scriptdev2

2. Now you need to open Windows Explorer and then right click on empty area and then choose SVN Checkout to download Scriptdev2 source and then type

as the repository URL

scriptdev2 checkout url

scriptdev2 checkout done

Compile Mangos

1. Open mangosdVC90.sln inside win directory in mangos-git directory

mangos vc9 solution file

2. Change the build configuration to Release and if you’re trying to build the x64 version make sure to change the Win32 to x64 as well

mangos build config to release

3. Click on Build and then choose Rebuild Solution

mangos rebuild solution

4. Done …

mangos compile done

Compile Scriptdev2

1. Copy the entire scriptdev2 directory to mangos-git\src\bindings

copy scriptdev2 to src bindings

2. Just like before, open scriptVC90.sln and then set the build configuration to release and if you’re trying to build the x64 version make sure to change the Win32 to x64 as well

set scriptdev2 to release

3. Then choose Build -> Rebuild Solution

rebuild scriptdev2

4. And done …

scriptdev2 compile done

Updating Mangos and Scriptdev2

Okay so we’re done with the compile process, but what if you want to update your Mangos Source later? … well all you have to do is just type

cd /c/mangos-git

and then type

git pull

update mangos source using git

And you’re done updating mangos. As for updating Scriptdev2, all you have to do is just right click on Scriptdev2 folder and then choose SVN Update

And so …

You’re done compiling mangos, the compiled binary can be found at the Bin directory inside mangos-git directory. The rest is of course to configure mangos and scriptdev2 itself, if you need help on how to configure mangos please check my new mangos configure guide


Note: Comment may not appear right away.

165 comments on “How to compile Mangos and Scriptdev2 on Windows

  1. When compiling ScriptDev2 it gives me this;

    1>—— Build started: Project: ScriptDev2, Configuration: Release Win32 ——
    1> Extracting revision
    1> precompiled.cpp
    1>c:\mangos-git\src\bindings\scriptdev2\include\sc_creature.h(134): error C2061: syntax error : identifier ‘AIEventType’
    1>c:\mangos-git\src\bindings\scriptdev2\include\sc_creature.h(73): error C3668: ‘ScriptedAI::HealedBy’ : method with override specifier ‘override’ did not override any base class methods
    1>c:\mangos-git\src\bindings\scriptdev2\include\sc_creature.h(134): error C3668: ‘ScriptedAI::ReceiveAIEvent’ : method with override specifier ‘override’ did not override any base class methods
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

  2. Repear — may want to adjust one thing in the tutorial; specify when copying the scriptdev2 folder that the WHOLE thing has to do and give the example – c:\mangos-git\src\bingingds\scriptdev2

    I was stuck on this all day until I read through all the comments … was getting the tool error when compiling scripdev2 in VC++ 2008

    1. Issue – now that I have gotten passed the tool issue … how do I corect this?

      c:\mangos-git\src\bindings\scriptdev2\include\sc_creature.h(134): error C2061: syntax error : identifier ‘AIEventType’
      c:\mangos-git\src\bindings\scriptdev2\include\sc_creature.h(73): error C3668: ‘ScriptedAI::HealedBy’ : method with override specifier ‘override’ did not override any base class methods
      c:\mangos-git\src\bindings\scriptdev2\include\sc_creature.h(134): error C3668: ‘ScriptedAI::ReceiveAIEvent’ : method with override specifier ‘override’ did not override any base class methods

      Happened with both 2008 and 2010 using the correct files

  3. I’ve solved the problem with the extraction of maps, but when starting a worgen player, the undead that would be in the ruins of Gilneas after the tutorial are already there, is there a way I can remove the undead or complete the quests for the tutorial via command?