SharpMud.Ruleset.Rpg
0.1.0-alpha.13
dotnet add package SharpMud.Ruleset.Rpg --version 0.1.0-alpha.13
NuGet\Install-Package SharpMud.Ruleset.Rpg -Version 0.1.0-alpha.13
<PackageReference Include="SharpMud.Ruleset.Rpg" Version="0.1.0-alpha.13" />
<PackageVersion Include="SharpMud.Ruleset.Rpg" Version="0.1.0-alpha.13" />
<PackageReference Include="SharpMud.Ruleset.Rpg" />
paket add SharpMud.Ruleset.Rpg --version 0.1.0-alpha.13
#r "nuget: SharpMud.Ruleset.Rpg, 0.1.0-alpha.13"
#:package SharpMud.Ruleset.Rpg@0.1.0-alpha.13
#addin nuget:?package=SharpMud.Ruleset.Rpg&version=0.1.0-alpha.13&prerelease
#tool nuget:?package=SharpMud.Ruleset.Rpg&version=0.1.0-alpha.13&prerelease
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 againstnet10.0only 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 withdocs/engine-vs-ruleset.mdfor the entity model (Thing/Behaviorcomposition), 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 | Versions 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. |
-
net10.0
- SharpMud.Engine (>= 0.1.0-alpha.13)
- SharpMud.Hosting (>= 0.1.0-alpha.13)
- SharpMud.Persistence (>= 0.1.0-alpha.13)
-
net11.0
- SharpMud.Engine (>= 0.1.0-alpha.13)
- SharpMud.Hosting (>= 0.1.0-alpha.13)
- SharpMud.Persistence (>= 0.1.0-alpha.13)
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 |