Главная Форум Статьи Файлы Форум Статьи
Главная | Регистрация | Вход
  • Страница 1 из 1
  • 1
XDS Optimizer
x3mal
Дата: Пятница, 29.01.2010, 03:01 | Сообщение # 1
Администратор
Сообщений: 71
Награды: 3 +
Репутация: 9 ±
Замечания: ±
Пол: Мужчина







Рад представить вашему вниманию XDS Optimizer - это плагин для metamod-а, занимающийся различными фиксами внутри движка HLDS, список которых будет потихоньку пополняться.
На данный момент он умеет:
- полный фикс svc_bad-ов вида Server failed to transmit file 'AY&SY'
- для игроков с синхронными cmdrate и updaterate делается оптимизация их соединения. Заключается она в отсылке обновлений (upd пакетов) сразу после получения данных от игрока (cmd пакетов). В результате значительно уменьшается время живого отклика сервера на низких рэйтах, и, как побочный эффект, понижается пинг.
При этом на сервере не требуется заоблачных фпс, достаточно стабильных 200.

Небольшое HowTo:

Эта оптимизация имеет смысл только для невысоких cl_updaterate. При приближении значения cl_updaterate к клиентскому фпс она теряет смысл и появляется пинг 4-5. Причина появления - как раз таки низкий клиентский фпс.

Оптимизация работает только когда сервер получает больше пакетов, чем требуется отправлять клиенту (иными словами, при cl_cmdrate > cl_updaterate)

Разность cl_cmdrate и cl_updaterate не должна быть большой. Максимальную разность, которую может компенсировать оптимайзер задается кваром xds_boostfactor в долях cl_updaterate. Например, при cl_updaterate 40 и xds_boostfactor 0.4 максимальный cl_cmdrate будет 40+(40*0.4) = 56. Если поставить значение выше, то синхронизация upd и cmd пакетов сбивается, и время отклика увеличивается.

Для любителей низкого пинга: ставим xds_boostfactor 10. Тогда оптимизация будет работать даже при cl_updaterate 40 и cl_cmdrate 101. Но помните, что значение cl_updaterate будет игнорироваться и сервер будет отвечать upd пакетом на каждый cmd пакет, что приведет к росту исходящего трафика и загрузки цп.

Что надо сделать, чтобы достичь минимального пинга? Ответ ниже:
o На клиенте должен быть стабильный фпс. Неважно, 60 или 100, главное, что он не должен прыгать.
o Клиент должен отсылать cmd пакеты через равные промежутки времени. Контролируется это самым нижним графиком в net_graph 2 (обведено зеленым и увеличено справа):

Каждая точка на графике - это отрисованный клиентом кадр. Красная точка означает, что в момент отрисовки этого кадр не был послан cmd пакет. Прозрачная точка означает, что cmd пакет был послан. Этот график должен быть либо полностью прозрачным (клиент отсылает данные каждый фрэйм, достигается установкой cl_cmdrate 101), либо данные должны отсылаться через кадр, как показано на картинке. Для этого ставим cl_cmdrate = client_fps/2 + 10.
o ставим cl_updaterate на 10 меньше cl_cmdrate.
o На стороне сервера должен быть стабильный фпс >200
o choke и loss быть не должно! Универсальный рецепт от choke - ставить sv_minrate 50000
o Помните, что красивый маленький пинг не отражает реальной задержки. Минимальная задержка достигается установкой cl_cmdrate 101, cl_updaterate 101 (если это позволяет сервер)

Чтобы не было подозрений, что пинг 0 - это фэйк, я расскажу как он расчитывается. Во-первых, пинг (это то что отображается в столбце Latency в Scoreboard) - это задержка ответа клиента относительно сервера. В упрощенном варианте - сервер посылает запрос на клиент и ждет, когда он ответит. После этого находится время время между посылкой и ответом - это есть реальная игровая задержка. Далее из этого времени вычитается интервал посылки обновлений, и в результате получается то, что с точки зрения hlds называется пингом. Интервал посылки обновлений находится как 1/cl_updaterate, то есть при cl_updaterate 40 интервал обновления равен 1/40 = 0,025сек = 25мсек.
Пинг 0 означает, что реальная задержка в игре меньше интервала обновления, а не то, что ее совсем нет. Вот так.

Плагин работает только на новых серверах, движок для патчинга взят с dproto. Все кто сидит на всяких 3647 и 2738 идут в трещину

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

Как устанавливать:

* Создаем папку gamedir/addons/xdsopt
* Распаковываем в нее архив
* Открываем текстовым редактором gamedir/addons/metamod/plugins.ini, добавляем туда строку
под Windows:

Quote

win32 addons\xdsopt\xds_opt.dll

под Linux:

Quote

linux addons/xdsopt/xds_opt.so

* Запускаем сервер, после запуска смотрим meta list. Если статус плагина не RUN, значит ваш билд не поддерживается.
* Даем серверу команду xds_stat. Вывод должен быть таким:

Quote

[XDSOPT]: Current Status: Active (100)
[XDSOPT]: Owner: DemoVersion
[XDSOPT]: Custom Message:

* Все, установка закончена

xds


Сборка серверов counter-strike 1.6 на заказ. писать в ЛС
Бог сайта и форума За дизайнерские умения За хорошую посещаемость на форуме
  • Страница 1 из 1
  • 1
Поиск:

Статистика Top 5
Последние новости Самые отвечаемые темы Последние статьи Последние сообщения
Анонс Arbalet CU... 22.04.2010
Новый состав UNI... 21.04.2010
DTS.Chatrix расф... 21.04.2010
Результаты Swedi... 19.04.2010
Результаты Arbal... 18.04.2010
Nojabrsk City Ch... 47
Наша Russia: Яйц... 9
Дизайн 8
Windows 7
SIT STAY PLAY DA... 6
Тема Дата, Время Автор Раздел
Nojabrsk City ... 02.08.2026, 11:37 malina_nsk Футбол
Дизайн 02.08.2026, 11:34 x3mal О форуме
Secrets of Alc... 02.08.2026, 11:34 MitziSceve О форуме
10/20: Galacti... 02.08.2026, 11:21 MitziSceve Сериалы
Beste Platform... 02.08.2026, 11:20 MitziSceve Сериалы
Crown Jewels s... 02.08.2026, 11:20 MitziSceve Кино
Joker Poker sl... 02.08.2026, 11:19 MitziSceve Кино
Roman Legend s... 02.08.2026, 11:02 MitziSceve О спорт ты - мир!
Gokkastenonlin... 02.08.2026, 11:01 MitziSceve О спорт ты - мир!
Sweet Spins 20... 02.08.2026, 11:00 MitziSceve Футбол
Новые пользователи Активные пользователи Лучшие комментаторы
lisa_smith35 30.07.2026
Sunburstvqg 30.06.2026
Generationqtb 30.06.2026
Kirill 25.06.2026
omlyiecyd 17.06.2026
MitziSceve 20246
Nermerus 624
Preargejap 162
docxters 138
Josephmib 72
gOa 26
x3mal 11
malina_nsk 3
SevQa 2
slipex 1
При копировании материала, ссылка на //friends-cyber.clan.su/ обязательна!