DotRcon 0.0.3
dotnet add package DotRcon --version 0.0.3
NuGet\Install-Package DotRcon -Version 0.0.3
<PackageReference Include="DotRcon" Version="0.0.3" />
<PackageVersion Include="DotRcon" Version="0.0.3" />
<PackageReference Include="DotRcon" />
paket add DotRcon --version 0.0.3
#r "nuget: DotRcon, 0.0.3"
#:package DotRcon@0.0.3
#addin nuget:?package=DotRcon&version=0.0.3
#tool nuget:?package=DotRcon&version=0.0.3
DotRcon
A modern, async-first .NET library for the Source RCON protocol.
Supports authentication, command execution, multi-packet responses, and concurrent usage.
Features
- Async/await first — built on
TcpClientandNetworkStreamwith fullCancellationTokensupport. - Multi-packet response handling — automatically assembles split responses using the terminator packet technique.
- Thread-safe — concurrent
ExecuteAsynccalls are matched to responses via request IDs. - Proper resource cleanup — implements
IAsyncDisposablefor clean TCP teardown. - Minimal API surface — just
ConnectAsyncandExecuteAsync.
Installation
dotnet add package DotRcon
Quick Start
using DotRcon;
await using var client = await RconClient.ConnectAsync("127.0.0.1", 27015, "yourRconPassword");
var status = await client.ExecuteAsync("status");
Console.WriteLine(status);
var players = await client.ExecuteAsync("users");
Console.WriteLine(players);
Error Handling
using DotRcon;
using DotRcon.Exceptions;
try
{
await using var client = await RconClient.ConnectAsync("127.0.0.1", 27015, "password");
var result = await client.ExecuteAsync("changelevel de_dust2");
}
catch (RconAuthenticationException)
{
Console.WriteLine("Wrong RCON password.");
}
catch (RconConnectionException ex)
{
Console.WriteLine($"Connection error: {ex.Message}");
}
Cancellation & Timeouts
using var cts = new CancellationTokenSource(TimeSpan.FromSeconds(5));
await using var client = await RconClient.ConnectAsync("127.0.0.1", 27015, "password", cts.Token);
var result = await client.ExecuteAsync("status", cts.Token);
Concurrent Commands
The client supports concurrent command execution. Each command is tracked by a unique request ID, so responses are matched correctly even when multiple commands are in-flight.
await using var client = await RconClient.ConnectAsync("127.0.0.1", 27015, "password");
var tasks = new[]
{
client.ExecuteAsync("status"),
client.ExecuteAsync("maps *"),
client.ExecuteAsync("users"),
};
var results = await Task.WhenAll(tasks);
Supported Games
Any game server implementing the Source RCON protocol, including:
- Counter-Strike 2 / CS:GO
- Team Fortress 2
- Garry's Mod
- Left 4 Dead 2
- ARK: Survival Evolved
- Rust
- Minecraft (with RCON enabled)
- And many more
Protocol Reference
This library implements the Source RCON Protocol as documented on the Valve Developer Wiki.
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. net9.0 was computed. 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. net10.0 was computed. 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. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- No dependencies.
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 |
|---|---|---|
| 0.0.3 | 118 | 3/10/2026 |