ReGameDLL ReGameDLL_CS - reverse engineered mod CS

Inline

Пользователь
Регистрация
8 Июн 2017
Сообщения
233
Симпатии
77
Пол
Мужской
#1
Первоисточник - Dedicated-Server.ru
In english - Regamedll_CS, Reverse-engineered mod CS - AlliedModders

Предыстория:
s1lent занялся реверсом мода CS в начале 2015 года, сначала попытавшись починить gamedll от вьетнамца cs16nd,
но как оказалось - безуспешно. Cколько багов ни фиксил, находились новые, прогонка и анализ кода по IDA заставили бросить это дело.
Спустя несколько месяцев, появление ReHLDS дало второе дыхание работе над проектом. В этом проекте s1lent'a привлекли его метод реверс-инжиниринга и система проведения тестов

Теперь подробнее:
ReGameDLL_CS - это результат реверс-инжиниринга оригинального мода CS (build 6153beta) с использованием отладочной информации DWARF, встроенной в линуксовую версию движка cs.so

Цели
:
  • Предоставить более расширенный API для модов и плагинов
  • Исправление багов
  • Внедрение оптимизации
Текущий статус:
  • CS 1.6 - [100%]
  • C:Zero - [100%]
Ссылки:
История изменений:
Дополнительное описание и перевод на русский язык присутствует, история ведеётся не сначала, но все равно полезна.
[EN] Commit № 201
[RU] Коммит № 201
  • Fix func_rotating · s1lentq/ReGameDLL_CS@1dc4849 · GitHub
  • Исправляет функцию func_rotating отвечающую за сбрасывание состояния энтити. Эта функция вызывается при начале нового раунда․ Обновление затрагивает вращающиеся объекты.
[EN] Commit № 202
[RU] Коммит № 202
[EN] Commit № 204
[RU] Коммит № 204
[EN] Commit № 205
[RU] Коммит № 205
[doublepost=1498826007][/doublepost][EN] Commit № 206
[RU] Коммит № 206
[EN] Commit № 207
[RU] Коммит № 207
[EN] Commit № 208
[RU] Коммит № 208
[doublepost=1499274307][/doublepost][EN] Commit № 209
[RU] Коммит № 209
[doublepost=1499274544][/doublepost][EN] Commit № 210
[RU] Коммит № 210

Нововведения:
На данный момент в ReGameDLL_CS добавлен ряд новых настроек, находящихся в файле game.cfg:
  • 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" - квар, с помощью которого можно заполнить сервер ботами. При этом, боты будут добавлены таким образом, чтобы вместе с реальными игроками сервер оказался полон
Как использовать?
ReGameDLL_CS полностью совместим с оригинальным gamedll. Все, что от вас требуется, это загрузить бинарные файлы ReGameDLL_CS и заменить ими оригинальные mp.dll/cs.so
Скомпилированные файлы мода вы можете найти здесь (выберите .zip файл с датой последнего изменения). Директория архива bin содержит 2 поддиректории: bugfixed и pure
  • В папке "pure" файл мода, рассчитанный на работу в точности, как оригинальный gamedll
  • В папке "bugfixed" файл мода со всеми исправлениями и улучшениями ReGameDLL_CS
В архиве вы также найдете конфигурационный файл game.cfg, который содержит в себе новые квары, созданные в Regamedll. Во время его установки конфигурационный файл можно переместить в корневую папку сервера или в папку мода
Если установка ReGameDLL_CS была проведена правильно, то при вводе команды "game version" в консоль сервера должны быть отображены строки сообщающие об версии ReGameDLL_CS.[/SPOILER][/SPOILER]
 
Последнее редактирование:

Vesuvius

Пользователь
Регистрация
8 Июн 2017
Сообщения
127
Симпатии
20
Пол
Мужской
#4
ктото кидал мне ссилку на ботов на github, а я не сохранял.. думал завтра.. а завтра бил для форума денем-Х..
может ктонибуть дать?
 

Vesuvius

