SharpMud.Ruleset.Rpg 0.1.0-alpha.13

This is a prerelease version of SharpMud.Ruleset.Rpg.
dotnet add package SharpMud.Ruleset.Rpg --version 0.1.0-alpha.13
                    
NuGet\Install-Package SharpMud.Ruleset.Rpg -Version 0.1.0-alpha.13
                    
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="SharpMud.Ruleset.Rpg" Version="0.1.0-alpha.13" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SharpMud.Ruleset.Rpg" Version="0.1.0-alpha.13" />
                    
Directory.Packages.props
<PackageReference Include="SharpMud.Ruleset.Rpg" />
                    
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 SharpMud.Ruleset.Rpg --version 0.1.0-alpha.13
                    
#r "nuget: SharpMud.Ruleset.Rpg, 0.1.0-alpha.13"
                    
#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 SharpMud.Ruleset.Rpg@0.1.0-alpha.13
                    
#: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=SharpMud.Ruleset.Rpg&version=0.1.0-alpha.13&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=SharpMud.Ruleset.Rpg&version=0.1.0-alpha.13&prerelease
                    
Install as a Cake Tool

sharp-mud

<table> <tr> <td><img src="icon.png" width="140" alt="sharp-mud icon" /></td> <td>

 ____  _                      __  __ _   _ ____
/ ___|| |__   __ _ _ __ _ __ |  \/  | | | |  _ \
\___ \| '_ \ / _` | '__| '_ \| |\/| | | | | | | |
 ___) | | | | (_| | |  | |_) | |  | | |_| | |_| |
|____/|_| |_|\__,_|_|  | .__/|_|  |_|\___/|____/
                       |_|

</td> </tr> </table>

A modern C#/.NET reimagining of a classic MUD (Multi-User Dungeon) — faithful to the genre's feel while built with current .NET architecture.

Alpha — not yet stable. Pre-1.0, no SemVer compatibility guarantees between releases yet; APIs, package boundaries, and persisted-data shape can all still change. Also currently pinned to a preview .NET 11 SDK (see global.json) — accept that risk, or build against net10.0 only until a stable release lands. Use it, but expect breaking changes.

  • SPEC.md — vision and high-level decisions (start here).
  • docs/ — detailed per-subsystem design docs. Start with docs/engine-vs-ruleset.md for the entity model (Thing/Behavior composition), then architecture, world model, character, commands, combat, persistence, networking, accounts/auth.

Solution layout

SharpMud.slnx
  src/
    SharpMud.Engine/                # Thing/Behavior, events, generic behaviors,
                                     # command pipeline, session, tick loop.
                                     # Zero deps on any ruleset.
    SharpMud.Hosting/                # generic-host composition helpers, ruleset-agnostic
    SharpMud.Persistence/            # EF Core repositories, provider-agnostic
    SharpMud.Persistence.Sqlite/     # SQLite provider
    SharpMud.Persistence.DynamoDb/   # DynamoDB provider
    SharpMud.Adapters.Cli/           # local stdin/stdout session adapter
    SharpMud.Adapters.Telnet/        # raw TCP session adapter + listener
    SharpMud.Ruleset.Rpg/            # reusable RPG combat/encounter scaffolding (ADR-0008)
    SharpMud.Ruleset.Basic/          # minimal concrete leaf ruleset built on Ruleset.Rpg (ADR-0008)
    SharpMud/                        # meta-package (Engine + Hosting + Persistence only - ADR-0007)
  samples/
    SharpMud.Samples.Classic/        # D&D-flavored sample ruleset + composition root
  tests/
    SharpMud.Engine.Tests/
    SharpMud.Hosting.Tests/
    SharpMud.Persistence.Tests/
    SharpMud.Adapters.Cli.Tests/
    SharpMud.Adapters.Telnet.Tests/
    SharpMud.Ruleset.Rpg.Tests/
    SharpMud.Ruleset.Basic.Tests/
    SharpMud.Samples.Classic.Tests/

Building & testing

dotnet build SharpMud.slnx
dotnet test SharpMud.slnx

Running

dotnet run --project samples/SharpMud.Samples.Classic       # local single-player CLI
dotnet run --project samples/SharpMud.Samples.Classic -- --telnet [port]  # telnet server, default port 4000

Using SharpMud as a library

src/ publishes as NuGet packages (SharpMud.Engine, SharpMud.Hosting, SharpMud.Persistence(.Sqlite/.DynamoDb), SharpMud.Adapters.Cli/ .Telnet, SharpMud.Ruleset.Rpg/.Basic), plus a SharpMud meta-package pulling in the engine-level core (Engine/Hosting/Persistence) — you still add a persistence provider, a transport, and a ruleset explicitly, per ADR-0007. See docs/getting-started.md for the fastest path to a running game (SharpMud.Ruleset.Basic) or building your own ruleset on SharpMud.Ruleset.Rpg's combat scaffolding. samples/SharpMud.Samples.Classic is a full, richer reference consumer — see how a ruleset composes against the packages. See ADR-0006 for the design.

Containerized

docker build -t sharpmud .
docker run -p 4000:4000 sharpmud   # telnet server (container default)

See docs/deployment.md for runtime configuration (env vars, mode selection) and current limitations.

Product Compatible and additional computed target framework versions.
.NET 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.  net11.0 is compatible. 
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 SharpMud.Ruleset.Rpg:

Package Downloads
SharpMud.Ruleset.Basic

Minimal, deliberately simple concrete ruleset built on SharpMud.Ruleset.Rpg - a plain numeric stat block, a small default world with a fightable NPC, and AddSharpMudBasicRuleset(...) for a true "dotnet add package, few lines in Program.cs, run a basic game" quick-start.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0-alpha.13 26 7/24/2026
0.1.0-alpha.12 28 7/24/2026
0.1.0-alpha.11 35 7/23/2026
0.1.0-alpha.10 33 7/23/2026