User Tools

Site Tools


Apex Protocol Analysis

ArmA 3 Apex Protocol multiplayer COOP missions analysis. Spoiler alert; its seven MP missions, not a real campaign…

Missions are located at:
<arma3root>\expansion\addons\missions_f_exp.pbo - campaign, MP missions: two end games, escape from tanoa, four ZGM's (zeus something?), showcases: end game and vtol
<arma3root>\expansion\addons\missions_f_exp_a.pbo - two end game MP missions

Apex Protocol campaign (here by just “campaign”) is located in a3\missions_f_exp\Campaign\ directory.


Campaign includes these sub directories:



a3\missions_f_exp\config.cpp is huge almost 15,000 lines addon config.

The root classes it includes are: CfgPatches (well doh), CfgMissions, CfgFunctions, CfgSounds, CfgMPGameTypes, CfgAddons, CfgSentences and CfgWorldList

a3\missions_f_exp\campaign\ directory: - just as the name says common defines.
commonDescription.ext - looks like mission description.ext
description.ext - normal for a campaign, except it has no missions listed (and no include files)


Assumption: class CfgMissions → MPMissions → Apex apparently includes the campaign mission names / directories.

class CfgMissions
	class Campaigns
		class Apex
			directory = "A3\Missions_F_Exp\Campaign";
	class MPMissions
		class Apex
			briefingName = "$STR_A3_CoopCampaignName";
			class EXP_m01
				briefingName = "$STR_A3_exp_m01_missionname";
				directory = "a3\missions_f_exp\campaign\missions\exp_m01.tanoa";
			class EXP_m02
				briefingName = "$STR_A3_exp_m02_missionname";
				directory = "a3\missions_f_exp\campaign\missions\exp_m02.tanoa";
			class EXP_m03
				briefingName = "$STR_A3_exp_m03_missionname";
				directory = "a3\missions_f_exp\campaign\missions\exp_m03.tanoa";
			class EXP_m04
				briefingName = "$STR_A3_exp_m04_missionname";
				directory = "a3\missions_f_exp\campaign\missions\exp_m04.tanoa";
			class EXP_m05
				briefingName = "$STR_A3_exp_m05_missionname";
				directory = "a3\missions_f_exp\campaign\missions\exp_m05.tanoa";
			class EXP_m06
				briefingName = "$STR_A3_exp_m06_missionname";
				directory = "a3\missions_f_exp\campaign\missions\exp_m06.tanoa";
			class EXP_m07
				briefingName = "$STR_A3_exp_m07_missionname";
				directory = "a3\missions_f_exp\campaign\missions\exp_m07.tanoa";
// etc ...


a3\missions_f_exp\campaign\briefing\ directory contains SQF scripts for some odd looking arrays which are launched with

_subtitles spawn BIS_fnc_EXP_camp_playSubtitles


a3\missions_f_exp\campaign\Classes\ directory contains SQF scripts which basically are unit load outs, weapons, gear, uniform etc.

Classes.hpp file is config file with CfgRoles and CfgRespawnInventory classes. These looks also like weapons and gear load out stuff.


a3\missions_f_exp\campaign\Cutscenes\ directory contains 6 cutscene missions.


a3\missions_f_exp\campaign\Fsms\ directory contains one single file: viperSquad.fsm heh


a3\missions_f_exp\campaign\Functions\ directory contains … well you quessed it, bunch of function SQF script files (Manager\ dir 6 and root Functions\ dir 19).


a3\missions_f_exp\campaign\Missions\ directory contains the good old basic missions, nothing new to see here for anyone who has ever made ofp/arma/arma2/arma3 campaigns.


a3\missions_f_exp\campaign\Scripts\ directory contains 10 SQF script files.

Campaign Created By

Missions and cutscenes are created according to mission.sqm author value by: _neo_, FrankForsyth, Will and Zipper5

Scripts in a3\missions_f_exp\campaign\Functions\Manager\ directory are created by Nelson Duarte, and in the functions\ root dir both Nelson Duarte and Thomas Ryan (Zipper5).

In-Game Experience

Dedicated server shows each of the seven missions on tanoa missions list, you can play them in any order you want. If you start from the first mission and complete it, you are then taken into mission number two.

So while you can play this automatically without selecting next mission, it still is just a bunch of MP missions under server browser menu and not a real campaign. The difference might be very little and some (most?) people wont understand it, but facts are facts, real campaign is done with decription.ext which controls the missions available and so far has been and is single player, any campaign can be made “mp campaign” by splitting the missions from campaign dir into mpmissions dir where they can be played one by one in any order you want in server browser menu.

For average player Apex Protocol is great experience, play “campaign” in multiplayer with your friends, as such apex protocol does a good job.

arma3/missions/apex-protocol-analysis.txt · Last modified: 2018-01-08 10:47 by snakeman