Jump to content

Recommended Posts

I have another feature request as well, that might be useful.

Maybe implement the recording of map markers too... Might make it easier for making proper AAR reports and analysis.

Share this post


Link to post
Share on other sites

Thank you for a really nice addon!

 

I don't have the webserver and game server on the same machine, so my setup is like this: OCAP writes the .json files to a local directory and every hour WinSCP is uploading the directory to /data folder on my webserver. I don't see any maps on the webserver, so I wondered if the webserver and game server has to been on the same machine for now?

01/11/2016 8:19 | Appended capture data to capture file.
01/11/2016 8:19 | All tasks complete.
01/11/2016 8:19 | Arguments supplied: {transferLocal;MCC%20Template_906.json;Tanoa;MCC Template;51;http://aar.sasclan.org/;C:/FTP/ocap/}
01/11/2016 8:19 | Parsing arguments...
01/11/2016 8:19 | Done.
01/11/2016 8:19 | Moving MCC%20Template_906.json to C:/FTP/ocap/data/MCC%20Template_906.json...
01/11/2016 8:19 | Done
01/11/2016 8:19 | Sending POST data to http://aar.sasclan.org/data/receive.php
01/11/2016 8:19 | <h1>Security incident detected</h1><p>Your request was blocked.</p>
01/11/2016 8:19 | All tasks complete.

Share this post


Link to post
Share on other sites

We have two different servers. One for webstuff and one gameserver, but I upload my stuff manually since we only run 2-4 games per week on our private server and it works like a charm.

Looks webserver config related to me since you get a custom reply saying the reply was blocked. Check if OCAP contains any of those strings, and if so check what triggers them.

Share this post


Link to post
Share on other sites

Thank you! It was my host's firewall blocking it. The POST data can now be sent without any problems and I can see the map on the list.

Unfortunately, when I try and load the map I get this error: "Error: "data/MCC%20Template_64.json" could not be found" but the file "MCC%20Template_64.json" is located under /data and I've set its file permissions to 755.

As I understand, you upload the files later, but the data to data.db is sent right away?

 

Edit: When I changed the mission name from MCC%20Template.Tanoa to MCC.Tanoa it worked.

  • Like 1

Share this post


Link to post
Share on other sites

Hey,

i'm trying to set it up the same as Bamse, we have one server for Game, ond one for web.

However, when I copy over the json file, the mission doesn't automatically show ofcourse. Now correct me if i'm wrong, but i believe the receive.php has to run in order to add the mission to the db file to show the mission in the list. Can this be down manually? or..??

 

Thnx for the help! :)

Share this post


Link to post
Share on other sites

Running [] call ocap_fnc_exportData; as per the first post triggers the poke of recieve.php and the database update. Nothing should be required to be done except uploading the json-file.

Running it manually might be possible but you'll need to composite your own sql statement with all the needed parameters ... and ... yeah. Getting all the intended mechanics to run properly should be your first choice really ;)

If this doesn't happen, check your OCAP logfile for possible reasons why this might fail.

  • Like 1

Share this post


Link to post
Share on other sites

My community is having problem with OCAP, (it do not record anything) here comes .rpt I hope someone can help us :>

 

We have server and website on other machines btw,

 

2016/11/09, 22:01:36 OCAP: Captured frame 220 (0.976563ms).

2016/11/09, 22:01:39 Setting invalid pitch 0.0000 for L Delta 1-1:1 REMOTE

2016/11/09, 22:01:46 OCAP: Captured frame 230 (1.98364ms).

2016/11/09, 22:01:48 OCAP: Exporting capture data...

2016/11/09, 22:01:51 Setting invalid pitch 0.0000 for L Delta 1-1:1 REMOTE

2016/11/09, 22:01:54 Warning: 1459 ms spent in callExtension calling name: "ocap_exporter", function: "{transferRemote;(gct)co@04terrorist_hunt_2_69.json;altis;(gct)co@04terrorist_hunt_2;232;http://ocap.armagct.pl/;any;any;any}"

2016/11/09, 22:01:54 Error in expression <Name,

_missionDuration,

ocap_exportURL,

ocap_exportHost,

ocap_exportUsername,

oc>

2016/11/09, 22:01:54 Error position: <ocap_exportHost,

ocap_exportUsername,

oc>

2016/11/09, 22:01:54 Error Undefined variable in expression: ocap_exporthost

2016/11/09, 22:01:54 File ocap\functions\fn_callExtension.sqf, line 37

2016/11/09, 22:01:54 OCAP: Exporting complete.

