• Регистрация на форуме отключена.
    Она будет открываться первого числа каждого месяца на 24 часа.

    Другие способы описаны>> тут <<
ReGameDLL_CS, Reverse-engineered mod CS

ReGameDLL_CS, Reverse-engineered mod CS 5.18.0.474

Автор
Благодарности
  • Проекту ReHLDS и всем кто участвовал в нём.
  • Dreamstalker за предоставленный репозиторий.
Занялся s1lent этим делом в начале 2015 года, сначала пытался починить gamedll от вьетнамца cs16nd, но, сколько багов не фиксил, - находились новые, прогонка и анализ кода по IDA заставили бросить это дело.
Спустя несколько месяцев, появление ReHLDS дало второе дыхание, в этом проекте меня привлекли его метод реверс-инжиниринга и система проведения тестов.
Ссылки:
Что это? Это результат реверс-инжиниринга оригинального mod CS to Half-Life (HLDS build 6153beta) с использованием отладочной информации DWARF, встроенной в линуксовую версию, cs.so.

Простыми словами, ReGameDLL это то, что отвечает за CS в целом.
В нём описана вся логика мода CS, а также работы оружия, поведения entities, взаимодействия команд и условия окончания раундов, и прочее.

Что нам это даст?
  • Проект собирается современными компиляторами, что даст нам чуть больше производительности.
  • Некоторые полезные или часто используемые вещи возможно будут добавлены сразу в мод, без надобности делать это через AMXX plugins.
  • Возможность использовать расширенный ReGameDLL API для Metamod plugins или AMXX modules.
Цели:
  • Предоставить более расширенный API для модов и плагинов.
  • Исправление багов.
  • Оптимизация кода.
Как это использовать?ReGameDLL полностью совместим с оригинальным модом CS
Все, что от вас требуется, это загрузить бинарные файлы ReGameDLL и заменить оригинальные mp.dll/cs.so

Директория архива bin содержит 2 поддиректории, 'bugfixed' и 'pure'.
  • 'pure' рассчитана на работу в точности как оригинальный мод CS от valve.
  • 'bugfixed' содержит некоторые исправления и улучшения.
Конфигурационный файл game.cfg положить в корень сервера или в папку мода cstrike.

Поддерживаемые версии Metamod:
  • Metamod 1.21-am или 1.21p37 (Внимание: 1.20 и ниже Не рекомендуются)
Внимание: Файлы ReGameDLL бинарно несовместимы с оригинальным, так как скомпилированы другим компилятором.
Это означает, что плагины, делающие анализ бинарного кода (Orpheu например), вероятно, не будут работать с ReGameDLL.

Требования к программному обеспечению для сборки Regamedll_CS:
  1. Java Development Kit (JDK) 7+ (http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)
  2. For Windows: Visual Studio 2015 and later
  3. For Linux: GCC/Clang/Intel C++ Compiler 15 and later
Проверка требований:
JDK version

Windows
Код:
> %JAVA_HOME%\bin\javac -version
javac 1.8.0_25
Linux
Код:
$ javac -version
javac 1.7.0_65
Visual Studio
Код:
Help -> About
ICC
Код:
$ icc --version
icc (ICC) 15.0.1 20141023
Сборка и запуск тестов с помощью gradle

На Windows:

gradlew --max-workers=1 clean buildRelease
  • Для более быстрой сборки без тестирования используйте это:
gradlew --max-workers=1 clean buildFixes


На Linux (ICC):
./gradlew --max-workers=1 clean buildRelease
  • Для более быстрой сборки без тестирования используйте это:
./gradlew --max-workers=1 clean buildFixes


На Linux (Clang):
./gradlew --max-workers=1 clean -PuseClang buildRelease
  • Для более быстрой сборки без тестирования используйте это:
./gradlew --max-workers=1 clean -PuseClang buildFixes


На Linux (GCC):
./gradlew --max-workers=1 clean -PuseGcc buildRelease
  • Для более быстрой сборки без тестирования используйте это:
./gradlew --max-workers=1 clean -PuseGcc buildFixes
Скомпилированные бинарные файлы будут размещены в каталоге build/binaries/

