[Show Table of Contents]

§Getting the Source

  • Currently the source can be obtained via git from:
  • To build you need this source, eg from the command line or terminal:
git clone git://github.com/EQEmu/Server.git

§Building with Visual Studio

  1. Dependencies
  2. Most the dependencies for EQEmu can be obtained from http://code.google.com/p/projecteqemu/downloads/list∞, the exception being Perl Libs because they are not backwards compatible so it is best to link against your current version of Perl. With that being said you should obtain and install the following if you wish to build and run a windows server:
  3. CMake 2.8 or higher via http://www.cmake.org∞
  4. Perl via http://www.activestate.com/activeperl
  5. MySQL
  6. Download and extract the dependencies you need to the existing Dependencies folder.

§Running CMake

  1. Launch your CMake program, typically labeled CMake (cmake-gui). Eg: Start -> CMake 2.8 -> CMake
  2. In the "Where is the source code" box, type or browse to your EQEmuServer folder in your checked out directory.
  3. In the "Where to build the binaries" box, type or browse to any folder you like, personally I prefer EQEmuServer/Build. When it asks, make sure to let it create the build directory if it does not exist.
  4. Hit the configure button.
  5. Choose a target generator eg: "Visual Studio 11 Win64" builds a Visual Studio 2012 solution for the x64 platform.
  6. It will run through some configuration steps.
  7. If there was a problem you will now get a chance to correct it using the various options, so long as you have Perl correctly installed though there shouldn't be a problem.
  8. If there were no errors there will now be several options (in red if you're seeing them for the first time) that you can set. The most general options are already set to their default values but you may wish to change some (such as checking the box for turning on bots).
  9. Once you're done changing options hit configure once again.
  10. You can now hit Generate and your solution file will be in the location you specified under "Where to build the binaries"

§Building with GCC


  • None of the dependencies are included by EQEmu for GCC, this also assumes you have GCC and G++ installed.
  • Install CMake with your favorite distributions package management system (apt-get, yum, etc), if you would like you can also install CMake-gui if you're on a GUI capable machine and mostly follow the windows instructions for building. If you're on an older distro that grabs a version older than CMake 2.8, follow these instructions to compile CMake manually: CMakeCompile
  • Install Perl and the Perl development libaries (this usually is separate from Perl under Linux).
  • Install MySQL and the MySQL development libraries(this usually is separate from MySQL under Linux).

§Running CMake

  • Since I already covered using the GUI in the Visual Studio section I will cover generating files via the command line here. You can mostly follow the Visual Studio section if you plan to use the GUI though.
  • First navigate to your EQEmuServer directory under your checked out repo and issue the following commands:
mkdir build
cd build
  • This will create the build directory and move you into it where you can initiate the following command:
cmake -G "Unix Makefiles" -i ..
  • This will start CMake in interactive mode using the Unix Makefile generator on the source folder. It will run you through a set of questions (be sure to pick a build type for Debug/Release/RelWithDebInfo/Etc) and let you configure the build. So long as you installed everything from dependencies correctly and in standard locations it should work and generate the files. If you've got a non-standard setup or are cross-compiling you might have to hit the advanced settings and setup paths manually.
  • After that you can do something like:
make -j2
  • Which starts make with two concurrent processes, should use as many as you have cores.
  • It's still being worked on but eventually you'll also be able to then do
  • make install
  • Which would install it to a pre-set directory.

§Building Other Platforms

  • Instructions are not provided for other platforms at the moment, but it is certainly possible to get them running as well so long as they're similar enough to Intel Unix/Windows. It will just require more technical know how on your part.

§Potential Pitfalls

  • Perl is not installed
  • Eg: PERL_EXECUTABLE is not found.
    • It is possible to build without having Perl installed so long as you have the libraries and headers you however will need to set the following two entries: PERL_INCLUDE_PATH and PERL_LIBRARY. Where PERL_INCLUDE_PATH is the location of the headers and PERL_LIBRARY is the actual library file. 
  • In the GUI you can add an entry manually by hitting Add Entry at the top of the GUI.
  • You will get window that pops up titled "Add Cache Entry".
  • The simplest place to find PERL is in the Dependancies folder of the trunk. In this example, we are pointing to the x86 PERL files.
  • Make sure you are linking to the correct path matching the PERL version installed on the machine where you will run the server
Type: PATH
Value: D:/eq/SVN/projecteqemu/trunk/EQEmuServer/Dependencies/perl_x86/CORE

Value: D:/eq/SVN/projecteqemu/trunk/EQEmuServer/Dependencies/perl_x86/CORE/perl512.lib