{"id":13419996,"url":"https://github.com/Return-To-The-Roots/s25client","last_synced_at":"2025-03-15T06:31:12.907Z","repository":{"id":1924211,"uuid":"11231381","full_name":"Return-To-The-Roots/s25client","owner":"Return-To-The-Roots","description":"Return To The Roots (Settlers II(R) Clone)","archived":false,"fork":false,"pushed_at":"2024-10-01T13:19:39.000Z","size":204873,"stargazers_count":477,"open_issues_count":271,"forks_count":75,"subscribers_count":29,"default_branch":"master","last_synced_at":"2024-10-04T21:51:07.669Z","etag":null,"topics":["boost","c-plus-plus","cmake","game","linux","mac-osx","rttr","sdl","settlers-ii","visual-studio"],"latest_commit_sha":null,"homepage":"http://www.rttr.info","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Return-To-The-Roots.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-07-07T09:38:04.000Z","updated_at":"2024-10-01T13:19:44.000Z","dependencies_parsed_at":"2023-07-06T15:16:37.863Z","dependency_job_id":"946a68bb-761f-4162-8545-4b4cb7526b6d","html_url":"https://github.com/Return-To-The-Roots/s25client","commit_stats":{"total_commits":5013,"total_committers":54,"mean_commits":92.83333333333333,"dds":0.7560343107919409,"last_synced_commit":"40018c44512a3c9f134a70fbb96a7d458ae4a743"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Return-To-The-Roots%2Fs25client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Return-To-The-Roots%2Fs25client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Return-To-The-Roots%2Fs25client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Return-To-The-Roots%2Fs25client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Return-To-The-Roots","download_url":"https://codeload.github.com/Return-To-The-Roots/s25client/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221548243,"owners_count":16840981,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["boost","c-plus-plus","cmake","game","linux","mac-osx","rttr","sdl","settlers-ii","visual-studio"],"created_at":"2024-07-30T22:01:24.145Z","updated_at":"2025-03-15T06:31:12.901Z","avatar_url":"https://github.com/Return-To-The-Roots.png","language":"C++","readme":"\u003c!--\nCopyright (C) 2005 - 2025 Settlers Freaks \u003csf-team at siedler25.org\u003e\n\nSPDX-License-Identifier: GPL-2.0-or-later\n--\u003e\n\n# Return To The Roots\n\n\"Return To The Roots\" is a fan-project, which aims to renew the original The Settlers 2.\n\nWe 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 Vista/Seven/10, Linux and MacOS X.\nLikewise we want to invent some smaller upgrades.\nUnfortunately 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.\nSo you will still need an original \"The Settlers 2 Gold Edition\" version to play Return To The Roots.\n\nSee more information on \u003chttp://www.rttr.info\u003e\n\n## Current Build Info\n\nBuild \u0026 Tests:\n ![GHA Unit tests](https://github.com/Return-To-The-Roots/s25client/workflows/Unit%20tests/badge.svg)\n ![Static analysis](https://github.com/Return-To-The-Roots/s25client/workflows/Static%20analysis/badge.svg)\n\nCoverage:\n[![Coverage Status Coveralls](https://coveralls.io/repos/github/Return-To-The-Roots/s25client/badge.svg?branch=master)](https://coveralls.io/github/Return-To-The-Roots/s25client?branch=master)\n /\n[![Coverage Status Codecov](https://codecov.io/gh/Return-To-The-Roots/s25client/branch/master/graph/badge.svg)](https://codecov.io/gh/Return-To-The-Roots/s25client)\n\n## How to install\n\n- Download the game for your OS at [Downloads](https://www.rttr.info/index.php?com=dynamic\u0026mod=2)\n  - stable: Usually more stable\n  - nightly: Latest features and bug fixes, but might be broken sometimes\n- Extract into a folder of your choice\n- Locate the file `put your S2-Installation in here` in that folder (usually at the root or in S2)\n- Copy the DATA and GFX folder from the original The Settlers II Gold into the folder containing the above file\n- Start `rttr.bat`/`rttr.sh` or the bundle (OSX only) to auto-update and start the game\n  - Alternatively start `s25client` directly, but updates and music might be missing\n- WARNING: Do not use symlinks/junction points/... for subfolders of your installation.\nPutting RttR in a symlinked folder should work though.\n\n## How to build\n\n### Development tools / Prebuilt libraries\n\nThe `dev-tools` submodule contains prebuild binaries for various platforms that can be used to quickly start building.  \nHowever they are not compatible with all systems, e.g. not with musl libc, so they are not used by default.\nYou can configure (run CMake) with `-DRTTR_INCLUDE_DEVTOOLS=ON` to allow CMake to find them.\n\n### On Linux or Darwin/MacOSX\n\n#### Prerequisite Linux\n\n- C++14 compatible compiler (e.g. GCC-6)\n- cmake\n- git\n- libboost-dev (at least v1.69.0, i.e \u003chttp://www.boost.org/\u003e)\n  or only: libboost-test-dev libboost-locale-dev, libboost-iostreams-dev, libboost-filesystem-dev, libboost-program-options-dev (at least v1.69.0)\n- libsdl2-dev\n- libsdl2-mixer-dev\n- libcurl-dev (in libcurl4-openssl-dev)\n- libbz2-dev\n- lua5.2-dev (Lua 5.1 to 5.3 are supported)\n- gettext\n- libminiupnpc-dev\n\nAll of them can be installed with the package manager.\n\n#### Prerequisite MacOSX\n\n- cmake\n- git\n- boost\n- sdl2\n- sdl2_mixer\n- gettext (make sure it is in your path with e.g. `brew link --force gettext`)\n- miniupnpc\n- lua 5.1-5.3 (available via the `dev-tools` submodule included by default)\n\nAll of them can be installed via homebrew\n\n#### Prerequisites with Nix\n\nNix users can open a nix-shell to get a development environment with all packages ready.\n\n#### Checkout and build\n\n```bash\ngit clone --recursive https://github.com/Return-To-The-Roots/s25client s25client\ncd s25client\nnix-shell # Optional, for Nix users only\nmkdir -p build \u0026\u0026 cd build\ncmake -DCMAKE_BUILD_TYPE=Release ..\nmake\n```\n\nNote: 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.\nPlease check `cmake --help` for more options.\n\n### On Windows\n\n#### Prerequisites\n\n- cmake (i.e from \u003chttp://www.cmake.org/download/\u003e)\n- boost (i.e from \u003chttp://www.boost.org/\u003e)\n- Visual Studio (at least 2017, you can get the community edition for free)\n- Git Client (i.e TortoiseGit)\n\n#### Steps\n\n- Clone GIT Repository from \u003chttps://github.com/Return-To-The-Roots/s25client\u003e\n  - Using Git bash:\n\n     ```bash\n     git clone --recursive https://github.com/Return-To-The-Roots/s25client s25client\n     ```\n\n  - **OR** using TortoiseGit:\n    - Rightclick -\u003e \"Git clone...\"\n    - Put in \u003chttps://github.com/Return-To-The-Roots/s25client\u003e as URL\n    - Select \"Directory\" to clone to\n    - press OK\n    - Rightclick on the newly created folder -\u003e TortoiseGit-\u003e Submodule Update\n    - Make sure all modules are selected and \"Initialize submodules (--init)\" is checked\n    - press OK\n- If you haven't installed boost, install boost\n  Fast Way:\n  - extract boost-1.69.zip (i.e to external/boost, so that external/boost/bootstrap.bat exist)\n  - run that \"bootstrap.bat\"\n  - run created \"b2.exe\": this should build boost\n    Notice: if you have multiple Visual Studio versions installed, use the latest one with the \"toolset\"-parameter.\n    i.e \"b2 toolset=msvc-14.0\" for Visual Studio 2015\n  - run \"b2 install --prefix=%CD%\": this should install everything so the system can find it\n    Notice: Don't forget to add the toolset parameter if you already used it before\n- Use cmake-gui:\n  - \"Where is the source code\": Select checked out directory\n  - \"Where to build the binaries\": Select \"build\" directory (create if required)\n  - Press configure\n  - Select your compiler version (i.e Visual Studio 2015 x64)\n  - If it can't find boost:\n    - \"Add Entry\"\n    - Enter as \"Name\" \"BOOST_ROOT\" (exact casing!)\n    - Select for \"Type\" \"PATH\"\n    - Enter boost installation path for \"Value\"\n    - Press ok\n  - Press generate\n- Open and use build/RTTR.sln\n\n### Optimizations\n\nThere are various CMake options to control the build and optimization including ARM (Raspberry PI etc.) related ones.\nExamples:\n\n- RTTR_ENABLE_OPTIMIZATIONS/RTTR_ENABLE_WERROR\n- RTTR_OPTIMIZATION_VECTOR_EXT (Non-Windows x86/x64 only)\n- RTTR_OPTIMIZATION_TUNE (Non-Windows only)\n- RTTR_TARGET_BOARD (ARM only)\nSee the description in CMake-GUI/ccmake for details.\n\nNote that due to the use of submodules you always need to `git pull \u0026\u0026 git submodule update --init --recursive` to get the latest version.\n(The `--init` and `--recursive` arguments are only required should we add *new* submodules to the existing set.)\n\n### Tests\n\nEspecially for developing you should build in Debug mode (`-DCMAKE_BUILD_TYPE=Debug`) and run the tests after executing `make` via `make test` or `ctest --output-on-failure`.\nThere is also an option to enable checks for undefined behavior (UBSAN) and memory errors (ASAN) like use-after-free or leaks.\nJust pass `-DRTTR_ENABLE_SANITIZERS=ON` to CMake and use a recent GCC or Clang compiler to build.\nThen just run (tests or application) as usual.\n\n\n--\n\nFor advanced info or help see [FAQ in the wiki](https://github.com/Return-To-The-Roots/s25client/wiki/How-to-install-RttR) or \u003chttp://www.rttr.info\u003e\n","funding_links":[],"categories":["TODO scan for Android support in followings","Strategy"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FReturn-To-The-Roots%2Fs25client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FReturn-To-The-Roots%2Fs25client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FReturn-To-The-Roots%2Fs25client/lists"}