find-csource2server_init-and-cgameeventmanager_init-and-gameevenlisted
Install: claude install-skill HLND2T/CS2_VibeSignatures
# Find CSource2Server_Init
Locate `CSource2Server_Init`, `CGameEventManager_Init`, `gameeventmanager`, `s_GameEventManager` in CS2 server.dll or libserver.so using IDA Pro MCP tools.
## Method
### 1. Search for the debug string
```
mcp__ida-pro-mcp__find_regex pattern="gameeventmanager->Init\\(\\)"
```
### 2. Get cross-references to the string
```
mcp__ida-pro-mcp__xrefs_to addrs="<string_addr>"
```
### 3. Decompile the referencing function
```
mcp__ida-pro-mcp__decompile addr="<function_addr>"
```
Verify the function contains the pattern:
```c
COM_TimestampedLog("gameeventmanager->Init()");
sub_XXXXXXXXXX((__int64)off_XXXXXXXX); //This is CGameEventManager_Init(gameeventmanager);
```
### 4. Rename the functions and global variables
#### Rename the function:
```
mcp__ida-pro-mcp__rename batch={"func": [{"addr": "<function_addr>", "name": "CSource2Server_Init"}]}
```
#### Rename the caller of `gameeventmanager` to `CGameEventManager_Init` (if found):
```
mcp__ida-pro-mcp__rename batch={"data": {"old": "sub_XXXXXXXXXX", "new": "CGameEventManager_Init"}}
```
#### Rename the game event manager pointer (if found):
```
mcp__ida-pro-mcp__rename batch={"data": {"old": "off_XXXXXXXX", "new": "gameeventmanager"}}
```
#### Rename the global class instance to s_GameEventManager (if found):
The pointer `gameeventmanager` points to a global class instance which is actually `s_GameEventManager`:
```
.data:0000000181B89710 off_181B89710 dq offset off_181B8AAD0
```
```
.dat