Description: Complete headless client setup kit. Up-to-date, configurable script, server config files, headless client setup all ready to go with only minor alterations required. The script transfers units to any number of HCs, and interacts with Arma such that:
The headless client/dedicated server setup files are designed to work with little or no alteration, but can be easily customised to achieve even the most complex setup. Benchmarking missions to demonstrate the performance difference with/without HCs are a part of v2.1. There is a guide included along with other useful files to get IP address, live HC info etc. I can't think of much else to add to/fix this kit so I am keen to hear other suggestions to improve it. Features: -Editor/script/Zeus AIs auto-transferred to HC control -AI waypoints/scripts/trigger sync preserved -Splits AIs evenly among multiple HC -**3D** debug mode -HC test/benchmark missions -Server/HC configurations and shortcut examples I wanted to create a kit with everything needed to get HCs to work without having recreate units as scripts and work through many long guides. Installation / Usage: HCs allow AI processing to be performed by separate machines to speed up server performance. This guide works for Arma 3 and Arma 3 Server. I wanted to create a kit with everything needed to get HCs to work without having recreate units in scripts and work through several long guides. If this kit helps you, please rate it so I know it has worked! Setup Guide Contents 1. How to add scripts to your multiplayer mission 2. How to use the test mission 3. How to start a server and connect HCs 4. Other information Subscribing puts "@Werthles Headless Kit" in the Arma 3 game folder, or download here. Arma 3 Server can by downloaded via Steam Library tools. 1. How to add scripts to your multiplayer mission a) Create HC(s) in your mission. -Insert Unit->Game Logic->Virtual Entities->Headless Client -Give it a unique name -Set it as playable b) Add "init.sqf" and "WerthlesHeadless.sqf" from: @Werthles Headless Kit\Mission Scripts to the mission folder, usually: Documents\Arma 3 - Other Profiles\<profile name here>\MPMissions\<mission name.map> The parameters in "init.sqf" configure: -Repeat on/off -Repeat delay -Debug on/off -Balancing mode -Start delay -Sync delay Use simple balancing with 1 HC or to ignore balancing. c) If WH may transfer AIs while they are waiting at trigger-synced waypoints, add a non-overlapping waypoint before it, and sync this to the same trigger. HC transfer causes a temporary desync. d)Re-save your mission as a multiplayer mission. 2. How to use the test mission Move @Werthles Headless Kit\Test Mission\HeadlessTest.Altis.pbo into Arma 3( Server)\MPMissions or subscribe here. 3. How to start a server and connect HCs Copy: Arma 3\@Werthles Headless Kit\My Headless Kit Arma 3\@Werthles Headless Kit\steam_appid and paste as: Arma 3( Server)\My Headless Kit Arma 3( Server)\steam_appid on the machines you will use as HCs or servers. Then choose your next step: a) Set up LAN game b) Set up dedicated server game Headless clients cannot connect to game clients hosting internet games. a) Set up LAN game i) Start Arma 3 and host a LAN multiplayer game, with the password: arma If you will run the HC on the same machine, go to iii), then enter: connect="-connect=localhost"; ii) Open: Arma 3\@Werthles Headless Kit\Get LAN IP then note the machine's IPv4 address. iii) On your HC machine, open this with a text editor: Arma 3( server)\My Headless Kit\Headless Client\ArmA2OA.par iv) Put the IP from ii) after connect="-connect= E.g. connect="-connect=192.168.0.10"; v) If you have Arma 3( Server) installed on C:\ in the default location, start the HC using the appropriate shortcut from: Arma 3( Server)\My Headless Kit\Example Shortcuts vi) If not, create a shortcut to: Arma 3( Server)\arma3server.exe vii) Right click it and select properties. viii) At the end of "Target", add a space, then paste: "-par=@My Headless Kit\Headless Client\ArmA2OA.par" ix) Double click on the shortcut to run the HC. x) You can start more than one HC per machine, or repeat this process on multiple machines Your HCs should join HC slots on your server. b) Set up dedicated server game You will need various internal and external IP addresses for this. To get them, open the folder: Arma 3( Server)\My Headless Kit\ on the appropriate machine and run either Get My Internal IP (IPv4) or Get My External IP to get its IPs. i) On the server machine, in notepad, open: Arma 3( Server)\My Headless Kit\Server\WerthlesHeadless_config.cfg ii) Add the external IPs of all external HCs and the internal IPs for all internal HCs to the headlessClients line, e.g.: headlessClients[]={"81.46.54.91","192.168.0.55","56.45.87.19"...}; iii)[/h1]On the HC machine, in notepad, open: Arma 3( Server)\My Headless Kit\Headless Client\ArmA2OA.par iv) Put the server's IP in this file after connect="-connect= E.g. if connecting the HC to the server via LAN: connect="-connect=192.168.0.10"; E.g. if connecting the HC to the server via the internet: connect="-connect=81.46.54.91"; v) If you have Arma 3( Server) installed on C:\ in the default location, start the server/HC using the appropriate shortcut from: Arma 3( Server)\My Headless Kit\Example Shortcuts vi) If not, create shortcuts to: Arma 3( Server)\arma3server.exe for a HC and for the server. vii) Right click it and select properties. viii) At the end of "Target", add a space, then paste: "-par=@My Headless Kit\Headless Client\ArmA2OA.par" for the HC shortcut and: "-par=@My Headless Kit\Server\ArmA2OA.par" for the dedicated server shortcut. ix) Double click on the shortcuts to run the HCs and server. x) You can start more than one HC per machine, or repeat this process on multiple machines Your HCs should join HC slots on your server. Type this into Arma 3 chat to check this: #login three 4. Other information a) Opening Ports To host an Arma 3 dedicated server, forwarded these ports to your computer (UDP): 2302, 2303, 3478, 4379, 4380, 27000 - 27050 Here is a good video of this. b) Mods and CustomisationThe files to alter are in: Arma 3( Server)\My Headless Kit\Server or: Arma 3( Server)\My Headless Kit\Headless To launch your server/HC with mods, open the related: Arma2OA.par file and replace: @Example mod 1 etc. with your mods' folder names, separating with a ; Full details of other parameters: https://community.bistudio.com/wiki/Startup_Parameters_Config_File https://community.bistudio.com/wiki/Arma_3_Startup_Parameters https://community.bistudio.com/wiki/server.cfg https://community.bistudio.com/wiki/basic.cfg c) Arma 3 Launcher You can start HCs and servers with Arma 3 Launcher, however Arma 3 Server currently doesn't have this, and for HCs connecting via the internet, you would still need to alter .cfg files (possibly for LAN HCs too). d) Compatibility i)Works alongside DAC, if set up as described by Monsoon. Set a long enough WH start delay so DAC set up finishes first. Enter DAC zone group numbers as: (max total groups)/(No. of HCs). DAC and WH scripts shouldn't affect each other. WH script will control editor/Zeus/other script created AIs, DAC will control DAC units only. ii) WH script changes AI unit locality. This could break some scripts where local commands are issued for units that are no longer local. iii) Compatible with UPSMON. Add a long enough start delay for UPSMON to set up first. Media: Armaholic.com has its own Youtube channel where we will cover the Community made releases. Subscribe to the Armaholic.com Youtube channel Steam Workshop: - Subscribe Notes: Please let me know if you think there is an error somewhere. Credits & Thanks: Thanks to ian for much help with testing and improvements. Changelog: v2.3 New Features/Improvements: Rebalancing added. If one HC has control of more units than another, script will attempt to even the load. However, if a HC disconnects, trigger syncs will still be lost. Fixes: More efficient code. v2.2 Waypoint duplication workaround no longer required. If a group is waiting for trigger activation while HC transfer occurs, the group will not ignore this trigger. v2.1 New Features/Improvements: - Server performance benchmarking mission added. Fixes: - Unit count code amended. v2.0 New Features/Improvements: - 3D debug mode. Shows groups transfer to HCs. Gives description of where each group is local to, if not on a HC. - Debug mode can be turned on/off while the mission is in progress, via an option on the action menu. Debug mode script parameter now relates to who can activate debug mode: everyone - true, admin/host only - false. - Arma 3 support modules automatically compatible, no work around required. Units/groups can still be ignored using script parameter 8, as before. Fixes: - Small efficiencies made and improved variable naming. v1.2 New Features/Improvements: Units can now be ignored by the transfer script by specifying either their name, class name, group name, synced module name, vehicle name or vehicle class name. This is done in the init.sqf file. There is a new parameter for this. This can also be achieved by putting "ignore" as part of any of the above names. v1.1 New Features/Improvements: Units can now be ignored by the transfer to HC script. Put "ignore" as part of the unit's name, e.g.: CSAT1ignore2. The whole group will be ignored if one unit of the group is named. Initial setup report added. This shows the number of units transfered to the HC after the first cycle. Can be turned off within the init.sqf file. Debug mode now visually improved. Also, debug is switched off by default. Support modules, and other modules, can be ignored by the transfer to HC script. Put "ignore" as part of the module's name, e.g.: Supportignore1. Required step for using support modules. List of web links added to the mod, for easy access to the files and guide. More features demonstrated in the Headless Test Mission. Fixes: Hints now display silently. VerifySignatures and RequiredSecureId now set to 0, to allow for unsigned mods by default. Non-recurring mode fixed. Improved algorithm. v1.0.1 Fixes: No longer displays errors in the Arma Launcher. v1.0 - first release Forum topic: - Armaholic forums Enable javascript to be able to download from Armaholic please! |