RCON.Net.Commands 1.1.1

dotnet add package RCON.Net.Commands --version 1.1.1
                    
NuGet\Install-Package RCON.Net.Commands -Version 1.1.1
                    
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="RCON.Net.Commands" Version="1.1.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="RCON.Net.Commands" Version="1.1.1" />
                    
Directory.Packages.props
<PackageReference Include="RCON.Net.Commands" />
                    
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 RCON.Net.Commands --version 1.1.1
                    
#r "nuget: RCON.Net.Commands, 1.1.1"
                    
#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 RCON.Net.Commands@1.1.1
                    
#: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=RCON.Net.Commands&version=1.1.1
                    
Install as a Cake Addin
#tool nuget:?package=RCON.Net.Commands&version=1.1.1
                    
Install as a Cake Tool

RCON.Net.Commands

NuGet .NET .NET .NET

Generic command helpers and base types for building typed RCON commands.

Overview

RCON.Net.Commands provides the foundational abstractions for command building and response parsing:

  • ICommand Interface - Abstract command implementation contract
  • CommandBase - Base class for implementing custom commands
  • Response Parsing - Generic type-safe response parsing framework
  • Command Builders - Utilities for building command strings

Installation

Install via NuGet:

dotnet add package RCON.Net.Commands

Dependencies

  • RCON.Net.Core - Core RCON client library

Key Components

ICommand Interface

The core abstraction for all command implementations.

public interface ICommand
{
    /// <summary>
    /// Builds the command string to send to the server.
    /// </summary>
    string Build();

    /// <summary>
    /// Parses a server response into a typed result.
    /// </summary>
    T? Parse<T>(string response) where T : class;
}

CommandBase

Base class for implementing custom commands with common functionality.

public abstract class CommandBase : ICommand
{
    public abstract string Build();
    
    public virtual T? Parse<T>(string response) where T : class
    {
        // Default parsing logic
        return response as T;
    }
}

Creating Custom Commands

Implement the ICommand interface or extend CommandBase:

public class CustomCommand : CommandBase
{
    private readonly string _argument;
    
    public CustomCommand(string argument)
    {
        _argument = argument ?? throw new ArgumentNullException(nameof(argument));
    }
    
    public override string Build()
    {
        return $"custom {_argument}";
    }
    
    public override T? Parse<T>(string response) where T : class
    {
        // Parse response and return typed result
        return null;
    }
}

Usage Pattern

using RCON.Core;
using RCON.Commands;

// Create client
var client = RconClientBuilder.Create()
    .WithHost("127.0.0.1")
    .WithPort(25575)
    .WithPassword("password")
    .Build();

await client.ConnectAsync();

// Create and execute command
var command = new CustomCommand("value");
var response = await client.ExecuteAsync(command.Build());
var result = command.Parse<CustomResult>(response);

await client.DisconnectAsync();

Response Parsing

Commands support type-safe response parsing:

public class ListCommand : CommandBase
{
    public override string Build() => "list";
    
    public override T? Parse<T>(string response) where T : class
    {
        if (typeof(T) == typeof(PlayerList))
        {
            var lines = response.Split('\n');
            var playerList = new PlayerList { Players = ParsePlayers(lines) };
            return playerList as T;
        }
        return null;
    }
}

Multi-Targeting

  • .NET 8.0, .NET 9.0, .NET 10.0

Features

✅ Type-safe command building
✅ Generic response parsing
✅ Extensible architecture
✅ No external dependencies
✅ Simple, intuitive API

License

MIT License - See LICENSE file for details.

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.  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.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on RCON.Net.Commands:

Package Downloads
RCON.Net.Commands.Minecraft.Java

RCON commands lib for Minecraft Java edition.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.1 334 11/12/2025
1.1.0 312 11/12/2025
1.0.0 240 11/9/2025