ReGameDLL_CS
24 ноября 2023 г, 01:36
f0rt1k

Владелец проекта

Рейтинг: 36

Сообщений: 16

Спасибок: 4

Автор

 

 
Описание
Совместимость с
Amx Mod X 1.9.0, Amx Mod X 1.10.0 dev
Благодарности
  • Проекту ReHLDS и всем кто участвовал в нём.
  • Dreamstalker за предоставленный репозиторий.
Занялся 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

Директория архива bin содержит 2 поддиректории, 'bugfixed' и 'pure'.
  • 'pure' рассчитана на работу в точности как оригинальный мод CS от valve.
  • 'bugfixed' содержит некоторые исправления и улучшения.
Конфигурационный файл game.cfg положить в корень сервера или в папку мода cstrike.

Поддерживаемые версии Metamod:
  • Metamod 1.21-am или 1.21p37 (Внимание: 1.20 и ниже Не рекомендуются)
Внимание: Файлы ReGameDLL бинарно несовместимы с оригинальным, так как скомпилированы другим компилятором.
Это означает, что плагины, делающие анализ бинарного кода (Orpheu например), вероятно, не будут работать с ReGameDLL.

Спойлер: Инструкции по сборке Regamedll_CS (опционально):

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

Как можно помочь?
Форкайте на гите проект, собирайте через gradle, он скомпилирует и проведет тесты.
Ищите баги (ошибки) и делайте пул реквесты :)
Команды
Command​
Description​
game version​
Will show GameDLL build version, date & URL.​
endround​
Args:
T force round end with Terrorists win.
CT force round end with Counter-Terrorists win.
or terminate round draw when called without arguments.​
swapteams​
Swap the teams and restart the game.​
give​
Give weapon command.
Args:

Usage:
give weapon_ak47
give weapon_usp

NOTE: sv_cheats 1 required.​
impulse 255​
Give all weapons.

NOTE: sv_cheats 1 required.​


Скачать

 
Установка и настройки
Установка
  1. Извлечь нужные бинарные файлы из папки bugfixed (рекомендуется использовать эту версию) или pure
  2. Заменить оригинальный файл в папке /cstrike/dlls своего сервера (cs.so для Linux систем или mp.dll для Windows)
  3. Конфигурационные файлы game.cfg и game_init.cfg положить в корень сервера или в папку мода cstrike.
Опционально

Установка zBot
  1. Извлечь файлы из архива
  2. Добавить в параметры запуска сервера -bots
Установка умных заложников
  1. Добавить в параметры запуска -host-improv
  2. Извлечь файлы из архива

Как можно использовать бета-версию?
ReGameDLL_CS также имеет бета-версию с последними изменениями от официальной версии Counter-Strike.
  • Укажите опцию -beta в строке запуска HLDS.
Настройки
game.cfg
C++:

echo Executing ReGameDLL Configuration File

// The style of gameplay where there aren't any teams (FFA mode)
// 0 - disabled (default behaviour)
// 1 - enabled
//
// Default value: "0"
mp_freeforall "0"

// Auto balancing of teams
// 0 - disabled
// 1 - on after next round (default behaviour)
// 2 - on next round
//
// Default value: "1"
mp_autoteambalance "1"

// Designate the desired amount of buy time for each round. (in minutes)
// -1 - means no time limit
//  0 - disable buy
//
// Default value: "1.5"
mp_buytime "0.25"

// The maximum allowable amount of money in the game
// NOTE: Allowable money limit is 999999
//
// Default value: "16000"
mp_maxmoney "16000"

// Disable round end by game scenario
// 0 - disabled (default behaviour)
// 1 - enabled (never end round)
//
// Flags for fine grained control (choose as many as needed)
// a - block round time round end check, contains "h", "i", "j", "k" flags
// b - block needed players round end check
// c - block VIP assassination/success round end check
// d - block prison escape round end check
// e - block bomb round end check
// f - block team extermination round end check
// g - block hostage rescue round end check
// h - block VIP assassination/success round time end check
// i - block prison escape round time end check
// j - block bomb round time end check
// k - block hostage rescue round time end check
//
// Example setting: "ae" - blocks round time and bomb round end checks
// Default value: "0"
mp_round_infinite "0"

// The round by expired time will be over, if on a map it does not have the scenario of the game.
// 0 - disabled (default behaviour)
// 1 - end of the round with a draw
// 2 - round end with Terrorists win
// 3 - round end with Counter-Terrorists win
//
// Default value: "0"
mp_roundover "0"

// Number of seconds to delay before restarting a round after a win.
//
// Default value: "5"
mp_round_restart_delay "5"

// Disable grenade damage through walls
// 0 - disabled
// 1 - enabled
//
// Default value: "0"
mp_hegrenade_penetration "0"