Пользователь
Регистрация
8 Июн 2017
Сообщения
127
Симпатии
20
Пол
Мужской
#6
создал на домашнем сервере ботов...
вроде получилось
подскажите.. можно както избавиться от Initialization перед началом каждой карти?
 

DashaKarma

Пользователь
Регистрация
8 Июн 2017
Сообщения
69
Симпатии
22
Пол
Женский
#7
Можно ли попросить модераторов о небольших заметках "что поменялось в новых версиях/что пофиксили/что добавили"... если не сложно? А то никакой конкретики явной... Заранее, спасибо.
 

REVO

Пользователь
Только чтение
Регистрация
9 Июн 2017
Сообщения
172
Симпатии
28
Пол
Мужской
#9
при обновлении, надо еще что то обновлять?
 

REVO

Пользователь
Только чтение
Регистрация
9 Июн 2017
Сообщения
172
Симпатии
28
Пол
Мужской
#11
Phantom, нужно мне плагины заного перекомпилировать?
или можно спокойно обновить dll и cfg, ?
 

sonyx

Команда форума
Модератор
Регистрация
8 Июн 2017
Сообщения
400
Симпатии
215
Пол
Мужской
#12
REVO, перекомпил не нужен
 

REVO

Пользователь
Только чтение
Регистрация
9 Июн 2017
Сообщения
172
Симпатии
28
Пол
Мужской
#13
небольшое уточнение! что лучше из этого будет?
до того как с форумом случилось неприятное, в теме статьи про rehlds описывалось что лучше использовать pure.
  • В папке "pure" файл мода, рассчитанный на работу в точности, как оригинальный gamedll
  • В папке "bugfixed" файл мода со всеми исправлениями и улучшениями ReGameDLL_CS
 

izzatillo

Пользователь
Регистрация
8 Июн 2017
Сообщения
190
Симпатии
69
Пол
Мужской
#14
REVO, я всегда обновляю из папки "bugfixed"
 

REVO

Пользователь
Только чтение
Регистрация
9 Июн 2017
Сообщения
172
Симпатии
28
Пол
Мужской
#15
всем спасибо, обновился! полет нормальный.
 

Vesuvius

Пользователь
Регистрация
8 Июн 2017
Сообщения
127
Симпатии
20
Пол
Мужской
#16
REVO,
в теме статьи про rehlds описывалось что лучше использовать pure.
так вороде всегда описовалось что лучше ставить "bugfixed"
даже тут пишет
  • В папке "bugfixed" файл мода со всеми исправлениями и улучшениями ReGameDLL_CS
 

Inline

Пользователь
Регистрация
8 Июн 2017
Сообщения
233
Симпатии
77
Пол
Мужской
#17
[EN] Commit № 201
[RU] Коммит № 201
  • Fix func_rotating · s1lentq/ReGameDLL_CS@1dc4849 · GitHub
  • Исправляет функцию func_rotating отвечающую за сбрасывание состояния энтити. Эта функция вызывается при начале нового раунда․ Обновление затрагивает вращающиеся объекты.
 

sonyx

Команда форума
Модератор
Регистрация
8 Июн 2017
Сообщения
400
Симпатии
215
Пол
Мужской
#18
Inline, сударь, не сочтите за наглость)
Есть пару предложений))
1. Коммиты писать под спойлер в топикстарте
2. Коммиты писать тут только на русском, т.к. человек, знающий английский, прочтет все и на гите.
 

Inline

Пользователь
Регистрация
8 Июн 2017
Сообщения
233
Симпатии
77
Пол
Мужской
#19
sonyx, Так же можно и сказать, что смысла нет в первом посте, так как историю можно посмотреть на гитхабе)
Да и по сути это не просто changelog, там и небольшое описание приводится будет.
 

sonyx

Команда форума
Модератор
Регистрация
8 Июн 2017
Сообщения
400
Симпатии
215
Пол
Мужской
#20
Inline, я к чему - среди сообщений затеряется, а инфа интересная, лучше под хайд в 1 сообщение)