Упрощенная постройка с использованием CMake 3.1 и более поздних версий.

На Windows:
Откройте решение msvc\ReGameDLL.sln и соберите его.

На Linux:
  • Запустите скрипт regamedll/compile.sh
  • Использование опций regamedll/compile.sh -D[option]=[ON or OFF] (без квадратных скобок)
Код:
DEBUG              - Включает режим отладки
USE_INTEL_COMPILER - Заменить главный компилятор на ICC
USE_CLANG_COMPILER - Заменить главный компилятор на Clang
USE_STATIC_LIBSTDC - Включает поддержку статической линковки библиотеки libstdc++

  • Вопрос: Что делать если падает сервер и у меня amxmodx 1.8.2?
  • Ответ: Убедитесь, что виноват модуль amxx cstrike, выключите все плагины использующий модуль cstrike, если сервер не падает, то вам нужно скачать обновлённую версию cstrike 1.8.3 модуля для ReGameDLL (Этот модуль взят с официального источника amxmodx.org (Linux, Windows) от dev-версии 1.8.3 и вам необязательно обновлять целиком amxmodx до 1.8.3, достаточно одного cstrike модуля)

  • Вопрос: У меня не работает модуль adminfreelook, можно это исправить?
  • Ответ: Используйте AMXX плагин AdminFreeLook на ReGameDLL API, скачать здесь.

  • Вопрос: Не работает AdminFreeLook, как исправить?
  • Ответ: CVar's mp_forcecamera, mp_forcechasecam не должны равняться 0, а также mp_fadetoblack должен быть 0.

  • Вопрос: Как узнать, работает ли ReGameDLL?
  • Ответ: Вы можете узнать через команду game version.

  • Вопрос: Не реагирует на команду game version, что делать?
  • Ответ:Для начала нужно выполнить некоторые шаги:
    • Вы должны убедиться что поместили mp.dll (Для Windows) или cs.so (Для Linux) в директорию gamedir/dlls/.
    • Если у вас стоит Metamod, вы должны убедиться, что Metamod загружает именно вашу библиотеку mp.dll/cs.so, напишите команду meta game и увидите в "dll pathname" путь до библиотеки которую загрузил Metamod.

    • В папке gamedir/dlls не должны быть cs_i386.so и бэкап оригинальной библиотеки cs.so, так или иначе Metamod их загрузит, так как считает их приоритетные чем ReGameDLL. (Совет: Вы можете прямо указать Metamod-у какую библиотеку грузить, для этого зайдите в папку Metamod-а (addons/metamod), откройте config.ini (если нету, создайте config.ini) и добавьте строчку:

Как можно помочь?
Форкайте на гите проект, собирайте через gradle, он скомпилирует и проведет тесты.
Ищите баги (ошибки) и делайте пул реквесты :)
Команды
game version​
Покажет версию GameDLL, дату и URL.​
endround​
Аргументы:
T - принудительно закончить раунд с победой Терористов.
CT - принудительно закончить раунд с победой Контер-Терористов.
или завершить раунд вничью, когда аргумент не указан.​
mp_swapteams​
Команды поменялись местами и перезапуск игры.​
Автор
Adidasman
Скачиваний
4,783
Просмотры
29K
Первый выпуск
Обновление
Оценка
5.00 звёзд 6 оценок

Другие ресурсы пользователя Adidasman

Последние обновления

  1. Обновлено до 5.18.0.474

    Изменения: Fixed bug when the client reconnects, his body doesn't disappear.
  2. Обновлено до 5.18.0.473

    Изменения: Fix a crash when func_breakable signals it for CCSBot::OnEvent
  3. Обновлено до 5.18.0.472

    Изменения: Fix wrong predicting vc++ 2019 compiler Don't call HasRestrictItem with type touch...

Последние рецензии

ac
Пока все супер
Очень годная тема. После фикса Object Boost бага просто восторг) Теперь не полетаешь на табуретке на Estate, она просто отталкивается. Спасибо за работу!
:)
Все полезный =)
ОТЛИЧНО!
Сверху Снизу