Arma 3
76 ratings
Werthles Headless Kit v2.3
   
Award
Favorite
Favorited
Unfavorite
Data Type: Mod, Server
Mod Type: Mechanics
Scenario Gameplay: Multiplayer, Persistent
Meta: Collection
File Size
Posted
Updated
694.167 KB
11 Jun, 2015 @ 11:14am
16 Aug, 2015 @ 5:41pm
8 Change Notes ( view )

Subscribe to download
Werthles Headless Kit v2.3

In 1 collection by MrK
Werthles Headless Kit Collection
4 items
Description
-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

ALSO IN MODULE FORM HERE!

Setup guide below, plus extra info/links.

View changes here.

Headless client: Arma game copy that just plays AI units. HCs can process AIs on separate machines, so servers can handle 100s more AIs with human players. 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 as scripts and work through many long guides. If this kit helps you, please like it so I know it has worked!

Subscribing puts "@Werthles Headless Kit" in the Arma 3 game folder, or download here[www.armaholic.com].

Arma 3 Server is downloaded in Steam Library tools.




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



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:
-Repetition
-Repeat delay
-Debug mode
-Balancing mode
-Start delay
-Sync delay
-Setup report
-Ignored units' names

c)
Re-save your mission as a multiplayer mission.


2. How to use the test mission

Move
@Werthles Headless Kit\Addons\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)
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 Customisation
The 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 with DAC, if set up as described by Monsoon.[www.armaholic.com]
Set a long enough WH start delay so DAC setup finishes first.
Enter DAC zone group numbers as:
(max total groups)/(No. of HCs).
ii)
WH script changes AI unit locality. This could break some scripts where local commands are issued for units that are no longer local.
94 Comments
A Blushing Crow 26 Sep, 2015 @ 9:57pm 
...and also....

B) - general documentatio update to reflect current script version. For example...

Current Set-up .txt file states...

"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. "

But version-history/change-notes here on Steam says that as of version 2.2...

"Waypoint duplication workaround no longer required."

(Sorry if I've made a wrong connection here ... I'm assuming "waypoint duplication workaround" here refers to the issue above about units "waiting at trigger-synced waypoints")

Thanks again for this script - looks really useful!
A Blushing Crow 26 Sep, 2015 @ 9:57pm 
Hey! This looks like a really mature/solid script that has been paid a LOT of love by the author. Others in my clan have tested it (good results) and I am about to start using it in my missions (only downloaded yesterday...).

My only suggestions so far would be around documentation. Specifically...

A) it would be really handy to have some doucmented 'tips' for using some of the parameters in the init.sqf more effectively. For example...
Param 1) - in what situations might it be best to use repeating or once-only;
Param 2) - perhaps a suggested time range or tradeoffs that people might need to consider? (what sort of times might be too fast or too slow and lead to unwanted results)
Param 4) - does it matter if Adavanced balancing is "true" but there's only one HC (I assume not, but would be good to make the situation explicit)
Param 5) - as per param 2 - suggested time range and/or considerations
Param 6) - as per param 2 - suggested time range and/or considerations
Cleric 1 Sep, 2015 @ 7:56am 
Okay so that line works but the path has to be the exact path to the battleye folder starting from the letter drive arma is installed on.
Cleric 31 Aug, 2015 @ 8:28am 
Hey thanks a lot man, I'll give it a try! Btw the headless clients have been working great, no crashing or anything on my dedicated server. I had to tweak the config a bit due to an error I was getting but no issues after that. Thanks again
MrK  [author] 31 Aug, 2015 @ 4:40am 
If you open My Headless Kit\Server\ArmA2OA.par, then add bepath="-bepath=BattlEye"; to a new line in the middle of the code, I think this should tell the DS to look for the cfg file in the Arma 3\BattlEye folder. Please let me know if this helps!
Cleric 30 Aug, 2015 @ 10:48pm 
Would be nice to have rcon support, if anyone can think of a solution, I'm all ears..
Cleric 29 Aug, 2015 @ 9:38am 
No luck with that, but when I use another launched for the server that has a battleye folder in the profile directly, it works.. There must be some place to specify a path in the config somewhere.
MrK  [author] 29 Aug, 2015 @ 5:28am 
I haven't set up a custom path for that, so I believe creating a beserver.cfg file in the Arma 3/BattlEye folder should do the trick. However, I've never used this myself.
Cleric 29 Aug, 2015 @ 1:44am 
So i have it all working but... where is the BE.cfg file (if there is one, i have not seen) so i can set the Rcon password?
Yuri Vieira 12 Aug, 2015 @ 6:17pm 
I restarted the server and put the same mission, and mysteriously didn't got "session lost". hehe. But thanks for listening.