TSMP - Team-Stalker-MultiPlayer. Улучшенный серверный движок тч. Данный проект направлен на исправление багов и крашей сетевой игры тч, а также добавления в нее новых возможностей. Не совместим с контроллером, асм и прочими защитами из за конструктивных особенностей.
-Исправлены многочисленные краши сервера -Исправлены все известные уязвимости -Запрещен бан сервером 0.0.0.0 вызывавший вылет (такое же бывает если ввести вместо точки запятую в ip) -Русский чат для игроков с оригинальным тч -Отключена проверка CD Key -Защита от спама в рацию -Автоматический бан игроков с убойкой -Обнаруживает шопхаки -Небольшие оптимизации -При подключении игроков автоматически выполняется команда listplayers (чтобы никто не потерялся) -Выполнение команд по таймерам -Расширены возможности серверной консоли, можно писать в нее на русском (смена языка ctrl+shift) и заглавными буквами, двигать стрелочками курсор -Возможность запрета покупки предметов -В оружии со встроенным подствольным гранатометом отключен спавн гранаты -Максимальное количество игроков увеличено с 32 до 64 -Подключен модуль загрузчика от fz, можно скачивать игрокам карты и моды -Можно задать для каждой карты имя на русском для отображения в списке серверов -Если на карте заспавнены птицы, они будут летать у игроков с оригинальным тч -Если в нике игрока меньше 3 символов, ник заменяется на "игрок" -Радминам приходят сообщения о нарушителях -В консоль выводятся некоторые события на сервере: смена ника игроком, начало голосования -Вырезан batleye, который никогда не работал -Для запуска не требует рантаймов вообще (msvcp, msvcr...). -Исправлен пролет мимо магазина в режимах тдм\дм, респавн с одним пистолетом -Главный поток больше не привязан к первому ядру, может выполняться на любом -Добавлены новые консольные команды и ключи запуска -Добавлен дополнительный графический интерфейс, дублирующий консоль, из него можно копировать лог -Поддержка ww версии игры с ключом -ww -Телепортация игроков, провалившихся за/под карту на случайную точку спавна
Полный список изменений смотрите в истории версий
-Ключ -alwaysflush сохраняет лог на диск при каждом изменении. Если что то пойдет не так, у вас всегда будет лог. -Ключ -test_rus включает русский чат для игроков с оригинального тч. Заглавные английские буквы в сообщениях от игроков заменятся на соответствующие им на клавиатуре русские. -Ключ -check_cd_key включает проверку CD Key -Ключ -nospeech полностью запрещает рацию -Ключ -priority присваивает всем потокам сервера приоритет реального времени -Ключ -ww для чтения ww формата архивов игры (steam и иностранные версии)
-Команда tsmp_buy_verifer_enabled (1/0) вкл/выкл проверку игроков на шопхак. По умолчанию 0. -Команда tsmp_loader_enabled (1/0) вкл/выкл загрузчик от fz. По умолчанию 0. -Команда tsmp_loader_map (1/0) режим работы загрузчика. Игроку скачивается: 1 - карта, 0 - мод. По умолчанию 1. -Команда tsmp_loader_mod_name задает имя мода для скачивания игроку с помощью загрузчика. -Команда tsmp_loader_reconnect_ip задает ip сервера, на который после скачивания карт/модов будет возвращен игрок. Задавать реальный ip сервера при использовании загрузчика. -Команда tsmp_nickname_change_mode отвечает за режим смены ника на сервере. 1 - Смена ника разрешена всегда. 2 - смена ника разрешена,но если идет голосование - запрещена. 3 - запрещена всегда. По умолчанию 2. -Команда tsmp_radio_antispam (1/0) отвечает за вкл/выкл защиты от спама в рацию. По умолчанию 0. -Команда tsmp_radio_interval (5-600) отвечает за интервал времени (сек) в течение которого подсчитываются сообщения в рацию. По умолчанию 60. -Команда tsmp_radio_max_msgs (1-60). За время в команде выше подсчитываются сообщения в рацию, если их количество превышает указанное в текущей команде, то у игрока блокируется рация. По умолчанию 7. -Команда tsmp_radio_mute_interval (1-60) - время в минутах, на которое блокируется рация у игрока который спамит сообщениями в рацию. По умолчанию 10. -Команда tsmp_timer1_enabled (1/0) - вкл/выкл первый таймер. По умолчанию 0. -Команда tsmp_timer1_interval (1-10000) - интервал срабатывания первого таймера в минутах. По умолчанию 15. -Команда tsmp_timer2_enabled (1/0) - вкл/выкл второй таймер. По умолчанию 0. -Команда tsmp_timer2_interval (1-10000) - интервал срабатывания второго таймера в минутах. По умолчанию 15. -Команда tsmp_timer3_enabled (1/0) - вкл/выкл третий таймер. По умолчанию 0. -Команда tsmp_timer3_interval (1-10000) - интервал срабатывания третьего таймера в минутах. По умолчанию 15. -Команда tsmp_remove_habar_time (1-7200) - время в секундах, после которого удаляется хабар с карты (при sv_remove_weapon 1). По умолчанию 20. -Команда tsmp_remove_art_drop_time (1-7200) - время в секундах, после которого пропадает артефакт в режиме ah после того как его теряет игрок. По умолчанию 60. -Команда tsmp_vote_time (15-180) время голосования в секундах, вместо sv_vote_time. По умолчанию 60. -Команда tsmp_votesuccess - текущее голосование проходит успешно. -Команда tsmp_weapon_disabler_enabled (1/0) вкл/выкл возможность запрета предметов для покупки в магазине. По умолчанию 0.
-Команда tsmp_weapon_disable (код предмета) (1/0) 1 - включает запрет, 0 - снимает. Все оружие с 0 прописывать не надо, 0 сделан только для разрешения ранее запрещенного оружия. Пример: tsmp_weapon_disable mp_wpn_rpg7 1 - данная команда запрещает рпг для покупки на сервере. Добавлены готовые наборы настроек запрета оружия для удобства админов: granati - запрещает покупку всех гранат, podstvol - запрешает покупку всех подствольных гранатометов и патронов к ним, hard_weapon - запрещает покупку тяжелого оружия (рпг и бульдог, патроны к рпг). Пример использования: tsmp_weapon_disable granati 1 - запретит покупку гранат. Подствол запрещать только командой tsmp_weapon_disable podstvol 1. Если у вас мод со своим оружием, то готовые наборы работать не будут.
-Команда tsmp_weapon_hits_autoban (1/0) вкл/выкл автоматический бан за убойку (для этого требует вкл tsmp_weapon_hits_log и tsmp_weapon_hits_check). Проверяются только оригинальные мп стволы. По умолчанию 0. -Команда tsmp_weapon_hits_check (1/0) вкл/выкл проверку выстрелов игроков на оригинальных мп стволах (требует вкл tsmp_weapon_hits_log). По умолчанию 0. -Команда tsmp_weapon_hits_log (1/0) вкл/выкл сбор данных о выстрелах игроков, нужна для работы других команд связанных с выстрелами. По умолчанию 0. -Команда tsmp_weapon_hits_show (1/0) вкл/выкл отображение убойки в логе как на контроллере. Рекомендуется не использовать. По умолчанию 0. -Команда chat_new аналогична команде chat, только вместо ServerAdmin можно задать любой ник командой chat_new_set_name. -Команда chat_new_set_name задает ник для команды выше.
Пример: chat_new_set_name птички chat_new кар кар в результате придет сообщение в чат птички: кар кар
-Команда chat_tsmp отправляет сообщение радминам от имени tsmp. -Команда event_msg отправляет игрокам сообщение в область событий (там где убийства и другие события). Удобно использовать для показа правил при выполнении по таймеру. -Команда sv_banplayer_id бан по id игрока -Расширены аргументы команд sv_warm_up, sv_timelimit, sv_fraglimit. Максимальное возможное значение теперь 1000000. -Команда sv_listplayers имеет формат как у контроллера -Команда sv_listplayers_original оригинальный listplayers -Команда sv_protection_from_jump_hack (1/0) включает защиту от больших прыжков -Команда sv_protection_from_speed_hack (1/0) включает защиту от спидхака -Команда sv_protection_from_elevator_bug (1/0) включает защиту от лифта -Команда sv_protection_from_bunny_hopping (1/0) включает защиту от распрыга -Команда sv_protection_from_under_map (1/0) включает защиту от игроков, провалившихся за/под карту
До1.3история версий не велась...
До1.3.0: -Исправлено падение клиентов от % в чате. -Опциональный русский чат, появляется с ключом -test_rus (все клиенты, которые напишут в чат большими буквами после отправки сообщения получат русские буквы соответствующие английским на клавиатуре). -Измененная система реакции движка на ошибки, после некоторых ошибок может продолжить работу -Исправлен вылет при вводе в чат огромного кол-ва сообщений, (все сообщения отрезаются до 100 символов) -sv_no_auth_check возвращена работоспособность команды, сломанная на новом движке. -Закрыто большинство ошибок в голосовании приводящих к вылетам -Автоматическая замена опасных символов в нике при подключении клиента и смене ника -Отключена проверка cd key по умолчанию, можно включить ключом -check_cd_key. -Не падает от кривых пакетов (тулзы Луиджи), так же автоматически банит ip с которого шла атака. -Запрещен бан сервером 0.0.0.0 вызывавший вылет (такое также бывает если ввести вместо точки запятую в ip).
1.3.1 -Добавлена возможность полного запрета рации.
1.3.2 - переход на 2015 студию и msvcp140. - исправлен вылет при съедании аптечки, когда в тебя стреляют (pIItem->m_pCurrentInventory == this) - добавлена возможность запретить смену ника, включено по умолчанию, при попытке выводит клиенту сообщение, можно отключить запуская сервер с -enable_name_change. - При подключении игроков на ранних этапах выводит их ники в консоль. - Исправлена ошибка подключения игроков на сервер с проверкой ключа. - Исправлен вылет. (e_parent && e_entity) - Добавлена команда get_server_version, выводит версию и билд сервера
1.3.3 - При подключении игроков автоматически выполняется команда listplayers (чтобы никто не потерялся). - Восстановлена работоспособность команды sv_no_auth_check для проверки ресурсов клиента (не работала как надо на модифицированном движке, мод сравнивал себя с оригиналом и не пускал тех кто не с мода). По умолчанию 0 (проверять ресурсы). - Из sv_listplayers убрано сообщение bad ip adress, которое ничего полезного не сообщало. - Исправлены следующие вылеты: e_entity->ID_Parent == id_parent ; e_entity->name_replace() ; e_parent->name_replace() ; e_parent ;
1.3.4 - Добавлено выполнение команд по таймеру, команды прописываются в файл tsmp_timer_commands.ltx - Добавлена команда tsmp_timer_interval, отвечающая за интервал между выполнением команд по таймеру, по умолчанию 15 мин, возможные значения 1-60. - Удалена команда sv_vote_time - Добавлена команда tsmp_vote_time, отвечающая за время голосования, возможные значения 15-180 сек, по умолчанию 60. - Теперь сервер выводит не только логин при входе радмина, но и ник, пример:
# Player [maks0] logged as remote administrator with login [maks].
1.3.5 - Добавлен второй таймер, выполняет команды из tsmp_timer2_commands.ltx , первый из tsmp_timer1_commands.ltx - Добавлены команды включения/отключения таймеров tsmp_timer1_enabled и tsmp_timer2_enabled возможные значения 0/1. - Команды интервала таймеров обновлены:tsmp_timer1_interval и tsmp_timer2_interval значения 1-60 мин. - Сами таймеры немного оптимизированы,проверка выполняется не каждый раз - Новая консольная команда tsmp_votesuccess, действует как sv_votestop только наоборот, текущее голосование проходит успешно при выполнении данной команды, доступна админам и радминам. - Новая консольная команда tsmp_nickname_change_mode, отвечает за режим смены ника на сервере. 1 - Смена ника разрешена. 2 - смена ника разрешена, если идет голосование - запрещена. 3 - запрещена всегда. По умолчанию 3. Менять могут как админы, так и радмины. - Добавлена возможность админу писать в консоль большими буквами и двигать место ввода (курсор правда пока не двигается) - Добавлен новый ключ запуска -alwaysflush, он переводит движок в новый режим записи лога. Лог будет записываться на диск при каждом изменении без использования команды flush, если движок слетит с "прекращена работа программы xr_3da" то лог все равно сохранится, однако во время работы сервера усилится нагрузка на диск, могут возникнуть лаги, так что сами смотрите надо вам это или нет. По умолчанию отключено. - При неудачной попытке входа радмина выводит его ник и логин с которым пытался зайти. - Исправлены вылеты Process_updateclient not found ; SLS_Clear found;
1.3.6 - Добавлена консольная команда tsmp_weapon_disabler_enabled, возможные значения 0/1, команда включает/отключает возможность запрета предметов на сервере. - Добавлена консольная команда tsmp_weapon_disable для запрета покупки снаряжения, команда принимает два аргумента - код предмета в ресурсах игры и 1/0 , 1 включает запрет, 0 снимает. Все оружие с 0 прописывать не надо, 0 сделан только для разрешения ранее запрещенного оружия. Пример: tsmp_weapon_disable mp_wpn_rpg7 1 - данная команда запрещает рпг для покупки на сервере. - Добавлены готовые наборы настроек запрета оружия для удобства админов: granati - запрещает покупку всех гранат, podstvol - запрещает покупку всех подствольных гранатометов и патронов к ним, hard_weapon - запрещает покупку тяжелого оружия (рпг и бульдог, патроны к рпг). Пример использования: tsmp_weapon_disable granati 1 - запретит покупку гранат. !!! подствол запрещать только командой tsmp_weapon_disable podstvol 1 - Исправлен баг не вывода ника игрока, который пытался зайти в радминку, теперь всех выводит. - Исправлен вылет когда игроки прописывали в голосование на смену карты код приводящий к крашу клиентов. Теперь перед голосованием проверяется есть ли такая карта на сервере, если нет - голосование не начинается и выводится ник игрока который пытался начать голосование. - Исправлена ошибка прошлой версии с неверным интервалом второго таймера. - Теперь настройки сохраняются и считываются не с user.ltx а tsmp_user.ltx , это сделано чтобы не конфликтовали команды tsmp и оригинального сервера, если они находятся в одной папке.
1.3.7 - Мелкие оптимизации xrCore. - Добавлен антиспам от рации. - Консольная команда tsmp_radio_antispam,возможные значения 0-1. Отвечает за выкл\вкл антиспама. По умолчанию 0. - Консольная команда tsmp_radio_interval,возможные значения 5-600. Отвечает за интервал времени (сек) в течение которого подсчитываются сообщения в рацию. По умолчанию 60. - Консольная команда tsmp_radio_max_msgs,возможные значения 1-60. За время в команде выше подсчитываются сообщения в рацию, если их количество превышает указанное в этой команде, то у игрока блокируется рация. По умолчанию 7. - Консольная команда tsmp_radio_mute_interval,возможные значения 1-60. Время в минутах, на которое блокируется рация у игрока который флудит. По умолчанию 10 минут.
1.3.8 - Подключен и настроен загрузчик модов от fz
1.3.9 - Изменено отключение проверки ключа, теперь нет сообщений xrGS::CDKey::Server : Disconnecting Client - Добавлена команда tsmp_loader_enabled 1 - сервер с модом, 0 - обычный сервер - Добавлена команда tsmp_loader_reconnect_ip - ip к которому будут подключаться игроки после скачивания мода - Исправлен главный баг сервера с модом,теперь вместо 0 денег будет столько сколько настроено - Изменено отображение информации в консоли сервера - Добавлена возможность прописать для любой карты имя на русском, которое будет отображаться в списке серверов (даже для стандартных)
1.4.0 -Добавлена возможность писать админу в консоль на русском языке, смена языка ввода по ctrl+shift -Теперь можно двигать курсор (место ввода в консоль) стрелочками.
1.4.1 -Убрано отладочное сообщение по воронам -Перенастроен загрузчик модов
1.4.2 -Добавлен вывод убойки как на контроллере (экспериментальный) -Команда tsmp_weapon_log_hits, значения 0/1 - включает/выключает вывод убойки в лог, по умолчанию 0. -Listplayers теперь имеет формат как у контроллера, оригинальный вызывается по команде sv_listplayers_original.
1.4.3 -Проверка убойки вынесена в отдельный поток. -Теперь проверяет количество пуль для обнаружения составного патрона. -С ключом -priority всем потокам выставляется приоритет реального времени чтобы сервер шустрее бегал. -Убрана замена символов в нике на ! -Включены дополнительные оптимизации.
1.4.4 -Теперь выделенный сервер находится в том же xr_3da что и клиент, выделенный сервер запускается с ключом -dedicated, xr_3da из папки dedicated больше ненужен и его можно удалять -Отключен экспорт координат птиц с сервера,если их спавнить на картах будут летать у игроков на оригинальной игре -Попытка исправления ошибки неверного вывода количества патронов.
1.4.5 -Переезд на 2017 студию и новые рантаймы,msvcp141. -Оптимизации. -Исправление вылета по худу. -Таймеры вынесены в отдельный поток. -Добавлен третий таймер. -Отмена ключа -dedicated и двух разных серверов в одном xr_3da.exe
1.4.6 -Переписан старый код, самые первые правки. -Теперь запрещено иметь в нике ! * # -. Эти символы отображаются другим цветом в консоли. -Убрана замена некоторых символов в нике на русские, теперь команда кика будет работать. -Теперь если в нике всего 1 символ то ник заменится на "игрок". -Строка по подключающемуся игроку выделена зеленым. -Админу выводится сообщение когда игрок меняет ник. -Админу выводится сообщение когда игрок начинает голосование. -Расширены аргументы команд sv_warm_up, sv_timelimit, sv_fraglimit. Максимальное возможное значение теперь 1000000. -Добавлена команда chat_new, работает как chat, только имя вместо ServerAdmin можно задавать любое командой chat_new_set_name.
1.4.7 -Пробелы, которые не любит Дениска заменяются на _. -tsmp_weapon_log_hits переименована в tsmp_weapon_hits_log -Вывод убойки полностью переписан, учтены предыдущие ошибки. -Добавлена команда tsmp_weapon_hits_check, включает\отключает проверку выстрелов на читерские значения. -Еще немного оптимизации. -Заглушен вылет get_eid. -Заглавные буквы в нике меняются на строчные.
1.4.8 -Добавлены новые консольные команды: 1) sv_banplayer_id - бан по id сессии из listplayers 2) tsmp_weapon_hits_show (1/0) - вкл/выкл отображение убойки в консоли 3) tsmp_weapon_hits_autoban (1/0) - вкл/выкл автоматический бан при обнаружении читерских значений пуль
-Добавлена проверка на импульс, заменяет огромный импульс сносящий физику на 4000 -Верное отображение id в listplayers -Реализована отправка серверных сообщений радминам в чат. Пока только при обнаружении читерских значений пуль будет отправляться -Исправление error, lost ptr to owner on die
1.4.9 -Вырезан batleye, который никогда не работал и только отжирал ресурсы. Если в параметрах сервера он включен то будет отображать в мастер листе что он есть, но на самом деле его нет). -Обновлен lua с 1.212 до 1.218.1.7, вместо xrLua будет теперь две дллки - lua5.1 и luabind. -Убраны сообщения "cant find weapon" - не найдено оружие в списке с максимальными значениями при проверке выстрелов на читерские значения. -Выводит сообщения про обнаружение читера по одному разу на каждого читера. -Выводит сообщения при бане по id (он используется при автобане читера). Пример "- Banning by id - Пахан, id - 174746592, ip - 192.168.0.2". -Позаимствовал из чн код проверок, если игрок мертв то он не может взаимодействовать с инвентарем (частично связано с вылетом sheduler update). -Небольшие оптимизации -Для запуска не требует рантаймов вообще (msvcp, msvcr...).
1.5.0 -Исправлено падение сервера от имени игрока без завершающего символа. -Исправлен пролет мимо магазина в режимах тдм\дм, респавн с одним пистолетом. -Автоматический бан всех известных видов атак от Луиджи.
1.5.1 -Переезд на visual studio 2019 -Главный поток больше не привязан к первому ядру, может выполняться на любом -Денискины правки -Максимально возможно 64 игрока
1.5.2 -Исправлены вылеты от большого хабара -Серверу с самого старта присвоен приоритет реального времени (как в xray) -Вылет CInventory::Get заглушен -Исправлено неполное заполнение буфера стека нулями
1.5.3 -Убран спавн гранаты в оружиях со встроенным подствольным гранатометом. -Переход на c++ 17 -Удалены некоторые красные сообщения
1.5.4 -Добавлена возможность загрузки карт игрокам через загрузчик fz. -Добавлена команда tsmp_loader_map (0/1): (0 - мод, 1 - карта) скачивается игрокам. -Исправлены вылеты при отсутствии sysmgs.dll -Карты для загрузки берутся из списка tsmp_maplist.txt в аппдате
1.5.5 -Исправлена ошибка в обработчике повреждений. Если игрок умер и при этом после смерти кому то (или чему то) нанес урон (например гранатой), то сервер находил новый id этого игрока и использовал у себя, но клиентам (и себе же) отправлял старый id. Это приводило к вылетам сервера и клиентов связанным с физическими объектами (CDestroyablePhysicsObject::Hit) или лампами на спавне (CHangingLamp::Hit), а также возможно случайным вылетам клиентов. До исправления можно было кинуть гранату в физический объект или лампу на спавне, ввести g_kill до взрыва гранаты и получить вылет клиента и сервера.
1.5.6 -Исправлена ошибка сбрасывания приоритета реального времени. Теперь по умолчанию серверу присвоен приоритет реального времени и он остается навсегда. -Исправлено зависание сервера с ключом -priority присваивающего всем потокам большой приоритет. -Убраны сообщения executing config-script ... и ... successfully loaded. Сообщение о не найденном файле оставлено. -Добавлена консольная команда event_msg. Она отправляет всем игрокам сообщение в область событий (там где все убийства, смена ника). С помощью нее можно отправлять игрокам правила и не засорять свой лог повторяющимся чатом.
1.5.7 -Увеличен максимально возможный интервал таймеров до 10000 -Исправлено ложное срабатывание автобана для ножа -Для исправления случаев бана при мелком превышении значений все параметры увеличены на 2 единицы. -Теперь игрок банится не сразу после первого нарушения, а после третьего. Будут выводиться все три сообщения про него. -Улучшения производительности при добавлении выстрелов в очередь для проверки а также самой проверки.
1.5.8 -Полностью переписан код запрета снаряжения. Улучшена эффективность и исправлены краши при старте сервера у некоторых. -Добавлена команда tsmp_buy_verifer_enabled. Включает и выключает проверку игроков на шопхак. В случае подозрения на шопхак выводит сообщение админам и радминам с подробной информацией.
1.5.9 -Добавлен новый графический интерфейс -Отключен ненужный выделенному серверу рендер-поток -Более быстрое уничтожение процесса по команде quit -Оптимизирован код xrNetServer -Удалены все виды логирования пакетов -По нажатии крестика нового интерфейса не сразу отключает сервер а спрашивает -По нажатии клавиши enter выполняет команду записанную в строке ввода интерфейса -Удален вывод назойливых сообщений ( incorrect destroy sequence, entity already has parent и другие)
1.6.0 -Исправлен вылет из за проверок выстрелов при смене карты или режима -Исправлена проблема с повторяющимися никами -Все подменные ники вида stalker/killer... теперь сразу же заменяются на безопасные stalker_1/killer_1 ... -Исправлены все известные проблемы в голосовании -Код первых правок ранних версий переписан на более красивый и эффективный -Исправлено сохранение лога и настроек при выполнении quit -Динамическое изменение размеров интерфеса -Добавлена консольная команда tsmp_loader_mod_name для указания имени скачиваемого игрокам мода (в связи с появлением новых модов ) -Исправлен вылет при get_eid, теперь 100% -Исправление сброса приоритета главного потока -Исправлена некорректная проверка на шопхак во время разминки
1.6.1 -Исправлены странные вылеты сервера: в get_eid еще один, в NewPlayerName_Exists, в GetClientAddress -Теперь движок не падает при отсутствии нужного звука в геймдате
1.6.2 -Добавлена команда sv_protection_from_jump_hack (1/0) включает защиту от больших прыжков -Добавлена команда sv_protection_from_speed_hack (1/0) включает защиту от спидхака -Добавлена команда sv_protection_from_elevator_bug (1/0) включает защиту от лифта -Добавлена команда sv_protection_from_bunny_hopping (1/0) включает защиту от распрыга -Добавлена команда sv_protection_from_under_map (1/0) включает защиту от игроков, провалившихся за/под карту (спасибо v2v3v4 за эти проверки ) -Исправлена уязвимость в голосовании по смене погоды -Вывод в лог действий радминов
Создайте папку bins в папке с игрой и скопируйте туда содержимое архива tsmp. Не в папку bin! В папке bin будет оригинальный движок, в bins - модифицированный. Запуск осуществляется с батников, либо лаунчеров, как на оригинале. Если вы пользуетесь S.E.R.V.E.R - Shadow Of Chernobyl 1.0006 v6.10 или позднее, то tsmp у вас уже есть и ничего скачивать не нужно.
Чтобы не вводить одни и те же команды каждый раз при запуске сервера, можно их прописать в all_server_settings.ltx . При каждом запуске сервера выполняются команды, записанные в данный файл.
Бывает нужно выполнять какие нибудь команды периодически, через определенное время. Например: показывать правила сервера, менять погоду на ясную, отключение сервера через заданное время... Доступно три разных таймера. Каждому соответствуют по две команды. tsmp_timerX_interval – отвечает за время, после которого команды по таймеру будут выполняться, по умолчанию 15 мин, возможные значения 1-10000 мин. Tsmp_timerX_enabled отвечает за включение и отключение таймера 0 - выключен, 1 - включен. Так как всего таймеров три, для каждого есть своя пара этих команд (вместо X - 1/2/3 - первый/второй/третий таймер). Команды для выполнения по таймеру прописываются в файл tsmp_timer1_commands.ltx для первого таймера, timer2/timer3 вместо timer1 – для второго и третьего. Эти файлы должны находиться в аппдате сервера, там же где all_server_settings.ltx. В этих файлах команды записываются так же как и в all_server_settings.
TSMP позволяет на лету проверять выстрелы игроков на читерство, сообщать о нарушениях админу и радминам, и даже автоматически банить читеров. Далее описаны команды для управления этим. Все команды имеют два состояния, 1 – включено, 0 – отключено.
tsmp_weapon_hits_log - записывает все значения выстрелов во временную память, чтобы можно было с ними что нибудь делать, без нее все остальные команды бесполезны.
tsmp_weapon_hits_show - выводит все параметры выстрелов в консоль (как контроллер). Не рекомендуется включать.
tsmp_weapon_hits_check - включает проверку на читы по убойке, выводит сообщения про игроков, превышающих допустимые значения админу и радминам. Настроено только для оригинальныъ мп стволов. Если у вас мод со своим оружием - отключите эту команду.
tsmp_weapon_hits_autoban – включает автоматический бан обнаруженных читеров, требует включенную предыдущую команду.
С hits_log 1, hits_show 0, hits_check 1, hits_autoban 1 будет автоматически отправлять в бан читеров без захламления консоли параметрами всех выстрелов.
После включения tsmp_weapon_hits_show параметры выстрелов будут выводиться не сразу, а порциями. Это сделано для того чтобы корректно просчитывать количество выстрелов и не нагружать сервер на каждый выстрел.
Команда tsmp_weapon_disabler_enabled отвечает за возможность запрета предметов для покупки. 1 - включено, 0 – отключено. Для добавления предмета в список запрещенных надо ввести команду tsmp_weapon_disable, затем код предмета и 1. Пример tsmp_weapon_disable mp_wpn_rg7 1 – запрещает для покупки рпг. Чтобы обратно разрешить предмет, надо ввести ту же команду, только с 0 вместо 1. Все предметы с 0 прописывать не нужно, он сделан только для разрешения ранее запрещенных предметов. Также для удобства админов существуют готовые наборы для запрета снаряжения. Вместо кода предмета можно ввести название набора.
Готовые наборы: granati - все гранаты, podstvol – все подствольники и патроны к ним, hard_weapon – тяжелое оружие (рпг и бульдог).
Пример: tsmp_weapon_disable podstvol 1 – запретит для покупки подствол. Примечание: если у вас мод с новым оружием, то готовые наборы работать не будут.
Всех раздражают игроки, которые постоянно орут в рацию "в атаку", "нужна помощь" и прочее. Для решения этой проблемки tsmp предлагает два пути.
1) Если запустить tsmp с ключом -nospeech, то рация будет полностью отключена и недоступна для использования. 2) Полный запрет рации - не самое лучшее решение. Иногда действительно нужно что-нибудь быстро сообщить союзникам. Для соблюдения баланса между спамом и просто сообщением были добавлены четыре команды. Консольная команда tsmp_radio_antispam, возможные значения 1/0 , отвечает за вкл\выкл защиту от спама в рацию, по умолчанию 0. Консольная команда tsmp_radio_interval, возможные значения 5-600. Отвечает за интервал времени (сек) в течении которого подсчитываются сообщения в рацию, по умолчанию 60. Консольная команда tsmp_radio_max_msgs, возможные значения 1-60, за время в предыдущей команде подсчитываются сообщения в рацию, если их количество превышает указанное в данной команде, то у игрока блокируется рация. По умолчанию 7. Консольная команда tsmp_radio_mute_interval, возможные значения 1-60, отвечает за время в минутах, на которое блокируется рация у игрока который флудит. По умолчанию 10 минут.
то игрок, который сказал в рацию что-нибудь 10 раз за 60 секунд будет лишен возможности использовать рацию в течение 20 минут.
TSMP предоставляет админам (или создателям карт) возможность задать имя карты, которое будет отображаться в списке серверов. Это полезно например в случаях, когда используется не вся карта, а только ее часть или же если карта нестандартная. Для того чтобы задать имя карты для отображения в списке зайдите в папку с вашим уровнем (gamedata\levels\ваш уровень\). Если ваш уровень упакован в архив и зайти в эту папку без распаковки не получится, то создайте в папке с игрой папки "gamedata\levels\ваш уровень\". Если какие нибудь их этих папок уже существуют, то просто заходите в них. Итак, вы находитесь в папке gamedata\levels\ваш уровень, создайте там обычный текстовый документ (файл с расширением txt). Переименуйте его в level.name (не level.name.txt). Откройте его блокнотом или другим текстовым редактором, напишите туда имя, которое хотите отображать в списке серверов. Сохраните. Теперь в списке серверов будет отображаться указанное вами имя карты, когда вы поставите сервер на данной карте.
Чтобы админы не придумывали сами русские имена картам, создатели карт могут добавлять в архив с картой такой файлик.
Многим игрокам уже давно надоели стандартные карты. Существует большое количество интересных карт, созданных фанатами. К tsmp подключен модуль загрузчика от fz, который позволяет скачивать игрокам новые карты. Чтобы поставить карту на загрузку игрокам, ее нужно разместить на каком нибудь файловом сервере.
Например, можно использовать карты, которые есть на файловом сервере Стагила.
Вы можете найти какой нибудь файловый сервер и залить туда карту. Если вы хотите добавить свою карту на файловый сервер Стагила, то обращаетесь к нам (раздел Контакты).
Также ваша карта должна быть на вашем сервере, чтобы на ней могли играть.
Итак, карта есть на файловом сервере и на вашем сервере, теперь нужно настроить сервер для скачия карты игрокам. Все карты, которые скачиваются игрокам должны быть прописаны в файлике tsmp_maplist.txt, расположенном в аппдате. Готовый файлик, в котором прописаны все карты, находящиеся на файловом сервере
Если вы хотите добавить в список свою карту, то скопируйте секцию какой нибудь карты и поменяйте параметры под себя. Разберем секцию с картой на примере.
[tsmp_blacker] - настоящее имя карты в квадратных скобках name=tsmp_blacker_1.0.xdb.map - имя архива с картой, которое будет после скачивания игроку. К имени карты добавляется _1.0.xdb.map . url=http://stalker.stagila.ru:8080/store/web_drive/shadow_of_chernobyl/mods/maps_for_original/tsmp_blacker.xdb0.cab - прямая ссылка на скачивание карты crc=3310732374 - контрольная сумма архива с картой, должна быть в 10-й системе счисления. compr=2 - сжатие архива с картой. 0 - без сжатия, 1 - сжатие lzo, 2 - сжатие в .cab . Рекомендуется использовать 2.
Настроим сервер для скачивания карт. Введите в консоль
tsmp_loader_enabled 1 - включает загрузчик tsmp_loader_map 1 - переводит загрузчик в режим загрузки карт tsmp_loader_reconnect_ip 192.168.0.1 - адрес вашего сервера для того чтобы игроки подключались после скачивания карты (вместо 192.168.0.1 укажите адрес вашего сервера)
Всё, готово.
Можно поставить свой мод себе на сервер и скачивать автоматически всем игрокам при подключении к серверу. Для нормального функционирования сервера нужно чтобы файлы мода были и у сервера и у клиента (текстурки всякие разве что серверу не нужны).
Чтобы скачивать мод игрокам, мод должен быть зарегистрирован в списке модов fz. Подробнее читайте здесь: https://u.to/JLQ1GA . Также файлы мода должны быть размещены на файловом сервере с прямой ссылкой, откуда они будут скачиваться игрокам. Если вы хотите разместить свой мод на файловом сервере Стагила, или прописать мод в список модов, обращайтесь к нам (раздел контакты).
Если все описанное выше проделано, то можно приступать к настройке сервера. Введите в консоль сервера следующие команды:
tsmp_loader_enabled 1 - включает загрузчик tsmp_loader_map 0 - переводит загрузчик в режим загрузки модов tsmp_loader_reconnect_ip 192.168.0.1 - адрес вашего сервера для того чтобы игроки подключались после скачивания карты (вместо 192.168.0.1 укажите адрес вашего сервера) tsmp_loader_mod_name tsmp - тут вместо tsmp имя вашего мода, как оно прописано в списке модов fz