Find CEntitySystem_AddEntityIOEvent
Locate CEntitySystem_AddEntityIOEvent in CS2 server.dll or server.so using IDA Pro MCP tools.
Method
Search for the input event string:
mcp__ida-pro-mcp__find_regex pattern="_DisableUpdateTarget"Get cross-references to the string:
mcp__ida-pro-mcp__xrefs_to addrs="<string_addr>"Decompile the referencing functions to find the pattern:
mcp__ida-pro-mcp__decompile addr="<function_addr>"Identify the CEntitySystem_AddEntityIOEvent function:
- Look for a function that contains calls to a function with "SetPosition" as a parameter
- The pattern looks like:
sub_XXXXXX(qword_XXXXXX, a1, "_DisableUpdateTarget", a1, a1, 0, 0, 0LL, 0LL); // ... setup code ... sub_YYYYYYYY(qword_XXXXXX, a1, "SetPosition", a1, a1, &v27, v16, v20, 0LL, 0LL); - The function
sub_YYYYYYYYcalled with "SetPosition" parameter isCEntitySystem_AddEntityIOEvent
Rename the function:
mcp__ida-pro-mcp__rename batch={"func": [{"addr": "<function_addr>", "name": "CEntitySystem_AddEntityIOEvent"}]}Generate and validate unique signature:
ALWAYS Use SKILL
/generate-signature-for-functionto generate a robust and unique signature for the function.Write IDA analysis output as YAML beside the binary:
ALWAYS Use SKILL
/write-func-as-yamlto write the analysis results.Required parameters:
func_name:CEntitySystem_AddEntityIOEventfunc_addr: The function address from step 4func_sig: The validated signature from step 6
String References
The function is identified by finding code that:
- Calls
CEntitySystem_FireEntityIOEvent(or similar) with"_DisableUpdateTarget" - Then calls
CEntitySystem_AddEntityIOEventmultiple times with"SetPosition" - Finally calls with
"_EnableUpdateTarget"
Function Characteristics
Parameters:
arg0: Entity system pointer (global)arg1: Target entity pointerarg2: Input name (const char*, e.g., "SetPosition")arg3: Activator entityarg4: Caller entityarg5: Value pointerarg6: Delay (float as int)arg7: Output IDarg8: Reserved (0)arg9: Reserved (0)
Purpose: Adds an entity I/O event to be fired after a specified delay
Related Functions
CEntitySystem_FireEntityIOEvent- Fires entity I/O events immediately (called with "_DisableUpdateTarget", "_EnableUpdateTarget")CEntitySystem_AddEntityIOEvent- Queues entity I/O events with delay (called with "SetPosition")
Output YAML Format
The output YAML filename depends on the platform:
server.dll→CEntitySystem_AddEntityIOEvent.windows.yamlserver.so→CEntitySystem_AddEntityIOEvent.linux.yaml
func_va: 0x181170ed0 # Virtual address of the function - This can change when game updates.
func_rva: 0x1170ed0 # Relative virtual address (VA - image base) - This can change when game updates.
func_size: 0x1e3 # Function size in bytes - This can change when game updates.
func_sig: XX XX XX XX XX # Unique byte signature for pattern scanning - This can change when game updates.