XtremeIdiots.Portal.Events.Abstractions.V1
1.1.42
dotnet add package XtremeIdiots.Portal.Events.Abstractions.V1 --version 1.1.42
NuGet\Install-Package XtremeIdiots.Portal.Events.Abstractions.V1 -Version 1.1.42
<PackageReference Include="XtremeIdiots.Portal.Events.Abstractions.V1" Version="1.1.42" />
<PackageVersion Include="XtremeIdiots.Portal.Events.Abstractions.V1" Version="1.1.42" />
<PackageReference Include="XtremeIdiots.Portal.Events.Abstractions.V1" />
paket add XtremeIdiots.Portal.Events.Abstractions.V1 --version 1.1.42
#r "nuget: XtremeIdiots.Portal.Events.Abstractions.V1, 1.1.42"
#:package XtremeIdiots.Portal.Events.Abstractions.V1@1.1.42
#addin nuget:?package=XtremeIdiots.Portal.Events.Abstractions.V1&version=1.1.42
#tool nuget:?package=XtremeIdiots.Portal.Events.Abstractions.V1&version=1.1.42
XtremeIdiots.Portal.Events.Abstractions.V1
Event contracts and helpers shared by the XtremeIdiots Portal event ingest functions. Provides strongly-typed models for game server events used in the event-driven architecture.
Installation
dotnet add package XtremeIdiots.Portal.Events.Abstractions.V1
Event Models
All events inherit from OnEventBase which provides:
public class OnEventBase
{
public DateTime EventGeneratedUtc { get; set; }
public GameType GameType { get; set; }
public Guid ServerId { get; set; }
}
Available Events
| Event | Additional Properties |
|---|---|
OnChatMessage |
Username, Guid, Message, Type |
OnPlayerConnected |
Username, Guid, IpAddress |
OnServerConnected |
Server connection metadata |
OnMapChange |
Map change metadata |
OnMapVote |
Map vote metadata |
Usage
Publishing Events
var chatEvent = new OnChatMessage
{
EventGeneratedUtc = DateTime.UtcNow,
GameType = GameType.CallOfDuty4,
ServerId = serverId,
Username = "Player1",
Guid = playerGuid,
Message = "Hello world",
Type = ChatType.All
};
await eventPublisher.PublishAsync(chatEvent);
Consuming Events
public class ChatMessageHandler
{
public async Task HandleAsync(OnChatMessage chatEvent)
{
Console.WriteLine($"[{chatEvent.GameType}] {chatEvent.Username}: {chatEvent.Message}");
}
}
License
This project is licensed under the GPL-3.0-only license.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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. |
-
net10.0
- MX.Api.Abstractions (>= 2.3.25)
-
net9.0
- MX.Api.Abstractions (>= 2.3.25)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on XtremeIdiots.Portal.Events.Abstractions.V1:
| Package | Downloads |
|---|---|
|
XtremeIdiots.Portal.Events.Ingest.Api.Client.V1
Typed HTTP client for the XtremeIdiots Portal event ingest API. |
|
|
XtremeIdiots.Portal.Events.Ingest.Api.Client.Testing
Test helpers for consumer apps: in-memory fakes of IEventIngestApiClient, DTO factory methods, and DI extensions for integration tests. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.1.42 | 145 | 4/4/2026 |
| 1.1.41 | 138 | 4/4/2026 |
| 1.1.40 | 142 | 4/4/2026 |
| 1.1.39 | 143 | 4/3/2026 |
| 1.1.24 | 136 | 2/24/2026 |
| 1.1.23 | 138 | 2/24/2026 |
| 1.1.22 | 134 | 2/24/2026 |
| 1.1.21 | 136 | 2/23/2026 |
| 1.1.12 | 135 | 2/21/2026 |
| 1.1.9 | 114 | 2/20/2026 |
| 1.1.8 | 113 | 2/19/2026 |
| 1.1.6 | 108 | 2/19/2026 |
| 1.1.4 | 110 | 2/19/2026 |
| 1.1.3 | 112 | 2/19/2026 |
| 1.1.1 | 116 | 2/19/2026 |
| 1.0.1 | 124 | 1/7/2026 |
| 1.0.0 | 120 | 12/30/2025 |