Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Find CSource2GameEntities CheckTransmit

ASecurity

Find and identify the CSource2GameEntities::CheckTransmit virtual function in the CS2 server binary using IDA Pro MCP. Use this skill when reverse engineering CS2 server.dll or libserver.so to locate the transmit-list decision function by scanning the `./gameinterface.cpp` compile-unit string fragments for a code xref, then confirming via the mangled `CheckTransmit` symbol left over from a parallel-job lambda and the `CSource2GameEntities` vtable slot. Trigger: CSource2GameEntities_CheckTransmit

3 stars
0 votes
0 copies
0 views
Added 9/27/2026
design

Works with

climcp

Security Analysis

A100/100

Scanned 9/27/2026

Install to Claude Code

$npx -y skills add mrc4tt/CS2_VibeSignatures --skill find-CSource2GameEntities_CheckTransmit --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Find CSource2GameEntities CheckTransmit?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Find CSource2GameEntities CheckTransmit
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mrc4tt-find-csource2gameentities-checktransmit/badge)](https://www.skillsdirectory.com/skills/mrc4tt-find-csource2gameentities-checktransmit)

More formats (shields.io, HTML) on the badges page.

Download with Pro
Files
SKILL.md
---
name: find-CSource2GameEntities_CheckTransmit
description: |
  Find and identify the CSource2GameEntities::CheckTransmit virtual function in the CS2 server binary using
  IDA Pro MCP. Use this skill when reverse engineering CS2 server.dll or libserver.so to locate the transmit-list
  decision function by scanning the `./gameinterface.cpp` compile-unit string fragments for a code xref, then
  confirming via the mangled `CheckTransmit` symbol left over from a parallel-job lambda and the
  `CSource2GameEntities` vtable slot.
  Trigger: CSource2GameEntities_CheckTransmit
disable-model-invocation: true
---

# Find CSource2GameEntities_CheckTransmit

Locate `CSource2GameEntities::CheckTransmit` in CS2 `server.dll` / `libserver.so` using IDA Pro MCP tools.

## Method

### 1. Find the gameinterface.cpp Compile-Unit String Fragments

```text
mcp__ida-pro-mcp__find_regex pattern="gameinterface\.cpp"
```

`server.so` is compiled with `assert`/debug-string fragments that embed the source file path, e.g.
`"./gameinterface.cpp"` and `"./gameinterface.cpp:<line>"`. `CheckTransmit` lives in `gameinterface.cpp`, so any
function referencing one of these fragments is a candidate for functions defined in that file.

> Linux 14168 reference: two hits — `"./gameinterface.cpp"` at `0x8e4cc1` (referenced by unrelated functions
> `sub_18D1AC0`/`sub_18DCDE0`) and `"./gameinterface.cpp:3135"` at `0x8e78be` (referenced by exactly one function).

### 2. Get the Referencing Function

```text
mcp__ida-pro-mcp__xrefs_to addr="<gameinterface_cpp_line_string_addr>"
```

The line-numbered fragment `"./gameinterface.cpp:3135"` is referenced from inside one function only. That
function's start address is the `CheckTransmit` candidate.

> Linux 14168 reference: `"./gameinterface.cpp:3135"` (`0x8e78be`) is referenced from `0x18f0f74`, inside the
> function starting at `0x18f03a0` (size `0x1167`).

### 3. Confirm via the Mangled Lambda-Job Symbol

```text
mcp__ida-pro-mcp__find_regex pattern="CSource2GameEntities"
```

Among the hits is a mangled Itanium name for a `CParallelLambdaJob` used inside `CheckTransmit`'s parallel
worker: it contains the substring `20CSource2GameEntities13CheckTransmitEPP18CCheckTransmitInfoiR7CBitVec...`,
i.e. `CSource2GameEntities::CheckTransmit(CCheckTransmitInfo**, int, CBitVec<16384>&, CBitVec<16384>&,
Entity2Networkable_t const**, unsigned short const*, int)`. This independently confirms the method name/binding
without needing to decompile the candidate's full body.

> Linux 14168 reference: the mangled lambda-job string is at `0x83dc60`; the `CSource2GameEntities` typeinfo name
> string `"20CSource2GameEntities"` is at `0x83d950`.

### 4. Decompile and Sanity-Check the Candidate

```text
mcp__ida-pro-mcp__decompile addr="0x18f03a0"
```

Confirm the decompilation is consistent with `CheckTransmit`'s signature: 8 parameters (`this` +
`CCheckTransmitInfo**` array + `int count` + two `CBitVec<16384>&` + `Entity2Networkable_t const**` +
`unsigned short const*` + `int`), a large body (hundreds of instructions), and logic that iterates the entity
list and mutates per-client transmit bit vectors.

### 5. Confirm the VTable Slot

**ALWAYS** Use SKILL `/get-vtable-index` with the candidate address and `class_name=CSource2GameEntities` (or
RTTI-walk manually: find typeinfo name `"20CSource2GameEntities"` -> typeinfo -> primary vtable (`offset_to_top ==
0`) -> scan slots for the candidate address).

> Linux 14168 reference: `CSource2GameEntities` typeinfo is at `0x24c7160` (name ptr `0x24c7168` ->
> `0x83d950 - 8`... i.e. name string ref at `0x83d950`, xref `0x24c7168`, typeinfo `0x24c7160`). Primary vtable
> (`offset_to_top == 0`) is at `0x24c91d0` (a secondary base-subobject vtable with `offset_to_top == -0x28` also
> exists at `0x24c9288` and should be ignored). `CheckTransmit` occupies **slot 13** (`vtable + 0x10 + 13*8 =
> 0x24c9240`) in the primary vtable.

