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
RED 22 Mar, 2024 @ 11:22pm 
ONE OF MY FAVE MODS SO GOOD
Asmo 9 Mar, 2024 @ 9:43am 
how to disable info right side
Godefroy de Bouillon 8 Nov, 2022 @ 12:53am 
hi were is only your script because ago i can work your script on server mp!
but now u force whith module and client nees have the same?????
ago just script he is realy fonctionnal
thx return ! :-)
DirtyDel 16 Sep, 2021 @ 6:06am 
I'm desperately trying to get this work with TADST. Theoretically, I should be able to start the Wert HC as normal, add the I.P. of the headless client to TADST headless client. Then I would have to successfully add the Wert Server config to TADST, maybe under server side scripting? I can't run a dedicated server without Tadst because I wouldn't be able to successfully configure or maintain a dedicated server without it.
DirtyDel 5 Sep, 2021 @ 9:23am 
Wert, is there any way I can get this working with tadst? I'm struggling
MrK  [author] 30 Aug, 2021 @ 10:27am 
I don't see why not! Most of my testing was done like this.
DirtyDel 30 Aug, 2021 @ 7:42am 
Prior to jumping in to this project, I just wanted to clarify: with the script version, I can use both a dedicated server and headless client on the same machine?
Chan 22 Jun, 2021 @ 4:08am 
Thanks for the answer.:steamthumbsup:
Yes, the CTI is very extensive, many new spawns have happened. There are also many exceptions, very many. Because otherwise the mission will no longer work.
as an example: [true, 30, false, true, 5,3, true, ["West", "East", "WFBE_EASTMHQNAME", "WFBE_WESTMHQNAME", "WFBE_WESTDEFENSES_MG", "WFBE_WESTDEFENSES_GLDE", "WFBE_WESTDEFENSES_GLDE", "WFBE_WESTBEODESFENSES" , "WFBE_WESTDEFENSES_CANNON", "WFBE_WESTDEFENSES_AASAM", "WFBE_WESTDEFENSES_AARAD", "WFBE_WESTDEFENSES_AASYS",
"WFBE_WESTDEFENSES_ATGUN", "WFBE_WESTDEFENSES_MASH", "B_Heli_Transport_03_F", "I_Heli_Transport_02_F", "uns_Mi8TV_VPAF_MG", "O_Heli_Transport_04_covered_F", "B_Heli_Light_01_F", "O_Heli_Light_02_unarmed_F", "vn_b_air_uh1d_02_01", "vn_o_air_mi2_03_01"]] execVM "WerthlesHeadless.sqf";

Interesting that it would do the outsourcing to HC very well.
MrK  [author] 22 Jun, 2021 @ 2:06am 
Hard to tell without seeing the code, but are you running other scripts that run on unit spawn? If there are not a large number of units at play at once, you may not notice much different.
Chan 21 Jun, 2021 @ 10:51am 
SOS
I have already spent xx hours integrating this into my CTI mission. Countless tests and changes made.
It also seems to work very well in debug, including the exceptions.
But there is one thing I have never had, increased performance.
On the contrary, the performance of the server only breaks after 15 minutes, FPS quickly drops to 5. Without this tool, with the same settings, the server remains at 25-30 FPS.
What's wrong?
Server performance is just 15-20% CPU performance, HC with the same PC and network, full connection speed. Server CPU is bored, doesn't even get warm. But why does this HC tool not work, does anyone know this problem?