Русское сообщество по скриптингу

ReHLDS, Reverse-engineered HLDS

Статьи или фрагменты кода для новичков и уже опытных скриптеров по Metamod.
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только обучающему материалу по Metamod.

ReHLDS, Reverse-engineered HLDS

Сообщение Blud » 07 фев 2016, 17:10

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

Ссылки:
Вы должны зарегистрироваться, чтобы видеть ссылки.
Вы должны зарегистрироваться, чтобы видеть ссылки.
Вы должны зарегистрироваться, чтобы видеть ссылки.
Вы должны зарегистрироваться, чтобы видеть ссылки.

Мотивация:
Главная мотивация - 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 можно будет забыть и поддерживать серверный движок самостоятельно.
Господа, очень хорошо, когда вас ненавидят, можно приходить и бесить людей просто так.
Аватара пользователя
Blud
 
Сообщения: 85
Зарегистрирован: 05 дек 2013, 12:23
Благодарил (а): 28 раз.
Поблагодарили: 13 раз.
Опыт программирования: Меньше недели
Языки программирования: Counter-Strike 1.6

Вернуться в Статьи / фрагменты кода

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron