find-CSource2Server_Init-AND-CGameEventManager_Init-AND-gameeventmanager-AND-s_GameEventManager — community CS2_VibeSignatures, community, ide skills

v1.0.0

关于此技能

Generate CS2 signatures via Agent SKILLS with ida-pro-mcp

HLND2T HLND2T
[27]
[2]
更新于: 4/2/2026

Killer-Skills Review

Decision support comes first. Repository text comes second.

Reference-Only Page Review Score: 3/11

This page remains useful for operators, but Killer-Skills treats it as reference material instead of a primary organic landing page.

Quality floor passed for review
Review Score
3/11
Quality Score
57
Canonical Locale
en
Detected Body Locale
en

Generate CS2 signatures via Agent SKILLS with ida-pro-mcp

核心价值

Generate CS2 signatures via Agent SKILLS with ida-pro-mcp

适用 Agent 类型

Suitable for operator workflows that need explicit guardrails before installation and execution.

赋予的主要能力 · find-CSource2Server_Init-AND-CGameEventManager_Init-AND-gameeventmanager-AND-s_GameEventManager

! 使用限制与门槛

Why this page is reference-only

  • - Current locale does not satisfy the locale-governance contract.
  • - The page lacks a strong recommendation layer.
  • - The page lacks concrete use-case guidance.
  • - The page lacks explicit limitations or caution signals.

Source Boundary

The section below is imported from the upstream repository and should be treated as secondary evidence. Use the Killer-Skills review above as the primary layer for fit, risk, and installation decisions.

评审后的下一步

先决定动作,再继续看上游仓库材料

Killer-Skills 的主价值不应该停在“帮你打开仓库说明”,而是先帮你判断这项技能是否值得安装、是否应该回到可信集合复核,以及是否已经进入工作流落地阶段。

实验室 Demo

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

常见问题与安装步骤

以下问题与步骤与页面结构化数据保持一致,便于搜索引擎理解页面内容。

? FAQ

find-CSource2Server_Init-AND-CGameEventManager_Init-AND-gameeventmanager-AND-s_GameEventManager 是什么?

Generate CS2 signatures via Agent SKILLS with ida-pro-mcp

如何安装 find-CSource2Server_Init-AND-CGameEventManager_Init-AND-gameeventmanager-AND-s_GameEventManager?

运行命令:npx killer-skills add HLND2T/CS2_VibeSignatures。支持 Cursor、Windsurf、VS Code、Claude Code 等 19+ IDE/Agent。

find-CSource2Server_Init-AND-CGameEventManager_Init-AND-gameeventmanager-AND-s_GameEventManager 支持哪些 IDE 或 Agent?

该技能兼容 Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer。可使用 Killer-Skills CLI 一条命令通用安装。

安装步骤

  1. 1. 打开终端

    在你的项目目录中打开终端或命令行。

  2. 2. 执行安装命令

    运行:npx killer-skills add HLND2T/CS2_VibeSignatures。CLI 会自动识别 IDE 或 AI Agent 并完成配置。

  3. 3. 开始使用技能

    find-CSource2Server_Init-AND-CGameEventManager_Init-AND-gameeventmanager-AND-s_GameEventManager 已启用,可立即在当前项目中调用。

! 参考页模式

此页面仍可作为安装与查阅参考,但 Killer-Skills 不再把它视为主要可索引落地页。请优先阅读上方评审结论,再决定是否继续查看上游仓库说明。

Upstream Repository Material

The section below is imported from the upstream repository and should be treated as secondary evidence. Use the Killer-Skills review above as the primary layer for fit, risk, and installation decisions.

Upstream Source

find-CSource2Server_Init-AND-CGameEventManager_Init-AND-gameeventmanager-AND-s_GameEventManager

安装 find-CSource2Server_Init-AND-CGameEventManager_Init-AND-gameeventmanager-AND-s_GameEventManager,这是一款面向AI agent workflows and automation的 AI Agent...

SKILL.md
Readonly
Upstream Repository Material
The section below is imported from the upstream repository and should be treated as secondary evidence. Use the Killer-Skills review above as the primary layer for fit, risk, and installation decisions.
Supporting Evidence

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
1COM_TimestampedLog("gameeventmanager->Init()"); 2sub_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
.data:0000000181B8CAB0 gameeventmanager   dq offset s_GameEventManager

