А что эта вещь дает? Без нее что не так будет? ) Я минималист, не люблю лишнее =)
Ужас какой вы предлагаете О_О
И .so и .vdf файл в папку addons.
Сообщение отредактировал Apocalypse 2: 30 Январь 2017 - 12:19
Отправлено 03 Апрель 2016 - 15:59
А что эта вещь дает? Без нее что не так будет? ) Я минималист, не люблю лишнее =)
Ужас какой вы предлагаете О_О
И .so и .vdf файл в папку addons.
Сообщение отредактировал Apocalypse 2: 30 Январь 2017 - 12:19
Отправлено 05 Апрель 2016 - 18:30
Чтобы настройки сохранялись, можно их прописать в параметры запуска игры:
1) Steam - Свойства игры - Общие - Установить параметры запуска...
2) Прописать (пример):
-console -novid +rate 100000 +cl_updaterate 100 +cl_cmdrate 100 +cl_interp 0,02
console - сразу открытая консоль после входа в игру (может кому будет удобно)
novid - отключает надоевший вступительный видеоролик при входе в игру
rate - максимальное кол-во байт в секунду, посылаемых серверу клиентом. По умолчанию 10000. Предел ограничивается настройками сервера.
cl_updaterate - сколько обновлений в секунду посылает сервер клиенту. По умолчанию 20. Предел ограничивается настройками сервера.
cl_cmdrate - обратно предыдущей команде. Сколько раз в секунду будет клиент отправлять информацию на сервер. Предел ограничивается настройками сервера.
cl_interp - интерполяция (сглаживание промежуточных кадров). Чем ниже, тем лучше, т.к. будет получена более точная обстановка на сервере (игроки, объекты, выстрелы и т.д.). По умолчанию = 0.1 (lerp при этом, обычно, = 100). Необходимо найти для себя оптимальное значение, чтобы lerp был обязательно белого цвета. Если не вникать - лучше не трогать этот параметр вообще.
* Цифры выставляются персонально по вкусу и качеству вашего интернета + сервера.
* cl_updaterate и cl_cmdrate можно ограничить на значении, равном fps, например в 60.
без расширения бесполезны настройки
sv_maxupdaterate "100"
sv_maxrate "60000"
https://bitbucket.or...ckrate_enabler/всё верно я поторопился и опять херню сморозил
А как понять что оно работает? В meta list не отображается. При вводе rate более 30к, так же пишет, что максимум 30. Оба файла в корне addons поселил.
Отправлено 05 Апрель 2016 - 18:49
plugin_print. Остальное зависит от ваших настроек рейтов.
Сообщение отредактировал Accelerator: 05 Апрель 2016 - 18:50
Отправлено 06 Апрель 2016 - 2:31
плагин у вас есть все нужные настройки там имеются
вам осталось только поставить расширение
L4D https://bitbucket.or...abler/downloads
tickrate_enabler.vdf (в папку addons)
tickrate_enabler.so (в папку extensions)
Версия 1.3 под windows (тестовый сервер) дает ошибку при старте...
2016-04-06 09_28_05-10.254.254.103 — Подключение к удаленному рабочему столу.jpg 58,46К 4 Количество загрузок:
Под Linux тоже не пошла (без ошибок), просто будто игнорируется.
Стоит ли использовать версию 1.4, которая по штату есть в панели управления? Она завелась без проблем. В plugin_print отображается!
Сообщение отредактировал MixJay: 06 Апрель 2016 - 7:01
Отправлено 07 Апрель 2016 - 6:06
Оставил штатный Tickrate Enabler 1.4.0 от Арены. Tickrate 100 (разница в цене копейки). На деле 66 vs 100 разницы пока не понял. Провел тесты на сервере с ордой в 70-100 зомбей. Получил для себя конфиг:
sv_minrate 30000;
sv_maxrate 125000;
sv_mincmdrate 30; // по умолчанию у клиента = 30
sv_maxcmdrate 100; // по умолчанию у клиента = 40
sv_minupdaterate 25; // по умолчанию у клиента = 20
sv_maxupdaterate 100;
sv_client_min_interp_ratio 0;
sv_client_max_interp_ratio 2;
nb_update_frequency 0.05; // по умолчанию 0.1. При 0.03 растет нагрузка.
net_splitpacket_maxrate 50000; // Tick множим на 500
fps_max 125; // для меня оказался оптимально 125 - меньше всего пинг. Можно выше, вплоть до 505, но растет нагрузка на сервер!
Наконец то пинг значительно снизился! У некоторых (особенно иностранцев) в 2 раза! Спасибо всем, кто помог разобраться в этом деле! )
Минимальные значения не стал задирать, кроме minrate. Кому надо - сами подстроят, т.к. дело индивидуальное. В расчете отталкивался от: 20-40 зомби + 16 игроков + 5-7 боссов.
При настройках клиента updaterate = 30 и cmdrate = 30, rate 30000 хватало, чтобы не получать choke выше пары единиц. При максимальных настройках, 125к хватило, чтобы избежать потерь.
Сообщение отредактировал MixJay: 07 Апрель 2016 - 6:17
Отправлено 07 Апрель 2016 - 13:20
Версия 1.3 под windows (тестовый сервер) дает ошибку при старте...
2016-04-06 09_28_05-10.254.254.103 — Подключение к удаленному рабочему столу.jpg
Под Linux тоже не пошла (без ошибок), просто будто игнорируется.
Стоит ли использовать версию 1.4, которая по штату есть в панели управления? Она завелась без проблем. В plugin_print отображается!
Сообщение отредактировал Apocalypse 2: 30 Январь 2017 - 12:20
Отправлено 10 Май 2016 - 19:20
У кого нибудь есть изменения в использовании ОЗУ ?
По какой то причине сегодня примерно на 100мб меньше график показывает в ПУ... Обычно значения в р-не 500-550 мб.
2016-05-11 02_10_26-MyArena.ru __ Аренда игровых серверов. Аренда сервера Counter-Strike. Панель упр.jpg 29,09К 0 Количество загрузок:
Отправлено 10 Май 2016 - 22:36
...
Сообщение отредактировал Apocalypse 2: 30 Январь 2017 - 12:20
Отправлено 12 Май 2016 - 11:19
...
в большинстве случаев этот баг выползает после обновления конкретно в L4D2 и спасает только полная переустановка сервера
...
В точку! ) После переустановки все нормально стало.
Отправлено 29 Июнь 2016 - 8:33
Господа, кто разбирается в SM, подскажите оптимальный вариант такой вещи...
Есть несколько плагинов, которые необходимо связать между собой. Например, в одном плагине мы получаем имя карты на старте в переменную sMap. Во втором необходимо просто использовать эту переменную.
1) Создать cvar и хукать его изменение, либо проверять значение cvar'a по событию\таймеру. Будет потеря производительности на поиск, извлечение\обработку...
2) Создать нативную функцию + AskPluginLoad2. Думай, будет определенная потеря производительности...
3) Слить оба плагина в один. Не теряем производительности вовсе, но может получиться каша, если грамотно не выстроить скелет!
4) ... ???
Отправлено 29 Июнь 2016 - 10:29
if (FindConVar("sm_ar_doorlock_sec") == null) l4d2_plugin_keyman = false;
else l4d2_plugin_keyman = true;
нашел в 1м плагине проверку плагина кейман, не оно?
Отправлено 29 Июнь 2016 - 10:37
if (FindConVar("sm_ar_doorlock_sec") == null) l4d2_plugin_keyman = false;
else l4d2_plugin_keyman = true;
нашел в 1м плагине проверку плагина кейман, не оно?
Спасибо, но это не то о чем речь. Ваш пример просто проверяет существование консольной переменной.
Интересуют альтернативные подходы, либо совет по наиболее удачной реализации поставленной задачи.
Отправлено 30 Июнь 2016 - 4:57
Есть несколько плагинов, которые необходимо связать между собой.
http://www.sourcemod...teGlobalForward
http://world-source....orum/100-2382-1
Сообщение отредактировал Figa: 30 Июнь 2016 - 5:28
Отправлено 13 Июль 2016 - 9:39
Небольшой тест производительности функций.
Число повторов каждого теста: 10000000.
ig_client = 1;
1) if (IsClientInGame(ig_client)){}
2) if (IsFakeClient(ig_client)){}
3) if (GetClientTeam(ig_client) == 2){}
4) if (IsPlayerAlive(ig_client)){}
5) if (GetEntProp(ig_client, Prop_Send, "m_zombieClass") == 8){}
6) if (IsClientConnected(ig_client)){}
Результаты (в секундах):
1) 0.141901
2) 0.152312
3) 0.208294
4) 0.187713
5) 1.583985
6) 0.133592
+ Бонус. Выгоднее использовать конструкцию:
for (int i = 1; i <= MaxClients; i++)
{
if (IsClientInGame(i))
{
PrintToChat(i, "text");
}
}
....чем штатную PrintToChatAll. А вот почему:
stock void PrintToChatAll(const char[] format, any ...)
{
char buffer[254];
for (int i = 1; i <= MaxClients; i++)
{
if (IsClientInGame(i))
{
SetGlobalTransTarget(i);
VFormat(buffer, sizeof(buffer), format, 2);
PrintToChat(i, "%s", buffer);
}
}
}
И это касается некоторых других функций. (Спасибо за советы iHX)
Сообщение отредактировал MixJay: 13 Июль 2016 - 9:42
Отправлено 13 Июль 2016 - 12:07
Не думаю, что вы вызываете подобные функции по 10000000 раз в 1 тик непосредственно в игре По сути, смысла искать в них времени обработки вообще никакого, и отламывать колесо у велосипеда тоже нет смысла (PrintToChatAll).
Могу привести пример хорошей оптимизации:
SetEntProp(client, Prop_Send, "m_iHealth", 100);
Данная конструкция выполняется в 4 раза дольше, чем эта:
int m_iHealth; public void OnPluginStart() { m_iHealth = FindSendPropInfo("CTerrorPlayer", "m_iHealth"); } SetEntData(client, m_iHealth, 100);
Это сугобо для примера. К примеру если вы используете доп. урон в событии player_hurt, которое вызывается очень много раз.
Делайте функции компактнее там, где они чаще всего в игре могут вызываться (по несколько раз в секунду к примеру), во всех остальных случаях, упрощать даже стандартные функции инклудов нецелесообразно.
Сообщение отредактировал Accelerator: 13 Июль 2016 - 12:10
Отправлено 13 Июль 2016 - 17:29
Данная конструкция выполняется в 4 раза дольше, чем эта:
int m_iHealth; public void OnPluginStart() { m_iHealth = FindSendPropInfo("CTerrorPlayer", "m_iHealth"); } SetEntData(client, m_iHealth, 100);
Перепроверил в тесте. Так и есть. Разница не менее 4-х крат! ))
Не подскажите как самом найти нужный класс необходимого свойства (чтобы не тратить кучу времени на поиски)? Например:
m_iClip1 = FindSendPropInfo( " ?????? " , "m_iClip1");
Отправлено 13 Июль 2016 - 18:46
sm_dump_netprops
Вроде так. Для вашего примера должно подойти CTerrorWeapon. Тут надо главное понять, оффсет какой Entity вы хотите найти
Сообщение отредактировал Accelerator: 13 Июль 2016 - 18:52
Отправлено 14 Июль 2016 - 1:24
sm_dump_netprops
Вроде так. Для вашего примера должно подойти CTerrorWeapon. Тут надо главное понять, оффсет какой Entity вы хотите найти
В данном случае экспериментировал с перезарядкой пилы.
Подобрал "CBaseCombatWeapon", проверил, работает.Проверю так же и "CTerrorWeapon".
...
Проверил. Получается CBaseCombatWeapon и CTerrorWeapon дают один и тот же эффект (m_iClip1 = 5140).
Сообщение отредактировал MixJay: 14 Июль 2016 - 1:42
Отправлено 21 Декабрь 2018 - 21:30
Привет всем)
Можно пару вопросов.
1. Сервер 100тик установить плагин Tickrate Enabler 1.4.2 и все? Больше ничо устанавливать не нужно?
2. Если сервер не на моем компе, а арендован myarena то игра что у меня самого(когда зашел на своей серв) что у игроков играющих со мной будет +\- одинаковой(лаги, пинг и прочее)?
3. На лаги и прочее влияет не только сервер myarena, но и железо самих игроков? Т.е если у кого то комп слабый - зависать, подлагивать будет по любому какой бы сервер крутой нибыл?
P.s свой какие то настройки делаете или все по умолчанию оставляете(имею в виду sv_minrate,sv_maxrate,sv_mincmdrate,sv_maxcmdrate... ну вы поняли)
Сообщение отредактировал Pringles: 21 Декабрь 2018 - 21:33
Отправлено 22 Декабрь 2018 - 1:12
Привет всем)
Можно пару вопросов.
1. Сервер 100тик установить плагин Tickrate Enabler 1.4.2 и все? Больше ничо устанавливать не нужно?
2. Если сервер не на моем компе, а арендован myarena то игра что у меня самого(когда зашел на своей серв) что у игроков играющих со мной будет +\- одинаковой(лаги, пинг и прочее)?
3. На лаги и прочее влияет не только сервер myarena, но и железо самих игроков? Т.е если у кого то комп слабый - зависать, подлагивать будет по любому какой бы сервер крутой нибыл?
P.s свой какие то настройки делаете или все по умолчанию оставляете(имею в виду sv_minrate,sv_maxrate,sv_mincmdrate,sv_maxcmdrate... ну вы поняли)
1. Данное расширение нужно для tick 66 и 100.
Исправляет много проблем, самое заметно для всех это пинг игроков.
2. Нет все будет по разному. У игроков зависит от скорости интернета и железа (на больших серверах рекомендую снижать настройки игры в плане графики, это помогает).
Короткая информация, так как походу мало кто вообще знает из простых людей как это работает. По этому скажу более понятным языком.
Клиент - Это пользователь который подключается к серверу для он-лайн игры.
Сервер - Это машина которая соединяет всех клиентов, и передает им пакеты данных.
Пинг - Это скорость обмена данных между Клиентом и Сервером
Разные настройки виде tick играют роль в плане количества пакетов которые будут отправляться и приниматься сервером от клиента.
То есть чем больше tick тем больше обмена пакетом данных игрок получит. То есть игрок будет лучше видеть цель и события на сервере, что будет влиять на комфортную игру самого Клиента. Актуально если много людей.
Если сервер на 8 человек то норм с 33 до 66
Если сервер на 9 -12 то лучше 66
Если сервер на 13 - 20 то 66 - 124 (на l4d2 макс 100 можно)
Если сервер на 20 и выше то 124
Пинг это скорость соединения каждого Клиента и Сервера.
Разные настройки виде tick это какое количество пакетов будет
3. Лаги будут только у Клиента
Бывает ещё такое что Серверу может не хватать памяти и т.д на самой машине.
- В плане памяти тут может быть много плагинов или утечка памяти.
Сообщение отредактировал dr_lex: 22 Декабрь 2018 - 1:16
Игровые сервера →
Left 4 Dead 2 →
Нагрузка сервера на ядро процессора 100%Автор pedre228 , 22 мар 2024 производительность |
|
|
||
Игровые сервера →
Garry's Mod →
Оптимизация контента сервера, сжатие моделей без существенного потери качества.Автор Iston-Play , 19 июн 2023 оптимизация, контент сервера и 1 еще... |
|
|
||
Игровые сервера →
Counter-Strike 1.6 →
Модуль "Netbufextender v1.0"Автор mr.lazyr228 , 18 фев 2022 нагрузка, CS 1.6, модуль, моды и 4 еще... |
|
|
||
Игровые сервера →
Unturned →
Проблемы сервераАвтор V1nDeer , 21 июл 2020 Unturned, Servers, Лаги и 5 еще... |
|
|
||
Игровые сервера →
Counter-Strike: Source →
:reliable state invalid (0).Автор Zaycev___ , 01 июн 2019 reliable state invalid, reliable и 4 еще... |
|
|
0 пользователей, 0 гостей, 0 анонимных