• Главная страница
  • /
  • Форум
  • /
  • Статьи и мануалы
  • /
  • Настройка рейтов для Counter-strike 1.6
  • Настройка рейтов для Counter-strike 1.6
    28 марта 2019 г, 12:48
    google.bsk

    Гл. администратор

    Рейтинг: 92

    Сообщений: 52

    Спасибок: 8

    Автор статьи: gudaus

    Рейты - общее название для параметров, определяющих частоту и объём обмена информации сервера с клиентом. Существует ряд причин, по которым игра на сервере может быть некомфортной для клиента, то есть с лагами. Это:
    Ддос. Тут он нас ничего не зависит, с таким справляется хостинг/Датацентр.
    Неправильно настроенные рейты. А вот это можно поправить.
    Плохая связь у конкретного клиента с сервером. Виновен провайдер клиента, опять же мы помочь не можем ничем.
    Плохие маршруты у хостинга/VDS. Надо разговаривать с ТП. Если ничего не решается за неделю, то выход один - переезжать на другую локацию, так как подобные проблемы приводят к лагам у всех игроков и нежеланию играть на таком сервере. Зачем нам терять онлайн из-за подобных вещей?
    Вначале пройдёмся по терминологии.
    sv_maxrate и sv_minrate - максимальное / минимальное количество байт за одну секунду времени которые сервер посылает клиенту, включая потери пакетов (loss).
    sv_minupdaterate и sv_maxupdaterate - минимальная / максимальная частота отсылки обновлений от сервера к клиенту. Влияет на фпс. Если сервер отошлёт клиенту, к примеру, 40 обновлений за 1 секунду, у клиента фпс будет 40 либо ниже.
    loss - количество потерянных пакетов из последних 100. Пакеты могут теряться из-за перегрузки канала либо плохой связи между сервером и клиентом. Проблема в 90% случаев неустранимая.
    choke - количество пакетов, отправка которых была задержана сервером, чтобы не превысить лимит полосы, устанавливаемый sv_minrate, sv_maxrate. Также зависит от sv_minupdaterate и sv_maxupdaterate. Причина - сервер генерирует либо слишком много трафика. Это проблему можно решить настройками.
    Как настраивать рейты?

    Настройка рейтов - дело для каждого сервера индивидуальное, зависящие от железа, канала, билда, нагруженности, так что искать некие "оптимальные" в интернете - занятие интересное, но, увы, малополезное. Лучше это сделать самому по следующим принципам:
    sv_maxrate 20 000 на билдах 5***. sv_maxrate 50 000-100 000 на билде 6***. На билдах 5*** выше, чем 20 000 устанавливать было нельзя. Вы можете прописать любое число в конфиге, хоть миллион, но реально максимум будет 20 000. На билдах 6*** появилась возможность повысить до 100 000, но если канал связи не очень хороший, то имеет смысл поискать оптимальное значение в диапазоне 50 000 - 100 000.
    sv_minrate 50 000 - 100 000 на билдах 5***. sv_minrate 25 000 на билдах 6***. Да, на билдах 5*** нельзя было выставить sv_maxrate больше, чем 20 000, но это обходилось условием sv_minrate. Никакой магии, дело в принципе отбора рейтов HLDS. Работает это так:
    Код:

    if rate>sv_maxrate then rate=sv_maxrate;
    if rateif rate>sv_minrate then rate=rate;

    if rate>sv_minrate then rate=rate;

    if rate


    Под rate имеется в виду клиентский rate. То есть что происходит? В начале HLDS смотрит на maxrate. Если клиентский выше, то понижаем до серверного, если ниже - оставляем как есть. Затем HLDS смотрит на minrate. Если клиентский выше серверного, то оставляем всё как есть, а если клиентский ниже серверного, то приравниваем клиентский к серверному. Вот и получалось на билдах 5***, что клиентский rate всегда ниже, чем серверный(100 000), и принудительно выставлялось значение 100 000. На билдах 6*** максимальное значение sv_maxrate повысили до 100 000, и эта хитрость стала бессмысленной.
    sv_minupdaterate 20-30. 20 - значение по умолчанию, 30 - разумный минимум для человеческого глаза.
    sv_maxupdaterate 60 - 101 для билдов 5*** и sv_maxupdaterate 60 - 102 для билдов 6***
    Теперь можно начать выставлять значения.

    Заходим в server.cfg, сперва выставляем всё по максимуму.

    Для билдов 5*** это
    Код:

    sv_maxrate 20000
    sv_minrate 100000
    sv_minupdaterate 30
    sv_maxupdaterate 101

    Для билдов 6*** это
    Код:

    sv_maxrate 100000
    sv_minrate 25000
    sv_minupdaterate 30
    sv_maxupdaterate 102

    Далее анализируем поведение сервера. Заходим в игру, включаем в консоли график нагрузки (net_graph 0/1/2/3), играем и параллельно смотрим на выданные в нём значения.
    Если сервер фризит, то понизьте sv_minrate на билде 5*** / sv_maxrate на билде 6***. Понизьте sv_minupdaterate до 20.
    Если у клиента choke, то имеет смысл повышать sv_minrate. По сути на билде 5*** вы должны жёстко задать rate клиенту путём sv_minrate>sv_maxrate, а на билде 6*** можно поэкспериментировать с sv_maxrate 100 000 sv_minrate [20 000; 100 000]. Значения выше 100 000 ставить крайне не рекомендуется. Также можно понизить значение sv_maxupdaterate. Зачем слать обновления клиенту, если они всё равно не доходят? Но лучше всего будет, если вы сумеете убрать choke и фризы, не уменьшая sv_maxupdaterate.
    Если избавились от фризов и choke, то можно попробовать потихоньку снижать рейты, дабы лишний раз не нагружать канал. Понизьте sv_minupdaterate до 20, к примеру. Потихоньку снижайте sv_minrate.

    Отредактировал: google.bsk, 28 марта 2019 г, 12:54
    Последняя активность

    Тема: График пакетов

    Автор: iedwardazale

    Дата: 15 июня 2023 г, 22:14

    Тема: Cs 1.6 Fleshas

    Автор: google.bsk

    Дата: 25 мая 2023 г, 12:09

    Тема: Платные мониторинги серверов CS 1.6

    Автор: iedwardazale

    Дата: 23 мая 2023 г, 17:10

    Тема: Настройка рейтов для Counter-strike 1.6

    Автор: xEvilx

    Дата: 25 августа 2019 г, 09:47

    Тема: Стекло

    Автор: google.bsk

    Дата: 10 апреля 2019 г, 06:09

    Топ 5 пользователей

    Логин: google.bsk

    Рейтинг: 92

    Сообщений: 52

    Спасибок: 8

    Логин: Рома Ефремов

    Рейтинг: 7

    Сообщений: 0

    Спасибок: 1

    Логин: pohmeldozer

    Рейтинг: 6

    Сообщений: 1

    Спасибок: 1

    Логин: MaskOFF

    Рейтинг: 6

    Сообщений: 6

    Спасибок: 0

    Логин: iedwardazale

    Рейтинг: 2

    Сообщений: 3

    Спасибок: 0




    BSK-GAMES.RU - Игровые Сервера CS 1.6
    Яндекс.Метрика