Arma 3
Not enough ratings
Athena AAR - An AAR Solution for Athena
   
Award
Favorite
Favorited
Unfavorite
Data Type: Mod, Server
File Size
Posted
Updated
0.823 MB
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
< >
25 Comments
Rowan Oct 18, 2020 @ 3:26pm 
Hey bus, I'm not seeing the client open when I run ARMA. Did something change to break the functionality? I don't see tha "app" folder in my install directory under @athena.
❤ Vexxi ❤ Dec 29, 2019 @ 12:35am 
I need help with the map importing. Athena doesn't do anything when i hit the start icon
FOG Raven May 26, 2019 @ 2:59pm 
Thanks Mate Cheers!!
bus  [author] May 26, 2019 @ 2:58pm 
Does not create a dependency. Does not require clients to run Athena.
FOG Raven May 26, 2019 @ 1:10pm 
Quick 2 part Question, Does running this Create a "Dependency" For a Mission File and if not, If running this as a mod Server Side, will that require everyone to need it in order to connect?
bus  [author] May 19, 2019 @ 6:21am 
Oh, right. I ripped that out. 'Why would a server need to export a map?' was the thought process at the time.
Inqie May 18, 2019 @ 7:42am 
Something to note, I don't think Athena Desktop is grabbing "new map" data through the relay when this mod is active. Easy fix to just disable it while processing new maps, but thought it was noteworthy.
bus  [author] May 14, 2019 @ 8:24am 
Separate the data streams? Unfortunately not. The scripts collect the data and then make them available via the relay which then pushes it to the clients (logger/Athena Desktop). They each get the same stream because it's all sourced from the same script.
Inqie May 14, 2019 @ 7:13am 
Yeah I can get why people might see it as a little advantageous. But the battlefield is never fair to even the most hardened of soldiers! On a more serious note thought, I've known our host for over a decade and I only intend to use it for AAR anyway (atleast until I get a 2nd monitor). If the modification I made just now works then.. yay! Do you reckon there's any way to separate the data streams or is it hard-coded into the .exes?

Either way thanks for replying. This will be of great help.
bus  [author] May 14, 2019 @ 6:22am 
Yep. Just make sure they forward/open the port (and preferably limit it to your public ip) and you can run the logger. I envisioned the logger running on a separate machine from which people could download the packages post mission. As far as as why only the host can run this particular mod, I was touchy about people thinking Athena was a cheat tool. If cheating isn't something to worry about then there's no reason to prevent anyone from running this - you can modify the AAR mod and let whoever you want run it. The only problem then is whoever runs the logger will also see all the data in Athena as well. The relay supports multiple clients so they can run a modified mod from which the logger and the Athena Desktop pull data. In Athena, they'll see everything though. The scripts determine what is 'seen'.