Jump to content

Welcome to Online Combat Battalion - Australian Tactical Gaming Group
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account

Online Combat Battalion Standing Operating Procedures


SOP | Headless Client

Overview

History of Latency


As most of you already know, Arma is a very CPU intensive game. There are a number of things going on during a session that requires the CPU’s attention. Unfortunately, the CPU cannot do more than a handful of calculations at any point in time, resulting in a potential bottleneck for massive games like Arma.

Missions that have a substantial amount of AI (artificial intelligence), objects, or scripts can result in degraded server performance. When the server runs poorly the server must prioritize its tasks, which means that sacrifices will be made. One of the first things to go is the AI. They often become ‘potatoes’ in the sense that their reaction times are severely diminished. This ultimately leads to a poor experience for the player as the challenge evaporates.

In addition to the poorly performing AI, user scripts and mod performance begin to break down and cause tremendous amounts of lag as the server tries to play catch up. The headless client is something that Bohemia Interactive introduced a number of years back to potentially mitigate this problem.

The Headless Client

When an Arma mission is launched, there are two types of entities involved: the server, and the client.

A client in this context is defined as any computer that is not the server. When players connect to an Arma mission, their computers are all considered as clients. The term ‘headless’ simply refers to a lack of an interface. Servers without monitors for instance, are considered to be headless. A headless client therefore is just another computer that connects to a server, but lacks any sort of interface and is therefore headless.

The next natural question is: what purpose could this serve for an Arma mission? Well the HC is a way to mitigate the problem of poor server performance when under heavy load. The general idea is to offload the AI from the server to a client. That client can then handle the AI calculations without the additional burden of network synchronization etc. This typically results in much more responsive, more human like AI, along with less server lag.

Implementation

Creating The Headless Client


In the editor place a new unit and select SIDE:Game Logic, CLASS:Virtual Entities, UNIT:Headless Client

Creating the Headless Client Unit

To allow for the HC to actually connect, you will need to set CONTROL:Playable. Next you will need to name the unit however the name of the unit is completely up to you.