Coflnet.Sky.PlayerName.Client 0.2.5

dotnet add package Coflnet.Sky.PlayerName.Client --version 0.2.5
                    
NuGet\Install-Package Coflnet.Sky.PlayerName.Client -Version 0.2.5
                    
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="Coflnet.Sky.PlayerName.Client" Version="0.2.5" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Coflnet.Sky.PlayerName.Client" Version="0.2.5" />
                    
Directory.Packages.props
<PackageReference Include="Coflnet.Sky.PlayerName.Client" />
                    
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 Coflnet.Sky.PlayerName.Client --version 0.2.5
                    
#r "nuget: Coflnet.Sky.PlayerName.Client, 0.2.5"
                    
#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 Coflnet.Sky.PlayerName.Client@0.2.5
                    
#: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=Coflnet.Sky.PlayerName.Client&version=0.2.5
                    
Install as a Cake Addin
#tool nuget:?package=Coflnet.Sky.PlayerName.Client&version=0.2.5
                    
Install as a Cake Tool

Purpose

It turned out that retrieving a playername via uuid is a bottleneck. This service attempts to remove that.

Deploying

This project should be deployed within a container.

Configuration

See appsettings.json
This service requires read access to the main db.

TLS and connection readiness

TLS is opt-in. Keep the existing DBConnection (including every host, username, password and pool option). DB:TLS:CA_CERT_PATH, DB:TLS:CERT_PATH and DB:TLS:KEY_PATH enable verified mutual TLS with a root PEM bundle and client fullchain/key files. Each database host must match its server certificate's TLS identity. No hostname or certificate errors are accepted.

MySqlConnector 2.6.2 can accept native VerifyFull certificate errors when MariaDB supplies a password-bound TLS fingerprint. To enforce the configured CA and hostname policy, this service instead uses the driver's supported Required mode with unconditional strict Coflnet.Core validation before authentication. The native SslCa field is cleared so it cannot override that callback; the shared PEM owner reads CA_CERT_PATH itself. Both synchronous and asynchronous EF connection opens only install callbacks. The client-certificate provider runs on fresh physical TLS connections, loading the current leaf/key and registering only validated public client intermediates in the workload user's CA store. Native SslCert/SslKey fields are cleared so they cannot override the provider. Reusing a pooled connection performs no certificate-file I/O or chain/store work. Provide a private, writable, ephemeral HOME; no root or machine trust store is changed.

New physical connections reread certificate/key/CA files. TLS connections have a maximum pool lifetime of 300 seconds, preserving any explicitly shorter lifetime. Existing connections finish normally; publish PEM pairs atomically. Database connection timeout is capped at 10 seconds, including when TLS is disabled.

HTTPS:TLS accepts the same file keys for the server fullchain/key and adds native HTTPS on 8443 while retaining HTTP on 8000. Client certificates are requested and validated when presented. REQUIRE_CLIENT_CERTIFICATE defaults to false; set HTTPS:TLS:REQUIRE_CLIENT_CERTIFICATE=true for a later HTTPS-only client enforcement phase. New handshakes load renewed server certificates.

A required, read-only SELECT 1 runs before the HTTP server starts, with a 10-second deadline. /health/ready repeats the actual database check with a 5-second deadline and returns 503 on failure. Sensitive EF data logging is disabled. Existing API routes and authentication are unchanged.

The Docker build runs Tests/SkyPlayerName.Tests.csproj excluding Integration. A required CI job runs the real MySQL TLS integration test against a disposable, digest-pinned official MariaDB container, before the existing shared container build, mandatory scan and GitOps promotion. Local integration tests require Docker; they create fresh data and synthetic certificates, bind only loopback, and remove their exact container afterward. The existing public HypixelSkyblock project reference must be available at ../dev/hypixel.csproj, as in Dockerfile.

HypixelSkyblock.commit pins the shared project used by both the integration job and image build. Update it only with the TLS wire tests passing.

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

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.2.5 231 11/3/2026
0.2.4 2,504 3/30/2026
0.2.3 5,712 10/31/2024
0.2.2 3,855 4/24/2024
0.2.1 2,484 10/14/2023
0.2.0 4,061 9/22/2022
0.1.0 1,320 6/21/2022
0.0.1 1,944 12/22/2021

Minor update