TRAnE | Дата: Понедельник, 18.10.2010, 21:48 | Сообщение # 1 |
Это имеет место быть
Группа: Администраторы
Сообщений: 1126
Репутация: 121
Статус:
| Доброго времени суток! Заметил, что на форуме много обсуждений на тему сетевых настроек игры: что поставить? как настроить?. Сегодня я постараюсь вам все толково обьяснить, а так же успокоить месных тролей Начать, я думаю, стоит с замечательной функции встроеной в Half-Life(так же в моды). Это достаточно уникальный инструмент который поможет настроить и оптимизировать на высоком уровне ваш клиент. Открыв консоль набираем net_graph 1. Теперь с помощью графика можно определить ошибки в ваших текущих настройках сети. Идеально график выглядит так: Как видим установленные настройки: Частота кадров в секунду(fps_max 101) Кол-во пакетов клиент->сервер(cl_updaterate 100) Кол-во пакетов сервер->клиент(cl_cmdrate 101) Почему же этот график идеальный? Две полоски зеленая и фиолетовая - идеально прямые, от этого и будем отталкиваться. Дело в том, что каждый сервер настроен по разному и к каждому надо настраивать клиент по особому - идеальной настройки нет. Те настройки клиента которые пишут в правилах чемпов идеально подходят к настройкам сервера на котором планируються игры. Для этого и предназначен этот инструмент, не зная настроек сервера настроить клиент. Ошибка в сетевых настройках ведут к лагам клиента, это могут быть "фризы", дерганье моделек или же микро-подвисания именно тогда когда вы зажимаете. Конешно не только ваши настройки важны - если сервер плохо настроен, или же канал у него гавно то лаги будут как бы вы не старались - вот почему стоит отличать гавняные сервера от хороших и наоборот, и играть естесно на хороших. Настройка cl_cmdrate (сервер->клиент) Например, мы зашли на сервер, прописали net_graph 1 видим: Как видим установлены cl_updaterate 30; cl_cmdrate 51. Появившиеся красные точки означают что cl_cmdrate слишком мал, его стоит увелечить - идеальное значение будет значение вашего фпс(fps_max 101.0). Я поставил немного больше: Как видим красные точки пропали. Настройка cl_updaterate и ex_interp Не буду много писать что такое ex_interp, скажу одно, что чем он меньше тем лучше т.к. частота обновления быстрее - модель игроков находиться там же где и хитбоксы, а именно в хитбоксы нужно целиться. cl_updaterate должен быть равен серверному параметру sv_maxupdaterate, ex_interp же напрямую зависит от cl_updaterate и расчитываеться по формуле ex_interp = 1/cl_updaterate Например, наш cl_updaterate установлен значением 51, естесно ставим ex_interp 0 чтобы клиент сам расчитал идеальное значение под ваши сетевые настройки по формуле 1/cl_updaterate: У нас появились оранжевые/желтые точки что означает, что мы в экстраполяции. Происходит это потому, что мы получаем 51 пакетов, когда сервер может отправить 30 (sv_maxupdaterate 30).Таким образом, мы отбрасываем пакеты и находимся в экстраполяция (с использованием пакетов в истории, или предыдущих пакетов), нам это не нужно - надо понижать cl_updaterate, ставим значени 40 и наш ex_interp устанавливаеться автоматически. Получаем: Теперь желтые точки ниже чем раньше, но все равно есть. Это потому что мы все ещё отбрасываем пакеты. Следует ещё уменьшить cl_updaterate, ставим 30 и наш ex_interp снова расчитываеться автоматически, видим следующую картину: Теперь наш cl_updaterate и ex_interp настроены максимально НО они очень низкие это означает что сервер очень плохой, т.к. идеальные значения cl_updaterate 101 и ex_interp 0.01 Теперь я выбрал другой сервер, поставив максимальные для меня значения рейтов: rate 30000;cl_cmdrate 105;cl_updaterate 100;ex_interp 0(1/100=0.01) Как видим, синия линия без каких либо желтых/красных/оранжевых точек. Есть синие повышения но они не значительны, внизу вырисовываються почти четкая линия - это признаки хорошего сервера, а так же клиента, настроенного на высокую производительность. Захожу на другой: Этот сервер хуже, т.к. линии внизу почти нет - она превратилась в куски синих точек. Я попробовал настроить cl_updaterate чтобы избавиться от них: У меня это получилось, но зеленая полоса начала окрашиваться в желтый цвет что означало что у меня наблюдается choke - скорее всего проблема в сервере, что ни есть хорошо Если бы были красные точки то это потеря пакетов - скорее всего проблемы у вас с сетью/инетом - надо обратиться к провайдеру. Дальше я решил зайти, как мне показалось, на хороший сервер т.к. там было большое количество игроков в любое время суток: Ужасная картина: красные, желтые, оранжевые... здесь сервер вообще будет лагать при самых низких настройках, стрельба отвратительная - все уходить в небо + игроки лагают. Выставив самое низкое значение cl_updaterate 20, ex_interp выставился автоматически 0.05: В итоге, даже с самыми низкими настройками сервер не оправдывает себя, даже если выставить вручную значение ex_interp 0.1 это будет означать смещение моделей с хитбоксов = неправильные цели для попадания(будут случаи когда "прицел был на голове, а пуля пролитела мимо", а так же "ушел за угол, убили с usp") Итог: Выбирайте хорошие сервера, и настраиваете клиент под него с помощью графиков. Помните, на хорошем сервере стрельба будет почти такой же как на лане, моделки будут двигаться плавно, а авп будет стрелять в прицел. Так же не забывайте что самый высокий-плохой ex_interp 0.05, самый низкий-хороший 0.01 на LAN или в интернете не умеет значения, миф "LAN = 0.01;inet = 0.1" звучит с тех пор как использовались 56k модемы, никто не мог себе позволить хороший интернет, да и сети не были расчитаны на такое количество трафика, следовательно сами сервера не поддерживали высокие сетевые настройки. Все про игроки стремятся играть на хороших серверах, и там они ставят ex_interp 0.01 даже если у них пинг 50(проверено по логам esl aequitas) Конешно есть такие игроки, которым пофиг на все и они бегают аля "rate 3500;cl_cmdrate 30;cl_updaterate 20" они естесно будут у вас лагать, хоть и пинг у них будет 5... с этим нечего поделать, главное помнить что он больше испытывает трудностей - у него мало что попадает в прицел. На этом все. С вас пиво (с)agregat. Специально для a-gaming.ru
|
|
| |