### 6. Generate Function Signature

**ALWAYS** Use SKILL `/generate-signature-for-function` with `addr=0x18f03a0` to generate a robust and unique
`func_sig`.

> Linux 14168 reference: generated signature is
> `55 48 89 E5 41 57 49 89 FF 41 56 48 8D 3D ? ? ? ? 41 55 4C 63 EA` (16 fixed head bytes plus a wildcarded
> 4-byte RIP-relative displacement, then more fixed bytes) — already unique across the binary at this length.

### 7. Write IDA Analysis Output as YAML

**ALWAYS** Use SKILL `/write-vfunc-as-yaml` to write the analysis results.

Required parameters:
- `func_name`: `CSource2GameEntities_CheckTransmit`
- `func_addr`: `0x18f03a0`
- `func_sig`: The validated signature from step 6
- `vfunc_sig`: `None`

VTable parameters:
- `vtable_name`: `CSource2GameEntities`
- `vfunc_offset`: `0x68` (`13 * 8`)
- `vfunc_index`: `13`

## Function Characteristics

- **Purpose**: Decides which entities are network-visible ("transmitted") to which clients this tick; called from
  the engine's transmit-list build path once per frame per recipient group.
- **Binary**: `server.dll` / `libserver.so`
- **Parameters**: `(this, CCheckTransmitInfo **ppInfoList, int nInfoCount, CBitVec<16384> &, CBitVec<16384> &,
  Entity2Networkable_t const **pNetworkables, unsigned short const *pEntityIndicesToConsider, int nEdictCount)`
  (per the demangled lambda-job symbol found in step 3).
- **Return value**: `void`/unused (writes results into the passed-in bit vectors).
- **VTable**: `CSource2GameEntities`, slot 13 (`vfunc_offset = 0x68`) on the Linux 14168 reference build.

## Discovery Strategy

1. `gameinterface.cpp` compile-unit debug-string fragments (`__FILE__`-style, embedded by `assert`/log macros)
   are a reliable, version-agnostic anchor for functions defined in that translation unit — `CheckTransmit` is one
   of them.
2. The line-numbered fragment (`"./gameinterface.cpp:3135"`) has exactly one xref, pinpointing the containing
   function unambiguously.
3. The demangled Itanium symbol for `CheckTransmit`'s internal parallel-job lambda (left in the binary as a
   `CParallelLambdaJob<...>` template instantiation's typeinfo name) independently corroborates both the method
   name and its full parameter signature — this does not depend on the string-fragment path at all, so it's a
   strong cross-check.
4. The `CSource2GameEntities` primary vtable slot is re-derived via RTTI rather than hardcoded, so it survives
   vtable layout drift across builds.

This is robust because two independent discovery paths (compile-unit string xref, and mangled lambda-job symbol)
converge on the same function, and the vtable slot is confirmed via RTTI rather than assumed.

## Output YAML Format

The output YAML filename depends on the platform:
- `server.dll` -> `CSource2GameEntities_CheckTransmit.windows.yaml`
- `libserver.so` -> `CSource2GameEntities_CheckTransmit.linux.yaml`

Fields: `func_name`, `func_va`, `func_rva`, `func_size`, `func_sig`, `vtable_name`, `vfunc_offset`, `vfunc_index`.

Attribution

mrc4ttmrc4tt
View sourceMore from mrc4tt →
SSkills DirectorySkills Directory

Know which skills are safe — weekly.

Best new skills + every skill we flagged as malicious. From the team that scanned 103,619.

Join free

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Know which skills are safe — weekly.

Best new skills + every skill we flagged as malicious. From the team that scanned 103,619.

Join free

Related Skills

Responsive Design

Implement modern responsive layouts using container queries, fluid typography, CSS Grid, and mobile-first breakpoint strategies. Use when building adaptive interfaces, implementing fluid layouts, or creating component-level responsive behavior.

400052 votes

Mermaid Diagrams

Creating and refining Mermaid diagrams with live reload. Use when users want flowcharts, sequence diagrams, class diagrams, ER diagrams, state diagrams, or any other Mermaid visualization. Provides best practices for syntax, styling, and the iterative workflow using mermaid_preview and mermaid_save tools.

2102 votes

sleek-design-mobile-apps

Use when the user wants to design a mobile app, create screens, build UI, or interact with their Sleek projects. Covers high-level requests ("design an app that does X") and specific ones ("list my projects", "create a new project", "screenshot that screen").

5711 votes

swiftui-design-skill

SwiftUI frontend visual design skill. Creates beautiful, distinctive iOS/macOS interfaces that avoid generic AI slop patterns. Covers design direction, layout systems, typography, color, spacing, brand integration, and design review. Use when designing new SwiftUI views, reviewing UI quality, creating iOS prototypes, choosing visual styles, improving app aesthetics, or when the UI looks generic or AI-generated.

1801 votes

Ios Hig

Use when designing iOS interfaces, implementing accessibility (VoiceOver, Dynamic Type), handling dark mode, ensuring adequate touch targets, providing animation/haptic feedback, or requesting user permissions. Apple Human Interface Guidelines for iOS compliance.

761 votes
View all in design →