[wtf] Pure система

Обсуждаем все, что относится к выделенным серверам *NIX (Unix, Linux) и Windows
Сообщение
Автор
Аватара пользователя
U#0
Майор
Майор
Сообщения: 529
Зарегистрирован: 25.10.2007
Поблагодарили: 1 раз
Контактная информация:

#1 Сообщение 16.10.2009, 06:54

Внимание!
  • [frame]
  • Данная статья является интеллектуальной собственностью сайта CSmania.RU.
    • Копирование и распространение допускается только со ссылкой на первоисточник!
      Не указывая ссылку на первоисточник, Вы препятствуете информационному развитию сообщества!
  • В этой теме обсуждается исключительно содержание статьи.
    • Статья не идеальна и нуждается в доработке, так что буду рад любой помощи.
      Остальные сообщения будут расценены как флуд, а авторы наказаны.
    [/frame]
Базовые понятия
  • Pure система является лишь дополнением к VAC
    Это значит что pure система будет функционировать даже при отключённом VAC.
    Но отсылать информацию на сервера Valve она будет, только с лицензионного сервера и при включённом VAC.
  • Pure система работает только на Source движках
    На GoldSource движке (Counter-Strike 1.6) её просто нету.
  • Pure система является Steam ориентированной
    Это значит что noSteam клиенты попросту игнорируют проверку.
  • Pure система не привязана к определённой игре
    Это значит что pure система будет одинаково функционировать как с "Counter-Strike: Source", так и с "Team Fortress 2".
Описание серверных переменных
  • sv_pure_kick_clients "1"
    Выкинет с сервера клиентов, не прошедших проверку системы.
  • sv_pure_kick_clients "0"
    Вынесет предупреждения клиентам, не прошедшим проверку системы.
    Информация о предупреждениях сохраняется в log-файле.
  • sv_pure "2"
    Заставит клиент использовать все файлы исключительно из GCF кеша, игнорируя расположенные на диске.
    То есть если у клиента имеются изменённые модели оружия - эта переменная заставит клиент использовать оригинальные модели из *.gcf файла, оставив на диске изменённые модели.
    При этом значении все действия с файлами происходят на стороне клиента, что снимет нагрузку с сервера и канала.
  • sv_pure "1"
    Сервер будет действовать согласно правилам, описанным в файле "pure_server_whitelist.txt".
    Файл "pure_server_whitelist.txt", находится в папке "hl2" корневой директории сервера.
    Например, для "Team Fortress 2" - это будет "orangebox\hl2".
Описание файла "pure_server_whitelist.txt"
  • Корневая директория
    Корневой директорией для правил считается папка игры в корневой директории сервера.
    Например, для "Team Fortress 2" - это будет "orangebox\tf".
  • Условия
    Есть три способа обозначить условие выполнения правила:
    • directory\*.*
      Атрибут будет применён ко всем файлам в каталоге "directory".
    • directory\...
      Атрибут будет применён ко всем файлам в каталоге "directory" и его подкаталогах.
    • directory\filename.ext
      Атрибут будет применён к файлу с именем "filename" и расширением "ext" в каталоге "directory".
  • Атрибуты
    Каждому правилу можно присвоить один из трёх атрибутов:
    • from_steam
      Заставит клиент использовать файлы исключительно из GCF кеша, игнорируя расположенный на диске
      Действие аналогично серверной переменной sv_pure "2", только в ограниченном диапазоне.
    • allow_from_disk
      Позволит клиенту использовать изменённые файлы с диска.
      Этот атрибут автоматически выставляется всем файлам, не описанным правилами.
    • allow_from_disk+check_crc
      При запуске сервера и изменении карты - проверяются все файлы сервера, попадающие под этот атрибут и сохраняются их контрольные суммы.
      При подключении игрока - сервер сверяет контрольные суммы файлов расположенных на диске у клиента со своими и при несовпадении, действует согласно переменной sv_pure_kick_clients.
      Внимание! Этот атрибут способен сильно увеличить время на запуск сервера, изменение карты и подключение игрока.
  • Зависимость
    Правила должны быть ориентированы сверху вниз.
    То есть исключение должно находится ниже запрещающего правила, а не наоборот.
Пример файла "pure_server_whitelist.txt"
  • Код: Выделить всё

    whitelist
    {
    	// Первым правилом я собираюсь заставить клиентов использовать все материалы, модели и звуки - исключительно из GCF кеша.
    	// Этим же правилом я сниму нагрузку с сервера и канала.
    	//
    	materials\...			from_steam
    	models\...			from_steam
    	sound\...			from_steam
    
    	// Вторым правилом я исключу из первого индивидуальные модели клиентов.
    	// Не стоит ограничивать свободу выбора.
    	//
    	models\player\...		allow_from_disk
    	materials\models\player\...	allow_from_disk
    
    	// Вторым правилом я исключу из первого спреи клиентов.
    	// Не стоит ограничивать свободу самовыражения.
    	//
    	materials\temp\...		allow_from_disk
    	materials\vgui\logos\...	allow_from_disk
    	materials\vgui\logos\ui\...	allow_from_disk
    
    	// Последним правилом я проверю наличие и соответствие клиентских моделей - моделям плагина "Halo Model Replacer", установленного сервер.
    	//
    	materials\sourcemod\...		allow_from_disk+check_crc
    	models\sourcemod\...		allow_from_disk+check_crc
    }
