Скачать CS 1.6 быстро и бесплатно.
CSFortuna.ru - Качественные сборки

Metamod ReGameDLL CS 5.3.0.X

Reverse-engineered mod CS

  1. Taulalan
    Regamedll_CS.png
    s1lent занялся этим делом в начале текущего года, сначала пытался починить 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_CS и заменить оригинальные mp.dll/cs.so
    • Скомпилированные файлы доступны здесь (выберите .zip с наиболее свежей датой изменения).
    • Директория архива bin содержит 2 поддиректории, 'bugfixed' и 'pure'.
      • 'pure' рассчитана на работу в точности как оригинальный мод CS от valve.
      • 'bugfixed' содержит некоторые исправления и улучшения.
    Конфигурационный файл game.cfg положить в корень сервера или в папку мода cstrike.

    Внимание! Файлы Regamedll бинарно несовместимы с оригинальным, так как скомпилированы другим компилятором. Это означает, что плагины, делающие анализ бинарного кода (Orpheu например), вероятно, не будут работать с Regamedll_CS.

    Известные проблемы и их решения:
    • Вопрос: Что делать если падает сервер и у меня amxmodx 1.8.2?
    • Ответ: Если виноват модуль amxx cstrike, то вам нужно скачать фикс версию модуля, архив прикрепленный ниже.
    • Вопрос: У меня не работает модуль adminfreelook, можно это исправить?
    • Ответ: Временно сделан модуль refreelook на ReGameDLL API, архив прикреплен ниже. (Квар: afl_admin_access_flags is "d" )
    • Вопрос: Не работает refreelook, как исправить?
    • Ответ: Квары 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) и добавьте строчку: gamedll dlls/cs.so
    mp_freeforall "0/1" // отключение/включение режима "Каждый сам за себя" (FFA). Настройка хорошо подойдет для CSDM мода
    mp_maxmoney "16000" // установка максимального количества денег (можно устанавливать больше, чем 16000$). Плюс: отпадает необходимость использования метамод-плагина PatchMoney
    mp_autoteambalance "0/1/2" // настройка, еще ранее присутствовавшая в gamedll, однако немного расширенная:
    // новое значение - "2", которое отвечает за балансировку игроков обеих команд каждый раунд.
    // При значении "1" балансировка будет производиться через раунд
    mp_round_infinite "0/1" // отключение/включение блокировки конца раунда. Плюс: отпадает необходимость использования метамод-плагина RoundEndBlock. Для большего интереса и разнообразия можно блокировать отдельные события конца раунда, используя флаги:
    // a - заблокировать конец раунда по истечению времени
    // b - заблокировать конец раунда при достижении определённого числа игроков
    // c - заблокировать конец раунда при убийстве или спасении випа
    // d - заблокировать конец раунда при побеге из тюрьмы
    // e - заблокировать конец раунда при взрыве бомбы
    // f - заблокировать конец раунда при убийстве одной из команд
    // g - заблокировать конец раунда при спасении заложников
    // Например, mp_round_infinite "ae" заблокирует конец раунда по истечению времени и взрыва бомбы
    mp_roundover "0/1" // принудительное завершение раунда на картах, где нет определенной цели: установка бомбы, эвакуация заложников или вип.
    // Пример работы квара: если установить значение "1", то, допустим, на карте 35hp_2 по истечению времени раунд завершится. Обычно по истечению времени раунд не завершался
    mp_hegrenade_penetration "0/1" // отключение/включение нанесения урона осколочной гранатой врагу, находящемуся через стену
    mp_nadedrops "0/1/2" // сбрасывание гранат на землю после смерти игрока
    // Значения mp_nadedrops:
    // 1 - с игрока будет сбрасываться первый тип гранаты с соответствующего слота, т.е если у игрока будет комплект из 1 HE и 2 Flash гранат, то в момент смерти сбросится HE граната
    // 2 - с игрока будут сбрасываться все гранаты, какие у него будут на момент смерти
    mp_roundrespawn_time "значение (в секундах)" // время, спустя после начала раунда которого игрок не сможет заспавниться
    mp_auto_reload_weapons "0/1" // отключить/включить автоматическую перезарядку оружия в начале каждого раунда
    mp_refill_bpammo_weapons "0/1/2" // пополнение запаса патронов игрока при:
    // значении 1 - во время спавна игрока
    // значении 2 - после каждой перезарядки оружия (Хорошо подойдет для Zombie, CSDM и других модов)
    // При значении 0 запас патронов пополняться не будет
    mp_auto_join_team "0/1" // отключение/включение автоматического выбора команды игрока
    mp_max_teamkills "значение" // количество убитых тиммейтов, после которого игрок будет кикнут. Без включенного квара "mp_autokick" данный квар работать не будет
    mp_fraglimit "значение" // количество фрагов у игрока, по достижении которого произойдет смена карты. Значение "0" отключает данный квар
    mp_fragsleft // вывод количества оставшихся фрагов при вводе команды "mp_fraglimit" в консоль, если включен квар "mp_fraglimit"
    mp_forcerespawn "значение" // время, по истечению которого после смерти игрока произойдет его респавн
    mp_hostage_hurtable "0/1" // отключение/включение урона по заложникам (значение по-умолчанию: 1)
    bot_deathmatch "0/1" // отключение/включение огня по своим между ботами
    bot_quota_mode "normal" // квар, с помощью которого можно заполнить сервер ботами. При этом, боты будут добавлены таким образом, чтобы вместе с реальными игроками сервер оказался полон
    Конфигурационный файл game.cfg положить в корень сервера или в папку мода cstrike.

    Внимание! Файлы Regamedll бинарно несовместимы с оригинальным, так как скомпилированы другим компилятором. Это означает, что плагины, делающие анализ бинарного кода (Orpheu например), вероятно, не будут работать с Regamedll_CS.
Яндекс.Метрика