StrikeLink 1.1.0

dotnet add package StrikeLink --version 1.1.0
                    
NuGet\Install-Package StrikeLink -Version 1.1.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="StrikeLink" Version="1.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="StrikeLink" Version="1.1.0" />
                    
Directory.Packages.props
<PackageReference Include="StrikeLink" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add StrikeLink --version 1.1.0
                    
#r "nuget: StrikeLink, 1.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package StrikeLink@1.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=StrikeLink&version=1.1.0
                    
Install as a Cake Addin
#tool nuget:?package=StrikeLink&version=1.1.0
                    
Install as a Cake Tool

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

C# Support Server GitHub Nuget All Releases


✨ Features

  • ✅ 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

📦 Installation

Install via NuGet:

dotnet add package StrikeLInk

Or via the NuGet Package Manager:

Install-Package StrikeLInk

🧠 Core Concepts

StrikeLInk is structured around services, events, and state integration. Consumers subscribe to events and invoke methods to interact with the game client.


💬 Chat Service

Provides access to in-game chat messages and sending capabilities.

Events

  • OnTeamChat
  • OnGlobalChat

Methods

  • SendChatAsync(NewChatMessage message)
public enum ChatChannel
{
	Team,
	Global
}

public record NewChatMessage(ChatChannel Channel, string Message);

🎮 Game State Integration

Track live game state changes through event-based updates.

Based on GameStateInteraction with help from this reddit post

Supported State Events

  • Gsi Listener

    • Offers a base event OnPostReceived for all incoming GSI payloads
  • Map State

    • MapState events
  • Player State

    • PlayerState events
  • Round State

    • RoundState events

These events allow real-time reactions to gameplay changes such as round transitions, player updates, and map changes.


🧩 Client Services

🟦 SteamService

Provides access to Steam and CS2 client data.

Methods
  • GetSteamPath()
  • TryGetGamePath(int gameId, out string path)
  • GetGamePath(int gameId)
  • GetUserConfig(long? userId)
  • GetGameLaunchOptions(int gameId)
  • GetCurrentUserId()

🖥️ ConsoleService (CS2 Console Integration)

Interact directly with the CS2 console and listen to runtime events.

Events
  • OnLogReceived
  • OnPlayerConnected
  • OnMapJoined
  • OnGlobalChatMessageReceived
  • OnTeamChatMessageReceived
  • OnUiStateChanged
  • OnAddonProgress
  • OnAddonFinished
  • OnServerJoining
  • OnServerConnected
  • OnServerDisconnected

This service enables advanced automation, monitoring, and addon integration.


⚙️ Valve Config Reader / Writer

A flexible configuration system built around JsonDocument-style APIs.

Supported Formats

  • .vcfg
  • .cfg
  • .vdf
  • .acf

Capabilities

  • 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
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net8.0-windows7.0 is compatible.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net9.0-windows7.0 is compatible.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed.  net10.0-windows7.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.0 26 3/23/2026
1.0.0 115 1/13/2026

* Fixed linux targetting

See documentation for below
+ New Feature LoginSecureService which will grab the login token of currently logged in steam user
+ New Feature CoPlayService, using LoginSecureService you can get recently played user data