Я искренне надеюсь, что после прочтения и осмысления этой статьи - больше не останется неясностей в работе pure системы.

Аватара пользователя
jamaicada
Лейтенант
Лейтенант
Сообщения: 103
Зарегистрирован: 31.05.2009

#2 Сообщение 16.10.2009, 12:34

Имеется ли какая нибудь статистика по нагрузке на систему при использовании pure системы?
Последний раз редактировалось U#0 16.10.2009, 13:08, всего редактировалось 1 раз.
Причина: Нет. В основном зависит от фрагментации диска и объёма доступной оперативной памяти.

Аватара пользователя
Pr0Ger
Модератор
Модератор
Сообщения: 1829
Зарегистрирован: 16.01.2009
Благодарил (а): 17 раз
Поблагодарили: 214 раз
Контактная информация:

#3 Сообщение 16.10.2009, 13:01

критичные фалы.
в примере файла pure_server_whitelist.txt
Последний раз редактировалось U#0 16.10.2009, 13:09, всего редактировалось 1 раз.
Причина: 10х, поправил.

Аватара пользователя
impulse666
Полковник
Полковник
Сообщения: 7405
Зарегистрирован: 08.12.2005
Откуда: Atman
Благодарил (а): 2340 раз
Поблагодарили: 590 раз

#4 Сообщение 16.10.2009, 17:16

U#0
замечательно. удали как прочтишь %)


пару исправлений:
U#0 писал(а):Но это не значит, что она её нельзя заставить работать с распакованными пиратками.
U#0 писал(а):Это значит что pure система будет одинаково функционировать как с "Counter-Strike: Source", так и а "Team Fortress 2".
U#0 писал(а):ЗависимостьПравила должны быть ориентированы сверху вниз.
Добавлено спустя 1 минуту 14 секунд:
U#0 писал(а):from_steamЗаставит клиент использовать файлы исключительно из GCF кеша, игнорируя расположенный на дискеДействие аналогично серверной переменной sv_pure "2", только в определённом условием масштабе.
что-то с падежами, хотя и все понятно..
Изображение
Негласные Правила
1. Пропаганда лицензии запрещена.
2. На форуме режим многоступенчатых стандартов Ψ. То что можно одним, нельзя другим. Решается правящей партией
3. Ники членов правящей партии (impulse666, NiGHt-LEshiY, SHADOW) искажают только в случае необходимости получить БАН.

...воздержитесь от этого, изучите вот это.
Лучшая статья о моих взглядах. Настоятельно рекомендую.

kadet89
Майор
Майор
Сообщения: 557
Зарегистрирован: 26.12.2006

#5 Сообщение 16.10.2009, 18:11

:D интеллектуальная собственность сайта CSmania.RU
Данная статья является интеллектуальной собственностью сайта CSmania.RU.
Последний раз редактировалось kadet89 16.10.2009, 23:45, всего редактировалось 2 раза.

Milkyway
Полковник
Полковник
Сообщения: 4470
Зарегистрирован: 19.11.2008
Благодарил (а): 62 раза
Поблагодарили: 133 раза
Контактная информация:

#6 Сообщение 16.10.2009, 18:38

kadet89
что?

Аватара пользователя
impulse666
Полковник
Полковник
Сообщения: 7405
Зарегистрирован: 08.12.2005
Откуда: Atman
Благодарил (а): 2340 раз
Поблагодарили: 590 раз

#7 Сообщение 16.10.2009, 19:18

kadet89
пояснить в течении 36 часов.
Изображение
Негласные Правила
1. Пропаганда лицензии запрещена.
2. На форуме режим многоступенчатых стандартов Ψ. То что можно одним, нельзя другим. Решается правящей партией
3. Ники членов правящей партии (impulse666, NiGHt-LEshiY, SHADOW) искажают только в случае необходимости получить БАН.

...воздержитесь от этого, изучите вот это.
Лучшая статья о моих взглядах. Настоятельно рекомендую.

xaider
Сержант
Сержант
Сообщения: 54
Зарегистрирован: 23.12.2008
Контактная информация:

#8 Сообщение 16.10.2009, 23:01

U#0 писал(а): Но это не значит, что её нельзя заставить работать с распакованными пиратками.
Тогда стоит уточнить на каких именно пиратках она будет работать. Т.к. сколько я ни пробовал завести её на ностим - нифига не работает (серв estemation - для лицушников pure функционирует, для nosteam (SteamEmu не ниже 3.83) нет).

