Babyduck.VConsole2.Client
1.0.0
dotnet add package Babyduck.VConsole2.Client --version 1.0.0
NuGet\Install-Package Babyduck.VConsole2.Client -Version 1.0.0
<PackageReference Include="Babyduck.VConsole2.Client" Version="1.0.0" />
<PackageVersion Include="Babyduck.VConsole2.Client" Version="1.0.0" />
<PackageReference Include="Babyduck.VConsole2.Client" />
paket add Babyduck.VConsole2.Client --version 1.0.0
#r "nuget: Babyduck.VConsole2.Client, 1.0.0"
#:package Babyduck.VConsole2.Client@1.0.0
#addin nuget:?package=Babyduck.VConsole2.Client&version=1.0.0
#tool nuget:?package=Babyduck.VConsole2.Client&version=1.0.0
Babyduck.VConsole2.Client
A lightweight C# client library for interacting with VConsole2 used in Source 2 games (eg. Dota 2). This library allows you to connect to a running VConsole2 server, receive structured message chunks, parse common packages (such as PRNT), and send console commands.
Features
- Connect to a VConsole2 TCP endpoint and stream message chunks.
- Parse message chunks and convert payloads into typed packages that implement
IPackage(includesPrntpackage parser). - Send commands to the VConsole2 server.
- Small, single-file API surface that's easy to integrate.
Supported frameworks
- Library: .NET Standard 2.1
- Sample project: .NET 10 (net10.0)
Changelog
| Version | Change |
|---|---|
| 0.1.0 | First version. |
| 1.x.x | The event system has been migrated from standard C# events to Rx.NET. |
Requirements
Before using this library, make sure you have the following:
- A Source 2 game installed (for example, Dota 2).
- The game's Workshop Tools DLC installed and enabled. See Valve's documentation: https://developer.valvesoftware.com/wiki/Dota_2_Workshop_Tools
- The in-game developer console / VConsole2 enabled and configured to listen on a TCP port.
- The correct TCP port is open/allowed by any local firewall (the sample uses port 29000).
Installation
You can install it from NuGet.
# using dotnet CLI
dotnet add package Babyduck.VConsole2.Client
Quick start & usage
- See the
Babyduck.VConsole2.Client.Sampleproject (targets .NET 10) for a runnable example and full usage. - The sample shows how to create a
VConsole2Client, subscribe to incoming messages, parsePRNTpackages, and send console commands.
The sample project demonstrates typical usage and is the best starting point for integration.
Contributing
Contributions and fixes are welcome. Please open issues or pull requests on the upstream repository: https://github.com/yuijzeon/VConsole2.Client
| 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
- System.Reactive (>= 6.1.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.