Moongate.Network.Packets
0.19.0
Prefix Reserved
dotnet add package Moongate.Network.Packets --version 0.19.0
NuGet\Install-Package Moongate.Network.Packets -Version 0.19.0
<PackageReference Include="Moongate.Network.Packets" Version="0.19.0" />
<PackageVersion Include="Moongate.Network.Packets" Version="0.19.0" />
<PackageReference Include="Moongate.Network.Packets" />
paket add Moongate.Network.Packets --version 0.19.0
#r "nuget: Moongate.Network.Packets, 0.19.0"
#:package Moongate.Network.Packets@0.19.0
#addin nuget:?package=Moongate.Network.Packets&version=0.19.0
#tool nuget:?package=Moongate.Network.Packets&version=0.19.0
Moongate.Network.Packets
Ultima Online packet definitions, span-based serialization, and packet registration for Moongate.
Installation
Requires .NET 10. Use the package version available in your configured NuGet feed.
dotnet add package Moongate.Network.Packets
Features
- An initial packet set targeting ClassicUO 7.x, including login, control, ping, and supported-feature messages.
- A packet registry using packet metadata for registration and opcode lookup.
- Span-based readers and writers for packet serialization.
- Encoding and decoding APIs that can be tested independently of a TCP server.
Example
Register the ping packet, freeze the registry, and decode an encoded frame:
using Moongate.Network.Packets.General;
using Moongate.Network.Packets.Registry;
using Moongate.Network.Packets.Serialization;
var registry = new PacketRegistry();
registry.RegisterIncoming<PingPacket>();
registry.Freeze();
var bytes = PacketCodec.Encode(new PingPacket(42));
if (!registry.TryDecode(bytes, out var packet, out var opCode)
|| packet is not PingPacket ping)
{
throw new InvalidOperationException($"Could not decode opcode {opCode:X2}.");
}
Console.WriteLine($"{opCode:X2}:{ping.Sequence}");
See Packets and handlers for the complete built-in opcode table, a custom packet, byte-level tests and host integration.
Dependencies and scope
This package depends on Moongate.Core. It does not require Moongate.Network to encode or decode packets.
The packet set is a subset of the UO protocol. Decoding expects a complete packet frame; buffering and framing a TCP stream belong to the transport integration. Packet handlers and game-loop dispatch belong to the server integration.
License and source
Licensed under AGPL-3.0-or-later. See the source repository and license.
| 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. |
-
net10.0
- Moongate.Core (>= 0.19.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Moongate.Network.Packets:
| Package | Downloads |
|---|---|
|
Moongate.Server.Core
Plugin-facing server contracts, events, registries, and dependency injection extensions for Moongate. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.19.0 | 0 | 10/16/2026 |
| 0.18.0 | 1 | 10/16/2026 |
| 0.17.0 | 111 | 10/14/2026 |
| 0.16.0 | 104 | 10/9/2026 |
| 0.15.0 | 102 | 10/7/2026 |
| 0.14.0 | 110 | 10/4/2026 |
| 0.13.0 | 106 | 10/3/2026 |
| 0.12.0 | 111 | 10/2/2026 |
| 0.11.0 | 119 | 9/30/2026 |
| 0.10.0 | 121 | 9/30/2026 |
| 0.9.0 | 123 | 9/27/2026 |
| 0.8.0 | 113 | 9/26/2026 |
| 0.7.0 | 103 | 9/24/2026 |
| 0.6.0 | 115 | 9/21/2026 |
| 0.5.0 | 110 | 9/20/2026 |
| 0.4.1 | 119 | 9/20/2026 |
| 0.4.0 | 112 | 9/19/2026 |
| 0.3.0 | 103 | 9/18/2026 |