Jump to content
Sign in to follow this  
RuairiAU

Can someone answer some questions about Headless Clients?

Recommended Posts

I understand that the HC slot is for another instance of the game to join and the server delegates the AI processing to it, ergo the server is freed up to just deal with simulation. What I don't understand is why this is even a solution.

Surely this could have been done on the server and delegated to a separate process/thread?

What benefit does a HC have over doing it on the server?

I don't want to make any assumptions on the inner workings of Arma, but I am a developer; multithreading ain't rocket surgery. In the same hand, Arma is a fantastically complex sandbox built by people significantly smarter than me, so I suppose I'd like to know what are the technical hurdles of doing this that made them come to the conclusion a HC was the best solution.

Share this post


Link to post
Share on other sites

I'm not an expert on the Headless/Dedicated Client, but I spent a lot of time trying to learn how to get it working for HAL, which is a system of scripts by Rydygier that manage AI units on the map like a multi-sided Chess game.

From what I have found, the HC can be set up on the same server and use delegated cores/threads. I don't know how to do that, but I remember seeing conversations about HC on the same system while I as scouring over these forums and other ArmA forums. I don't know the definitive benefit of providing the HC it's own set of cores on the same CPU running the game, but up untill recently, ArmA 3 (and predecessors in the franchise) only used a single core, so employing unused cores/threads to handle the AI could be a substantial benefit with hundreds or thousands of units on the map, if it weren't for HC needing its own valid license key. An exclusive CPU dedicated to managing the AI would be ideal, but that also requires latency less than 2ms and unlimited bandwidth, which means the HC can only be used in a LAN environment.

Even on very high-end PC's, 1000's of units on the map slows the game's performance down to a crawl. This problem is side-stepped by scripts and the Simulation Manager module that cache units outside the player's vicinity, so my theory is (and sorry for the speculation) the Headless Client is probably a feature that was created in the development of the VBS system and carried over to ArmA 2, and now 3. I think this because caching units is effective for a number of players that are relatively close in proximity, but for a substantial number of players all over the map, caching would be pointless. It would be logical to have a network of computers (such as in a military training simulation) that can act as Headless Clients (as far as I can tell, there can probably be more than one HC) to a server supporting 100+ players, so it might be possible to simulate 10,000 or more units on the map (regiment and division size), so long as the AI can be offloaded and processed independently. But that's all speculation from just another guy on the internet, no tinfoil hat, though.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×