// Drop a grenade after player death
// 0 - disabled
// 1 - drop first available grenade
// 2 - drop all grenades
//
// Default value: "0"
mp_nadedrops "0"

// Drop player weapon after death
// 0 - do not drop weapons after death
// 1 - drop best/heaviest weapon after death (default behaviour)
// 2 - drop active weapon after death
// 3 - drop all weapons after death (primary and secondary)
// NOTE: Grenades are dropped separately depending on mp_nadedrops value
//
// Default value: "1"
mp_weapondrop "1"

// Drop ammo on weapon boxes on death or manual drop
// 0 - always keep ammo on player
// 1 - drop all ammo only after death (default behaviour)
// 2 - drop all ammo whenever player drops a weapon (NOTE: Other weapons may remain without ammo due to same ammo sharing)
//
// Default value: "1"
mp_ammodrop "1"

// Player cannot respawn until next round
// if more than N seconds has elapsed since the beginning round
// -1 - means no time limit
//
// Default value: "20"
mp_roundrespawn_time "20"

// Automatically reload each weapon on player spawn
// 0 - disabled (default behaviour)
// 1 - enabled
//
// Default value: "0"
mp_auto_reload_weapons "0"

// Refill amount of backpack ammo up to the max
// 0 - disabled (default behaviour)
// 1 - refill backpack ammo on player spawn
// 2 - refill backpack ammo on player spawn and on the purchase of the item
// 3 - refill backpack ammo on each weapon reload (NOTE: Useful for mods like DeathMatch, GunGame, ZombieMod etc.)
//
// Default value: "0"
mp_refill_bpammo_weapons "0"

// Sets the mode infinite ammo for weapons
// 0 - disabled (default behaviour)
// 1 - weapon clip infinite
// 2 - weapon bpammo infinite (This means for reloading)
//
// Default value: "0"
mp_infinite_ammo "0"

// Enable infinite grenades
// 0 - disabled (default behaviour)
// 1 - grenades infinite
//
// Default value: "0"
mp_infinite_grenades "0"

// Automatically joins the team
// 0 - disabled
// 1 - enabled (Use in conjunction with the cvar humans_join_team any/SPEC/CT/T)
//
// Default value: "0"
mp_auto_join_team "0"

// Maximum number of allowed teamkills before autokick.
// Used when enabled mp_autokick.
// 0 - disabled
//
// Default value: "3"
mp_max_teamkills "3"

// If set to something other than 0,
// when anybody’s scored reaches mp_fraglimit the server changes map.
// 0 - means no limit
//
// Default value: "0"
mp_fraglimit "0"

// Period between map rotations.
// 0 - means no limit
//
// Default value: "0"
mp_timelimit "20"

// Players will automatically respawn when killed.
// 0  - disabled
// >0.00001 - time delay to respawn
//
// Default value: "0"
mp_forcerespawn "0"

// The hostages can take damage.
// 0 - disabled
// 1 - from any team (default behaviour)
// 2 - only from CT
// 3 - only from T
//
// Default value: "1"
mp_hostage_hurtable "1"

// Show radio icon.
// 0 - disabled
// 1 - enabled (default behavior)
//
// Default value: "1"
mp_show_radioicon "1"

// Show scenario icon in HUD such as count of alive hostages or ticking bomb.
// 0 - disabled (default behavior)
// 1 - enabled
//
// Default value: "0"
mp_show_scenarioicon "0"

// Play "Bomb has been defused" sound instead of "Counter-Terrorists win" when bomb was defused
// 0 - disabled (default behavior)
// 1 - enabled
//
// Default value: "1"
mp_old_bomb_defused_sound "1"

// Sets the mode for the zBot
// 0 - disabled
// 1 - enable mode Deathmatch and not allow to do the scenario
//
// Default value: "0"
bot_deathmatch "0"

// Determines the type of quota.
// normal - default behaviour
// fill   - the server will adjust bots to keep N players in the game, where N is bot_quota
// match  - the server will maintain a 1:N ratio of humans to bots, where N is bot_quota
//
// Default value: "normal"
bot_quota_mode "normal"

// Prevents bots from joining the server for this many seconds after a map change.
//
// Default value: "0"
bot_join_delay "0"

// Prevents bots on your server from moving.
// 0 - disabled (default behavior)
// 1 - enabled
//
// Default value: "0"
bot_freeze "0"

// Debug cvar shows triggers.
// 0 - disabled (default behaviour)
// 1 - enabled
//
// Default value: "0"
showtriggers "0"

// When players can hear each other.
// Further explanation: https://github.com/s1lentq/ReGameDLL_CS/wiki/sv_alltalk
// 0 - dead don't hear alive
// 1 - no restrictions
// 2 - teammates hear each other
// 3 - same as 2, but spectators hear everybody
// 4 - alive hear alive, dead hear dead and alive.
// 5 - alive hear alive teammates, dead hear dead and alive.
//
// Default value: "0"
sv_alltalk "0"

