ACE3/docs/wiki/frameworkx/headless-framework.md
jonpas 65df821e2b Add wiki ACEX sections and merge Mission Makers and Framework sections (#4307)
* Update documentation guidelines

* Add version info part 1

* Add version info part 2

* Add removed in version to frontmatter and tag testmissions as removed

* Add version info part 3

* Seaparate ACE3 and ACEX Features/Framework menus, Add ACEX Headless documentation

* Add ACEX support to extract_dependencies.py

* Merge useful-functions into frameworks

* Move class-names to main menu

* Prettify class-names table titles

* Fix table of contents on documentation guidelines and tips

* Merge mission-tools into frameworks

* Merge modules into frameworks

* Rename to Frameworks (plural)

* Fix capitalization in class-names

* Improve wiki menu positioning

* Add 'mod' to documentation guidelines

* Update frameworks sections description for new content

* Update wiki menu descriptions

* Fix class-names 4 digit versions

* More places for descriptions

* Include documentation in PRs if applicable note

* Add short ACE3 and ACEX description page, outlining the difference
2016-09-08 21:19:07 +02:00

41 lines
2.1 KiB
Markdown

---
layout: wiki
title: Headless Framework
description: Explains how to set-up the Headless component.
group: framework
order: 5
parent: wiki
mod: acex
version:
major: 3
minor: 0
patch: 0
---
## 1. Overview
The system works on the basis of unit spawning, when a unit is spawned it will schedule a rebalance after the specified delay (described below), after the delay rebalance runs on all groups. Groups already local to any Headless Client are skipped, also those blacklisted (described below) and in the same group as any player are skipped. All others applicable for a transfer are then transferred in round-robin fashion, equalizing the number of groups on each Headless Client (most effective with 3 Headless Clients).
In an event when a Headless Clients disconnects during the mission (is kicked, loses connection or similar) all units local to that Headless Client are automatically transferred to the server by Arma 3 and a full rebalance will be forced, meaning all units, including those already on other Headless Clients, are transferred again to equalize the load. Same happens when a Headless Client connects during the mission.
A server admin or mission maker can also define the minimal delay between transfers, in order to minimize the desync due to changes in locality of many units. Log can also be enabled to keep track of the transfers (_note: it is counting groups and not units_). That can be set through [ACE3 Settings](../framework/settings-framework.html) or a mission module.
## 2. Scripting
### 2.1 Disable Transferring for a Group
To prevent a group from transferring to a Headless Client use the following line on a group leader (or every unit in a group in case group leader may not spawn):
```cpp
this setVariable ["acex_headless_blacklist", true];
```
## 3. Limitations
Some Arma 3 features are incompatible, this is up to BI to add support. Disable transferring for units using the following features to ensure expected functionality.
- Vanilla Support Modules will stop functioning
- Triggers synchronized with waypoints will no longer be respected (waypoint will not change status based on the trigger condition)