2016/11/09, 22:01:56 OCAP: Exporting capture data...

2016/11/09, 22:02:00 Error in expression <Name,

_missionDuration,

ocap_exportURL,

ocap_exportHost,

ocap_exportUsername,

oc>

2016/11/09, 22:02:00 Error position: <ocap_exportHost,

ocap_exportUsername,

oc>

2016/11/09, 22:02:00 Error Undefined variable in expression: ocap_exporthost

2016/11/09, 22:02:00 File ocap\functions\fn_callExtension.sqf, line 37

2016/11/09, 22:02:00 OCAP: Exporting complete.

2016/11/09, 22:02:07 OCAP: Captured frame 240 (2.01416ms).

2016/11/09, 22:02:17 OCAP: Captured frame 250 (1.0376ms).

2016/11/09, 22:02:27 OCAP: Captured frame 260 (2.01416ms).

2016/11/09, 22:02:31 Setting invalid pitch 0.0000 for L Delta 1-1:1 REMOTE

2016/11/09, 22:02:37 OCAP: Captured frame 270 (0.976563ms).

2016/11/09, 22:02:47 OCAP: Captured frame 280 (2.01416ms).

 

And userconfig

 

  • // true: Capture will automatically begin upon mission start
    • // false: Capture will not begin until set to true (e.g. in mission init.sqf) AND ocap_minPlayerCount is met.

    • // Setting to false allows for mission-specific capture

    • ocap_capture = true;

    • // true: Export capture files to a remote server via FTP (use if web server and game server are separate boxes)

    • // false: Export capture files locally (use if web server and game server run on the same box)

    • ocap_exportRemote = true;

    • /*

    • == Local details ==

    • Configure these values if ocap_exportRemote = false

    • */

    • // Absolute path to OCAP web root directory

    • ocap_exportPath = "F:/xampp/htdocs/"; // e.g. "C:/apache/htdocs/ocap/"

    • // == Local details end ==

    • ocap_exportURL = "http://ocap.armagct.pl/";

    • ocap_frameCaptureDelay = 1; // Delay between each frame capture. Default: 1

    • ocap_minPlayerCount = 2; // Minimum player count before capture begins. Set this to 0 for immediate capture (assuming ocap_endCaptureOnNoPlayers = false)

    • ocap_endCaptureOnNoPlayers = true; // End (and export) capture once players are no longer present

    • // Currently non-functional due to Arma bug

    • // https://feedback.bistudio.com/T120253

    • ocap_endCaptureOnEndMission = false; // End (and export) capture once mission ends

    • ocap_debug = true; // Debug mode

Share this post


Link to post
Share on other sites

Great job with this addon! It is by far the easiest to use AAR. Please add support for Linux though, as that's what we use.

  • Like 1

Share this post


Link to post
Share on other sites

Hi, is the external website export via FTP working ? Because I've tried it last night and it nothing was exported.

Share this post


Link to post
Share on other sites

Well, that didn't work for me either.. I have transfered my missionname.json file ater I exported it from server, but it still didn't show up in our web database when I uploaded that file. 

Share this post


Link to post
Share on other sites

Hi, I want to thank for a wonderful fashion. But faced with the problem that some of the characters in the above privacy Russian replaced. For example, "й" to "Р№".

Share this post


Link to post
Share on other sites
On 12.12.2016 at 11:56 PM, Brebera said:

Well, that didn't work for me either.. I have transfered my missionname.json file ater I exported it from server, but it still didn't show up in our web database when I uploaded that file. 

You must register in userconfig site address that he recorded in the database information.

Share this post


Link to post
Share on other sites

I really must thank you guys. Our debriefing has increased in quality by outstanding numbers, thanks to OCAP! Keep going on, you do a great job for milsim communities!

Share this post


Link to post
Share on other sites

Great Mod!!!!

 

I have everything setup and running.

 

My only problem is that in some missions we use ACE and then we get the "kill/hit events report victim as the killer" issue.   Does anyone have a workaround (for a noobie sqf hacjer) that fixes this?

 

Thanks

Eric

Share this post


Link to post
Share on other sites

I just migrated to Windows Server from Linux solely to support this addon. It'll be a great addition to our community! I just hope it's still being developed seeing as mistergoodson hasn't been active in months... I'd love to see some more exciting features!

  • Like 1

Share this post


Link to post
Share on other sites
On 23-12-2016 at 5:16 AM, eric963 said:

Great Mod!!!!

 

I have everything setup and running.

 

