Физика и принцип работы сервера CS:S

Обсуждаем все, что относится к выделенным серверам *NIX (Unix, Linux) и Windows
Ответить
Сообщение
Автор
Аватара пользователя
xiloid
Капитан
Капитан
Сообщения: 341
Зарегистрирован: 30.10.2008
Поблагодарили: 3 раза

#1 Сообщение 12.08.2009, 17:09

Собственно возник вопрос вот такой, после прочтения очень грамотной статьи про рейты.
Из вышеупомянутой статьи cделал вывод, что рейты, грубоговоря, команды ввода-вывода информации между сервером и клиентом, но как же этот шайтан-арба переваривает этот потом непрерывных данных?
На делетанском уровне могу предположить, что просто-напросто "играет" в памяти, так-же, как и обычные юзеры, опираясь на значение tickrate, равное, к примеру, 66. И генерацию из 66 кадров рассылает всем юзерам, или же имеет в буфере таблицу установок рейтов клиентов и рассылает им необходимое значение кадров по их cl_updaterate?
По отдельным кусочкам получается сложить в голове примерную картину, но как разворачивается общий театр действие не понятно))

Хотелось бы услышать мнение Уважаемых Тов. [»Twilight«] и ZERO999, а так же всех кто имеет знания по этому вопросу.

Добавлено спустя 5 часов 15 минут 43 секунды:
Собственно нашел кое какую информацию, может кому станет интересно - http://developer.valvesoftware.com/wiki ... working:ru

Остается вопрос в том, что писал [»Twilight«], а именно установка переменных обмена между 33 и 100. 66 тиковый сервер при этом им будет пихать все 66 пакетов? Или тем у кого cl_updaterate 33 все таки обрежет до 33? Кстати в этом вопросе подавляющее большинство склонно полагать, что симетрия на клиенте все-таки лучше (по 33, по 66, по 100), но как на самом деле проще для железа и сервера, для меня не ясно.

Аватара пользователя
xiloid
Капитан
Капитан
Сообщения: 341
Зарегистрирован: 30.10.2008
Поблагодарили: 3 раза

#2 Сообщение 14.08.2009, 09:35

Ну чтож, раз никто не хочет подискутировать, так тому и быть, закрывайте тему :)

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

#3 Сообщение 14.08.2009, 10:51

Не, ну по ссылке то расписано что будет, читай внимательнее - интерполяция вниз до скольки-то-там и отсылка клиенту. А вот наоборот хрен - ну то есть будет такая же экстраполяция, но толку с неё...

Аватара пользователя
xiloid
Капитан
Капитан
Сообщения: 341
Зарегистрирован: 30.10.2008
Поблагодарили: 3 раза

#4 Сообщение 14.08.2009, 13:48

Ну а что по поводу рейтизации? Буфер кадров всем будет слать тиковое серверное значение (66 например) или же данные о клиентских рейтах сохранено в серверной таблице какой-нибудь и сервак для каждого аккуратно подрежет его значение рейтов? :)
Да и вообще, оказывается, судя из статьи, никаких "полных" кадров не шлется, а лишь дельта между последним удачным и новым сгенерированным. ВульвоШайтаны :)

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

#5 Сообщение 14.08.2009, 14:25

Не всегда, при дропах например пересылаются полные после пары попыток.
Буфера кадров не существует. Есть по сути 2 unlag'a - 1 для мира который клиент и сам посчитать может, а 2 грубо говоря для объектов. Слаться будет то что клиент скажет даже если сервер по другому, для случая разных в любом случае будет подгонка под рейт клиента в обе стороны, но он может форсироваться с сервера, в общем всё через жопу.

Что характерно в UT так и никто не жалуется - даже нету понятия серверрейт, есть пара лимитов которые все забывают выставить итд, а в смысле лагов и рейта всё у клиента кроме мастер, который кстати в UE плавающий.

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

#6 Сообщение 14.08.2009, 15:24

xiloid писал(а):Ну чтож, раз никто не хочет подискутировать, так тому и быть, закрывайте тему :)
Уважаемые не каждый день здесь бывают... :D
Если коротко, на сервере выставляються мин. и мак. значения, обмен идет по настройкам, которые стоят в клиенте, НО в пределах ограничений сервера... думаю понятно...
Также многое зависит от сети, железа, программного обеспечения и т.д.
Не говори необдуманных слов, чтобы не попасть по неведению в трудное положение...

Аватара пользователя
xiloid
Капитан
Капитан
Сообщения: 341
Зарегистрирован: 30.10.2008
Поблагодарили: 3 раза

#7 Сообщение 14.08.2009, 18:38

Спасибо друзья за активность и участие в теме, очень признателен :)
Последний вопрос:
sv_mincmdrate 33
sv_maxcmdrate 66
sv_minupdaterate 33
sv_maxupdaterate 66
tickrate 66
Вот конфиг большинства 66 тиковых серверов.
При этом админы настойчиво орут прописать 25000/66/66 - иначе банят.
Откуда пошла эта быль ставить симметричный обмен? Разве не все равно с какими значениями рейтов оперировать серверу в заданном пределе 33-66?

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

#8 Сообщение 14.08.2009, 18:44

25000 это отдельный вопрос - кадры то не имеют размера фиксированного, вот рейт и есть просто рейт в байт/c... Там свои лимиты итд. sv_maxrate что ли.

Симметричный логично от того что сколько с клиенту - столько и от чтобы не было делея в управлении - кадр через кадр.

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

#9 Сообщение 15.08.2009, 17:06

xiloid писал(а): При этом админы настойчиво орут прописать 25000/66/66 - иначе банят.
Хе-хе... ну начнем с того, что админ всегда прав... :D
Откуда пошла эта быль ставить симметричный обмен?
Уууу, рыба гниет с головы... prankster
Разве не все равно с какими значениями рейтов оперировать серверу в заданном пределе 33-66?
Серверу по-барабану... :$ проверено на практике...
На паблике с тиком 66, играют клиенты от 10000 30 20(кстати, дефолт от Valve) и до 30000 100 101. Последние, это обычно игроки команд КВ, так как на сервере КВ стоит тик 100.

А так, слышал я байки, на просторах инета, по поводу рейтов выставленных у клиентов... по-большому счету это утопия. Есть даже мод, который при коннекте клиента к серваку, выставляет ему рейты в конфиге, а иначе незайдешь... о кстати xiloid, предложи его настойчиво орущим админам... :D
Не говори необдуманных слов, чтобы не попасть по неведению в трудное положение...

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

#10 Сообщение 15.08.2009, 17:13

Вот тут ты неправ в первом пункте. Быдлоадмин всегда даун - проверено. Встречал сервера на 10000/100/100? Посчитай банально средний размер фрейма(учитывая все типы фреймов и игру скажем 10-10) и подели рейт на него...

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

#11 Сообщение 20.08.2009, 14:30

xiloid писал(а):Хотелось бы услышать мнение Уважаемых Тов. [»Twilight«] и ZERO999, а так же всех кто имеет знания по этому вопросу.

В ЛС приглашения шли ^^
Только сейчас в тему эту зашел.
If you are the Receiver of Wisdom, you will understand my words...
Изображение

Ответить