JoinGame.KZ - игровой хостинг, арендуя сервер у нас, Вам будут предоставленно множество бесплатных услуг, кроме этого у Вас будет возможность обратиться в техническую поддержку и получить квалифицированную помощь. Заказывайте игровые сервера на JoinGame.KZ
Зарегистрироваться Войти на сайт Восстановить пароль
  • Главная
  • Услуги хостинга
  • Новости
  • Википедия
  • Форум
  • Контакты
  • Создать тему
    Закрыть тему
    ReHLDS, Reverse-engineered HLDS
    makenzo

    makenzo

    Пользователь

    офлайн

    11.12.2017 - 01:41 Сообщение #1

    ReHLDS это результат реверс-инжиниринга оригинального HLDS (build 6152/6153) с использованием отладочной информации DWARF, встроенной в linux-версию HLDS, engine_i486.so.
    В процессе реверс-инжиниринга было обнаружено и исправлено множество недостатков и потенциальных багов.

    Ссылки:
    English thread on cs.rin.ru
    Код проекта на github
    Скомпилированные dev-билды
    Сравнение производительности ReHLDS и HLDS от Valve

    Мотивация:
    Главная мотивация - valve ничего не делает и нет возможности нормально исправлять баги.

    Цели:
    Предоставить более стабильный HLDS с расширенным API для модов и плагинов.
    Оптимизация производительности.

    Текущий статус:
    Движок стабилен, почти все функции работают корректно.

    Как использовать?
    ReHLDS полностью совместим с оригинальным HLDS. Все, что от вас требуется, это загрузить бинарные файлы rehlds и заменить оригинальные swds.dll/engine_i486.so. При этом до замены движка сервер должен быть обновлен через steamcmd до последней 6xxx+ beta.
    Скомпилированные файлы доступны здесь (выберите .zip с наиболее свежей датой изменения).

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

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

    Внимание! Файлы ReHLDS бинарно несовместимы с оригинальным HLDS, так как скомпилированы другим компилятором. Это означает, что плагины, делающие анализ бинарного кода (Orpheu например), вероятно, не будут работать с rehlds. Соответственно, dproto тоже не будет работать. Но для большинства плагинов уже есть улучшенная замена.

    Что это нам дало?
    Стало возможно не просто изучать движок, но и легко вносить в него изменения. Раньше для этого требовалось писать патчащие память модули, что довольно трудоемко. Это годится лишь для исправления критических багов, для которых уже написаны эксплойты, так как на каждый мелкий недочет писать патчи слишком муторно. Теперь можно без особых проблем исправлять любые ошибки движка и делать его улучшения. В перспективе про HLDS от Valve можно будет забыть и поддерживать серверный движок самостоятельно.

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

    Сообщение было отредактировано: 22.11.2018 13:03:41

    Удалить / Редактировать / Ответить