Arma 3
Not enough ratings
Athena AAR - An AAR Solution for Athena
   
Award
Favorite
Favorited
Unfavorite
Data Type: Mod, Server
File Size
Posted
Updated
863.369 KB
Nov 1, 2017 @ 7:02am
Nov 14, 2017 @ 7:30pm
2 Change Notes ( view )

Subscribe to download
Athena AAR - An AAR Solution for Athena

Description
For those units, groups, communities, etc. that use Athena, you may not know this but Athena Desktop is capable of recording and playing back your sessions. The only problem with recording via Athena Desktop is that it records from your perspective so it will only capture the units, groups, vehicles and markers that you see and that's not nearly enough to provide a comprehensive review of your mission. That's where Athena AAR comes in. The Athena AAR solution makes use of the @athenasvr mod and a logger utility to capture all data for all sides and then it packages in zip files that can then be open and replayed in Athena Desktop.

So this is the first release and the first version of Athena AAR. It's the first step towards providing a comprehensive mission capture and replay system that will eventually make use of the in-development Athena Community Server. For now, the packages that are created by the logger utility have to be distributed manually by your community staff but eventually, a system will be in place to make the process of collecting replays, distributing and replaying them seamless so, stick with us.

So how does this work?
It uses the included @athenasvr mod (which makes use of the same components as the @athena mod) to capture as much data as it can from the armaserver. It then exposes that data through the Relay (relay.exe). The Logger utility connects to the Relay and is provided with a constant stream of data. It then 'captures' some of that data and then on mission end, packages that data into zip files. The amount of data that the logger captures is configurable: You can specify the time delay between frame captures (Capture Interval). I recommend leaving the Interval at 1. If you reduce the Capture Interval, you'll grab more frames which will make the replays smoother but it'll increase your disk space usage. It's my personal opinion that AAR playback doesn't have to be 'smooth' but that's completely up to you.

So how do I connect it to my ARMA server?
Well, you'll need to start your server with the @athenasvr mod enabled. If the @athenasvr mod starts correctly, the mod scripts will communicate with the extension and the extension will launch the Relay (relay.exe) and the Logger (logger.exe). You should see the Athena Relay and Logger programs (relay.exe, logger.exe) running after the first mission is launched.You can enter the ARMA Server's IP address or host name and you'll have to specify the port used by the Relay (configurable in Relay.exe.config). By default, the Relay listens on TCP 28800 but you can change that if needed. You'll also need to create and specify both a "Temp" and "Archive" folder. The working files (collections of frames) are stored in the Temp folder until Mission End at which point, the files are zipped and the zip file is placed in the Archive folder. Once you've specified the server, port, folder locations and potentially changed the Capture Interval and Capture Delay, you can click "Start" at which point it will attempt to connect to the Relay and obtain the ARMA data. If the connection fails, it will create some log entries and attempt to reconnect automatically.

Is it possible to have the Logger automatically connect to the relay and start logging?
Yes. When the Logger (logger.exe) starts, it checks the config file. It will automatically read the settings you've specified in this file and populate the form with them. Additionally, if you set 'AutoStart' to 'true' (and you've supplied valid value for the other settings), the logger will automatically connect to the relay when it launches. Keep in mind that the Logger will, by default, be launched by the extension after the first mission starts. If you set 'AutoStart' to 'true,' it will connect to the relay and begin logging as well: so the system can be completely automated.

What does the Capture Delay do?
For those of you with Safe Starts or that have In-Mission Briefings, you may want to set the Capture Delay to the amount of time that those Safe Starts and Mission Briefings last. Otherwise, the recordings will contain that amount of time of your units standing around. By setting the Capture Delay, you're telling the Logger to avoid capturing the first X minutes of gameplay after Mission Start.

What exactly is Mission Start?
Mission Start according to Athena is when the Init scripts are executed. This is usually in the Briefing screen in multipler or right when a Single Player mission starts.

What exactly is Mission End?
Mission End is when the next mission starts ... so that's basically when the next round of Init scripts are executed. Something you should also be aware of is that in a server environment, the mission on the server keeps running until a new mission is loaded. Athena has no way of detecting this so when you're mission has ended and your community is sitting at the Mission Selection screen, the scripting engine is still running from the previous mission. Athena will continue to capture frames until the next mission is actually started and in a server environment, I believe that is on the Briefing screen.

