- Статус
- Оффлайн
- Регистрация
- 13 Фев 2026
- Сообщения
- 445
- Реакции
- 10
Народ, кто плотно ковыряет CryEngine и старые сурсы под Warface? Попал в руки один древний билд, пытаюсь довести до ума, но столкнулся с классической проблемой: при высоком фаеррейте сервер моментально выкидывает из комнаты.
Суть в том, что логика прокидывает RequestHit через pGameRules. Если стрелять слишком активно, прилетает кик — видимо, сервер или MRAC палит аномальное количество попаданий в единицу времени.
Сам кусок кода, который вызывает вопросы:
Собственно, вопрос: как сейчас грамотно реализовать ограничение этих хит-реквестов, чтобы и урон регистрировался стабильно, и сервер не триггерился? Пробовал играться с timeStamp и вводить искусственные задержки, но результат так себе: либо урон пропадает, либо всё равно кикает через пару секунд плотного зажима.
Кто как обходил подобные серверные лимиты в своих пастах или приватках?
Отпишитесь, кто фиксил подобный кик.
Суть в том, что логика прокидывает RequestHit через pGameRules. Если стрелять слишком активно, прилетает кик — видимо, сервер или MRAC палит аномальное количество попаданий в единицу времени.
Сам кусок кода, который вызывает вопросы:
Код:
HitInfo info;
info.shooterId = p_actor->m_entityId;
info.targetId = pTarget->GetEntityId();
info.projectileId = dwProjectileId;
info.material = pGameRules->GetHitMaterialId(HitMaterial(pTarget, ClassName));
info.type = pGameRules->GetHitTypeId("bullet");
info.partId = nPartId;
info.pos = vPos;
info.dir = info.pos - movement.weaponPosition;
info.distance = 0.1f;
info.dir = info.dir / info.distance;
info.shootPos = movement.weaponPosition;
info.itemId = p_curet_items->GetItemId();
info.itemType = 100;
info.normal = info.dir * -1.f;
info.timeStamp = IGameFramework::Singleton()->GetCurrTimeMillis() * 10.f;
pGameRules->RequestHit(&info);
Собственно, вопрос: как сейчас грамотно реализовать ограничение этих хит-реквестов, чтобы и урон регистрировался стабильно, и сервер не триггерился? Пробовал играться с timeStamp и вводить искусственные задержки, но результат так себе: либо урон пропадает, либо всё равно кикает через пару секунд плотного зажима.
Кто как обходил подобные серверные лимиты в своих пастах или приватках?
Отпишитесь, кто фиксил подобный кик.