Fora.Rti
20260611.0.0
dotnet add package Fora.Rti --version 20260611.0.0
NuGet\Install-Package Fora.Rti -Version 20260611.0.0
<PackageReference Include="Fora.Rti" Version="20260611.0.0" />
<PackageVersion Include="Fora.Rti" Version="20260611.0.0" />
<PackageReference Include="Fora.Rti" />
paket add Fora.Rti --version 20260611.0.0
#r "nuget: Fora.Rti, 20260611.0.0"
#:package Fora.Rti@20260611.0.0
#addin nuget:?package=Fora.Rti&version=20260611.0.0
#tool nuget:?package=Fora.Rti&version=20260611.0.0
---
description: Package-focused documentation for the Fora.Rti NuGet package and its Fora.Rti.Server executable.
Fora.Rti
Fora.Rti is a full capability RTI conforming to IEEE 1516-2025 (a.k.a. HLA 4) used by HLA federation development environments such as SimGe.
See [[Release Notes]] for what's new.
Key Features
- Full IEEE 1516-2025 (HLA 4) Support: Built from the ground up for the latest HLA standard using the official Federate Protocol.
- Dual-Stack Connectivity: Supports concurrent IPv4 and IPv6 connections on the Federate Protocol port (15164).
- Headless Production Host: Runs without an interactive UI by default, suitable for Docker, CI, cloud hosts, and background services.
- High-Performance Architecture: Asynchronous, non-blocking core capable of handling high-frequency updates and complex routing with minimal latency.
- Transparent Persistence: Built-in save/restore engine to capture and resume simulation states across sessions.
Supported HLA Service Groups
🏛️ Federation Management
- Full lifecycle management (Create/Join/Resign/Destroy).
- Federation Save & Restore: Coordinated multi-federate snapshot persistence (IEEE 1516-2025 §4.17) with pluggable storage.
- Synchronization point coordination and federation-wide state tracking.
📢 Declaration Management
- Dynamic FOM Merging: Support for loading and merging multiple FOM modules per federation execution.
- FOM-backed handle resolution with full Object and Interaction class hierarchy support.
- Advanced Advisory Support: Full implementation of advisory switches (Object/Attribute Relevance, Attribute Scope, etc.) with automatic federate notification.
📦 Object Management
- Object instance registration and discovery.
- Attribute updates and interaction sending with best-effort and reliable delivery.
- Directed interactions and per-receiver attribute filtering.
⏱️ Time Management
- Logical time regulation and constraint gating.
- LBTS and GALT calculation for federation-wide synchronization.
- Message retraction support for pending TSO interactions.
🗺️ Data Distribution Management (DDM)
- Spatial filtering based on per-dimension region overlap mathematics.
- Region-filtered attribute updates and interactions.
- Dynamic region association and modification.
🔑 Ownership Management
- Attribute ownership acquisition and divestiture.
- Push and pull-based ownership transfer models.
📊 Management Object Model (MOM)
- Built-in support for
HLAmanagerobject and interaction hierarchy. - Real-time reporting of federate and federation state via MOM attributes.
🛠️ Support Services
- Handle/Name Resolution: Centralized resolution for Objects, Attributes, Interactions, Parameters, and Regions.
- FOM Metadata Services: Inspect class hierarchies and available dimensions for simulation objects.
- Transportation & Order: Support for Reliable/Best-effort and Receive/Timestamped message routing.
- Version Reporting: Standards compliance reporting (IEEE 1516-2025) and capability discovery.
Error Handling
Fora.Rti implements the complete IEEE 1516-2025 exception matrix. All simulator errors are mapped to standard HLA exception names (e.g., ObjectClassNotPublished, InvalidLogicalTime, FederateInternalError) and delivered to the client with descriptive error messages.
Install
dotnet add package Fora.Rti --version 20260603.0.0
Run
Fora.Rti package name and the executable name are intentionally different:
- NuGet package:
Fora.Rti - Server executable inside the package:
Fora.Rti.Server.dll/Fora.Rti.Server.exe
Fora.Rti is packaged as a portable simulator runtime under tools/net10.0/any. After restore/install, run the server executable from that package content.
1. Direct Execution (Windows)
Run the executable directly from the package directory:
.\Fora.Rti.Server.exe
2. Using DotNet CLI (Cross-platform)
dotnet Fora.Rti.Server.dll
The production server starts in headless mode with stdout logging.
Important:
- This package contains the server host, not the interactive TUI.
Fora.Rti.Consoleis intentionally not included in the NuGet package.- The repository host project path is now
src/Fora.Rti.Server/Fora.Rti.Server.csproj. Fora.Rti.Consoleremains the separate in-repo TUI for local development and diagnostics.
If you are running from source instead of the packaged output:
dotnet run --project src\Fora.Rti.Server\Fora.Rti.Server.csproj
Related Tools
The Fora RTI stack is intentionally split into separate pieces:
Fora.Rti.Server- The headless production-style server host included in this package.
Fora.Rti.Console- A separate in-repository interactive TUI for local development and diagnostics.
- Not included in the
Fora.RtiNuGet package.
Fora.Rti.Admin- A separate remote administration CLI for one-off operational commands.
- Not included in the
Fora.RtiNuGet package.
Network & Endpoints
When started, Fora.Rti initializes two concurrent servers:
Simulation Server (TCP/15164):
- Dedicated to IEEE 1516-2025 Federate Protocol binary traffic.
- This is the primary endpoint for federate connections.
- Port and bind address are controlled by
ForaRtiServer:FederateProtocolPortandForaRtiServer:FederateProtocolBindAddress.
Management Web API (HTTP):
- Runs on the default ASP.NET Core port (usually
5000or as configured viaASPNETCORE_URLS). - GET
/: Quick status and protocol check. - GET
/version: Detailed JSON metadata including capability levels. - GET
/health: Health probe for container orchestrators (ASP.NET CoreIHealthCheckintegration; reportsFpServer.IsListeningand active session count). - GET
/admin/federations: Lists active federation executions by name. - GET
/admin/federates: Lists joined federates with name, type, and federation name. - GET
/admin/sessions: FP session registry snapshot (sessionId, connectionId, lastSeenUtc, isOnline). - GET
/admin/logs?since=<ISO8601>: Server log entries with optional time filter. - POST
/admin/shutdown: Initiates graceful server shutdown viaIHostApplicationLifetime. - POST
/admin/snapshot/{label}: Saves full RTI state toISnapshotStore, bypassing HLA protocol. - POST
/admin/snapshot/{label}/restore: Restores RTI state from a saved snapshot; returns404if label not found.
- Runs on the default ASP.NET Core port (usually
Package Content
The package contains the standalone RTI simulator and its dependencies:
- Executable:
Fora.Rti.Server.dll/Fora.Rti.Server.exe - Standards:
Standards/HLAstandardMIM-2025.xml,IEEE1516-FDD-2025.xsd - Internal Stack:
Fora.Abstractions.dll,Fora.Core.dll,Fora.Protocol.dll,Fora.Rti.Core.dll - Configuration:
appsettings.json - Excluded by design:
Fora.Rti.Console.dll,Spectre.Console.dll
Standards Attribution IEEE 1516.2-2025:
"The IEEE hereby grants a general, royalty-free license to copy, distribute, display and make derivative works from this material, for all purposes, provided that any use of the material contains the following attribution: “Reprinted with permission from IEEE 1516.2(TM)-2025”. Should you require additional information, contact the Manager, Standards Intellectual Property, IEEE Standards Association (stds-ipr@ieee.org)."
Disclaimer
Fora environment is a free academic research toolbox provided “as is” without warranty or guaranteed support. It is intended solely for research and educational use and is not suitable for production or mission-critical environments. Backward compatibility is not guaranteed. Users assume all risks associated with its use. Feedback may be submitted via the Contact page.
| 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
- Fora.Abstractions (>= 20260611.0.0)
- Fora.Core (>= 20260611.0.0)
- Fora.Protocol (>= 20260611.0.0)
- Fora.Rti.Admin.Abstractions (>= 20260611.0.0)
- Fora.Rti.Core (>= 20260611.0.0)
- Fora.Telemetry (>= 20260611.0.0)
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 |
|---|---|---|
| 20260611.0.0 | 162 | 6/4/2026 |
| 20260603.0.0 | 183 | 6/3/2026 |
| 20260522.0.0 | 198 | 5/22/2026 |
| 20260503.0.0 | 197 | 5/3/2026 |
| 20260429.0.0 | 202 | 4/29/2026 |
| 20260426.0.0 | 210 | 4/25/2026 |
| 20260423.4.0 | 212 | 4/23/2026 |
| 20260421.2.0 | 212 | 4/21/2026 |
| 20260420.1.0 | 216 | 4/20/2026 |
| 20260419.1.0 | 212 | 4/18/2026 |
| 20260418.0.0 | 213 | 4/18/2026 |
| 20260417.0.0 | 214 | 4/17/2026 |
20260611.0.0 - Adds telemetry buffer health, overhead metadata, manifest reader/projections, and sender member-count coverage.