Страница 1 из 1

Дополнение правил - Злоупотребление механиками работы сервера

Добавлено: 18 мар 2024, 17:43
Gorlum
К заглавной теме относится всё, что прямо не запрещено, но замедляет работу сервера и/или мешает игре других игроков. Это включает (но не исчерпывает) создание излишней нагрузки серверу, ухудшающую его отзывчиваость.

Если совсем вдаваться в частности к таким действиям относится перегрузка очереди обсчёта флотов или/и попытки частого рефреша страниц.

Как этого избежать? Не рефреште страницы часто и без нужды, а так же старайтесь разносить прибиытие флотов за пределы 6 секунд - удвоенный интервал обсчёта флота, что бы они с гарантией попали в разные циклы.

Код обсчёта флота самый критичный и плохооптимизируемый кусок кода из-за большого количества операций, которые нужно произвести. Я сделал с ним всё, что мог придумать для ускорения - но этого всё еще недостаточно.

В реальной жизни почти невозможно достичь перегрузки очереди флотов - потому что вероятность совпадения крайне мала. По факту - наоборот: нужно очень точное планирование и манипуляция временем отправки с кучей предварительных расчётов. Поэтому любые такие совпадения я буду считать намеренными и банить. Если при этом будут поступать жалобы от игроков - буду банить на более долгие сроки и, возможно, с отключением отпускной защиты.

Отдельно обговорю вопрос скоординированных атак - раз вы их координируете с точностью до секунд - принимайте во внимание вышеописанные ограничения. Делайте разл1ёт между прилётом более 6 секунд. Аргумента "оно само получилось" будут купироваться аргументом "оно само забанилось".

Ракетные атаки тоже считаются "флотом" и обслуживаются в общей очереди флотов - просто потому, что они и есть флот и нуждаются буквально в тех же шагах обсчёта, что и обычные флоты.

Со своей стороны я посмотрю код еще раз - может какая-то новая мысль прийдёт в голову или поможет накопленный опыт и я увижу пути оптимизации, которых не видел раньше.