GameKit.Auth 0.1.1

There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package GameKit.Auth --version 0.1.1
                    
NuGet\Install-Package GameKit.Auth -Version 0.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="GameKit.Auth" Version="0.1.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="GameKit.Auth" Version="0.1.1" />
                    
Directory.Packages.props
<PackageReference Include="GameKit.Auth" />
                    
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 GameKit.Auth --version 0.1.1
                    
#r "nuget: GameKit.Auth, 0.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 GameKit.Auth@0.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=GameKit.Auth&version=0.1.1
                    
Install as a Cake Addin
#tool nuget:?package=GameKit.Auth&version=0.1.1
                    
Install as a Cake Tool

GameKit

GPL-licensed, self-hostable .NET 10 game-services library. Composable NuGet packages for auth, player management, matchmaking, rankings, sessions, and presence. Install only what you need.

License: GPL-3.0-or-later Runtime: .NET 10 LTS Storage: Postgres (via EF Core 10 + Npgsql), Redis (via StackExchange.Redis)

Core Value

A .NET-native, composable, extensible, fully self-hosted game services backend where every algorithm and strategy is an interface the developer can replace — install only what you need, own the rest, depend on no cloud service.

What GameKit Is Not

GameKit explicitly does not provide, and will never provide:

  • No AI / LLM integrations of any kind (moderation, matchmaking, content gen, telemetry analysis).
  • No cloud-only / SaaS dependencies — library runs air-gapped.
  • No hosted / paid components — all functionality is GPL and free, always; no upsell tier.
  • No telemetry / phone-home — library does not collect or transmit usage data.
  • No game-server hosting / orchestration — use Agones, Multiplay, or custom.
  • No real-time game communication (netcode) — use Mirror, Fish-Net, WebSockets, or custom.
  • No inventory / economy / progression systems — game dev owns these, FK into gamekit.players(id).
  • No analytics pipeline — operator brings their own (ClickHouse, BigQuery, etc.).
  • No DDoS mitigation — network/edge concern.
  • No game-specific anti-cheat — engine/game concern.
  • No billing / entitlements — storefronts own this.
  • No real-time chat / voice chat — use SignalR, Mirror, engine netcode, or Vivox.
  • No MySQL / SQL Server providers — Postgres-only for v1.

Packages

Package Purpose
GameKit.Core Entities, DbContext, fluent builder, GDPR, rate-limiting helpers
GameKit.Auth Identity, credentials, JWT, OAuth providers (Steam, Discord, Guest, Password)
GameKit.Rankings Ladders, player ranks, Glicko-2 default algorithm, seasonal leaderboards
GameKit.Matchmaking Redis-backed queue, tickets, parties, background matcher
GameKit.Presence Online/offline/in-match status (Redis-only, no Postgres)
GameKit.Admin.UI Blazor Server admin panel (player search, bans, queue depth, health)

Database Roles (OPS-09)

GameKit's Postgres schema is gamekit. FK direction discipline: only publicgamekit allowed (your application tables may FK into gamekit.players(id); never the reverse). The shipped docker-compose.yml provisions three roles:

Role Purpose
gamekit_owner Migrations (DDL) — used by gamekit migrate and UseGameKit() auto-migrate
gamekit_app Runtime DML — GameKit HTTP API backend
gamekit_reader Game server reads — SELECT-only on gamekit.*

Getting Started

New to GameKit? Follow the 15-minute getting-started tutorial: dotnet new gamekit → docker-compose up → first authenticated player + first completed match against the TicTacToeDuel sample, with zero cloud credentials.

Quick Start

# Requires .NET SDK 10.0.106+ (pinned via global.json)
dotnet restore && dotnet build

Production Deployment

Operators standing up GameKit in production should consult docs/ops/ for the full production-readiness guide. It covers bare-metal, container (Docker / Kubernetes), and air-gapped deployment recipes, plus per-recipe runbooks for the Postgres 3-role rotation, Redis AOF tuning, JWT key generation + kid rotation, disaster recovery, and per-package migration troubleshooting. Every page cites the canonical config file it derives from (docker-compose.yml, docker/postgres/init/01-roles.sql, scripts/gen-test-rsa-pem.sh) so you can trace every recommendation back to source.

Status

Pre-release. Phase 1 (Foundation) in progress.

License

This project is licensed under the GNU General Public License v3.0 or later — see the LICENSE file for details.

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

NuGet packages (7)

Showing the top 5 NuGet packages that depend on GameKit.Auth:

Package Downloads
GameKit.Admin.UI

Admin UI package for GameKit — Blazor Server Razor Class Library with player management, audit log, health dashboard. Phase 3 deliverable.

GameKit.Matchmaking

Matchmaking package for GameKit — Redis-backed queue, party-aware strategy, leader election. Phase 5 deliverable.

GameKit.Lobby

Lobby package for GameKit — ready-checks, ephemeral chat via SignalR, persistent groups (Postgres). Phase 11.

GameKit.Auth.Google

Google OAuth provider for GameKit — opt-in sibling package (Phase 7).

GameKit.Auth.Epic

Epic Games OAuth provider for GameKit (custom OAuthHandler, zero NuGet deps) — opt-in sibling package (Phase 7).

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.2-alpha.0.28 97 7/12/2026
0.1.1 185 6/27/2026