Skip to content

legacyclonk/LegacyClonk

Repository files navigation

LegacyClonk

Logo

LC (short for LegacyClonk) is a fan project based on Clonk Rage. LegacyClonk continues to receive updates and ensures compatibility with existing Clonk Rage content.

The goal is to fix as many bugs and inelegances as possible, improving quality-of-life and adding nice-to-have features while not impacting the gameplay we’re all used to.

Installation

Please refer to the English or German installation manual if you simply want to play the game.

clonkspot.org hosts the community forum, content developer documentation and masterserver.

Compiling - Quick Start

Disclaimer: This readme is fairly new and may contain mistakes. In case of problems reach out. Readme improvement PRs are welcome.

Essential dependencies:

  • CMake
  • Fairly modern C++ compiler
    • Windows: Latest MSVC
    • Linux: g++ ≥ 14.1 or clang++ ≥ 19.1
    • macOS: open source clang++ ≥ 19.1 - e.g. brew install llvm@19 ninja
  • Make or Ninja

Extract the latest pre-built dependencies for your platform into a folder called deps. Make sure that besides the CMakeLists.txt of LegacyClonk there are folders deps/include, deps/lib, etc. as extracted from the binary package.

Configuring and compiling the engine

Open a Terminal and navigate to the repository root, such that CMakeLists.txt is in the current directory.

Windows

Open the CMake project using Visual Studio.

Linux

Configure with CMake

cmake . -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo -DWITH_DEVELOPER_MODE=ON

Compile with CMake

cmake --build build

macOS

Configure with CMake (FIXME: Rename toolchain file, the version number doesn’t matter)

cmake . -B build -DCMAKE_TOOLCHAIN_FILE=$PWD/autobuild/clang16_mac.cmake

Compile with CMake

cmake --build build

Create the .app-bundle

DESTDIR=build/destdir cmake --build build --target install

The clonk.app should be generated at build/destdir/usr/local/clonk.app.

Setup game folder

The engine needs various files to run placed next to the engine binary. The cleanest way is to create and setup a game folder somewhere outside of the source code repository.

If you want to use an existing game folder (e.g. obtained via the simple binary Installation) use that folder instead and only do step 2.

  1. Create an empty folder at the desired location. The guide assumes the directory path to be ~/clonk.

  2. Create a symbolic link to the binary in the folder

    • Windows: New-Item -ItemType Symlink -Path ~/clonk/MyClonk.exe -Target build/clonk.exe (needs to be run in a terminal with administrator rights)
    • Linux: ln -s build/clonk ~/clonk/myclonk
    • macOS: ln -s build/clonk.app ~/clonk/myclonk.app
  3. Create symbolic links to Graphics.c4g and System.c4g. Without them, the engine won’t start.

    • Windows
    New-Item -ItemType Junction -Path ~/clonk/Graphics.c4g -Target planet/Graphics.c4g
    New-Item -ItemType Junction -Path ~/clonk/System.c4g -Target planet/System.c4g
    • Linux / macOS
    ln -s planet/Graphics.c4g planet/System.c4g ~/clonk
  4. Get official content (optional, but can’t play without some content)

    • Pre-built: Extract lc_content.zip from the latest release in the game folder.
    • From repository
      1. Clone the content repository in a different folder, e.g. ~/lc_content: git clone https://github.com/legacyclonk/content ~/lc_content
      2. Create symbolic links for all groups
        • Windows
        • Linux / macOS: ln -s ~/lc_content/*.c4? ~/clonk

Play

  • Enter your game folder, e.g. ~/clonk.
  • Launch clonk.exe/clonk.app/the clonk binary.
  • Enjoy

Remark: In order to join network games with other players (who use release binaries) your System.c4g needs to match the one from the host. It can be obtained from Releases.

Contact