Skip to content

About

.NET library for building "multiplayer"-like functionality to applications

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

SignalPlayR 🎮

(pronounced: "Signal Player")

A modern, extensible .NET 10 library for building real-time collaborative experiences using SignalR.

SignalPlayR provides drop-in multiplayer state synchronization for plain text, rich text (Quill Deltas), ephemeral presence, live remote carets, and threaded comments.


Features

  • 👥 Multi-User Presence & Sessions: Track online participants with automatic cleanup on abrupt disconnects.
  • 📝 Multi-Field Document Synchronization: Synchronize multiple independent text fields per session room.
  • 🖋️ Rich Text Delta Sync: Full support for Quill Deltas and remote collaborative carets via quill-cursors.
  • 💬 Threaded Comments & Discussions: In-document comments with reply threads and resolve statuses.
  • 🔭 Native OpenTelemetry & Structured Logging: Zero-allocation source-generated logging with built-in ActivitySource and Meter metrics.
  • 🧩 Pluggable Architecture: Ship with in-memory engines out of the box or swap in Redis, EF Core, or distributed databases.

Quick Start

1. Installation

dotnet add package SignalPlayR.Core

2. Register Services (Program.cs)

using SignalPlayR.Core.Extensions;
using SignalPlayR.Core.Hubs;

var builder = WebApplication.CreateBuilder(args);

// Register default in-memory providers & SignalR services
builder.Services.AddSignalPlayR();

var app = builder.Build();

// Map the real-time endpoint
app.MapHub<SignalPlayRHub>("/signalplayrhub");

app.Run();

3. OpenTelemetry Setup

Wire SignalPlayR's telemetry directly into your OpenTelemetry pipeline:

builder.Services.AddOpenTelemetry()
    .WithTracing(tracing => tracing
        .AddSource("SignalPlayR.Core")
        .AddAspNetCoreInstrumentation()
        .AddOtlpExporter())
    .WithMetrics(metrics => metrics
        .AddMeter("SignalPlayR.Core")
        .AddOtlpExporter());

License

MIT License. Created with ❤️ for high-performance .NET applications.

About

.NET library for building "multiplayer"-like functionality to applications

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages