Find CSpawnGroupMgrGameSystem_GetSpawnGroups
Locate CSpawnGroupMgrGameSystem_GetSpawnGroups in CS2 server.dll or libserver.so using IDA Pro MCP tools.
Method
Search for the format string:
mcp__ida-pro-mcp__find_regex pattern="%d spawn groups"Get cross-references to the string:
mcp__ida-pro-mcp__xrefs_to addrs="<string_addr>"Decompile the referencing function:
mcp__ida-pro-mcp__decompile addr="<function_addr>"Identify
CSpawnGroupMgrGameSystem_GetSpawnGroupsby looking for this code pattern in the decompiled function:sub_XXXXX(a1, &v_count); IsChannelEnabled = LoggingSystem_IsChannelEnabled(..., 2LL); v4 = v_count; if ( IsChannelEnabled ) LoggingSystem_Log(..., 2LL, "%d spawn groups:\n", v_count);The
sub_XXXXX(a1, &v_count)call immediately before the"%d spawn groups:\n"log isCSpawnGroupMgrGameSystem_GetSpawnGroups.Rename the function:
mcp__ida-pro-mcp__rename batch={"func": [{"addr": "<GetSpawnGroups_addr>", "name": "CSpawnGroupMgrGameSystem_GetSpawnGroups"}]}Generate and validate unique signature:
ALWAYS Use SKILL
/generate-signature-for-functionto generate a robust and unique signature forCSpawnGroupMgrGameSystem_GetSpawnGroups.Write IDA analysis output as YAML beside the binary:
ALWAYS Use SKILL
/write-func-as-yamlto write the analysis results forCSpawnGroupMgrGameSystem_GetSpawnGroups.Required parameters:
func_name:CSpawnGroupMgrGameSystem_GetSpawnGroupsfunc_addr: The function address from step 5func_sig: The validated signature from step 6
Signature Pattern
The function is called right before a logging call with format string:
%d spawn groups:\n
Source file: game\shared\spawngroupmgrgamesystem.cpp
Function Characteristics
- Parameters:
(this, &out_spawn_group_ids)wherethisis CSpawnGroupMgrGameSystem pointer,out_spawn_group_idsis a pointer to an output structure receiving spawn group count and ID array - Purpose: Retrieves the list of spawn group IDs managed by the spawn group manager game system
- Not a virtual function: This is a regular member function, no vtable lookup needed
Output YAML Format
The output YAML filename depends on the platform:
server.dll→CSpawnGroupMgrGameSystem_GetSpawnGroups.windows.yamllibserver.so→CSpawnGroupMgrGameSystem_GetSpawnGroups.linux.yaml