Сборка S2-Launcher

Как собрать из исходников хост S2-Launcher для игр на Source 2.

S2-Launcher — хост, который загружает Plugify в игру на Source 2 без Metamod. Владельцу сервера собирать его не нужно: он уже есть в билде. Эта страница для тех, кто хочет изменить хост или собрать его сам.

Что нужно

То же, что для ядра: компилятор с C++23, CMake, Ninja и Git. Официальные билды для Linux собираются GCC 14 в контейнере Steam Runtime registry.gitlab.steamos.cloud/steamrt/sniper/sdk, чтобы результат работал на игровом сервере. Сборка на другом дистрибутиве сообщает этот дистрибутив как свою платформу (см. Платформы).

Сборка

Клонируйте репозиторий с сабмодулями

Ядро, Source 2 SDK и другие библиотеки подключены Git-сабмодулями:

git clone https://github.com/untrustedmodders/plugify-source2-launcher.git --recursive
cd plugify-source2-launcher

Сконфигурируйте и соберите

cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build --target plugify-source2-launcher

Два вида сборки

Опция S2_LAUNCHER выбирает, что собирается:

S2_LAUNCHERРезультатКак используется
OFF (по умолчанию)Разделяемая библиотека libserver_valve.so / server_valve.dllИгра загружает её вместо своей серверной библиотеки. Она запускает Plugify, а всё остальное передаёт настоящей серверной библиотеке
ONИсполняемый файл s2launcher / s2launcher.exeЗапускается вместо исполняемого файла игры и сам загружает движок

В папку сборки попадают также libplugify.so / plugify.dll ядра (в build/external/plugify) и micromamba, пакетный менеджер, которым пользуется хост.

Куда какой файл кладётся на сервере, показано в установке S2-Launcher.