Dedicated-Server.RU  


 
 
Опции темы Опции просмотра
Старый 30.06.2015, 20:41   #1
с доступом к форуму безопасности
 
Регистрация: 23.02.2014
Адрес: Томск-7
Сообщений: 311
Сказал спасибо: 102
Поблагодарили 1,013 раз(а) в 176 сообщениях
ReGameDll Regamedll_CS, Reverse-engineered mod CS


Предыстория

Занялся я этим делом в начале текущего (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.


Внимание: Файлы 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

[свернуть]


Как можно помочь?
Форкайте на гите проект, собирайте через gradle, он скомпилирует и проведет тесты.
Ищите баги (ошибки) и делайте пул реквесты :)
Вложения
Тип файла: zip cstrike_amxx_1_8_2_fix.zip (70.8 Кб, 994 просмотров)

Последний раз редактировалось s1lent; 14.01.2017 в 18:31.
s1lent вне форума   Ответить с цитированием
38 пользователей сказали cпасибо:
Показать/Скрыть список поблагодаривших
 

Метки
cssdk, regamedll, regamedll_cs, reverse, reverse-engineered


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 05:13. Часовой пояс GMT +3.


Лицензия принадлежит Dedicated-Server.Ru