This can be verified by checking off_181B8AAD0, it should points to "const CGameEventManager::`vftable'":

.data:0000000181B8AAD0 off_181B8AAD0   dq offset ??_7CGameEventManager@@6B@
.data:0000000181B8AAD0                                         ; DATA XREF: sub_1800D2C10+5E↑o
.data:0000000181B8AAD0                                         ; sub_180B46B50+2E↑o ...
.data:0000000181B8AAD0                                         ; const CGameEventManager::`vftable'
mcp__ida-pro-mcp__rename batch={"data": {"old": "off_XXXXXXXX", "new": "s_GameEventManager"}}

5. Find VTable and Calculate Offset

ALWAYS Use SKILL /get-vtable-index to get vtable offset and index for the function.

VTable class name: CSource2Server

6. Generate and validate unique signature for CSource2Server_Init, CGameEventManager_Init

ALWAYS Use SKILL /generate-signature-for-function to generate a robust and unique signature for CSource2Server_Init and CGameEventManager_Init.

7. Write IDA analysis output as YAML beside the binary

ALWAYS Use SKILL /write-vfunc-as-yaml to write the analysis results for CSource2Server_Init and CGameEventManager_Init.

For CSource2Server_Init:

Required parameters:

  • func_name: CSource2Server_Init
  • func_addr: The function address of CSource2Server_Init from step 3
  • func_sig: The validated signature from step 6

VTable parameters (when this is a virtual function):

  • vtable_name: CSource2Server
  • vfunc_offset: The offset from step 5
  • vfunc_index: The index from step 5

ALWAYS Use SKILL /write-func-as-yaml to write the analysis results for CGameEventManager_Init.

For CGameEventManager_Init:

Required parameters:

  • func_name: CGameEventManager_Init
  • func_addr: The function address of CGameEventManager_Init from step 3
  • func_sig: The validated signature from step 6

8. Generate and validate unique signature for gameeventmanager and s_GameEventManager

ALWAYS Use SKILL /generate-signature-for-globalvar to generate a robust and unique signature for: gameeventmanager and s_GameEventManager.

9. Write IDA analysis output for gameeventmanager as YAML beside the binary:

ALWAYS Use SKILL /write-globalvar-as-yaml to write the analysis results for gameeventmanager and s_GameEventManager.

For gameeventmanager:

Required parameters:

  • gv_name: gameeventmanager
  • gv_addr: The global variable address from step 4
  • gv_sig: The validated signature from step 10
  • gv_sig_va: The virtual address that signature matches
  • gv_inst_offset: Offset from signature start to GV-accessing instruction
  • gv_inst_length: Length of the GV-accessing instruction
  • gv_inst_disp: Displacement offset within the instruction

For s_GameEventManager:

Required parameters:

  • gv_name: s_GameEventManager
  • gv_addr: The global variable address from step 4
  • gv_sig: The validated signature from step 12
  • gv_sig_va: The virtual address that signature matches
  • gv_inst_offset: Offset from signature start to GV-accessing instruction
  • gv_inst_length: Length of the GV-accessing instruction
  • gv_inst_disp: Displacement offset within the instruction

Signature Pattern

The function contains debug log calls with format strings:

COM_TimestampedLog("gameeventmanager->Init()");
COM_TimestampedLog("MathLib_Init");
COM_TimestampedLog("CEngineServiceRegistry::RegisterEngineServices()");
COM_TimestampedLog("CLoopModeRegistry::RegisterLoopModes()");

Function / Global variable Characteristics

CSource2Server_Init

  • Class: CSource2Server
  • Method: Init
  • Return type: __int64 (returns 0 or 1)
  • Purpose: Initializes the Source 2 server, including game event manager, engine services, loop modes, and game systems
  • Behavior:
    1. Checks initialization flag (qword_182049188)
    2. Parses command line for specific flags (hash 0x34D6B4E6)
    3. Calls COM_TimestampedLog("MathLib_Init") and initializes math library
    4. Calls COM_TimestampedLog("gameeventmanager->Init()") and CGameEventManager_Init(gameeventmanager)
    5. Calls COM_TimestampedLog("CEngineServiceRegistry::RegisterEngineServices()") and registers engine services
    6. Calls COM_TimestampedLog("CLoopModeRegistry::RegisterLoopModes()") and registers loop modes
    7. Initializes game save/restore block set
    8. Calls COM_TimestampedLog("InitGameSystems - Start/Finish") and initializes game systems
    9. Logs startup message: "[STARTUP] {%.3f} server module init %s\n"
  • Unique Identifier: Hash constant 0x34D6B4E6 in mov edx, 34D6B4E6h instruction

CGameEventManager_Init

  • Purpose: Initializes the game event manager by loading event definitions from three resource files
  • Parameters: (__int64 this) where this is a pointer to the game event manager object (gameeventmanager)
  • Return type: char (returns 1 on success)
  • Behavior:
    1. Calls vtable offset +0x10 ([rax+10h]) for pre-initialization
    2. Loads "resource/core.gameevents" via vtable offset +0x08 ([rax+8]) with r8d=0
    3. Loads "resource/game.gameevents" via vtable offset +0x08 ([rax+8]) with r8d=0
    4. Loads "resource/mod.gameevents" via vtable offset +0x08 ([rax+8]) with r8d=1
  • Unique Pattern: Three consecutive lea rdx, string + call [rax+8] sequences with different gameevents files

gameeventmanager

  • Type: Global pointer (IGameEventManager2*)
  • Purpose: Singleton instance of the game event manager, used throughout the server for event dispatching
  • Initialization: Set during server initialization, before CGameEventManager_Init is called
  • Related Class: CGameEventManager (implements IGameEventManager2 interface)
  • Access Pattern: Typically accessed via mov rcx, cs:gameeventmanager before calling event manager methods
  • Related Symbols:
    • s_GameEventManager - Static storage for the game event manager instance
    • CGameEventManager vtable at ??_7CGameEventManager@@6B@

Key Calls in Function

  • COM_TimestampedLog() - Timestamped logging
  • CGameEventManager_Init() - Initialize game event manager
  • CommandLine() - Get command line interface
  • Plat_FloatTime() - Get platform time
  • Msg() - Output message

VTable Information

  • VTable Name: CSource2Server
  • VTable Mangled Name:
    • Windows: May not have standard mangled name (check with *CSource2Server*)
    • Linux: _ZTV14CSource2Server
  • VTable Offset: 0x18 (may change with game updates)
  • VTable Index: 3 (may change with game updates)

Output YAML Format

The output YAML filename for CSource2Server_Init depends on the platform:

  • server.dllCSource2Server_Init.windows.yaml
  • libserver.so / libserver.soCSource2Server_Init.linux.yaml

The output YAML filename for CGameEventManager_Init depends on the platform:

  • server.dllCGameEventManager_Init.windows.yaml
  • libserver.soCGameEventManager_Init.linux.yaml

The output YAML filename for gameeventmanager depends on the platform:

  • server.dllgameeventmanager.windows.yaml
  • libserver.sogameeventmanager.linux.yaml

The output YAML filename for s_GameEventManager depends on the platform:

  • server.dlls_GameEventManager.windows.yaml
  • libserver.sos_GameEventManager.linux.yaml
  • gameeventmanager (0x181b89710 on Windows) - Global game event manager instance pointer (IGameEventManager2*)
  • s_GameEventManager (0x181b8aad0 on Windows) - Static storage for the game event manager instance
  • qword_182049188 - Initialization check flag (checked at function start)
  • byte_181EB5CB4 - Command line flag (set when specific command line option is present)
  • qword_181EB1CE8 - Engine interface pointer (checked before game systems init)
  • qword_181BC0A10 - Startup time storage (set via Plat_FloatTime())

相关技能

寻找 find-CSource2Server_Init-AND-CGameEventManager_Init-AND-gameeventmanager-AND-s_GameEventManager 的替代方案 (Alternative) 或可搭配使用的同类 community Skill?探索以下相关开源技能。

查看全部

openclaw-release-maintainer

Logo of openclaw
openclaw

Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

333.8k
0
AI

widget-generator

Logo of f
f

为prompts.chat的信息反馈系统生成可定制的插件小部件

149.6k
0
AI

flags

Logo of vercel
vercel

React 框架

138.4k
0
浏览器

pr-review

Logo of pytorch
pytorch

Python中具有强大GPU加速的张量和动态神经网络

98.6k
0
开发者工具