StrikeLInk is a modern, cross-platform .NET library for integrating with Counter-Strike 2 and related Valve ecosystem services. It provides structured access to chat events, game state changes, client services, and Valve configuration formats, all using modern C# and .NET APIs.
📦 Available on NuGet as StrikeLInk
Documentation: https://github.com/RiisDev/StrikeLink/blob/main/docs/index.md
- ✅ Modern C# targeting .NET 8, 9, and 10
- 🧩 Event-driven architecture
- 🎮 Counter-Strike 2 client & console integration
- 💬 Global & team chat handling
- 🗺️ Game state tracking (map, player, round)
- ⚙️ Valve config reader & writer (JSON-styled)
- 🌍 Cross-platform design Built on windows, untested on linux
Install via NuGet:
dotnet add package StrikeLInkOr via the NuGet Package Manager:
Install-Package StrikeLInkStrikeLInk is structured around services, events, and state integration. Consumers subscribe to events and invoke methods to interact with the game client.
Provides access to in-game chat messages and sending capabilities.
OnTeamChatOnGlobalChat
SendChatAsync(NewChatMessage message)
public enum ChatChannel
{
Team,
Global
}
public record NewChatMessage(ChatChannel Channel, string Message);Track live game state changes through event-based updates.
Based on GameStateInteraction with help from this reddit post
-
Gsi Listener
- Offers a base event
OnPostReceivedfor all incoming GSI payloads
- Offers a base event
-
Map State
MapStateevents
-
Player State
PlayerStateevents
-
Round State
RoundStateevents
These events allow real-time reactions to gameplay changes such as round transitions, player updates, and map changes.
Provides access to Steam and CS2 client data.
GetSteamPath()TryGetGamePath(int gameId, out string path)GetGamePath(int gameId)GetUserConfig(long? userId)GetGameLaunchOptions(int gameId)GetCurrentUserId()
Interact directly with the CS2 console and listen to runtime events.
OnLogReceivedOnPlayerConnectedOnMapJoinedOnGlobalChatMessageReceivedOnTeamChatMessageReceivedOnUiStateChangedOnAddonProgressOnAddonFinishedOnServerJoiningOnServerConnectedOnServerDisconnected
This service enables advanced automation, monitoring, and addon integration.
A flexible configuration system built around JsonDocument-style APIs.
.vcfg.cfg.vdf.acf
- Read and parse Valve configuration formats
- Modify values using structured JSON-style access
- Write configurations back to disk safely
- Designed for tooling, modding, and automation