StudSys 24 is a C# .NET Framework 4.8 vatSys plug-in. It bridges the ATC 24 (Roblox PTFS) environment into the professional vatSys radar suite — strips, ATIS, ground, charts, VCS.
| What | Where it lives |
|---|---|
| Plugin DLL | bin\Release\StudSys24.dll |
| Auto-detect / drop-in helper | src\InstallerHelper\ |
| One-click launcher EXE | src\Launcher\ |
| Squirrel pack pipeline | scripts\build-installer.ps1 |
| CI release workflow | .github\workflows\release.yml |
| Public-domain reference data | data\ourairports\ |
| vatSys profile | Profile\Profile.xml (and friends) |
| Status cheat sheet | docs\CHEATSHEET.md |
| Companion API starter prompt | docs\API_THREAD_PROMPT.md |
Why a launcher? vatSys owns the manual "Connect" click. The StudSys 24 Launcher is a Windows Forms EXE that finds vatSys.exe, spawns it, then auto-shows the plugin windows on connect so the user sees strips + VCS + Ground + Charts the moment vatSys is up.
When Discord is running, the controller's Discord status card shows Github Repo + My Website buttons linking back to this repo and to your studio site.
- Download
Setup.exefrom the latest GitHub release. - Run it. StudSys 24 lands under
%LocalAppData%\StudSys24\. There are no admin prompts and no folder-pickers. - The installer auto-creates
%USERPROFILE%\Documents\vatSys Files\Profiles\StudSys24\on first run, drops the plugin DLL + Profile + Maps into it, then places a StudSys 24 Launcher shortcut on your desktop. - Double-click the shortcut → click Start → vatSys launches with StudSys 24 wired up and the four windows open on connect.
- Download
StudSys24-Portable.zipfrom the same GitHub release. - Unzip into
%USERPROFILE%\Documents\vatSys Files\Profiles\StudSys24\. (vatSys auto-discovers any folder underProfiles\.) - Launch vatSys. StudSys 24 will load.
If you ever move the plugin, just move the folder — vatSys picks it up again on next launch.
- Launcher auto-detects
vatSys.exevia:HKLM\SOFTWARE\WOW6432Node\vatSys\InstallPath- fallback
%ProgramFiles(x86)%\vatSys\vatSys.exe - fallback
%ProgramFiles%\vatSys\vatSys.exe
- Launcher spawns vatSys with its own working dir set to the vatSys install folder (avoids DLL-loading surprises).
- When vatSys fires
IPlugin.OnConnected(), StudSys24.Plugin:- starts the ATC24Connector (24data WebSocket + 24data REST);
- shows the VCS / Ground / OzStrips / Charts windows;
- starts the Zulu clock;
- pings the Discord Rich Presence client.
- OzStrips populates as FDRs come in from the live feed.
- Ground Display refreshes once per Zulu tick while vatSys is the foreground window.
vatSys's manual Connect click is intentional and cannot be bypassed by any third-party plugin without modifying
vatSys.exeitself. The Launcher does not click it for you; the rest of the flow above runs as soon as you do.
We deliberately refresh from public-domain sources only:
- OurAirports airports / runways / navaids / frequencies (CC0 — verified via the upstream repo's COPYING file).
- FAA CIFP / NASR (public domain as US Government works; we reference but do not bundle).
We do not bundle FAA chart PDFs (separate redistribution terms even though their geometry is public domain). For chart images, rely on your local vatSys chart catalogue.
See docs\CHEATSHEET.md for the full file map.
Pre-requisites (Windows):
- .NET Framework 4.8 SDK / Visual Studio 2022 with the .NET desktop workload installed
nuget.exeandSquirrel.exe(both auto-downloaded byscripts\build-installer.ps1)- vatSys installed (so the WPF stub at
ci\vatSysStub.cscan be swapped forvatSys.exeviaUseVatSysStub=false)
# Restore + build everything in Release with the stub:
msbuild StudSys24.sln /t:Build /p:Configuration=Release /p:UseVatSysStub=true
# Package the Squirrel installer (creates dist\Setup.exe):
powershell -NoProfile -ExecutionPolicy Bypass `
-File scripts\build-installer.ps1 -Version 2.1.0Tags pushed to GitHub matching v* automatically run
.github\workflows\release.yml on windows-latest, which:
- Builds the solution with the stub.
- Stages the plugin payload tree under
src\Launcher\bin\Release\Payload\. - Runs
nuget packagainstsrc\Launcher\StudSys24.Launcher.nuspec. - Runs
squirrel releasifyto produceSetup.exe+RELEASES. - Attaches all artifacts + a
StudSys24-Portable.zipto the GitHub Release.
StudSys24 (vatSys plugin DLL, net48)
+-- Network/ATC24Connector.cs ──> 24data WebSocket / REST
+-- Core/ ──> CoordinateTransformer, FDRManager, AtisProvider
+-- Windows/ ──> VCSWindow, GroundWindow, OzStripsWindow, ChartsWindow
+-- CDS/ ──> Discord Rich Presence client
+-- Profile/*.xml ──> vatSys profile seed data + WindowAutoOpenStates
src/Launcher/ (WinForms EXE, net48, SquirrelAware)
Program.cs ── HandleEvents(onFirstRun/onAppUpdate/onAppUninstall)
LauncherForm.cs ── Start/Stop UI, status, log
src/InstallerHelper/ (Console EXE, net48, bundled in Squirrel pkgs)
Program.cs ── copy Payload tree into vatSys Profiles folder
find vatSys install + print it to stdout
src/Common/ (Class library, net48)
Paths.cs ── vatSys registry + Documents path helpers
StudSys 24 is provided for free personal use. Redistribution, modification, or reverse-engineering of this software is strictly prohibited under the project's EULA (this is owner's call; the lead developer is responsible for any private branches they ship).
This project was developed with the assistance of AI to ensure technical accuracy in coordinate projections and API integration.
- Lead Developer: Sam / southeewesty @SoutheeWesty
- Co-Developer: Sam / pretzly_fan @sfleishman-arch
- Source: github.com/SoutheeWesty/StudSys24
- My Website: southeessquareboxsoftware.dpdns.org