Добавлено спустя 3 часа 11 минут 5 секунд:
Перечитай статью.
Прочел. И много с pure экспериментировал до этого. И у меня еще ни разу не получалось НЕ ПУСТИТЬ nosteam клиента из за какого то файла (банальный пример - файловый ВХ). На них pure не действует в принципе, они всегда заходят с любыми файлами. Хоть allow_from_disk+check_crc ставь, хоть from_steam - пофиг. Стимовых НЕ пускает, пиратских пускает.
Последний раз редактировалось U#0 16.10.2009, 23:05, всего редактировалось 2 раза.
Причина: Значит банально совпадают контрольные суммы. Это же не панацея.
Те, кто не знают куда идти, никогда не будут у цели.

kadet89
Майор
Майор
Сообщения: 557
Зарегистрирован: 26.12.2006

#9 Сообщение 16.10.2009, 23:50

impulse666 да чего пояснять, это и было пояснение.
U#0 у меня статей побольше твоего наберется + я всегда пишу с картинками + проверяю через microsoft word

Насчёт пираток, не действует на них походу.

1) Включил sv_pure 1
2) Не составил список (т.е. его вообще нет)
3) Захожу с лицензии - вместо подмененных моделек бегают эроры
4) Захожу с пиратки - всё нормально, все модельни выводятся без егоров и т.п.

Я не утверждаю что эти два момента в статье написаны неправильно, но в противном случае sv_pure тупит, т.к. без списка написано что ничего меняться не должно.
Последний раз редактировалось U#0 17.10.2009, 10:21, всего редактировалось 2 раза.
Причина: Покажи хоть один, а не бей себя копытом в грудь.

Аватара пользователя
[»Twilight«]
Капитан
Капитан
Сообщения: 277
Зарегистрирован: 22.05.2007
Откуда: "Heaven's Night" Club, 2121 Carroll Street, Silent Hill, ME [Ukraine]
Контактная информация:

#10 Сообщение 17.10.2009, 01:17

U#0 писал(а):Значит банально совпадают контрольные суммы. Это же не панацея.
Вероятность совпадения контрольных сумм у двух файлов ничтожно мала, а в рес-хаке файлов на замену полно. Зачем эти приперательства? Вам уже 3ое человек (я, ZERO999 и xaider) сказали, что для CSS sv_pure 1-2 на распаки со SteamEmu не действует, а Вы не проверяя этого упорно твердите свое, только потому что на TF2 с RevEmu все работает.
If you are the Receiver of Wisdom, you will understand my words...
Изображение

Аватара пользователя
ZERO999
CS:Source Specialist
CS:Source Specialist
Сообщения: 367
Зарегистрирован: 22.08.2006
Откуда: Ухта, Россия
Контактная информация:

#11 Сообщение 17.10.2009, 02:28

[»Twilight«] писал(а):... сказали, что для CSS sv_pure 1-2 на распаки со SteamEmu не действует ...
со SteamEmu клиент .gcf тоже проверял и с RevEmu клиент распак, не работает...

U#0, я же вас просил, дайте адрес сервера CSS, где работает sv_pure..., чтобы мы сразу начали вправлять свой МозГ и выпрямлять свои кривые РуКи...
Не говори необдуманных слов, чтобы не попасть по неведению в трудное положение...

Аватара пользователя
U#0
Майор
Майор
Сообщения: 529
Зарегистрирован: 25.10.2007
Поблагодарили: 1 раз
Контактная информация:

#12 Сообщение 17.10.2009, 15:41

Благодоря [»Twilight«], ZERO999 и xaider - провёл тестирование pure системы (вынудили).
Теперь делюсь тем, чего так и не смог от них добиться - отчётом о тесте.

Для теста была выбрана модель "Obi Wan´s Lightsaber v2", заменяющая стандартную биту скаута.
Во время теста я подключался к серверу, как:
  • Игрок с лицензионным Steam клиентом.
  • Игрок с ломаным Steam клиентом.
    В качестве ломаного Steam клиента, использовался "REVOLUTiON SteamUp! 2.1.2"
  • Игрок без Steam клиента.
    Был создан "noSteam Patch" на базе "The REVOLUTiON Emulator 9.81 RC3"
    Описание
    • Используется только после запуска игры из Steam клиента.
    • Не заменяет файлов, следовательно не влияет на последующую работоспособность игры через Steam клиент.
    • Распаковывается в директорию "steamapps\%username%\", Steam клиента.
    • Содержит AddOn "Name Enabler".
Для теста использовался сервер "Team Fortress 2":
  • Платформа: Windows
  • Эмулятор: The REVOLUTiON Emulator 9.80 RC2
  • Версия:
    Protocol version 15
    Exe version 1.0.7.1 (tf)
    Exe build: 12:22:33 Sep 21 2009 (3971) (440)
