Author: skruis
Author Website:

Requirements: No addons required

Version: 1.1
Signed: No

Short description: 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.

Date: 2017-11-15 21:07


Comments: (0)
Rating:



 







Athena AAR - An AAR Solution for Athena

by
skruis


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.


Installation:
To install Athena AAR - An AAR Solution for Athena you should use modfolders to keep it seperate from the official game content to prevent issues.
With Arma 3 you can use different ways to set up your modfolders to use custom content you have downloaded.
Please visit the Arma 3 Mod install instructions page for more information about using custom mods and addons in Arma 3.

Armaholic note:
.dll files can harm your PC! Before running this you should make sure you understand the risks!
Armaholic and its staff can never be held responsible when any file you download from our website causes any damages, disruption in services or anything else in any way! Downloading and installing these files is totally at your own risk!

Armaholic note:
.exe files can harm your PC! Before running this you should make sure you understand the risks!
Armaholic and its staff can never be held responsible when any file you download from our website causes any damages, disruption in services or anything else in any way! Downloading and installing these files is totally at your own risk!


Included files:
athenasvr.pbo


Usage:
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). You should see the Athena Relay program (relay.exe) running after the first mission is launched. You can then launch the Logger and 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.

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.


Media:



Armaholic.com has its own Youtube channel where we will cover the Community made releases.
Subscribe to the Armaholic.com Youtube channel


Notes:
This software is still actively under development. Please report all issues to the forum thread.


Changelog:
v1.1
1. General
1a. Corrected issues in protocol preventing reliable use on 2nd PC (Map exports failing, disconnections, etc).

2. ACS
2a. Added server password support
2b. Corrected issues with rooms.
2c. Added ability to disconnect from ACS
2d. Improved connection status notifications
2e. Appended (world) to callsigns in the Session list (reflects the 'world' they are currently viewing)
2f. Added 'Display Name' support to worlds (was previously displaying actual world name and not the friendly name)
2e. Corrected issues with file transfers

3. Logger
3a. Upgraded to make use of latest socket client version (with updated protocol)

4. Relay
4a. Added support for specifying pipe name
4b. Reworked status form to show additional information per connection (accessible when ShowForm=True)

5. Extension
5a. Added support for auto starting logger in same fashion as auto launching app, relay (ath_launch_logger) - Applies to @athenasvr mostly
5b. Added support for specifying pipe name
5c. Corrected issue with extension checking for wrong 'settings' file name

v1.0
This is the initial workshop release.


Forum topic:
- BI forums


Steam Workshop:
- Subscribe




Enable javascript to be able to download from Armaholic please!