• Версия для печати

На форуме вы можете обсуждать различные темы выкладывать свои работы. Главное что от вас требуется это Уникальное и красивое оформление темы. Если На форуме нет подходящего раздела для вашей темы свяжитесь с администратором он создаст вам его.Так же если у вас есть какие-либо пожелания оставляем Комментарии ТУТ

Regamedll_CS, Reverse-engineered mod CS

Всё о ReHLDS и его дополнениях
Аватара
Автор темы
Админ M
Администратор
Администратор
Сообщения: 545
Зарегистрирован: 01.09.2016
Возраст: 29
Репутация: 5
С нами: 1 год 10 месяцев
Откуда: Красноярск
Контактная информация:

Regamedll_CS, Reverse-engineered mod CS

Сообщение #1 Админ » 29.05.2017, 03:06

Изображение

    Предыстория (Пишет 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

    Скомпилированные файлы доступны Здесь (выберите .zip с наиболее свежей датой изменения).

    Директория архива bin содержит 2 поддиректории, 'bugfixed' и 'pure'.

      • 'pure' рассчитана на работу в точности как оригинальный мод CS от valve.
      • 'bugfixed' содержит некоторые исправления и улучшения.

    Конфигурационный файл game.cfg положить в корень сервера или в папку мода cstrike.

game.cfg
// Файл конфигурации ReGameDLL

// Стиль игрового процесса, где нет команд (режим FFA)
// 0 - отключено
// 1 - включен
//
mp_freeforall 0

// Автоматическая балансировка команд
// 0 - отключено
// 1 - после следующего раунда
// 2 - в следующем раунде
//
mp_autoteambalance 1

// Время закупки оружия в начале раунда в минутах
// -1 - означает ограничение по времени
// 0 - отключить покупку
//
mp_buytime 0.25

// Максимально допустимая сумма денег в игре
//
mp_maxmoney 16000

// Блокировки конца раунда.
// 0 - отключено
// 1 - включен
//
// Для большего интереса и разнообразия можно блокировать отдельные события конца раунда, используя флаги:
// a - заблокировать конец раунда по истечению времени
// b - заблокировать конец раунда при достижении определённого числа игроков
// c - заблокировать конец раунда при убийстве или спасении випа
// d - заблокировать конец раунда при побеге из тюрьмы
// e - заблокировать конец раунда при взрыве бомбы
// f - заблокировать конец раунда при убийстве одной из команд
// g - заблокировать конец раунда при спасении заложников​
//
// Пример настройки: "ae" - заблокирует конец раунда по истечению времени и взрыва бомбы​
mp_round_infinite 0

// Принудительное завершение раунда на картах, где нет определенной цели: установка бомбы, эвакуация заложников или вип.
// Пример работы квара: если установить значение "1", то, допустим, на карте 35hp_2 по истечению времени раунд завершится.
// Обычно по истечению времени раунд не завершался
//
// 0 - отключено
// 1 - включен
//
mp_roundover 0

// Количество секунд для задержки перед перезапуском раунда после победы.
//
mp_round_restart_delay 5

// Нанесения урона осколочной гранатой врагу, находящемуся за стеной
// 0 - отключено
// 1 - включен
//
mp_hegrenade_penetration 0

// Выпадение гранат после смерти игрока
// 0 - отключено
// 1 - уронить гранату
// 2 - бросить все гранаты
//
mp_nadedrops 0

// Время, спустя после начала раунда которого игрок не сможет заспавниться
//
mp_roundrespawn_time 20

// Автоматическая перезарядка всего оружия в новом раунде
// 0 - отключено
// 1 - включен
//
mp_auto_reload_weapons "0"

// Пополнение количества патронов рюкзака до макс.
// 0 - отключено
// 1 - Пополнить патроны рюкзака когда спавнится игрок
// 2 - Пополнить патроны рюкзака при покупке оружия
// 3 - Пополнить патроны рюкзака при каждой перезарядке оружия
//
mp_refill_bpammo_weapons 0

// Автоматически присоединяется к команде
// 0 - отключено
// 1 - включено (используется совместно с cvar people_join_team any / SPEC / CT / T)
//
mp_auto_join_team 0

// Максимальное количество убийств товарищей по команде перед наказанием кик
// При этом учитывается cvar mp_autokick "1"
// 0 - отключено
//
mp_max_teamkills 3

// Количество фрагов, при достижении которого игра на карте будет завершена
//
mp_fraglimit 0

// Длительность игры на одной карте в минутах
//
mp_timelimit 20

// Принудительный быстрый респаун для убитого клиента
// 0 - отключить
//
mp_forcerespawn 0

// Урона по заложникам
// 0 - отключено
// 1 - включено
mp_hostage_hurtable 1


// Огонь по своим между ботами
// 0 - отключено
// 1 - включить
//
bot_deathmatch 0

// Квар, с помощью которого можно заполнить сервер ботами. При этом, боты будут добавлены таким образом, чтобы вместе с реальными игроками сервер оказался полон
// normal
// fill
//
bot_quota_mode "normal"

// Отладочный редим Debug
// 0 - отключено
// 1 - включен
//
showtriggers 0



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


Поддерживаемые версии Metamod:

  • Metamod 1.21-am или 1.21p37 (Внимание: 1.20 и ниже Не рекомендуются)

Благодарности:

  • Проекту ReHLDS и всем кто участвовал в нём.
  • Dreamstalker за предоставленный репозиторий.

Известные проблемы и их решения:

    Нажмите здесь чтобы увидеть полный текст
    • Вопрос: Что делать если падает сервер и у меня amxmodx 1.8.2?
    • Ответ Убедитесь что виноват модуль amxx cstrike, выключите все плагины использующий модуль cstrike, если сервер не падает, то вам нужно скачать специальную версию cstrike модуля для ReGameDLL (Архив прикреплён ниже)

    • Вопрос: У меня не работает модуль 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) и добавьте строчку:

        gamedll dlls/cs.so

cstrike_amxx_1_8_2_fix.zip
(70.84 КБ) 3 скачивания
cstrike_amxx_1_8_2_fix.zip
(70.84 КБ) 3 скачивания


Источник:
Dedicated-Server.ru

Теги:

Вернуться в «ReHLDS + Дополнения»