WELCOME TO INFOCHEATS.NET

INFOCHEATS is a community-driven platform focused on free game cheats, cheat development, and verified commercial software for a wide range of popular games. We provide a large collection of free cheats shared by the community. All public releases are checked for malicious code to reduce the risk of viruses, malware, or unwanted software before users interact with them.

Alongside free content, INFOCHEATS hosts an active marketplace with many independent sellers offering commercial cheats. Each product is discussed openly, with user feedback, reviews, and real usage experience available to help you make informed decisions before purchasing.

Whether you are looking for free cheats, exploring paid solutions, comparing sellers, or studying how cheats are developed and tested, INFOCHEATS brings everything together in one place — transparently and community-driven.

Guide Warface — Optimizing RequestHit to Avoid Packet Flooding Kicks

byte_corvus

Newbie
Newbie
Newbie
Newbie
Status
Offline
Joined
Mar 3, 2026
Messages
421
Reaction score
7
CryEngine internals are always a headache when it comes to server-side rate limiting.

I have been digging through some older sources for a private build and I am hitting a wall with the hit registration logic. Specifically, when the rate of fire is pushed beyond the intended limits or when simulating high-frequency hits, the server-side check triggers an immediate kick from the room.

The current implementation for sending hits relies on the RequestHit function within the GameRules. Here is the core structure being used:

Code:
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"); // supports: melee, melee_secondary, 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);

The Technical Conflict
The server monitors the frequency of these packets. If you are calling RequestHit too frequently—standard for "Magic Bullet" or high-ROF exploits—the server-side logic flags it as a flood. The timeStamp multiplier (currently * 10.f) might also be causing desync issues if the server expects a different clock synchronization.

Points for Optimization:
  1. Throttling: We need to find the maximum allowed packets-per-second (PPS) the server accepts before the kick trigger.
  2. Bullet Manipulation: Instead of increasing the number of requests, we should look into whether the material or partId can be spoofed to maximize damage per single request.
  3. Timestamp Accuracy: Verify if the GetCurrTimeMillis sync is actually matching the server's tick rate.

Has anyone found the hard limit for hit requests on these older CryEngine builds without catching a kick?
 
Top