view --main find-ccsgamerules_gotointermission-skill-poiska-funktsii-v-cs2.md
find-CCSGameRules_GoToIntermission: Скилл поиска функции в CS2
readonly
--- lines
---
name: find-CCSGameRules_GoToIntermission
description: Find and identify the CCSGameRules_GoToIntermission function in CS2 binary using IDA Pro MCP. Use this skill when reverse engineering CS2 server.dll or libserver.so to locate the GoToIntermission function by searching for the "Going to intermission..." string reference.
disable-model-invocation: true
---
# Find CCSGameRules_GoToIntermission
Locate `CCSGameRules_GoToIntermission` in CS2 server.dll or libserver.so using IDA Pro MCP tools.
## Method
### 1. Search for Reference String
Search for the string `"Going to intermission..."`:
```
mcp__ida-pro-mcp__find_regex pattern="Going to intermission"
```
Note the string address.
### 2. Find Cross-Reference and Containing Function
Get xrefs to the string address:
```
mcp__ida-pro-mcp__xrefs_to addrs="<string_address>"
```
This will lead to `CCSGameRules_GoToIntermission`. Rename it:
```
mcp__ida-pro-mcp__rename batch={"func": [{"addr": "<function_addr>", "name": "CCSGameRules_GoToIntermission"}]}
```
### 3. Get VTable Index
**ALWAYS** Use SKILL `/get-vtable-index` to get vtable offset and index for the function `CCSGameRules_GoToIntermission`.
VTable class name: `CCSGameRules`
### 4. Generate Signature
**ALWAYS** Use SKILL `/generate-signature-for-function` to generate a robust and unique signature for `CCSGameRules_GoToIntermission`.
### 5. Write Analysis Results as YAML
**ALWAYS** Use SKILL `/write-vfunc-as-yaml` to write the analysis results for `CCSGameRules_GoToIntermission`.
Required parameters:
- `func_name`: `CCSGameRules_GoToIntermission`
- `func_addr`: The function address from step 2
- `func_sig`: The signature from step 4
VTable parameters:
- `vtable_name`: `CCSGameRules`
- `vfunc_index`: The vtable index from step 3
- `vfunc_offset`: The vtable offset from step 3
## VTable Information
- **VTable Name**: `CCSGameRules::`vftable'`
- **VTable Mangled Name (Windows)**: `??_7CCSGameRules@@6B@`
- **VTable Mangled Name (Linux)**: `_ZTV12CCSGameRules`
- **VTable Index**: 128 - This can change when game updates.
- **VTable Offset**: 0x400 (128 * 8 = 1024) - This can change when game updates.
* Note that for `libserver.so`, the first 16 bytes of "vftable" are for RTTI. The real vftable = `_ZTV12CCSGameRules` + `0x10`.
## Output YAML Format
The output YAML filename depends on the platform:
- `server.dll` → `CCSGameRules_GoToIntermission.windows.yaml`
- `libserver.so` → `CCSGameRules_GoToIntermission.linux.yaml`
```yaml
func_name: CCSGameRules_GoToIntermission
func_va: 0x18087eba0
func_rva: 0x87eba0
func_size: 0xe61
func_sig: 48 89 5C 24 ?? 55 56 57 41 54 41 55 41 56 41 57 48 8D AC 24 ?? ?? ?? ?? 48 81 EC ?? ?? ?? ?? 4C 8B E1
vtable_name: CCSGameRules
vfunc_offset: 0x400
vfunc_index: 128
```
## Notes
- This function is called when a match ends and the game transitions to intermission.
- It sends `CCSUsrMsg_EndOfMatchAllPlayersData` and `CCSUsrMsg_ServerRankRevealAll` user messages.
- It fires the `cs_intermission` game event.
- It is a large function (~0xE61 bytes).
Инициализация мануала...
//
$ ls -R related_skills/
2026-04-01
⭐ 26
find-CSpawnGroupMgrGameSystem_SpawnGroupSpawnEntitiesInternal: Скилл поиска и анализа
2026-04-01
⭐ 108
glm-mcp: Скилл для автоматизации и развертывания
2026-04-01
⭐ 26
find-g_pGameTypes-AND-IGameTypes_CreateWorkshopMapGroup Скилл поиска в CS2
2026-04-01
⭐ 26
generate-signature-for-structoffset: Скилл для сигнатур инструкций
package.json
$ install --global
skills.sh
npx skills add https://github.com/HLND2T/CS2_VibeSignatures/tree/main/.claude/skills/find-CCSGameRules_GoToIntermission
$ download --local
man
[HINT] Скачивает всю директорию скилла с GitHub: SKILL.md и все связанные файлы