Skip to content

sauna-sim/sauna-api

Repository files navigation

Sauna API

Build Status Latest Version License Img Changelog Img

About

This is a project that will allow for simulated ATC sessions (sweatbox sessions). It can be used on the VATSIM sweatbox server or on private FSD servers. By allowing airport and aircraft scenario configurations, it will allow ARTCCs and FIRs to better train their controllers for situations that they may encounter on the VATSIM network.

The idea was to create a realistic sweatbox simulator that could account for performance data, atmospheric conditions, routes and procedures, etc. The program should be able to handle ANY command that would be given over the network and the aircraft should respond in a realistic manner.

This project is the API that contains the simulator itself. This is a stateful API and has several endpoints to manage the current scenario. Third party applications can bundle the API and provide their own interface to manage a sweatbox scenario.

The API is written in C# and runs on ASP.NET Core. The application is cross-platform.

The solution contains 2 projects. sauna-api handles the actual API requests and sauna-sim-core contains the core simulation code.

The Sauna UI project will provide a user-friendly interface for the API.

Dependencies

The project depends on the following frameworks and packages:

Building

The API is a .NET 8.0 project. Simply build the sauna-api solution for your desired platform. All dependencies are pulled by NuGet automatically.

Usage

Navigate to /swagger after starting the API to see API documentation.

Navigation Data

Currently, navigation data can either be loaded directly from a Navigraph DFD file or from a sector file.

Navigraph

This is the preferred method to import navigation data. This does require you to have an API key with Navigraph to obtain the DFD files. Use the POST /api/data/loadDFDNavData endpoint.

Data Format:

{
  "uuid": "<Navigraph Package UUID>",
  "fileName": "<DFD File Path>"
}

Sector File

It accepts both *.sct2 and *.sct from Euroscope or VRC. Use the POST /api/data/loadSectorFile endpoint.

Data Format:

{
  "fileName": "/Users/asdf/Downloads/test.sct2"
}

Running the Scenario

Aircraft are paused by default when the scenario is loaded in. All aircraft are currently controlled via text commands sent through the Command Frequency or via the API.

Command Reference Guide

Command Frequency

If a command frequency has been specified in the Settings, this method can be used to control the aircraft. Simply sending a text message to the desired aircraft over the command frequency will cause the command to be registered. The output is then returned back over frequency.

About

ATC Simulator REST API

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 5

Languages