Отчёт о тестировании переменной "sv_pure 1" совместно с атрибутом "allow_from_disk+check_crc"
  • В "...\orangebox\tf\cfg\server.cfg" были внесены следующие изменения:

    Код: Выделить всё

    sv_pure "1"
    sv_pure_kick_clients "1"
  • Содержимое "...\orangebox\hl2\pure_server_whitelist.txt":

    Код: Выделить всё

    whitelist
    {
    	materials\...	allow_from_disk+check_crc
    	models\...		allow_from_disk+check_crc
    	sound\...		allow_from_disk+check_crc
    }
  • Информация при запуске сервера:
    Caching file CRCs for pure server...
    Finished caching file CRCs for pure server in 487 seconds.
  • Игрок с лицензионным Steam клиентом был выкинут pure системой, при подключении.
    Лог сервера
    L 10/17/2009 - 14:58:50: "Steam<*><STEAM_0:0:**********><>" connected, address "***.***.***.***:*****"
    Client "Steam" connected (***.***.***.***:*****).
    L 10/17/2009 - 14:58:54: "Steam<*><STEAM_0:0:**********><>" STEAM USERID validated
    L 10/17/2009 - 15:00:24: "Steam<*><STEAM_0:0:**********><>" entered the game
    L 10/17/2009 - 15:00:39: "Steam<*><STEAM_0:0:**********><Unassigned>" disconnected (reason "Pure server: client has loaded extra file [GAME]\materials\models\weapons\lightsaber\blade.vmt. File must be removed to play on this server.")
    Dropped Steam from server (Pure server: client has loaded extra file [GAME]\materials\models\weapons\lightsaber\blade.vmt. File must be removed to play on this server.)
  • Игрок с ломаным Steam клиентом был выкинут pure системой, при подключении.
    Лог сервера
    L 10/17/2009 - 15:07:01: "SteamUp!<*><STEAM_0:0:**********><>" connected, address "***.***.***.***:*****"
    Client "SteamUp!" connected (***.***.***.***:*****).
    L 10/17/2009 - 15:07:01: "SteamUp!<*><STEAM_0:0:**********><>" STEAM USERID validated
    L 10/17/2009 - 15:07:58: "SteamUp!<*><STEAM_0:0:**********><>" entered the game
    L 10/17/2009 - 15:08:07: "SteamUp!<*><STEAM_0:0:**********><Unassigned>" disconnected (reason "Pure server: file [GAME]\models\weapons\w_models\w_bat.mdl does not match the server's file.")
    Dropped SteamUp! from server (Pure server: file [GAME]\models\weapons\w_models\w_bat.mdl does not match the server's file.)
  • Игрок без Steam клиента зашёл на сервер и бегал с лазерным мечём.
    Лог сервера
    L 10/17/2009 - 14:25:36: "REVOLUTiON<*><STEAM_0:0:**********><>" connected, address "***.***.***.***:*****"
    Client "REVOLUTiON" connected (***.***.***.***:*****).
    L 10/17/2009 - 14:25:36: "REVOLUTiON<*><STEAM_0:0:**********><>" STEAM USERID validated
    L 10/17/2009 - 14:26:48: "REVOLUTiON<*><STEAM_0:0:**********><>" entered the game
    L 10/17/2009 - 14:28:46: "REVOLUTiON<*><STEAM_0:0:**********><Unassigned>" joined team "Blue"
    L 10/17/2009 - 14:29:00: "REVOLUTiON<*><STEAM_0:0:**********><Blue>" changed role to "scout"
    L 10/17/2009 - 14:29:47: "REVOLUTiON<*><STEAM_0:0:**********><Blue>" disconnected (reason "Disconnect by user.")
    Dropped REVOLUTiON from server (Disconnect by user.)
Отчёт о тестировании переменной "sv_pure 2"
  • В "...\orangebox\tf\cfg\server.cfg" были внесены следующие изменения:

    Код: Выделить всё

    sv_pure "2"
    sv_pure_kick_clients "1"
  • В данном случе "...\orangebox\hl2\pure_server_whitelist.txt" не используется.
  • Информация при запуске сервера:
    Caching file CRCs for pure server...
    Finished caching file CRCs for pure server in 0 seconds.
  • Игрок с лицензионным Steam клиентом зашёл на сервер, но бегал со стандартной битой (после отключения sv_pure, снова стал отображаться лазерный меч).
    Лог сервера
    L 10/17/2009 - 15:51:50: "Steam<*><STEAM_0:0:**********><>" connected, address "***.***.***.***:*****"
    Client "Steam" connected (***.***.***.***:*****).
    L 10/17/2009 - 15:51:51: "Steam<*><STEAM_0:0:**********><>" STEAM USERID validated
    L 10/17/2009 - 15:52:54: "Steam<*><STEAM_0:0:**********><>" entered the game
    L 10/17/2009 - 15:53:08: "Steam<*><STEAM_0:0:**********><Unassigned>" joined team "Blue"
    L 10/17/2009 - 15:53:10: "Steam<*><STEAM_0:0:**********><Blue>" changed role to "scout"
    L 10/17/2009 - 15:53:22: "Steam<*><STEAM_0:0:**********><Blue>" disconnected (reason "Disconnect by user.")
    Dropped Steam from server (Disconnect by user.)
  • Игрок с ломаным Steam клиентом зашёл на сервер, но бегал со стандартной битой (после отключения sv_pure, снова стал отображаться лазерный меч).
    Лог сервера
    L 10/17/2009 - 16:03:33: "SteamUp!<*><STEAM_0:0:**********><>" connected, address "***.***.***.***:*****"
    Client "SteamUp!" connected (***.***.***.***:*****).
    L 10/17/2009 - 16:03:33: "SteamUp!<*><STEAM_0:0:**********><>" STEAM USERID validated
    L 10/17/2009 - 16:04:35: "SteamUp!<*><STEAM_0:0:**********><>" entered the game
    L 10/17/2009 - 16:04:51: "SteamUp!<*><STEAM_0:0:**********><Unassigned>" joined team "Blue"
    L 10/17/2009 - 16:04:52: "SteamUp!<*><STEAM_0:0:**********><Blue>" changed role to "scout"
    L 10/17/2009 - 16:05:09: "SteamUp!<*><STEAM_0:0:**********><Blue>" disconnected (reason "Disconnect by user.")
    Dropped SteamUp! from server (Disconnect by user.)
  • Игрок без Steam клиента зашёл на сервер и бегал с лазерным мечём.
    Лог сервера
    L 10/17/2009 - 16:15:09: "REVOLUTiON<*><STEAM_0:0:**********><>" connected, address "***.***.***.***:*****"
    Client "REVOLUTiON" connected (***.***.***.***:*****).
    L 10/17/2009 - 16:15:09: "REVOLUTiON<*><STEAM_0:0:**********><>" STEAM USERID validated
    L 10/17/2009 - 16:15:47: "REVOLUTiON<*><STEAM_0:0:**********><>" entered the game
    L 10/17/2009 - 16:16:06: "REVOLUTiON<*><STEAM_0:0:**********><Unassigned>" joined team "Blue"
    L 10/17/2009 - 16:16:08: "REVOLUTiON<*><STEAM_0:0:**********><Blue>" changed role to "scout"
    L 10/17/2009 - 16:16:21: "REVOLUTiON<*><STEAM_0:0:**********><Blue>" disconnected (reason "Disconnect by user.")
    Dropped REVOLUTiON from server (Disconnect by user.)

Аватара пользователя
[»Twilight«]
Капитан
Капитан
Сообщения: 277
Зарегистрирован: 22.05.2007
Откуда: "Heaven's Night" Club, 2121 Carroll Street, Silent Hill, ME [Ukraine]
Контактная информация:

#13 Сообщение 17.10.2009, 16:18

U#0 писал(а):Уже в n-цатый раз повторяю:
  • Система должна работать только с атрибутом "allow_from_disk check_crc" при переменной "sv_pure 1".
    Все остальные варианты привязаны к *.gcf кешу.
Уже в n-цатый раз отвечаем: "должна" - это еще не значит, что работает. Хотя в теории да, должна.
U#0 писал(а):От вас же, кроме: "не работает и хочу css" - больше ничего нет.
Вот я почему-то сразу Вам поверил, что с TF2 все работает и проверять не стал. Вы же нашым словам не доверяете и этим не экономите ни наше время ни свое.
Ну ладно тогда.
Повторил тестирование того, что уже давно тестировал:
[frame]Фаза I.
  1. Скачиваю через hldsupdatetool чистый сервер css, Win32 x86
    Server version

    Код: Выделить всё

    I:\test_pure\Update>I:\test_pure\Update\hldsupdatetool.exe -command version
    Bootstrapper version: 38
    Versions installed in 'I:\test_pure':
            Source Dedicated Server: 98
            Base Source Shared Materials: 8
            Base Source Shared Models: 4
            Base Source Shared Sounds: 4
            Counter-Strike Source Shared Content: 74
  2. В \cstrike\cfg кладу файл server.cfg
    server.cfg

    Код: Выделить всё

    log "on"
    sv_logbans "1"
    sv_logecho "1"
    sv_logfile "1"
    mp_logdetail "3"
    
    sv_pure_kick_clients "1"
    sv_pure_trace "1"
    sv_pure "0"
    
    bot_join_after_player "1"
    bot_quota "10"
    bot_quota_mode "fill"
  3. Запускаю сервер с параметрами

    Код: Выделить всё

    I:\test_pure\srcds.exe -console -game cstrike +map de_dust +sv_pure 0
  4. Скачиваю с fpsbanana кастомный скин на модельку phoenix, например эту . Ставлю ее себе на клиент-лицензию, кинув vtf-файлы текстур в папку cstrike\materials\models\player\t_phoenix (в архиве скина пропущена папка player).
  5. Захожу на тестовый сервер с лицензии. В консоли клиента прописываю

    Код: Выделить всё

    cl_minmodels 1
    чтобы профорсировать использование одной модели для команды (по умолчанию моделей phoenix для террористов и urban у контр-террористов).
    Результат:
    Screenshots
    Изображение
    Изображение
  6. Останавливаю сервер. Меняю на sv_pure 2 в server.cfg и в параметрах запуска. Запускаю сервер, захожу с лицензии.
    Результат:
    Screenshots
    Изображение
    Изображение
    Консоль клиента

    Код: Выделить всё

    Counter-Strike: Source
    Map: de_dust
    Players:  1 / 32
    Build 3945
    Server Number 1
    Got pure server whitelist: sv_pure = 2.
    
    Initializing renderer...
    [0xFB] [»Twilight«] connected
    ] sv_pure
    --------------------------------------------------------
    sv_pure:
    
    If set to 1, the server will force all client files except the whitelisted ones (in pure_server_whitelist.txt) to match the server's files. 
    
    If set to 2, the server will force all client files to come from Steam (and it will not load pure_server_whitelist.txt).
    
    
    The server is using sv_pure = 2.
    --------------------------------------------------------
  7. Останавливаю сервер. Меняю на sv_pure 1 в server.cfg и в параметрах запуска. В папку \cstrike\ сервера кладу файл pure_server_whitelist.txt с содержанием:
    pure_server_whitelist.txt

    Код: Выделить всё

    whitelist
    {
    	materials\...							from_steam
    	models\...								from_steam
    	sound\...								from_steam
    	
    	materials\models\player\t_phoenix\...	allow_from_disk+check_crc
    }
    Запускаю сервер.
  8. Захожу с лицензии.
    Результат:
    Screenshot
    Изображение
    Консоль сервера

    Код: Выделить всё

    255.9 fps  0/32 on map          de_dust
    Console initialized.
    Game.dll loaded for "Counter-Strike: Source"
    maxplayers set to 32
    --------------------------------------------------------
    sv_pure set to 1.
    --------------------------------------------------------
    Network: IP 172.16.26.162, mode MP, dedicated Yes, ports 27015 SV / 27005 CL
    Caching file CRCs for pure server...
    Finished caching file CRCs for pure server in 0 seconds.
    Executing dedicated server config file
    Incorrect price blob version! Update your server!
    ERROR: mp_dynamicpricing set to 1 but couldn't download the price list!
    Error: Material "sprites/bubble" : proxy "AnimatedTexture" not found!
    Section [Scenes]: 0 resources total 0 bytes, 0.00 % of limit (2.10 MB)
    Server logging enabled.
    Server logging data to file logs\L1017007.log
    L 10/17/2009 - 12:47:34: Log file started (file "logs\L1017007.log") (game "I:\t
    est_pure\cstrike") (version "3945")
    --------------------------------------------------------
    sv_pure value unchanged (current value is 1).
    --------------------------------------------------------
    Can't use cheat cvar bot_zombie in multiplayer, unless the server has sv_cheats
    set to 1.
    L 10/17/2009 - 12:47:34: World triggered "Round_Start"
    Adding master server 72.165.61.136:27013
    Adding master server 72.165.61.136:27009
    Connection to Steam servers successful.
       VAC secure mode is activated.
    
    
    sv_pure
    --------------------------------------------------------
    sv_pure:
    
    If set to 1, the server will force all client files except the whitelisted ones
    (in pure_server_whitelist.txt) to match the server's files.
    
    If set to 2, the server will force all client files to come from Steam (and it w
    ill not load pure_server_whitelist.txt).
    
    Current sv_pure value is 1.
    --------------------------------------------------------
    
    
    
    L 10/17/2009 - 12:48:50: "[0xFB] [T¬TwilightTл]<2><STEAM_ID_PENDING><>" connecte
    d, address "172.16.26.162:27006"
    Client "[0xFB] [T¬TwilightTл]" connected (172.16.26.162:27006).
    L 10/17/2009 - 12:48:51: "[0xFB] [T¬TwilightTл]<2><STEAM_0:1:17712462><>" STEAM
    USERID validated
    L 10/17/2009 - 12:48:56: World triggered "Round_Start"
    L 10/17/2009 - 12:49:19: "[0xFB] [T¬TwilightTл]<2><STEAM_0:1:17712462><>" entere
    d the game
    L 10/17/2009 - 12:49:22: "[0xFB] [T¬TwilightTл]<2><STEAM_0:1:17712462><Unassigne
    d>" disconnected (reason "Pure server: client has loaded extra file [GAME]\mater
    ials\models\player\t_phoenix\t_phoenix.vtf. File must be removed to play on this
     server.")
    Game will not start until both teams have players.
    L 10/17/2009 - 12:49:22: World triggered "Round_Draw" (CT "0") (T "0")
    L 10/17/2009 - 12:49:22: Team "CT" scored "0" with "0" players
    L 10/17/2009 - 12:49:22: Team "TERRORIST" scored "0" with "0" players
    L 10/17/2009 - 12:49:22: World triggered "Round_End"
    Dropped [0xFB] [T¬TwilightTл] from server (Pure server: client has loaded extra
    file [GAME]\materials\models\player\t_phoenix\t_phoenix.vtf. File must be remove
    d to play on this server.)
    L 10/17/2009 - 12:49:33: World triggered "Round_Start"
Вывод:
sv_pure настроен правильно и работает.



Фаза II.
  1. Собираю gcf-пиратку
    Client version

    Код: Выделить всё

    ] version
    Protocol version 7
    Exe version 1.0.0.34 (cstrike)
    Exe build: 12:47:15 Aug 26 2009 (3945)
  2. Кладу в нее скин для модели phoenix.
  3. Ломаю сервер VUP'ом в режиме -esteamation-prep, ставлю eStemation 1.8, конфиг по умолчанию.
    <server_root>\cfg\esteamation.cfg
    esteamation.cfg

    Код: Выделить всё

    AcceptSteamEmuClients = True
    AcceptLegacySteamEmuClients = False
    AccepteSTEAMATiONSemiSteamClients = True
    ForceMinimumeSTEAMATiONSemiSteamVersionOnClient = False
    AcceptRevEmuClients = True
    AcceptHookEmuClients = True
    AcceptLegitClients = True
    AcceptSettiServerScanner = True
    AcceptHL1WONClients = True
    AcceptUnknownClients = False
    AcceptUnknownLegitSimulatingClients = False
    AcceptUnknownNonSteamSimulatingClients = False
    
    EnforceSteamEmuCompatIDMode = True
    ForceIPDerivedIDsForLegitClients = False
    ForceIPDerivedIDsForAllNonLegitClients = False
    ForceUseOfSharedNonSteamID = False
    SharedNonSteamIDToUse = 66688666
    
    LogClientTypeOnConnect = True
    LogRejectedClientTypeOnConnect = True
    
    ForceClientsRejectAfterInitialValidation = True
  4. Запускаю сервер с sv_pure 0, захожу с пиратки.
    Результат:
    Screenshots
    Изображение
    Изображение
  5. Запускаю сервер с sv_pure 1, захожу с пиратки, жду на сервере минуты две. Кика нет.
    Результат:
    Screenshots
    Изображение
    Изображение
    Консоль сервера

    Код: Выделить всё

    256.0 fps  0/32 on map          de_dust
    Console initialized.
    Game.dll loaded for "Counter-Strike: Source"
    maxplayers set to 32
    --------------------------------------------------------
    sv_pure set to 1.
    --------------------------------------------------------
    Network: IP 172.16.26.162, mode MP, dedicated Yes, ports 27015 SV / 27005 CL
    Caching file CRCs for pure server...
    Finished caching file CRCs for pure server in 0 seconds.
    Executing dedicated server config file
    Incorrect price blob version! Update your server!
    ERROR: mp_dynamicpricing set to 1 but couldn't download the price list!
    Error: Material "sprites/bubble" : proxy "AnimatedTexture" not found!
    Section [Scenes]: 0 resources total 0 bytes, 0.00 % of limit (2.10 MB)
    Server logging enabled.
    Server logging data to file logs\L1017010.log
    L 10/17/2009 - 13:50:56: Log file started (file "logs\L1017010.log") (game "I:\t
    est_pure\cstrike") (version "3945")
    --------------------------------------------------------
    sv_pure value unchanged (current value is 1).
    --------------------------------------------------------
    L 10/17/2009 - 13:50:56: World triggered "Round_Start"
    Adding master server 69.28.140.246:27011
    Adding master server 72.165.61.136:27013
    Connection to Steam servers successful.
       VAC secure mode is activated.
    L 10/17/2009 - 13:51:39: "unnamed<2><STEAM_ID_PENDING><>" connected, address "17
    2.16.26.162:27006"
    Client "unnamed" connected (172.16.26.162:27006).
    L 10/17/2009 - 13:51:39: "unnamed<2><STEAM_0:0:1977145311><>" STEAM USERID valid
    ated
    L 10/17/2009 - 13:51:45: World triggered "Round_Start"
    L 10/17/2009 - 13:51:48: "unnamed<2><STEAM_0:0:1977145311><>" entered the game
    L 10/17/2009 - 13:51:53: "unnamed<2><STEAM_0:0:1977145311><Unassigned>" joined t
    eam "TERRORIST"
    Консоль клиента

    Код: Выделить всё

    Counter-Strike: Source
    Map: de_dust
    Players:  1 / 32
    Build 3945
    Server Number 1
    Got pure server whitelist: sv_pure = 1.
    
    unnamed connected
    Redownloading all lightmaps
    ] sv_pure
    --------------------------------------------------------
    sv_pure:
    
    If set to 1, the server will force all client files except the whitelisted ones (in pure_server_whitelist.txt) to match the server's files. 
    
    If set to 2, the server will force all client files to come from Steam (and it will not load pure_server_whitelist.txt).
    
    
    The server is using sv_pure = 1.
    materials\...                              	from_steam
    models\...                                 	from_steam
    sound\...                                  	from_steam
    materials\models\player\t_phoenix\...      	allow_from_disk+check_crc
    --------------------------------------------------------
  6. Не закрывая сервер захожу с лицензии. Результат:

    Код: Выделить всё

    Disconnect: Pure server: client has loaded extra file [GAME]\materials\models\player\t_phoenix\t_phoenix.vtf. File must be removed to play on this server..
  7. Закрываю сервер, меняю на sv_pure 2. Меняю в конфиге eStemation

    Код: Выделить всё

    AcceptLegacySteamEmuClients = True
    Захожу с пиратки-распаковки (старый клиент ксмании, собранный impulse666). Скин заменять не стал, меня пустило не смотря на отcутствие grid cache files у клиента.
    Консоль клиента

    Код: Выделить всё

    [»Twilight«] connected
    Redownloading all lightmaps
    ] sv_pure
    --------------------------------------------------------
    sv_pure:
    
    If set to 1, the server will force all client files except the whitelisted ones (in pure_server_whitelist.txt) to match the server's files. 
    
    If set to 2, the server will force all client files to come from Steam (and it will not load pure_server_whitelist.txt).
    
    
    The server is using sv_pure = 2.
    --------------------------------------------------------
    Консоль сервера

    Код: Выделить всё

    256.1 fps  1/32 on map          de_dust
    Console initialized.
    Game.dll loaded for "Counter-Strike: Source"
    maxplayers set to 32
    --------------------------------------------------------
    sv_pure set to 2.
    --------------------------------------------------------
    Network: IP 172.16.26.162, mode MP, dedicated Yes, ports 27015 SV / 27005 CL
    Server using sv_pure 2.
    Caching file CRCs for pure server...
    Finished caching file CRCs for pure server in 0 seconds.
    Executing dedicated server config file
    Incorrect price blob version! Update your server!
    ERROR: mp_dynamicpricing set to 1 but couldn't download the price list!
    Error: Material "sprites/bubble" : proxy "AnimatedTexture" not found!
    Section [Scenes]: 0 resources total 0 bytes, 0.00 % of limit (2.10 MB)
    Server logging enabled.
    Server logging data to file logs\L1017011.log
    L 10/17/2009 - 14:06:50: Log file started (file "logs\L1017011.log") (game "I:\t
    est_pure\cstrike") (version "3945")
    --------------------------------------------------------
    sv_pure value unchanged (current value is 2).
    --------------------------------------------------------
    L 10/17/2009 - 14:06:50: World triggered "Round_Start"
    Adding master server 72.165.61.189:27011
    Adding master server 72.165.61.136:27012
    Connection to Steam servers successful.
       VAC secure mode is activated.
    L 10/17/2009 - 14:08:05: "[T¬TwilightTл]<2><STEAM_ID_PENDING><>" connected, addr
    ess "172.16.26.162:27006"
    Client "[T¬TwilightTл]" connected (172.16.26.162:27006).
    L 10/17/2009 - 14:08:05: "[T¬TwilightTл]<2><STEAM_0:0:189198869><>" STEAM USERID
     validated
    L 10/17/2009 - 14:08:11: World triggered "Round_Start"
    L 10/17/2009 - 14:08:42: "[T¬TwilightTл]<2><STEAM_0:0:189198869><>" entered the
    game
    L 10/17/2009 - 14:08:50: "[T¬TwilightTл]<2><STEAM_0:0:189198869><Unassigned>" jo
    ined team "TERRORIST"
  8. Не закривая сервер захожу с лицензии.
    Для нее pure-система действует:
    Screenshot
    Изображение
Вывод:
для пираток pure-система на сервере CSS не действует.[/frame]
U#0 писал(а):Вот как сможете доказать, что не работает и обаснуете это - тогда и будет разговор.
ОбОсновать это увы не могу, не знаю как. Ведь в теории "все должно работать". Если б мог, этой глупой затяжной дискуссии не было. У нас есть фактические результаты наших неудачных попыток сделать полностью рабочий css pure server. Зато у Вас есть статья.

P.S. Ах да, данные результаты тестов являются интеллектуальной собственностью [»Twilight«]'а =)
If you are the Receiver of Wisdom, you will understand my words...
Изображение

Аватара пользователя
U#0
Майор
Майор
Сообщения: 529
Зарегистрирован: 25.10.2007
Поблагодарили: 1 раз
Контактная информация:

#14 Сообщение 17.10.2009, 17:03

Раз человек пишет:
kadet89 писал(а):Вот нашел в инете, но почемуто на многих сайтах это либо криво переведено, либо я что-то недопонял.
Значит, хочется думать, что это первая статья, подробно описывающая pure систему.
Следовательно ехидство:
[»Twilight«] писал(а):P.S. Ах да, данные результаты тестов являются интеллектуальной собственностью [»Twilight«]'а =)
Как минимум, не уместно.

Спасибо за дополнительный тест.
Но, я успел раньше протестировать pure систему и в моём отчёте содержится немного больше информации о её работе.
Думал выводы будут сделаны самостоятельно, но чувствую что придётся написать...

Ида. Смысл цитировать удалённый пост?

Аватара пользователя
Dr_Quake
Майор
Майор
Сообщения: 654
Зарегистрирован: 10.03.2008
Поблагодарили: 6 раз
Контактная информация:

#15 Сообщение 17.10.2009, 19:07

Там нечего обосновывать, разбивать надо ситуации и тестировать. Вида клиент лицензия, сервер vup , клиент revemu сервер vup , клиент revemu сервер revemu итд.....
Последний раз редактировалось U#0 17.10.2009, 19:18, всего редактировалось 1 раз.
Причина: Что уже сделано.

Ответить