Return To The Roots (Settlers II(R) Clone)
C++ C CMake Shell Objective-C Lua
Latest commit 3078c7f Feb 26, 2017 @Flow86 Flow86 committed on GitHub Update Jenkinsfile
use image from docker registry
Failed to load latest commit information.
RTTR Enable some more warnings and use -Werror Aug 2, 2016
bugle Move more out of build dir and update Jenkinsfile Oct 8, 2016
build Fix output dirs and test in linux Oct 8, 2016
cmake Fix CMake (#620) Feb 25, 2017
contrib Update kaguya Aug 16, 2016
debian Fixed .desktop file: Converted to unix newline Jan 17, 2016
driver Fix CMake (#620) Feb 25, 2017
libendian @ 28010f5 Test map load/save May 22, 2016
liblobby @ 1aceabb Tell lobby when we leave a game Aug 27, 2016
libsiedler2 @ 70fe364 Allow foreign chars in filenames Oct 3, 2016
libutil @ 728f36d Fix file permissions Oct 16, 2016
macos Create Branch 'master' for '/s25client/trunk' at Subversion Revision … Dec 22, 2010
mygettext @ 4c89010 Remove DebugNew define file Apr 26, 2016
release Fix parameter for diff Oct 17, 2016
s-c @ c467e7f Fix s-c and include Oct 8, 2016
s25update @ 2deea58 Remove debug symlinks Oct 8, 2016
src fix GetWidth Copy&Paste Bug Feb 6, 2017
tests/maps Show Error Wnd and Update Lua example Oct 3, 2016
version @ 12d1968 Allow version tool to work with packed-refs May 14, 2016
win32 Use other namespace for manifest Jan 12, 2016
.gitignore Remove remaining RTTR_PREFIX Oct 8, 2016
.gitmodules Switch (partially) to kaguya C++ Lua wrapper Apr 6, 2016
.travis.yml Fix CMake (#620) Feb 25, 2017
CMakeLists.txt Fix CMake (#620) Feb 25, 2017
COPYING Subversion Revision 6922: Dec 22, 2010 Create Branch 'master' for '/s25client/trunk' at Subversion Revision … Dec 22, 2010
INSTALL Remove references to an SVN checkout, fix typo. Aug 17, 2015
Jenkinsfile Update Jenkinsfile Feb 26, 2017 Update Dec 23, 2016
appveyor.yml Fix CMake (#620) Feb 25, 2017
build_paths.h.cmake Remove remaining RTTR_PREFIX Oct 8, 2016
build_version.cpp Remove DebugNew define file Apr 26, 2016
build_version.h.cmake Make version change build_version_defines.h Sep 17, 2015
build_version_defines.h.cmake Make version change build_version_defines.h Sep 17, 2015
codecov.yml Disable codecov comments Jul 19, 2016
cpp.hint Add basic land attack test Jul 6, 2016 Turn into plain sh(1) scripts Sep 2, 2015 Move more out of build dir and update Jenkinsfile Oct 8, 2016

Return To The Roots

"Return To The Roots" is a fan-project, which aims to renew the original The Settlers 2.

We aim to extend new features such as a multiplayer mode via internet as well as the support for modern hardware and several operating systems like Windows XP/Vista/Seven, Linux and MacOS X. Likewise we want to invent some smaller upgrades. Unfortunately it is necessary to rewrite the whole game, but we will stick to the original graphics and sounds, because they are still common and nice to be heard or seen. So you will still need an original "The Settlers 2 Gold Edition" version to play Return To The Roots.

see more information on

Current Build Info

Travis CI: Travis CI Build Info

Appveyor: Appveyor CI Build Info

How to build

On Linux or Darwin/MacOSX

Prerequisite Linux:

Prerequisite MacOSX:

  • cmake
  • git
  • boost
  • sdl
  • sdl_mixer
  • gettext (make sure it is in your path with e.g. brew link --force gettext)
  • miniupnpc All of them can be installed via homebrew


git clone --recursive s25client
cd s25client/build
./ --prefix=.

MacOSX defaults to XCode generator. If you don't have XCode installed, use ./ --prefix=. --generator="Unix Makefiles" instead.

Note that due to the use of submodules you always need to git pull && git submodule update --init --recursive to get the latest version. (The --init and --recursive arguments are only required should we add new submodules to the existing set.)

On Windows



  • Clone GIT Repository from

    • Using Git bash:

      git clone --recursive s25client
    • OR using TortoiseGit:

      • Rightclick -> "Git clone..."
      • Put in as URL
      • Select "Directory" to clone to
      • press OK
      • Rightclick on the newly created folder -> TortoiseGit-> Submodule Update
      • Make sure all modules are selected and "Initialize submodules (--init)" is checked
      • press OK
  • Extract contrib/full-contrib-msvc.rar to contrib (so that contrib/full-contrib-msvc/bin, contrib/full-contrib-msvc/include and contrib/full-contrib-msvc/lib exist)
  • If you havent installed boost, install boost Fast Way:
    • extract (i.e to contrib/boost, so that contrib/boost/bootstrap.bat exist)
    • run that "bootstrap.bat"
    • run created "b2.exe": this should build boost Notice: if you have multiple Visual Studio versions installed, use the latest one with the "toolset"-parameter. i.e "b2 toolset=msvc-14.0" for Visual Studio 2015
    • run "b2 install --prefix=%CD%": this should install everything so the system can find it Notice: Don't forget to add the toolset parameter if you already used it before
  • Use cmake-gui:
    • "Where is the source code": Select checked out directory
    • "Where to build the binaries": Select "build" directory
    • Press configure
    • Select your compiler version (i.e Visual Studio 2010 x86)
    • If it can't find boost:
      • "Add Entry"
      • Enter as "Name" "BOOST_ROOT" (exact casing!)
      • Select for "Type" "PATH"
      • Enter boost installation path for "Value"
      • Press ok
    • Press generate
  • Open and use build/s25client.sln

for advanced info or help see INSTALL file the FAQ in the wiki or