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 http://www.rttr.info
Current Build Info
How to install
- Download the game for your OS at Downloads
- stable: Usually more stable
- nightly: Latest features and bug fixes, but might be broken sometimes
- Extract into a folder of your choice
- Locate the file
put your S2-Installation in herein that folder (usually at the root or in S2)
- Copy the DATA and GFX folder from the original The Settlers II Gold into the folder containing the above file
rttr.shor the bundle (OSX only) to auto-update and start the game
- Alternatively start
s25clientdirectly, but updates and music might be missing
- Alternatively start
- WARNING: Do not use symlinks/junction points/... for subfolders of your installation. Putting RttR in a symlinked folder should work though.
How to build
On Linux or Darwin/MacOSX
- C++14 compatible compiler (e.g. GCC-6)
- libboost-dev (at least v1.64.0, i.e http://www.boost.org/) or only: libboost-test-dev libboost-locale-dev, libboost-iostreams-dev, libboost-filesystem-dev, libboost-program-options-dev (at least v1.64.0)
- libcurl-dev (in libcurl4-openssl-dev)
All of them can be installed with the package manager.
- gettext (make sure it is in your path with e.g.
brew link --force gettext)
All of them can be installed via homebrew
Prerequesites with Nix
Nix users can open a nix-shell to get a development environment with all packages ready.
git clone --recursive https://github.com/Return-To-The-Roots/s25client s25client cd s25client nix-shell # Optional, for Nix users only mkdir -p build && cd build cmake -DCMAKE_BUILD_TYPE=Release .. make
Note: by using the
-G option of
cmake you can specify a generator, e.g.
cmake -G Xcode -DCMAKE_BUILD_TYPE=Release .. will generate an Xcode project.
cmake --help for more options.
There are various CMake options to control the build and optimization including ARM (Rasberry PI etc.) related ones. Examples:
- RTTR_OPTIMIZATION_VECTOR_EXT (Non-Windows x86/x64 only)
- RTTR_OPTIMIZATION_TUNE (Non-Windows only)
- RTTR_TARGET_BOARD (ARM only) See the description in CMake-GUI/ccmake for details.
Note that due to the use of submodules you always need to
git pull && git submodule update --init --recursive to get the latest version.
--recursive arguments are only required should we add new submodules to the existing set.)
Especially for developing you should build in Debug mode (
-DCMAKE_BUILD_TYPE=Debug) and run the tests after executing
make test or
There is also an option to enable checks for undefined behavior (UBSAN) and memory errors (ASAN) like use-after-free or leaks.
-DRTTR_ENABLE_SANITIZERS=ON to CMake and use a recent GCC or Clang compiler to build.
Then just run (tests or application) as usual.
Note: Boost.Endian < 1.67 is known to have UB so use at least 1.67 when running the sanitizers.
- cmake (i.e from http://www.cmake.org/download/)
- boost (i.e from http://www.boost.org/)
- Visual Studio (at least 2015, you can get the community edition for free)
- Git Client (i.e TortoiseGit)
- Clone GIT Repository from https://github.com/Return-To-The-Roots/s25client
Using Git bash:
git clone --recursive https://github.com/Return-To-The-Roots/s25client s25client
OR using TortoiseGit:
- Rightclick -> "Git clone..."
- Put in https://github.com/Return-To-The-Roots/s25client 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
- If you havent installed boost, install boost
- extract boost-1.64.zip (i.e to external/boost, so that external/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 (create if required)
- Press configure
- Select your compiler version (i.e Visual Studio 2015 x64)
- 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