SharpMud.Engine
0.0.1-alpha.2
See the version list below for details.
dotnet add package SharpMud.Engine --version 0.0.1-alpha.2
NuGet\Install-Package SharpMud.Engine -Version 0.0.1-alpha.2
<PackageReference Include="SharpMud.Engine" Version="0.0.1-alpha.2" />
<PackageVersion Include="SharpMud.Engine" Version="0.0.1-alpha.2" />
<PackageReference Include="SharpMud.Engine" />
paket add SharpMud.Engine --version 0.0.1-alpha.2
#r "nuget: SharpMud.Engine, 0.0.1-alpha.2"
#:package SharpMud.Engine@0.0.1-alpha.2
#addin nuget:?package=SharpMud.Engine&version=0.0.1-alpha.2&prerelease
#tool nuget:?package=SharpMud.Engine&version=0.0.1-alpha.2&prerelease
sharp-mud
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/ # 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.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), plus a SharpMud meta-package pulling in the engine-level core
(Engine/Hosting/Persistence) — you still add a persistence provider and
a transport explicitly, per ADR-0007.
samples/SharpMud.Samples.Classic is a full reference consumer — start there
to 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
- LayeredCraft.OptimizedEnums (>= 1.4.2)
-
net11.0
- LayeredCraft.OptimizedEnums (>= 1.4.2)
NuGet packages (7)
Showing the top 5 NuGet packages that depend on SharpMud.Engine:
| Package | Downloads |
|---|---|
|
SharpMud.Adapters.Cli
Local stdin/stdout ISession transport for SharpMud - AddSharpMudCliTransport(), login-free single-player. |
|
|
SharpMud
Meta-package for sharp-mud - pulls in SharpMud.Engine, SharpMud.Hosting, and SharpMud.Persistence. Add a persistence provider (SharpMud.Persistence.Sqlite or .DynamoDb) and a transport (SharpMud.Adapters.Cli and/or .Telnet) explicitly. See https://github.com/LayeredCraft/sharp-mud for getting started. |
|
|
SharpMud.Persistence
Provider-agnostic EF Core repository (IThingRepository/GameDbContext) for SharpMud. Pair with SharpMud.Persistence.Sqlite or .DynamoDb for an actual storage provider. |
|
|
SharpMud.Hosting
.NET generic host composition helpers for SharpMud: WorldContext, IWorldBuilder, IPlayerFactory, the login/session flow, and the AddSharpMud* DI extensions. |
|
|
SharpMud.Persistence.DynamoDb
DynamoDB provider for SharpMud.Persistence - AddSharpMudDynamoDbPersistence(...) via the EntityFrameworkCore.DynamoDb provider. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0-alpha.6 | 0 | 7/21/2026 |
| 0.1.0-alpha.4 | 0 | 7/21/2026 |
| 0.1.0-alpha.3 | 0 | 7/21/2026 |
| 0.1.0-alpha.1 | 27 | 7/21/2026 |
| 0.0.1-alpha.2 | 0 | 7/21/2026 |