// Time to remove item that have been dropped from the players. (in seconds)
//
// Default value: "300"
mp_item_staytime "300"

// Legacy func_bomb_target touch. New one is more strict.
// 0 - New behavior
// 1 - Legacy behavior
//
// Default value: "1"
mp_legacy_bombtarget_touch "1"

// Specifies the players defense time after respawn. (in seconds).
// 0 - disabled
// >0.00001 - time delay to remove protection
//
// Default value: "0"
mp_respawn_immunitytime "0"

// Enable effects on player spawn protection
// 0 - disabled
// 1 - enabled (Use in conjunction with the cvar mp_respawn_immunitytime)
//
// Default value: "1"
mp_respawn_immunity_effects "1"

// Force unset spawn protection if the player doing any action.
// 0 - disabled
// 1 - when moving and attacking
// 2 - only when attacking
//
// Default value: "1"
mp_respawn_immunity_force_unset "1"

// Kill the player in filled spawn before spawning some one else (Prevents players stucking in each other).
// Only disable this if you have semiclip or other plugins that prevents stucking
// 0 - disabled
// 1 - enabled
//
// Default value: "1"
mp_kill_filled_spawn "1"

// Allow use of point_servercommand entities in map.
// NOTE: Potentially dangerous for untrusted maps.
// 0 - disallow
// 1 - allow
//
// Default value: "0"
mp_allow_point_servercommand "0"

// Show 'HP' field into a scoreboard
// -1 - disabled
// 0  - don't send any update for 'HP' field to any clients
// 1  - show only Terrorist 'HP' field to all clients
// 2  - show only CT 'HP' field to all clients
// 3  - show 'HP' field to teammates
// 4  - show 'HP' field to all clients
// 5  - show 'HP' field to teammates and spectators
//
// Default value: "3"
mp_scoreboard_showhealth "3"

// Show 'Money' field into a scoreboard
// -1 - disabled
// 0  - don't send any update for 'Money' field to any clients
// 1  - show only Terrorist 'Money' field to all clients
// 2  - show only CT 'Money' field to all clients
// 3  - show 'Money' field to teammates
// 4  - show 'Money' field to all clients
// 5  - show 'Money' field to teammates and spectators
//
// Default value: "3"
mp_scoreboard_showmoney "3"

// Show 'D. Kit' field into a scoreboard for teammates
// NOTE: If you don't want to show defuse kit field for dead enemies
// then disable this CVar or configure mp_forcecamera
// 0 - disabled
// 1 - enabled
//
// Default value: "1"
mp_scoreboard_showdefkit "1"

// How much to reduce damage done to teammates when shot.
// Range is from 0 - 1 (with 1 being damage equal to what is done to an enemy)
//
// Default value: "0.35"
ff_damage_reduction_bullets "0.35"

// How much to reduce damage done to teammates by a thrown grenade.
// Range is from 0 - 1 (with 1 being damage equal to what is done to an enemy)
//
// Default value: "0.25"
ff_damage_reduction_grenade "0.25"

// How much to damage a player does to himself with his own grenade
// Range is from 0 - 1 (with 1 being damage equal to what is done to an enemy)
//
// Default value: "1.0"
ff_damage_reduction_grenade_self "1.0"

// How much to reduce damage done to teammates by things other than bullets and grenades.
// Range is from 0 - 1 (with 1 being damage equal to what is done to an enemy)
//
// Default value: "0.35"
ff_damage_reduction_other "0.35"

// Player that have never moved sience they last move
// will drop the bomb after this amount of time. (in seconds).
// 0 - disabled
// >5.0 - delay to drop
//
// Default value: "0"
mp_afk_bomb_drop_time "0"

// Delay between player Radio messages. (in seconds).
// 0 - disable delay
//
// Default value: "1.5"
mp_radio_timeout "1.5"

// Maximum Radio messages count for player per round.
// 0 - disable radio messages
//
// Default value: "60"
mp_radio_maxinround "60"

// When set, players can buy anywhere, not only in buyzones.
// 0 - disabled
// 1 - both teams
// 2 - only Terrorists team
// 3 - only CT team
//
// Default value: "0"
mp_buy_anywhere "0"

// Don't unduck if ducking isn't finished yet.
// NOTE: This also prevents double duck.
// 0 - disabled (default behaviour)
// 1 - enabled
//
// Default value: "0"
mp_unduck_method "0"

// Whether this map should spawn a C4 bomb for a player or not.
// 0 - disabled
// 1 - enabled (default behaviour)
//
// Default value: "1"
mp_give_player_c4 "1"

// When set, map weapons (located on the floor) will be shown.
// NOTE: Effect will work after round restart.
// 0 - hide all map weapons
// 1 - enabled (default behaviour)
//
// Default value: "1"
mp_weapons_allow_map_placed "1"

