Наши сервера
Игрок
16
Прошло миллион лет, с тех далёких пор, как появились сервера в интернете, люди стали заводить тему на счёт стрельбы, хорошая плохая - плохая хорошая, вечная битва продолжается до сих пор.
Стрельба зависит от :
1. Интернета сервера (приход и уход пакетов)
2. Вашего интернета (приход и уход пакетов)
3. Настройки ваших рейтов от чего и зависит (приход и уход пакетов)
Стрельба не настраивается ну НИКАК кроме плагина который может уменьшить отдачу у оружия (но зачем это надо)
Под спойлером люди более или менее разбирающиеся в этом, обсуждают это, можно не читать.
мне каждый день пишут, вот на этом сервере залетает, а у вас нет. Тех админ почини, спроси. Но они не понимают, что клиент сам рисует стрельбу
[30.12.17 12:03]
клиент сам рисует стрельбу
в смысле?)
[30.12.17 12:03]
ну, *** говорил, тип клиент сам рисует
[30.12.17 12:03]
сервер не причем
[30.12.17 12:04]
В ответ :
как давно он говорил то?
[30.12.17 12:04]
может, я скорее всего не правильно понял
ты не правильно понял
[30.12.17 12:08]
положение патронов - клиент не отправляет
[30.12.17 12:09]
клиент отправляет состояние ентити игрока:
струкртуру целую серверу
[30.12.17 12:09]
тогда в какую сторону копать? у менять слишком много трафика на сервере изза whb+aef
[30.12.17 12:09]
в которой имеется многое, допустим, все pev_* как миниум
[30.12.17 12:09]
как можешь заметить, среди pev_* есть много интересного
[30.12.17 12:09]
на форуме же есть глобальная тема о стрельбе?
[30.12.17 12:10]
не помню уже
[30.12.17 12:10]
но, каждый хочет узнать...
[30.12.17 12:10]
по-этому надо сделать тему, в чем секрет кота бориса
[30.12.17 12:12]
секрет ныне прост.
Если сервер актуальной версии - расчёт разброса идёт на сервере, по состояниям клиента.
у нас есть pev_speed, pev_angle и прочие.
[30.12.17 12:12]
так вот, приблизительно, начинается всё с ЭТИХ СТРОК
https://github.com/s1lentq/ReGameDLL_CS/blob/master/regamedll/dlls/wpn_shared/wpn_deagle.cpp#L70-L88
[30.12.17 12:13]
чё видишь там? расскажи
[30.12.17 12:14]
вижу, m_flAccuracy
[30.12.17 12:14]
тип точность
[30.12.17 12:14]
ну, начнём с именования функции
[30.12.17 12:14]
атака
[30.12.17 12:14]
ага, во время атаки - идут проверки
[30.12.17 12:15]
на земле, при приседе и тд
[30.12.17 12:15]
1 проверка
если игрок НЕ на земле
[30.12.17 12:15]
да, там отрицание
[30.12.17 12:15]
2 проверка
если скорость передвижения > 0
3 проверка если находится в присяде
[30.12.17 12:16]
и вариант - исключающий
[30.12.17 12:16]
но все равно
[30.12.17 12:16]
какая-то магия есть
[30.12.17 12:16]
в рейтах
[30.12.17 12:16]
ок, допустим, мы просто стоим, не двигаемся,
Это попадает под самую последнюю "else"
[30.12.17 12:17]
магия в рейтах?
[30.12.17 12:17]
это назхывается, когда расхождение синхронизации.
[30.12.17 12:17]
сервер - получает данные реже, реже успевает обновлять состояние клиента, и расчитывать.
[30.12.17 12:17]
а, у нас ведь у клиента 100фпс, и мышкой он не 1 раз в секунду вертит.
[30.12.17 12:18]
а постоянное движение
[30.12.17 12:18]
покадрово
[30.12.17 12:18]
так вот, исходя как миниум, из cl_cmdrate 100 - клиент отдаст 100 пакетов в секунду, к примеру
[30.12.17 12:18]
то есть, 100 раз отдаёт своё состояние серверу, для синхронизации
[30.12.17 12:19]
ибо реального, много кто задается этим вопросом и ничего не находит
[30.12.17 12:19]
вот эти все вещи, известны всем разработчикам
НО! из за того, что кто-то позволяет себе вольности обсуждения, в том числе и я - потом на кснет "аукается" - стрельбу настрой, рейтами +-5
[30.12.17 12:19]
это уже смешно...
[30.12.17 12:20]
там надо целую статью писать
[30.12.17 12:20]
тем, кто задаётся - технические понятия - вообще "побарабану".
[30.12.17 12:20]
даже если я опишу, как оно работает - всё ровно им будет.
[30.12.17 12:20]
так было и будет, всегда такой контингент был.
[30.12.17 12:20]
еще вопрос, трафик как-нибудь влияет на это?
[30.12.17 12:20]
в net_graph
[30.12.17 12:20]
конечно, прямым образом
[30.12.17 12:20]
in: %d
[30.12.17 12:21]
сетевой протокол для стабильной работы требует стабильный приход и уход пакетов. на лане - условия сетевой передачи - максимальной приближены к идеальным.
[30.12.17 12:22]
в интернете же, не каждый клиент (а то и сервер xD) себе может позволить стабильную отдачу и приём пакетов.
[30.12.17 12:21]
сетевой протокол для стабильной работы требует стабильный приход и уход пакетов. на лане - условия сетевой передачи - максимально приближены к идеальным.
[30.12.17 12:22]
в интернете же, не каждый клиент себе может позволить стабильную отдачу и приём пакетов.
[30.12.17 12:23]
так, вот, когда пакетики не могут стабильно 100 раз в секунду на сервере обновляться, потому-что клиент не смог отдать или получить актуальные - вот тут и приколы с стрельбой начинаются.
На сервере максимум установлен hitbox fixer.
Как это работает : ВИДЕО
Для того что бы это корректно работало и у вас :
cl_lw 1
cl_lc 1
Не знаю почему их принято ставить в 0 ведь это лагокомпенсация...
vk.com/unknownui1337