Исходник Софт GAdmin - плагин для администрации Gambit RP

DZONE

Известный
Автор темы
184
197

GAdmin - плагин для администрации Gambit RP


Исходный код плагина для администрации гамбита, содержащий на момент написания темы 30972 строки (find . -name "*.cpp" -o -name "*.h" -o -name "*.cmake" | xargs wc -l). Прошлая тема в луашном разделе удалена мною по причинам неактуальности и переписывания кода с нуля на C++. Исходный код луашной (Clue) версии модификации - тут.
Код написан на последнем C++26 стандарте и с поддержкой только GCC компиляторов версий >=15.1.0 (скорее всего можно скомпилировать и с Clang; не проверял. MSVC отпадает из-за отсутствия поддержки ключевых нововведений стандарта, например того же #embed). В сборке используется CMake v4.0.0 и доступны настройки для уменьшения размера бинарников: используются UPX и msgpack-cli (для уменьшения размера JSON файлов, добавленных в код; cargo install msgpack-cli). Поддерживаются все версии сампа, кроме R2 и R4. Также используются библиотеки, перечисленные ниже:
После компиляции генерируются два файла - gadmin.dll и gadmin-loader.asi. Второй файл используется для реализации автообновления, которое ищет gadmin.dll по ресурсному файлу и сравнивает его версию с той, что получена от Github API: если различается - предлагает установить обновление, в противном случае - просто загружает в игру. Отключить автообновление можно переименовав gadmin.dll в gadmin.asi и удаля лоадер.

Лицензия

Проект залицензирован под GNU General Public Licence v3. Авторское право закреплено за теми, кто внес или вносит прямой вклад в разработку (The Contributors).

output.png