// Observer's screen will fade to black on kill event or permanent.
// 0 - No fade
// 1 - Fade to black and won't be able to watch anybody
// 2 - fade to black only on kill moment.
//
// Default value: "0"
mp_fadetoblack "0"

// Damage from falling.
// 0 - disabled
// 1 - enabled (default behaviour)
//
// Default value: "1"
mp_falldamage "1"

// The default grenades that the Ts will spawn with.
// Usage: "hegrenade flash sgren"
//
// Default value: ""
mp_t_default_grenades ""

// Whether Terrorist player spawn with knife.
// 0 - disabled
// 1 - enabled (default behaviour)
//
// Default value: "1"
mp_t_give_player_knife "1"

// The default primary (rifle) weapon that the Ts will spawn with.
// Usage: "awp m4a1 mp5navy"
//
// Default value: ""
mp_t_default_weapons_primary ""

// The default secondary (pistol) weapon that the Ts will spawn with.
//
// Default value: "glock18"
mp_t_default_weapons_secondary "glock18"

// The default grenades that the CTs will spawn with.
// Usage: "hegrenade flash sgren"
//
// Default value: ""
mp_ct_default_grenades ""

// Whether Counter-Terrorist player spawn with knife.
// 0 - disabled
// 1 - enabled (default behaviour)
//
// Default value: "1"
mp_ct_give_player_knife "1"

// The default primary (rifle) weapon that the CTs will spawn with.
// Usage: "awp m4a1 mp5navy"
//
// Default value: ""
mp_ct_default_weapons_primary ""

// The default secondary (pistol) weapon that the CTs will spawn with.
//
// Default value: "usp"
mp_ct_default_weapons_secondary "usp"

// Give the player free armor on player spawn
// 0 - No armor (default behavior)
// 1 - Give Kevlar
// 2 - Give Kevlar and Helmet
//
// Default value: "0"
mp_free_armor "0"

// Players can receive all other players text chat, team restrictions apply.
// 0 - disabled (default behaviour)
// 1 - enabled
//
// Default value: "0"
sv_allchat "0"

// Players automatically re-jump while holding jump button.
// 0 - disabled (default behaviour)
// 1 - enabled
//
// Default value: "0"
sv_autobunnyhopping "0"

// Allow player speed to exceed maximum running speed
// 0 - disabled (default behaviour)
// 1 - enabled
//
// Default value: "0"
sv_enablebunnyhopping "0"

// When set, players can plant anywhere, not only in bombsites.
// 0 - disabled (default behaviour)
// 1 - enabled
//
// Default value: "0"
mp_plant_c4_anywhere "0"

// How many bonuses (frags) will get the player who defused or exploded the bomb.
// 3 - (default behaviour)
//
// Default value: "3"
mp_give_c4_frags "3"

// Ratio of hostages rescued to win the round.
//
// Default value: "1.0"
mp_hostages_rescued_ratio "1.0"

// Legacy func_vehicle behavior when blocked by another entity.
// New one is more useful for playing multiplayer.
//
// 0 - New behavior
// 1 - Legacy behavior
//
// Default value: "1"
mp_legacy_vehicle_block "1"

C++


game_init.cfg
C++:
// Устанавливает минимальные/максимальные границы хуллов (коробки взаимодействия с физикой карт и игроков) для игрока.
// 0 - выключить (поведение по умолчанию, устанавливает движок)
// 1 - включить (устанавливает gamedll)
//
// Значение по умолчанию: "1"

mp_hullbounds_sets 1


Источник: dev-cs.ru





 

 

Отредактировал: f0rt1k, 24 ноября 2023 г, 01:46

Мозг и бан понятия не совместимые!
Первый не работает, пока не появляется второй . . .

Последняя активность

Дата: 15 января 2024 г, 17:32

Дата: 12 января 2024 г, 21:39

Топ 5 пользователей
f0rt1k

Логин: f0rt1k

Рейтинг: 36

Сообщений: 16

Спасибок: 4

DiMbI4

Логин: DiMbI4

Рейтинг: 12

Сообщений: 9

Спасибок: 0

Дмитрий Скороходов

Логин: Дмитрий Скороходов

Рейтинг: 6

Сообщений: 1

Спасибок: 1

__I__`Еmptiness`__I__

Логин: __I__`Еmptiness`__I__

Рейтинг: 2

Сообщений: 2

Спасибок: 0

Браза Бро

Логин: Браза Бро

Рейтинг: 0

Сообщений: 0

Спасибок: 0

Сибирский игровой проект
который создан для любителей классической игры Counter-Strike 1.6
Сервер размещен на Новосибирской локации
что дает большому количеству людей стабильный низкий пинг
Яндекс.Метрика