Skip to content
Anton Struyk edited this page Oct 25, 2015 · 1 revision

The only requirement for using the program is that you have some place to put the configuration files and keys that are required. This can be something like a clan webpage - or (as in my case) a simple Dropbox public folder. All that is necessary is that the various pieces of information are publicly available.

In order to configure Gatekeeper you will need to do a few things:

  • Generate a configuration file that the clients will download
  • Setup a config file to be distributed to users (along with the executable) that points to the configuration file

Client Configuration File (XML)

This is a file that is distributed alongside the client .exe and points to the remote configuration file.

The file should be named settings.xml.

Currently (v.2.0.1) there is only one element needed:

<settings>
	<configUrl>http://some/path/to/your/keymaster_config.xml</configUrl>
</settings>

The Remote Configuration File (XML)

This is a hand-written file that contains the settings for each client. It will be downloaded during the client's startup to let the program configure itself. It is normally placed in a publicly available location (like dropbox). You will need the URL to this file when setting up the settings.xml to distribute to your clients.

Here's an example of the config file (as of 2.3.0):

<config>
	<ftpAddress>192.168.0.1</ftpAddress> <!-- Replace with your FTP server address -->
	<ftpUser>someUser</ftpUser> <!-- Replace with your FTP server username -->
	<ftpPassword>somePassword1</ftpPassword> <!-- Replace with your FTP server password -->
	<ftpArmaPath>/some/path/to/arma/folder</ftpArmaPath> <!-- The path on the server to the ARMA install folder -->
	<ftpParFileName>startupParameters.par</ftpParFileName> <!-- The name of the generated PAR file that should contain the startup parameters -->

	<!-- Keys that shouldn't be added even if a mod says they need it -->
	<!-- Normally used for mods that pack 'global' versions of their keys when we just want the version-specific key -->
	<blacklistKeys>
		<key>xla_alexander.bikey</key>    <!-- Fixed Arsenal Mod -->
		<key>xla_fixedarsenal.bikey</key> <!-- Fixed Arsenal Mod -->
	</blacklistKeys>
	
	<!-- These mods will be ignored when generating the -mod argument in the .par file -->
	<!-- and so will not be loaded by the server -->
	<clientOnlyModList>
		<mod>@JSRS2</mod>
		<mod>@HRP</mod>
		<mod>@Ares</mod>
		<mod>@outlw_magrepack</mod>
		<mod>@sthud_a3</mod>
		<mod>@st_stamina_bar</mod>
		<mod>@st_map_autobrightness</mod>
		<mod>@st_nametags</mod>
		<mod>@tao_foldmap_a3</mod>
		<mod>@VTS_WeaponResting</mod>
	</clientOnlyModList>
	
	<!-- The specific settings for each server setup -->
	<serverConfig name="Public Server" >
		<playWithSixConfigFileUrl>http://some/path/to/pws_repository.yml</playWithSixConfigFileUrl>
		<parFileSourceUrl>http://some/path/to/param/template.par</parFileSourceUrl>
	</serverConfig>
	<serverConfig name="Private Server">
		<serverOnlyMods>
			<mod>@cse_server</mod> <!-- Adds a mod to the server startup params ONLY (i.e. no keys to upload) -->
		</serverOnlyMods>
		<playWithSixConfigFileUrl>http://some/path/to/pws_repository2.yml</playWithSixConfigFileUrl>
		<parFileSourceUrl>http://some/path/to/param/template2.par</parFileSourceUrl>
	</serverConfig>
	<!-- ... More server configs here ... -->
</config>

Play With Six Server Setups

If you have a PWS YAML file that you use to share a mod set with your players, you can specify a <playWithSixConfigFileUrl> element in the config file. The program will automatically download the YAML file and combine the mods it finds there with the ones specified in the manualMods entry.

The YAML file should look something like this:

--- 
:name: JTF2 - Public Ops
:ip: "208.100.45.13"
:port: 2302
:password: ""
:info: http://jointtaskforce2.com
:motd: []
:rules: []
:force_server_name: true
:open: false
:hidden: false
:force_mod_update: yes
:required_mods:
- "@sthud_a3"
:allowed_mods:
- "@ASR_AI3"
- "@CBA_A3"
- "@JSRS2"
- "@HRP"
- "@outlw_magrepack"
- "@sthud_a3"
- "@st_stamina_bar"
- "@st_map_autobrightness"
- "@st_nametags"
- "@tao_foldmap_a3"
- "@TPWCAS_A3"
- "@VTS_WeaponResting"
:apps: []
:missions: []
:mpmissions: []

Keys for both the allowed_mods and required_mods entries will be uploaded.

Clone this wiki locally