My only problem is that in some missions we use ACE and then we get the "kill/hit events report victim as the killer" issue.   Does anyone have a workaround (for a noobie sqf hacjer) that fixes this?

 

Thanks

Eric

Got it working more or less, but still not perfect. Had a look at ALiVE code and use some of that

 

my fn_eh_killed.sqf:

Spoiler

/*
	Author: MisterGoodson

	Description:
	Called when a unit is killed.
	Logs this event and adds it to ocap_eventsData array.
	Information logged includes:
		- Current frame number
		- Event type (in this case "killed")
		- Victim's OCAP ID
		- Killer's OCAP ID
		- Killer's weapon (if killer is a unit)
		- Distance between victim and killer

	Parameters:
	_this select 0: OBJECT - Victim
	_this select 1: OBJECT - Killer
*/

_victim = _this select 0;
_killer = _this select 1;

private ["_aceKilled"];

if (_victim getVariable ["ocap_exclude", false]) exitWith {}; // Just in case

_victimId = _victim getVariable "ocap_id";

// If killer is null, then unit likely killed by fire/collision/exploding vehicle
_eventData = [ocap_captureFrameNo, "killed", _victimId, ["null"], -1];



//diag_log format["KILLED: %1",_this];

if (isNull _killer || _victim == _killer) then {

        // Check for ACE last damage else return killed.
        _killer = _victim getVariable ["ace_medical_lastDamageSource", _victim];

		if (_killer != _victim) then {
            _aceKilled = true;
            //diag_log format["ACE KILLED: %1 - %2", _killer, _this];
        };
    };

if (!isNull _killer) then {
	
	_killerInfo = [];
	if (_killer isKindOf "CAManBase") then {
		_killerInfo = [
			_killer getVariable "ocap_id",
			getText (configFile >> "CfgWeapons" >> currentWeapon _killer >> "displayName")
		];
	} else {
		_killerInfo = [_killer getVariable "ocap_id"];
	};

	_eventData = [
		ocap_captureFrameNo,
		"killed",
		_victimId,
		_killerInfo,
		_killer distance _victim
	];
};

// Add event to eventsData
ocap_eventsData pushBack _eventData;

if (ocap_debug) then {systemChat format["%1 was killed by %2", name _victim, name _killer]};

 

 

be sure to back up the old one ;)

  • Like 1

Share this post


Link to post
Share on other sites

Goodson is studying at the moment... I'm sure he'll be back once he takes a break.

  • Like 1

Share this post


Link to post
Share on other sites

It's working on our server, but we got some issues. ocap_endCaptureOnNoPlayers only exports capture if players aborts. I don't know if that's intentional or not, but when we're ending the scenario in a scripted way (e.g. BIS_fnc_endMissionServer), or by admin command (e.g. #missions), it does not export anything.

 

Also, when the JSON file is writing after a scenario has ended, it stops if you load another scenario on the server and doesn't get exported to the web server. It takes quite a long time to write the whole file, so the risk of someone loading a new scenario and losing the whole capture is pretty large. Maybe the file should be written whilst the scenario is playing to minimize the required server idle time after it ended?

 

Thanks for a splendid AAR system nonetheless.

Share this post


Link to post
Share on other sites

sagentitled, we just issue the following command on the server, once all objectives have been met, but before the mission end.

 

[] spawn ocap_fnc_exportData;

 

Also for anyone using Ares/Achilles, we add this to the server script

 

["3CB", "OCAP: Export Data", { remoteExec ["ocap_fnc_exportData", 2]; "OCAP exporting" remoteExec ["hint", -2]; }] call Ares_fnc_RegisterCustomModule;

 

A Zeus can then start the export by simply dropping the export module on the map.

  • Like 1

Share this post


Link to post
Share on other sites
4 hours ago, lifetap said:

sagentitled, we just issue the following command on the server, once all objectives have been met, but before the mission end.

 


[] spawn ocap_fnc_exportData;

 

 

Yeah, that's the workaround we've had to do by using the admin console, but most aren't aware of this. We have so many scenarios it's impossible to edit all of them and insert that line of code, so I was hoping there would be a global setting for exporting.

Share this post


Link to post
Share on other sites

Web part works correctly when changing ocap_frameCaptureDelay, if you put a 5, while at proigrovanii reduced 5 times. Arma 3 also works to UTF-8, and the windows to UTF-16, thereby encoding does not always fit together, especially with the Cyrillic alphabet playback reduced 5 times. Arma 3 also works to UTF-8, and the windows to UTF-16, thereby encoding does not always fit together, especially with the Cyrillic alphabet.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×