How do you know that a New Mission has Started?
Part of the initial startup of the Athena scripts generates a random GUID called the MissionGUID. Athena constantly compares the MissionGUID of the current frame to the MissionGUID of the previous frame and if it changes, Athena determines that a new mission has started. When it sees that the MissionGUID has changed, it determines that the previous mission has stopped, it packages up the stored frames into a Zip file and then proceeds to capture frames for the new Mission.

Is there a better, more accurate way of controlling the Start and Stop of the Recordings from within the game?
Why yes, there is! So what you can do is set the Capture Delay to -1. This effectively disables 'auto capture' of the frames that are collected. Once you've done that, there are 2 commands that you can embed into your scripts that will allow you to start and stop recording:

["put", "start", "recording", "1", ""] call ATH_fnc_relay;
["put", "stop", "recording", "1", ""] call ATH_fnc_relay;

These commands must be executed on the server and they will allow to instruct the Logger to Start and Stop capturing frames. For those of you with Safe Start scripts, you can execute the Start command when your Safe Start expires. For those of you with Mission End scripts, you'll want to call the Stop command and trim off the wasteful frames that will be captured up until the next mission starts. Something you should know is that calling stop mid-mission will NOT cause the Logger to package the already collected frames into a replayable zip. That function happens at Mission End or after 4 hours, whichever comes first. You should also be aware that the Capture Delay is per mission so if a new mission starts, you'll have to issue the Start command in that mission in order for the Logger to begin collecting frames for that mission.

***MARKER NOTE***

Because of the way makers work, the markers captured by the @athenasvr mod will be limited to editor placed markers, markers created via a script executed on the server and all markers created in Global chat. Any markers created mid mission in any other channel than Global will not be captured. This is not an Athena limitation. It's just the way Arma works.

***SERVER REQUIRED***
The scripts in this mod will not launch if it detects the mod is not running on a server so if you want to test locally, you must be hosting a multiplayer server.

***ALL COMMENTS, BUG REPORTS, COMPLAINTS, I HATE YOU'S, I LOVE YOU'S SHOULD BE POSTED TO THE BIS FORUM***

I'm active on the forum and I'd like to keep the bug reports in one place. PM'ing me is fine. Posting in the thread is fine.

https://forums.bistudio.com/forums/topic/171846-athena-an-arma-2nd-screen-application/

***ADDITIONAL NOTES***

This software is still actively under dev
34 Comments
diveyez Aug 6, 2023 @ 6:58am 
Is there anyway I can speak with you about working on this project and helping you continue it?
Gerry of Ravine Oct 28, 2022 @ 11:48am 
Hi bus, Athena is awesome, it's such a shame there's been no update since 2017.
I've sent you a friend request, I'd love to possibly talk business with you, in the hopes of purchasing your software (for the rights to edit and update)

Thanks in advance!
bus  [author] Sep 14, 2022 @ 12:36pm 
@Rowan - This is more of a community server tool. You should look at the 2nd screen application workshop listing.
Rowan Sep 11, 2022 @ 1:28pm 
Am I blind, or does this not actually include the desktop application? I've tried re-downloading and repairing, but I'm not seeing anything in my workshop folder to run.
Sgt. Foose Feb 16, 2022 @ 11:53pm 
Hi Bus, is there a simple fix to make your mod not crash when we zoom in or out? Realy like your mod!
RavenSunray Jul 25, 2021 @ 10:54pm 
@bus I've sent you a friend request and message on steam was just wondering if the features you showed on your youtube channel could be shared or uploaded. Thanks :)
bus  [author] Jun 29, 2021 @ 4:22pm 
Raven, glad you like it! It's completely doable but unfortunately, the chances of me doing that are zero. I have no problem with anyone else writing a mod that uses the AAR output to accomplish that but I will not be writing that mod. Sorry.
RavenSunray Jun 28, 2021 @ 7:52pm 
@bus Love the mod! What are the chances of making a mod which reads the data created by the logger and displays it as markers in game rather than using the 2nd screen application? Similar to Dslyecxi's Hindsight series.
bus  [author] Apr 27, 2021 @ 6:41am 
It's a script running during a mission so yes, there is an impact. It will monitor every unit in the game. If it's just players, it probably won't be that bad. If it's an Alive mission with hundreds of AI, it could be pretty bad. Only way to know is to test it and find out.
Hawkins Apr 26, 2021 @ 11:41am 
What is the performance impact of this? Will this cause any frame loss in large-scale multiplayer?