#headless_client

1 messages · Page 8 of 1

cunning sage
#

or you move them there with setGroupOwner command but that is essentially what ACEX Headless does

#

its the same as spawning AIs on a client machine instead of server

#

its up to the mission maker to manage locality of the AIs

#

if you feel unsure, stick with ACEX Headless

silent steeple
#

ok..

cunning sage
#

that short delay will increase the changes of broken loadouts

silent steeple
#

oh

#

okay

#

so.. 15-20

lethal compass
#

Hey what is some good S tier headless scripts?

#

i've been using Werthles and it does a pretty good job

sacred ridge
#

Is it be possible to run headless clients on a different server than the one hosting the game (efficiently I mean)? What kind of impact can I expect by having, says, 20ms ping between the two servers, is that a big problem or acceptable?

#

Basically I'm wondering if I could host multiple HC on different ephemeral cloud servers like AWS or GCP to enhance the performances of a game server

sacred ridge
#

oh, and I'm very new to arma server and reading a bit it looks like HC are only for AIs, does that mean there is no way to split up load between different processes/servers for human players (i.e. humans vs humans only missions)?

cunning sage
#

Only AI. Same machine gives better bandwidth. Each process main thread will be the primary CPU user

sacred ridge
#

Thank you

grizzled shuttle
#

Does battleye block dlls on HC? My server sees dll, but HC no

heavy tiger
#

no 🤔 shouldn't? Atleast if you run HC properly
but if it runs on server you won't be able to run improperly.. Arma server binary shouldn't run battleye

grizzled shuttle
#

yep, and HC sees extdb dll, but no my dll

#

and as I remember, extdb3 signed by battleye, so I thought that it must be signed

heavy tiger
#

extdb is not signed by battleye

#

but whitelisted

grizzled shuttle
#

yea, whitelisted

heavy tiger
#

and for HC that shouldn't matter, but I never tried that

urban juniper
#

I have a HC but it doesnt join the HC slot in the server, is this normal

heavy tiger
#

No.
Missing mods?

urban juniper
#

let me make sure they are all there

#

yeah all the mods are there

urban juniper
#

i got it, i forgot to use the version of the mission that had variable names for the clients, thanks for the help

viral gazelle
#

I want to install use headless clients on the Mainserver, do I need a separat installation or can I use my dedicated arma installation?

cunning sage
#

You can use your existing installation

viral gazelle
#

Do I need advanced towing in the mod aswell for the HC Client? I assume so?

cunning sage
#

HC needs all mods required by a regular game client

viral gazelle
#

understood thx

jade lotus
#

Hi. I'm trying to setup headless client, but I've got an issue. It starts as dedicated server instead of client. Here are my censored parameters that are in .bat file which is inside arma 3 server folder. I've read many materials on the internet (Headless wiki re-read like 10x or more), but after few days of searching and trying, I'm going to ask here.

arma3server.exe −client −connect=SERVERIPADRESS −port=2302 −password=SERVERPASSWORD

cunning sage
#

the UI looks similar for HC and server so you might have them confused

#

are HCs whitelisted in the server config?

jade lotus
#

Yes, it is whitelisted

cunning sage
#

ah

#

you have the wrong dashes

#

instead of -

#

I guess you copied from some guide using fancy characters 😛

jade lotus
#

lol, I'm going to try it right now 🤦🏻‍♂️

#

YES, dedicated client created! Thank you @cunning sage, I'm one step closer ❤️

#

My headless has joined and now it is loading profile "HeadlessOne"

#

It is working. Thank you much (Such stupid mistake I've made...)

cunning sage
#

you're not the first to come here with the dash issue 😄

jade lotus
#

@cunning sage After almost two hours of testing, it works miraculously. FPS gains are huge. I have one question tho. Should I launch arma3server.exe or arma3server_x64.exe? From my limited point of view, I would say that x64 should be better (especially with memory).

cunning sage
#

x64 seems to handle some of the larger mods better

jade lotus
#

Perfect, thank you.

true pine
#

So my HC gets created

#

but doesn't connect

#

arma3server.exe -client -connect=127.0.0.1 −port=2312 −password=1RB "-mod=@ace;@ACEX;@Achilles;@Advanced Urban Rappelling v1.0h;@ALiVE;@ASR AI3;@Callsign Patch Pack 1;@CBA_A3;@Chernarus Redux;@CUP Terrains - Core;@CUP Terrains - Maps;@DUI - Squad Radar;@Enhanced Movement;@GGE- Captive Animations;@GGE- Core;@Project OPFOR;@Immersion Cigs;@RHSAFRF;@RangerBase;@RHSSAF;@RHSGREF;@Task Force Arrowhead Radio (BETA!!!);@RHSUSAF;@USP Gear & Uniforms;@USP Gear - Core;@TFAR Animations"

echo flower
#

you need to wrap your password into ""

#

-password="mypassword"

#

also make sure you added the ip of your headless client to this config inside your server.cfg
headlessClients[] = {"<IP>"};

#

note you will also have to add the local ip (127.0.0.1) in case you are running the hc on the same machine

gusty harbor
#

I'm running headless clients against a local MP server that I'm starting directly from the editor , and it's weird -- sometimes it all works fine. They connect, I go into the mission, great.
Most of the time though, they disconnect on the map screen, then re-connect and keep staying in the hourglass "Im loading the mission" status.
When I then return to the slot list, they dont green up.
I need to start everything anew (MP server & hcs) to give it another go.

Any ideas / issues that I should be aware of?

cunning sage
#

HC works with non dedicated? think

heavy tiger
#

sure

cunning sage
#

Are you using profiling branch?

#

Or did the new HC whitelist make it in yet?

heavy tiger
#

no

gusty harbor
#

HC works with non dedicated? think
@cunning sage I figured I'd give it a try, and was somewhat surprised as well :D

#

the weird thing is... i've got 3 HCs, and most of the time two of them do the disconnect/reconnect/eternal-hourglass dance

#

one of them though makes it through into the game

#

seens random which one

gusty harbor
#

ftr: works flawlessly if I let the HCs only join when the mission is already in briefing screen.

hybrid pond
#

I must be missing something about HC's

#

We have a dedicated server running. And a HC is in his slot and everything

#

I create several AI groups. Use SetgroupOwner to make them local to the HC

#

no FPS raise in the server. Once I delete them...FPS goes up

#

then
I try to let the AI spawn by script.
Result is the same. AI is local to the HC but server impact is just as much as when AI is local to the server

hybrid pond
#

HC is actually running on a different core

vague saddle
#

Maybe there are not many bots to make a difference then, how many do you have?

#

With HC server has to synchronize data more 🤷 (as far as I understand)

hybrid pond
#

we're talking 20 AI max

#

also with 10. same effect

#

I see the FPS dropping

#

Like...I put 60 AI down

#

When sending them to the HC FPS stays low

#

even spawning on the HC side, Server FPS drop down

#

like...a lot

#

srver runs about 45FPS. No AI and 1 player

#

CPU Intel core i5-4690 3.5Ghz

#

16Gb RAM

vague saddle
#

IMO it starts to make sense to use HC when you have beyond 100-200 AIs

#

and on worse CPUs it makes most difference

hybrid pond
#

but listen...read @vague saddle
no AI and 1 player gives 45 to 50 fps.
placing about 60 AI makes the FPS drop under 20.

  1. shouldn't the HC keep the server fps from dropping?
  2. are you saying that the specs I gave above, is not good enough to handle Arma 3?
amber raft
#

1 read what sparker says.
2 3.5ghz aint that much

vague saddle
#

It should indeed be lower, but maybe the locality of them isn't changed for some reason? I'd verify that.
Also I'd try to place above 100 bots.

serene bane
#

Also note that (im pretty sure) even if HC is server binary the main server still has to do the networking messages to actually sync te AI

heavy tiger
#

yeah

hybrid pond
#

It should indeed be lower, but maybe the locality of them isn't changed for some reason? I'd verify that.
Also I'd try to place above 100 bots.
@vague saddle

Locality is changed for sure. I tested that.

Tried close to 200 AI. And dozens of vehicles. Server fps was between 5 and 10
Changed owner to the HC. No change in FPS. (double checked if entities were local to the HC)

#

2 3.5ghz aint that much
@amber raft

Didnt say it was. Although it is just above any 'recommended' specs I found.

So what IS a reccomended Server spec

amber raft
#

Depends on what you gonna do

vague saddle
#

3.5GHz is 'good enough', but single thread performance benchmark matters most

#

Anyway I can't really help and say why it is so, sorry

hybrid pond
#

yes

#

the HC joins and gets in his slot. no problem

#

Depends on what you gonna do
@amber raft

In this particular case I loaded a map full of AI, possibly 300. Plus Ambient civilias (which only spawn Agents when you get in the vicinity of towns)
And the AI are all set with Dynamic simulation

amber raft
#

300 ai aint gonna cut it on 3

vague saddle
#

Anyway if your server starts to degrade at 60 bots so much, perhaps it's better to just find better hardware for it. FPS under 20 is very very bad.

upper glen
#

How does a hc work? I read lots of wiki but still I don’t understand

cunning sage
#

HC is like a regular game client except no one is playing and nothing is rendered, it just takes care of processing AIs assigned to it

hybrid pond
#

@vague saddle @amber raft
So you guys have twondifferent approaches
Sparker says HC starts to make sense beyond 200.
yet suicidesheep says 300 aint going to cut it.

So is there anyone who can explain now what I can expect from HC's, what load it takes from the server?
It doesnt seem like to improve server load with regard to FPS. 100 AIs spawned on the Server or HC seems to make 0 difference in server FPS.

Yes I confirmed the AI's are local to the HC after spawning.
Also tried spawning and use setgroupowner command to change them.

The HC client IS in his slot in the running mission.

Do I have wrong expectencies or am I simply missing something?

serene bane
#

Your expectancy is wrong. You are simply offloading the AI movement and the mission script/framework etc to the HC.

#

So the AI will not be stuttering/rubber banding anymore as your server fps goes down, because the HC is processing them instead.

amber raft
#

@hybrid pond I didnt say it in relation to the HC

hybrid pond
#

Allright that clears it up a bit.
So it was incorrect for me to think that I would see the server FPS raise when the AI is loaded on the HC.

In fact, the AI limitation remains, regardless.
right?

So running a HC on the same machine, merely on a different core aint going to help, because its using the same connection?

hybrid pond
#

@serene bane
Missionscript framework is automatically passed to the HC?

#

you mean running scripts, placed modules etc?

#

I thought not 🤔

runic cobalt
#

Well, since ALL clients have mission scripts, HC also has them (since it's a Headless Client).
However, unless you script your scripts especially for HC, they will run on all clients, HC's and server.

hybrid pond
#

right, indeed. so it doenst offload the server nor clients unless you specifically tailor your scripts for it

runic cobalt
#

Headless Client is used to offload AI calculations from the server instance
So any scripts called by AI are handled by HC, everything else is handled by server/client (depending on who calls it)

serene bane
#

Yes but this is very shortsighted, you cant just say; the HC handles this

#

Really depends how you code it yourself or when you get a specific script/framework thats built for HC, with proper instructions on how to actually launch it through the HC

#

Its not like you let the HC join and it auto offloads

hybrid pond
#

No allright, I got that

#

So to keep it simple...
A clean mission wity, say, 150 AI
With and without AI on the HC.

What would be the measurable difference on the server end?

#

What I understand so far it aint server FPS?

serene bane
#

the rest

#

Mostly badly written scripts

runic cobalt
#

Any scripts/command that the server doesn't have to execute for AI is direct profit, and that does improve server FPS.

vague saddle
#

What mods are you using though?

hybrid pond
#

Ace3
TFAR
CBA
CUP-Terrains
Virolati terrain
3CB_BAF-weapons
Some specific uniforms

thats about it

#

(I suspect Ace3 makes it s bit thougher)

#

Any scripts/command that the server doesn't have to execute for AI is direct profit, and that does improve server FPS.
@runic cobalt

Allright...none are executed other than guard waypoints and the like. (eventhough that aint really a script)

mellow bluff
#

Anyone have a good tutorial for setting up a headless client using ACEX? I am on a dedicated server using FAST, pm me :)

cunning sage
#

enable ACEX headless management in CBA settings

#

add a slot for headless client in your mission

mellow bluff
#

Simple as that? Any recommendations of how many HCs to run? (50-100AI)

gusty harbor
#

Try one or two at max,unless you're doing some heavy scripting on your AI

mellow bluff
#

Thanks :)

native isle
#

Hi guys, I have a Problem with Headless Clients mayby someone can help me. Every time I transfer the units to the Headless Client, the reaction of nearby gunfire is lost. I test it since 4-5 months, with different situations (with suppressor, with out suppressor, shooting from different distance, with different Mods VCOM,TCL,Lambs danger etc., with out Mods, spawn AI direct on the HC or first on the Server and then to HC, with HC scripts ACEX, etc.). It seems to be the danger.FSM is completly lost when I transfer them. for 2 Years every thing work well when I use them, but now I dont know what I'm doing wrong. The units are on the HC, if I disconnect the HCs everything is fine (all units are now again on the server) the danger.FSM just work again. The Server and HC are all on the same machine. I hope someone can help me, thx.

celest mantle
#

Hi, do the HC's affect to the server persistence? I mean if all the players are out, the server will restart or the HC will keep it running?
Thank you

cunning sage
#

some HC managers like ACEX will deal with that

#

otherwise you'll have to handle it yourself

wet umbra
#

hello,
I've got a headless client setup on the server, it is able to connect but upon joining it throws the error that it has been kicked for files that may be missing or deleted. i've quadruple checked the mod string in both the .bat file for the HC and the server itself and also reinstalled the mod's i believe to be relating to the issues with no avail. i'm available for call aswell as teamviewer if necessary

tawny wolf
#

Did you check to see if the Headless Client was running the basic mods? The other thing would be if you are running a "Whitelist" or other mods approved by the server but not required. You would need to check and make sure all of your BiKeys are there and updated and that the headless Client is only running the most basic mods required by the server. If you want help, I am happy to show you what I use for managing my servers. @wet umbra Just send me a PM

wet umbra
#

Sent you a DM

dark tusk
#

Does my headless client server need the same mods as my dedicated server?

#

AI when transferred start running around naked.

#

Using ACEX for this.

#

Additionally I am using Armahosts for this service.

cunning sage
#

headless needs the same mods as any client would need

dark tusk
#

Sweet thanks.

#

Because it’s a separate game panel. I will load the mods then and see if it changes anything.

#

Appreciate the quick response.

high thicket
#

Arma 3 HC log

18:45:24 Dedicated client created.
18:45:33 Client connected: 172.18.0.2:2302
18:45:34  > Welcome to Arma 3 Server
18:45:34  > Player headlessclient connecting
18:45:34  > You were kicked off the game. Steam authentication failed.

18:45:34 Client kicked due to failed Steam checks: Invalid ticket - Ticket invalid
#

Arma 3 Server log

18:45:33 Player headlessclient connecting.
18:45:34 Player headlessclient connected (id=HC7).
18:45:34 Player headlessclient disconnected.
cunning sage
#

make sure HC connect IP is allowed in server.cfg

high thicket
#

it is, found something about battleyeLicense=1;

#

but i have BE disabled

heavy tiger
#

its is whitelisted in both entries in server.cfg?

#

with the IP listed above?

cunning sage
#

that looks like a docker IP

#

are you running each headless client in a separate container?

#

sadly the "easiest" solution is to run them all in one container and use a known localhost ip as connect command and whitelist blobsad

#

otherwise you would have to make sure each container uses a known IP that is set in the config

#

having support for ip ranges in config would help with that

high thicket
#

fixed, networking issue with docker

#

sadly the "easiest" solution is to run them all in one container and use a known localhost ip as connect command and whitelist :blobsad:
@cunning sage not really

#

check this

#
version: "3.8"

services:

  server:
    build:
      context: server
      dockerfile: Dockerfile
    command: >
      bash -c "
        $CONFDIR/server_config.sh
        $CONFDIR/server_run.sh
      "
    container_name: server
    env_file: .env
    hostname: server
    networks:
      - server-network
    ports:
      - 2302:2302/udp
      - 2303:2303/udp
      - 2304:2304/udp
      - 2305:2305/udp
      - 2306:2306/udp
      - 2344:2344/tcp
      - 2344:2344/udp
      - 2345:2345/tcp
    restart: always
    user: steam
    volumes:
      - ./server:$CONFDIR
      - server-data:/home/steam/.local
      - server-volume:$STEAMAPPDIR
    working_dir: $STEAMAPPDIR

  hc1:
    build:
      context: hc1
      dockerfile: Dockerfile
    command: >
      bash -c "
        $CONFDIR/hc1_run.sh
      "
    container_name: hc1
    depends_on:
      - server
    env_file: .env
    network_mode: "service:server"
    restart: always
    user: steam
    volumes:
      - ./hc1:$CONFDIR
      - server-volume:$STEAMAPPDIR
    working_dir: $STEAMAPPDIR

  hc2:
    build:
      context: hc2
      dockerfile: Dockerfile
    command: >
      bash -c "
        $CONFDIR/hc2_run.sh
      "
    container_name: hc2
    depends_on:
      - server
    env_file: .env
    network_mode: "service:server"
    restart: always
    user: steam
    volumes:
      - ./hc2:$CONFDIR
      - server-volume:$STEAMAPPDIR
    working_dir: $STEAMAPPDIR

  hc3:
    build:
      context: hc3
      dockerfile: Dockerfile
    command: >
      bash -c "
        $CONFDIR/hc3_run.sh
      "
    container_name: hc3
    depends_on:
      - server
    env_file: .env
    network_mode: "service:server"
    restart: always
    user: steam
    volumes:
      - ./hc3:$CONFDIR
      - server-volume:$STEAMAPPDIR
    working_dir: $STEAMAPPDIR


networks:
  server-network:

volumes:
  server-volume:
  server-data:
#

running server and 3 headless clients in 4 different containers, they all share the "game server files" so only 1 download

#

and the networking issue is solved by using the main server network as service in the other 3 hc containers

#

also storing the missions data on server-data volume, so i won't lose the progress every time i restart the container :p

cunning sage
#

that only works for single node compose, not for swarm orchestration

high thicket
#

here is the whole project if curious

#

need to update readme

cunning sage
#

typos

#

hc1 is correct

#

you can set bash as entrypoint and the scripts (with conf var) command instead of declaring both as command

#

you can also share all the HC folders and just inject the name as env var

#

so that you only need to build the image once

#

you could have a base image for both server and hc as well

high thicket
#

well the image just get copy, since use it from cache

cunning sage
#

or just one image with different entrypoints / commands

#

less risk of having a syntax error in one of them, less code to maintain

high thicket
#

no idea why this typos, pycharm "autocorrect" this

#

you can set bash as entrypoint and the scripts (with conf var) command instead of declaring both as command
@cunning sage tell me about that

#

you could have a base image for both server and hc as well
@cunning sage also about that, how i do use the same image

cunning sage
#

I can send you a PR

#

just need to win this TvT mission 😛

high thicket
#

sure

#

i think i get it

#
server:
    build:
      context: server
      dockerfile: Dockerfile
    image: yeiij/a3server

hc1:
    image: yeiij/a3server
#

i guess i can use any name, or it should be this format user/imagename

#

any name :p

cunning sage
#

the name is a reference to docker hub images by default

#

that will only work if the server image is built before starting hc1

high thicket
#

it will, using service:server and depends-on: -server

#

working like charm

#

just missing the good idea of sharing 1 folder for all HC's

#

the names on HC's is ignored by some reason

cunning sage
#

name means profile name

#

i.e. which profile file to use

high thicket
#

shold i give the complete path?

#

already tested with -profile="HC1" and didn't worked and is already using name="hc1"

cunning sage
#

-name=hc1 means load profile hc1 from profiles directory

#

usually you can set profiles directory with -profiles=directory

#

but that doesn't work on linux

#

it will read the following file as profile, ~/.local/share/Arma 3 - Other Profiles/hc1/hc1.Arma3Profile

high thicket
#

yes i know, but name is ignored

#

the profile is headlesclient

cunning sage
#

not with -name=hc1

#

default user is $USER

#

which unless otherwise specified is root

high thicket
cunning sage
#

but its overriden by specifying -name=a3profile

high thicket
#

but this is only in main server, not in hc

#

well, going to sleep, will continue "hacking" tomorrow, docker says...

high thicket
#

coming back, make it work much better i think

runic cobalt
#

it's a "client" and all clients need access to DLC's and mods to be able to join the server 😉

edgy holly
#

My community is looking at using headless client we want to use it with Zeus missions. Is ACEX the only thing to use? We want to be able to have multiple Zeus's. Whats the best system to use?

heavy tiger
#

need to enable ACEX in ACEX settings, not sure if default enabled

#

I only run ACEX on my servers

edgy holly
#

How many Zeus's can you use? We plan to have two atleast.

mellow bluff
#

Do you mean HCs instead of Zeus?

#

Zeus as many GM modules as you can place

#

HCs as many instances you can run on a machine

unborn robin
#

When zeusing with hc, I find it very useful to have modules or keybinds for hc-blacklist and change-locality

heavy tiger
#

How many Zeus's can you use?
one, but doesn't really make any difference concerning HC's

plush folio
#

technical question - who evaluates the hits in arma, client or server?

heavy tiger
#

client

vital elk
#

I have a few questions about HCs, apologies if these are a bit obvious. How many virtual cores would an HC use up? How many HCs can I use? Do HCs ever have diminishing returns or negative effects (ie: is 2 HCs always better than 1)? Do they affect server bandwidth at all? Thanks!

cunning sage
#

More than one thread which in most cases would be more than one core.
As many as your server can support.
It can have negative effects. You should tailor it to your mission's needs. One if often enough.
If they are hosted on the same machine, as they should, the server bandwidth should have minimal difference externally.

lucid pelican
#

Depending on needed interactions/shared data between HC hosted AI there can be an overhead from multiple HCs

urban juniper
#

@cunning sage Continueing on the discussion from earlier do you know of any other mods without dependencies that balance ai load? we dont use ace on our server,

cunning sage
#

there are multiple script only versions that can be embedded within a mission

#

werthles was popular before but its probably outdated by now

harsh adder
#

Does headless client automatically take control of any AI on the server/mission?

cunning sage
#

no, they must either be spawned on the HC or moved from current owner

#

ACEX takes care of moving AIs to headless client for you if the headless feature is enabled in CBA settings

harsh adder
#

where do i find the CBA settings?

cunning sage
#

mission editor, server in game options as admin or as standalone file

harsh adder
#

apparently we dont have ACEX so how do i manually do it?

cunning sage
#

or spawn them manually on the HC

subtle horizon
#

Heya so I was going to ask, I run a Headless Client right now and it is setup and such, but I want to see what I can get for the best out of it.

#

The server is running 8 cores and 16 threads on the CPU, and I don’t know how much I should have the Headless Client take on for the load.

maiden lynx
#

Anyone ever had this issue with Headless Clients?

1:10:08 Setting invalid pitch 0.0000 for HC1

heavy tiger
#

Yeah i see that constantly, but it doesn't mean anything and is not an issue

maiden lynx
#

Weird, having an issue where my HC's will connect to the server but not actually join. Headless Client modules are down and set as playable etc. Hasn't been an issue before.

#

Turned on logs to see and that seems to be the only error im getting

heavy tiger
#

missing mods could cause HC not to join, and might not always be logged properly

maiden lynx
#

They just sit in the HC slots with the little egg timers next to them

#

It's never done this before, all mods loaded etc

#

@heavy tiger Should the -mod= be surrounded in ""?

heavy tiger
#

only needed if you have whitespace in your mod names

maiden lynx
#

But wouldn't stop anything from working if they were there?

#

And there was no white spaces

heavy tiger
#

no wouldn't hurt

maiden lynx
#

@heavy tiger Would hiding lots of map objects potentially do it?

#

They are all set to local as well, the terrain hiders

heavy tiger
#

doubt it

maiden lynx
#

Anyone know if the headless client needs to be specifically launched with APEX DLC when playing on Tanoa? And if so what do I need to add to the command line?

heavy tiger
#

negative

maiden lynx
#

Thought as much, ta @heavy tiger

maiden lynx
#

@heavy tiger Would the Steam account attached to the HC's need to own APEX?

heavy tiger
#

HC has no steam account

hollow hemlock
#

we just started a new server through a hosting service but for some reason we just keep getting battleye init or we just cant get on

#

can anyone help?

tight sentinel
#

usually hosting services dont support headless clients

#

as opposed to getting a dedicated server and launching the hc yourself

#

if that makes sense

hollow hemlock
#

i think im in the wrong place

#

i just wanna get the server up

tight sentinel
#

yea prolly contact the ppl you brouht the server from

patent cipher
#

@subtle horizon don't know if you got that answer for the HC's on how much to offload to them but the way I have done it in the past is to push 1 core with 2 threads over to the HC's. I usually have 2 HC's in my missions to handle the AI.

subtle horizon
#

Gotcha, I have been running it at 4 cores and 8 threads

#

I’ll try 1 core and 2 threads next

grand lake
#

I have a question if anyone can point me in the right direction. I have a Arma 2 server with 2 headless clients on beta 1.63 112555 and all runs well; after trying to change to 1.64 144629 my 2 headless clients keep getting kicked. No changes on the files and no real info in the rpt as to why. anyone have any ideas? I should note also the server & headless clients are on 3 PC's with 3 steam accounts with 3 copies of ARMA 2: COMPLETE COLLECTION

barren patrol
#

I have a question if anyone can point me in the right direction. I have a Arma 2 server with 2 headless clients on beta 1.63 112555 and all runs well; after trying to change to 1.64 144629 my 2 headless clients keep getting kicked. No changes on the files and no real info in the rpt as to why. anyone have any ideas? I should note also the server & headless clients are on 3 PC's with 3 steam accounts with 3 copies of ARMA 2: COMPLETE COLLECTION
@grand lake
1.something goes wrong in the upgrade Of those PC
2.those 3 PC are on the same network? ( high ping )
3.does it kick Also the normal clients? Maybe some mods update are gone wrong..
🤔

lucid pelican
#

You only needed 2 accounts, only need a license for a HC not server. 1.64 introduces the more strict interpreter rules for null variables which breaks pretty much every framework and mod pre 1.64 so if you are running a modpack with cba you will want to look at that.

heavy tiger
#

HC doesn't need a steam account, or atleast shouldn't
Linux one definitely doesn't

cunning sage
#

the final 1.64 build is also not released for linux?

lucid pelican
#

he is running arma 2, arma 2 HC required steam accounts didn't they?

cunning sage
#

-client doesn't work with the server binary

#

but you can use the regular arma2oa.exe and -client without a steam session

#

just tested

grand lake
#

@barren patrol @heavy tiger @cunning sage @lucid pelican I forgot to post that 😁 All 3 PC's are my builds in a local network and all 3 are same spec MSI stuff with SSD & 1GB connections on a strong wired network. As to the kicks the server will kick any HC when it trys to connect but any user can connect. Also the HC can connect if I use them as a normal user they only get kicked when trying to connect as a HC. Notes They are on Windows 8.1 Pro and these PC are only for my Arma stuff. They do run a custom MOD but it shouldn't be an issue because it works fine on 1.63. Also No other mods are used NO CBA or ACE stuff. The is a private MOD I've worked on for years and the basic setup is Server; HC1 handles AI BootsOnGround, HC2 handles AI Vehicles. As to the Steam accounts this was done back in the day when they had issue for HC connecting if they didn't have their own accounts. I'm sure it's something small lol like all things in Arma, 4 weeks of testing to find 1 typo 😋

barren patrol
#

I'm sure it's something small lol like all things in Arma, 4 weeks of testing to find 1 typo
@grand lake
My life's stories🤣

lucid pelican
#

Are you connecting -ip to the local ip or the internet ip of the server?

#

For the HC params

grand lake
#

@lucid pelican -localhost=127.0.0.1 -connect=192.168.1.201 -port=2302 -cfg=CfgXMod\basic.cfg -profiles=server the server is the .201

#

PS Thanks for the help I've never been a big user of discord, I use Mumble from the old days lol. I started modding around 2010 so I will get my lazy Axx over here more often and help out when I can. 😁

lucid pelican
#

Try using the -connect= param with the internet ip and removing the localhost param.

#

Localhost defined in your server.cfg

#

-ip=internet ip in launch param for server

grand lake
#

does any of this need changing in the servercfg localClient[]={"127.0.0.1","192.168.1.202","192.168.1.203"};
headlessClients[]={"127.0.0.1","192.168.1.202","192.168.1.203"};

lucid pelican
#

No

#

Hmm, does it need a -password param? Ours has one and aside from having just the one HC works fine to connect

grand lake
#

sorry I didn't post all of the bat file but I have PW also

#

are you using a HC on 1.64 this give me hope if so 😄

lucid pelican
#

Yes i ran a server on 1.64 with a HC for a while

#

Still have it all configured

grand lake
#

I know I need to just go to Arma 3 but I just love A2 so dang much 😄

lucid pelican
#

There are some upsides to arma 2 if you like ace and dont want to deal with some of the content pack issues

#

But as for the performance in a3 1 to 1 it is much better now

#

Lots of better script commands

#

3den editor alongwith a set of special init order instructions for their values, very helpful for mission module type things

grand lake
#

did you start your stuff with .bat files?

lucid pelican
#

Yes

grand lake
#

if you still have them can I get a copy of your server start .bat & HC start .bat minus any of your ip stuff if you have time. My community has pushback on me telling me to do this another day they want to shoot some stuff lol You know how arma players are who cares if the code works as long as the can brrrrrrtt something lol my emailif you can IIIXJokerXIII@gmail.com

lucid pelican
#

If i launch arma2oa.exe with -client it wont let me connect to the server unless my steam is open

#

it will just loop connecting and kicked off

grand lake
#

that is what I'm running into loop kicked

#

what is your fix just starting steam?

lucid pelican
#

start your steam before launching via that bat

#

I needed to change the -connect= ip to be the internet/broadcast IP insteal of the localhost

grand lake
#

okay I will give that a shot when I stop the servers tonight; @lucid pelican Really thanks for the help I know time and knowledge are not free drop me a link if you take donation for streaming or stuff. I'm happy to help out $ 👍

lucid pelican
#

no thanks that's fine thanks for the offer

idle inlet
#

Hey everyone hoping to get some help cause this issue makes zeusing a good amount harder. Ever since we added the HC AI are both not able to be remote controlled and they just react weird. Super slow to do anything won't listen to zeus commands, just ignore gunfire that kind of thing. We have Lambs danger and suppresion installed could it be that or something else?

urban juniper
#

If I wanted to set up a HC for testing on my own machine, is there a way to do that? Not a server owner, just need to test some stuff using HC.

neon vale
#

Does someone know what could trigger this

NetServer: trying to send a too large non-guaranteed message (len=1348/1353) to 1722525099
Message not sent - error 0, message ID = ffffffff, to 1722525099 (HC1)

silk pine
runic cobalt
#

Do you also have crashes with vanilla Arma? Or does it only happen with GMS missions?

silk pine
#

only with the latest GMS mission, the old one (linked in the issue) works like a charm

lime sluice
#

Arma hosts repeatedly crashes after affirmations that the server was operating properly; very disappointing!!!

urban juniper
#

Hello, I'm having troubles in connecting HCs local to the dedicated server when the server has the "-ip=" param set.

#

I've done some tests.

The dedicated has two IPs binded to its network interface. The one it came with when rented, and an aftermarket failover IP.

I've never used the "-ip" param to start the server, but the headless client I usually use have always had the "-connect" param set to 127.0.0.1 (-connetct=127.0.0.1). This way the headless can connect to the server, fine.

If the -ip param remains UNUSED, the headless can connect to the server, even if I put -connect=my-main-ip or -connect=my-failover-ip but if I set the -ip param the headless can't connect anymore, even if the -ip is the main one.

Inside the server's config.cfg I've "whitelisted" my headless client to connect from 127.0.0.1, my main ip, my failover IP, but I can't have the headless client to connect to the server if the -ip param is used to launch the dedicated server instance.

I've also tried to disable the firewall, and this is not related to it.

I'm on a dedicated server with win server 2019, and except this, that would be handy in my case, all have always worked as expected. Perf branch v09

#

has someone faced something similar before? I really would like to use the failover IP with also headless clients!

#

Thank you for your precious time 😦

vital elk
#

Would a headless client improve anything if you server already stays around 40-50 server fps?

urban juniper
#

up up uppp

west quest
#

recently my 3 headless clients keep crashing on mission start (linux). I can restart them manually, they connect and stay throughout the mission. The only thing I could find in the logs is

15:34:06 Error context 
ErrorMessage: File /home/arma3server/.local/share/Arma 3 - Other Profiles/HC1\HC1.Arma3Profile, line 21: '.ai': 'i' encountered instead of '='
Application terminated intentionally

The folders and files exist, but I can't correlate the error to the file content:

HC1.Arma3Profile:

version=2;
blood=1;
singleVoice=0;
gamma=1;
brightness=1;
class MainMap
{
        class Compass
        {
                inBack=0;
                position[]={-0.068000004,-0.063750006,0.2};
                positionBack[]={0.010000003,0,0.1};
        };
};
lastMPMission="Violencia Rupununi X";
volumeCD=5;
volumeFX=5;
volumeSpeech=5;
volumeVoN=5;
soundEnableEAX=1;
soundEnableHW=0;
heavy tiger
#

@vital elk not much i guess.
But you could just do it, and unlock the fps to let both server and HC run on even higher FPS.

#

@west quest I cant see the correlation either, 100% sure you're really looking at the right file?

idle inlet
#

Hey everyone hoping to get some help cause this issue makes zeusing a good amount harder. Ever since we added the HC AI are both not able to be remote controlled and they just react weird. Super slow to do anything won't listen to zeus commands, just ignore gunfire that kind of thing. We have Lambs danger and suppresion installed could it be that or something else?

lime lava
#

How can i find the requirments of a headless client what does it use

Im thinking to get a deticated server from hetzner and i want to know if i can run headless clients with that server i found aswell

lucid pelican
#

@idle inlet zeus doesnt play well with HC, it is designed to be handled by the local zeus clients... very strange setup.

The lack of response by your HC AI can be a variety of things but most likely your HCs resources, its cycles, and its connection. Make sure it has been setup via the headless client wiki articles, including the server config entries that give it unlimited bandwidth

tawdry iron
#

are your guys's HCs working after 2.0?

heavy tiger
#

tell me more

karmic pier
#

are your guys's HCs working after 2.0?
@tawdry iron my HCs working fine.

tawdry iron
#

ah k

karmic pier
#

1 HC on windows server. 4HCs on Linux server.

#

all x64

tawdry iron
#

yeah nvm

silk pine
#

for me HCs are not working since 2.0 - I didnt changed anything. They are connecting to the server, but it seems they wont get into the HC slot as before

steep jetty
#

all ok here. I still have to delay them joining for at least 90 seconds after the server has started but, that problem started for me since v1.98. Maybe try that and see if it helps? @silk pine

silk pine
#

yep, will try that - maybe thats the problem

steep jetty
#

let us know if it works

silk pine
#

hmm the HC is marked as 2 | | HeadlessClient_1 (Lobby) | but not 100% connected, but I'll also try the 90s delay

steep jetty
#

@silk pine also, have you checked your server rpt and hc client rpt?

silk pine
#

nothing wrong so far

#

20:48:02 "ExileServer - Player headlessclient (UID HC9344, GUID ) connected!"
20:48:02 Successfull attempt to execute serverCommand '#kick 4' by server.

#

well, ok - that might be the problem

proven lake
#

Hi all. I have already made HC clients and make tem work, but now I can't.
The dedicated client starts and it stops!

#

Any idea,?

#

I have the HC client turned on in the server.
The 127.0.0.1

#

Ip

#

The parameters on the HC are :
-localhost=127.0.0.1 -connect=localhost -port=2302 -client -nosound

#

I tried everything but it gets stuck...

heavy tiger
#

Localhost=127.0.0.1 is not a thing

proven lake
#

'dedicated client created' and nothing more shows UP.

heavy tiger
#

-connect=127.0.0.1

proven lake
#

Remove localhost=127.0.0.1 and corrected -connect=127.0.0.1...

#

Trying again

#

Server loading...

#

19:44:48 'dedicated client created'

#

Stoped there

#

Its now 19:47... And nothing...

#

Any other idea?

heavy tiger
#

Nop

proven lake
#

Solved! 😂

#

Allowedfilepatching=1 on the game server

#

It was 0

heavy tiger
#

Maybe HC should log that.. oof

cunning sage
#

HC shouldn't be in file patching mode by default think

proven lake
#

@cunning sage The HC is, but in the server you have to put allowedFilePatching = 1;
0 is no clients (default)

1 is Headless Clients only

2 is all clients

#

I forgot that!

#

If you do not do that the HC will get stuck...

cunning sage
#

But your startup args above does not contain file patching?

full meadow
#

Here's a fun one. Since adding headless clients and enabling the ACEX handling of it, enemy vehicle crews put on NATO gear.

proven lake
#

@full meadow really?

#

@cunning sage I use TADST laucher! It makes everything more easier!

full meadow
#

@full meadow really?
@proven lake Really. We see NATO MTP jump out and shoot at us with 6.5 when we disable enemy tanks.

proven lake
#

Do you have the 'pass loadout' selected in the AceX option?

#

I have a 24/7 server with KP Liberation and have no sutch problema!

karmic pier
#

I have a question about execFSM for units on HC. If I have a lot of AI passed to HC, where is better to call _this execFSM '\path\to\behavior.fsm' ? On HC or on server?

lucid pelican
#

you want things as local as possible to the machine(s) offloading from the server

#

if you think as HC as akin to a thread to process some AI things, the more AI things it processes the better...

karmic pier
#

so for performance it's better to call it directly on HC, right?

vague saddle
#

therefore if you don't want to relay them over network, you should execute your scripts on the machine which owns the object

#

also the machine which owns the object, of course, has more up-to-date information on object state

karmic pier
#

got it, thanks a lot for clarification.

silk pine
#

@steep jetty the solution worked so far - but I didnt get it managed via batch so I did my own executable which works like that > https://abload.de/img/179kkw.png

steep jetty
#

Glad it helped. It was something that changed a little while back that just meant I had to introduce that delay to make it work for me. Odd though as that same server and set up had been running fine continuously for 5 or 6 years before.

native isle
#

Hello guys. I'm using headlesclients on my Server and it works very well.
But now I read in the BI Wiki Arma_3_Dedicated_Server on method 4, that if you use headlessClient on the same system/network you can add this x.x.x.x ips to the cfg commands:
localClient[]={"x.x.x.x"};
headlessClients[]={"x.x.x.x"};
If you did this the autor said it will allow the server to communicate with the Headless Client using unrestricted bandwidth.

Now my question: Must I only add this ,localClient[]={"x.x.x.x","127.0.0.1"}, headlessClients[]={"x.x.x.x","127.0.0.1"}; to my cfg file and it works?

Normally I use it like this:
localClient[]={"127.0.0.1"}, headlessClients[]={"127.0.0.1"};
start HC with parameters: connet=localhost port=2302 ..... (works well)

test1:
localClient[]={"x.x.x.x"}, headlessClients[]={"x.x.x.x"};
start HC with parameters: connet=localhost port=2302 ..... (not working)

test2:
localClient[]={"x.x.x.x","127.0.0.1"}, headlessClients[]={"x.x.x.x","127.0.0.1"};
start HC with parameters: connet=localhost port=2302 ..... (works)
But is he using now the unrestricted bandwidth?

Mayby someone can give me some informations about it so I can better undestand it. thx

BI Wiki page:
https://community.bistudio.com/wiki/Arma_3_Dedicated_Server

heavy tiger
#

You don't need to whitelist 127.0.0.1 anymore. Since last update that's always whitelisted

#

For optimal results, you want the HC to be local, meaning on 127.0.0.1

#

HCs always have unlimited bandwidth.

#

You cannot have a HC without whitelisting it in config, or it will be kicked

native isle
#

Ok now I understand it, thx.

rustic wave
#

Hello guys, i have a quick question for you !
Upon #missions on the server, the hc does not automatically rejoin next game. They basically stay on the lobby (pseudo white). It happens with one or both of my headless and appears to be random, what am I doing wrong ?
My only solution for now has been to assume that I'm being armaed and restart the server instead of using #missions. I m taking any ideas !

rustic wave
#

Plus it seems that i need to choose between ACEX and ALiVE headless manager. By default, ALiVE's one shut down as ACEX's is detected but is it better to go with the ALiVE one for an ALiVE mission ?

vestal saddle
#

What is a headless client?

obsidian raven
#

Imagine it as a 2nd Server, that connects to the Server. No Interface, etc.

cunning sage
vestal saddle
#

I see, thanks guys. Thinking about setting up a server in a virtualmachine just to mess around with it.

rotund gyro
#

Is there a way to prevent certain AI from being taken over by the headless client? If so, how?

cunning sage
rotund gyro
#

Thanks, will try it out 👍

lilac oak
#

Would I likely get a better performance increase from adding a headless client to a server than by upgrading the server CPU about 1.2Ghz?

#

Or would upgrading the server CPU even have much of an impact

#

Its a large number of AI situation causing the performance slowdown

#

Pretty low player count (under 10)

heavy tiger
#

well does your CPU have enough cores to handle a HC?

#

how is the IPC difference between old and new CPU, that matters as much as frequency

grizzled helm
#

Does anyone know if HC would make zues not let control ai from time to time? It will let me view ai in 3rd person but not allow me to control them other then right click

#

Is this a zues bug or HC bug

heavy tiger
#

yeah HC can do that I guess

#

because normally, Zeus owns all AI

#

HC can take them away, and then zeus needs to tell HC what to tell the AI

grizzled helm
#

Is there a fix for this?

#

Or just not using HC

lucid pelican
#

Mod that uses functions to broadcast controls to AI locality... maybe with cba event system?

wary bison
#

Does anyone have this working with Linux?

heavy tiger
#

yes

lament rover
#

To the point where the AI freezes.

#

but player's don't.

cunning sage
#

ACEX Headless manager can be enabled via CBA Settings

deft tangle
#

Is it possible to run HCs from editor? I know how to start and run HCs on a dedicated server but while coding, I'd like to do it from the editor. I don't want to save the mission, start a dedi connect to it, rinse-and-repeat.

heavy tiger
#

no

deft tangle
#

Dang. 😦

lament rover
cunning sage
#

yes

urban juniper
#

It's been mentioned a few times in here (according to me looking), but I'm running ACEX with the headless module (I have two HCs running the same mods on the same VM as the server) and I'm running into the 'naked-on-hc-transfer' problem. Making the delay 60s helped, but I still occasionally get naked squad members when the server is relatively busy.

Here's my ACEX settings: https://puu.sh/GSy66/6e5da71f58.jpg

#

Open to any fixes that don't involve the missionmaker needing to do something.

#

Guys in my group aren't really familiar with unit locality or how SQF works.

#

Using VCOM AI + VCOM AI Driving, if it matters.

mellow bluff
#

Try setting "Transfer Loadout" to"Config Loadout" @urban juniper

urban juniper
#

Tried both, similar issues on each end. I'd like transfer loadout to stay the same if at all possible; I don't want the scripted loadouts to be overwritten.

mellow bluff
#

hmm ok, and what if you decrease the delay?

urban juniper
#

Well, I had it at 5s initially. The problem was a lot worse then.

#

Ill try 30s

deft tangle
#

I've been experimenting with the HC. I created a mission where spawning of AI happens on the HC. This results in zero AI on the server itself. The four HCs are located on another gaming rig. So... two teams (EAST and WEST) of 200 AIs are spawned (total 400), ordered to move to a location and fight. The server fps drops down to 8fps at most but eventually starts to rise a little. The bodies clutter the battlefield, but still the fps never comes back to normal. Each HC is eating some 1gig+ of memory and 4 four cores are at 100%.

#

So, I try to remove the bodies and immediately the fps is back max. Time for a second run. The same as before but now instead of just removing the bodies, I replace them with a simple object (grave in this case). The fps comes back to normal. The performance does not seem to be related to the amount of objects, but the bodies.

sonic vortex
#

I've noticed similar issues with bodies (and pretty much anything with physics), but never got around to doing a proper benchmark of it.

#

Don't think it's a fair comparison to use simple objects vs something with physics, though, as simple objects are essentially just geometry with textures.

deft tangle
#

Same test, 400 AIs, 4 remote HCs - much better FPS with AGC.

urban juniper
#

Reducing the count to 30s definitely seemed to help, strangely enough. Maybe with the 60s interval for transfering clients to HCs via ACEX, it was trying to do too many units at once? Either way, I put about 100 units down and had them fight and observed a pretty balanced CPU load across all HCs and only one naked guy.

#

Hm, adding more units resulted in a lot more nakeds.

lucid pelican
#

If you are spawning so many i would suggest spawning locally on the HC with info collected from editor/defined in config

#

Server -> HC is just unnecessary

#

Zeus staying on client is bad enough

urban juniper
#

I personally have no issue with that, I'm just concerned about the guys in my group who are not as technically inclined. They don't know SQF nor do they care to learn, and I'm not about to make them. Most of them just make Zeus missions, which is a whole different ball of wax since it's practically impossible to directly spawn Zeus-placed AI on a headless client without mods, afaik.

#

Trying to keep things as simple as possible for my end users.

lucid pelican
#

Best solution would be a mod that intercepts zeus spawning to send info to HC client and locally spawns on that

#

But would also require a set of commanding/control zeus functions for the AI that deal with that locality

deft tangle
#

The naked guys issue: If you spawn the AI on the server, make sure they are on the server for eg. 30secs before moving; I tested this with 300+ AIs spawned at the same time. Arma needs some time for the AI to settle down or something. Moving them too fast will result in (random) naked guys.

#

You may need to create your own AI mover to do this correctly. (Or ask ACEX guys to add the time out for each AI (group) between spawn and move).

#

If you spawn the AI locally on the HC, the issue of naked guys does not exist.

deft tangle
runic cobalt
#

ACEX already has a timeout (configurable) before sending units/groups to the HC, and even a fallback system for the loadouts. However, when spawning multiple groups of AI as Zeus can still result in naked guys.

I will try out darcAiMover and see if that solves the issue I see.

#

Something we currently use is a very old script "HCFramework" in our missions which does not have this issue.
No idea what the exact difference is thought, never bothered to figure that out.

lucid pelican
#

first vehs synced to initial set zone spawn in preinit on local HC, group tied to the conditional activation zone gets spawned in via a perframehandler balancer locally on HC

tacit zenith
#

I ahve run into nake guys with a mission i have been running for a while now using two headless clients

deft tangle
#

Which mission?

wary bison
#

Can someone please recommend a well written headless client how to for dedicated Linux server. I am looking to add this feature. Thanks

snow mortar
#

Anybody knows whether its possible to whitelist an IP Range like 172.0.0.0/8 for headless Clients?

heavy tiger
#

No range supported

#

Localhost is force whitelisted, but I think that was specifically 127.0.0.1, and not the whole 127 range

snow mortar
#

Yeah found the issue

#

For some reason it was detecting the docker gateway ip as the hc source ip

uneven prairie
#

Hello, I have a problem. with 1 out of 2 headless clients connection to my server (They are all hosted on the same dedicated machine). I was testing my mission for game night and for some reason few minutes after I started a mission one of the HC lost connection even tho it connected properly.

I am using one HC for ALiVE AI spawning and controlling, the other is used by script for spawning and controlling civilians around the map

icy grail
#

How much of a problem is it to have headless clients in the same data centre as the server connect over WAN?
I'm using Nitrado hosting and I can't get extra server instances on the same machine or LAN

wary bison
#

So my Headless Client connects (I see it connecting) but it does not log into the HC spot on the mission. Any ideas? I'm using -client -connect=127.0.0.1 -nosound -name=HC -profile=HC -mod=@MYMODSHERE

runic cobalt
icy grail
#

Wiki says

Additionally to define clients with unlimited bandwidth and nearly no latency you must include theirs IPs in the server.cfg too:
localClient[] = { "127.0.0.1", ... };

runic cobalt
#

yes, although bandwidth is still limited by the connection between the 2 servers; but the server won't limit it (as with normal clients)

wary bison
#

Do you need the -config=server.cfg at the end of the HC file?

heavy tiger
#

A client doesn't have a server config

foggy cosmos
#

Im trying to run a HC on my linux server box, but I keep running into the error cannot join the session, wrong password given, even though the password is right

heavy tiger
#

Did you check that the password is really right?

#

When a human says its right and the computer says its wrong, I tend to trust the computer.

foggy cosmos
#

yes, its right

#

ive put in the password 4 different times

heavy tiger
#

Well the server disagrees

#

maybe loading wrong config file

#

using wrong password (admin instead of normal)

#

maybe connecting to the wrong server

foggy cosmos
#

I found out what was up, the tutorial i used had me type -pass=xxx, not -password=xxx

steady bay
#

What is a headless client?

#

Hmm🤔

trail vessel
sly solstice
#

anyone have issues with A3XAI HC causing AI to not exit vehicle when dead?

runic cobalt
#

Not sure if that's a HC issue, because afaik does AI never exit a vehicle when they die in there 🤔
Unless it's a feature of that script/mod (never heard from it), although in that case you'll have a bigger chance of support with the developer

wary bison
#

I have never seen AI exit a vehicle when dead, really makes no sense that they would.

wary bison
#

Has anyone experienced AI rubber banding after implementing HC? Seeing a lot of this on my server since we started using HC.

lucid pelican
#

HC on the same hardware as the server? unlimited bandwidth set?

wary bison
#

@lucid pelican Same server (Linux), not sure how to set the unlimited bandwidth

lucid pelican
#

Defining the headless client in the server.cfg

#

But i believe localhost should be default

wary bison
#

Yes that I know, but you mention defining unlimited bandwidth? That I am not certain of.

lucid pelican
#

Defining that in your server config allows the HC to have unlimited bandwidth, which it needs to share that amount of info in a timely manner

wary bison
#

Right but I don't know the parameter for unlimited bandwidth IE bandwidth=unlimited (which I know is incorrect)

#

I think I got it Maxbandwidth: 1073741824
Minbandwidth: 107374182

runic cobalt
#

If you add the IP addresses of HC's to headlessClients[] = {}; they'll have unlimited bandwidth.
If you add the IP addresses of clients to localClient[] = {}; they'll have unlimited bandwidth.

That's it; there's no secret value to have ALL clients have unlimited bandwidth... that would just make it worse for everyone.

heavy tiger
#

127.0.0.1 is hardcoded, in either HC or localClient array, don't remember which, maybe both

tough wharf
#

Question. If I have a 50 slot managed server, and I wanted to add a headless client. Do I need another 50 slot server, or since it's a "client" it only needs 1 slot?

heavy tiger
#

its a client

#

i guess a managed 1 slot server would work think

#

it needs 0 slots kinda

tough wharf
#

Yeah, ok makes sense

#

Is there any major performance decrease from running remote headless clients from different locations?

#

I guess the other way to word that would be, would it even be worth it to run a headless client if it's not local to the server?

heavy tiger
#

its not as good as if it were local

#

worth probably yes

#

depends on what you do. For AI stuff probably yes

lucid pelican
#

having a delay for the HC is kind of annoying, getting shot after running past corners, sometimes the AI shooting at old locations

modest thistle
#

stupid question: what is the headless client meant for?

runic cobalt
#

To offload AI calculations from the server

left hawk
#

hey guys so i wana play arma 3 w my friend and when i click at creating server to do port forwarding it fails this NEVER happened before and my router is working completely fine all ports are in correct order

#

I never port forwarded arma server

#

bec i didn't have to since it worked manualy

#

i click UPNP and then

toxic patrol
#

Is there any reason why my Linux-based Headless Client will successfully connect to the server, read off the MOTD in the console, etc., but not actually automatically slot into the playable headless client slot?

Things to note:

  • The HC is not local to the server machine, but is on the same internal network and it's IP is whitelisted in the server.cfg.
  • The HC seemed to create a server profile called headlessclient, but the HC module in the mission file is labeled hc1 and a server profile of the same name is not being created.
  • We even tried naming the HC module headlessclient.
heavy tiger
#

both whitelists in server.cfg?

wary bison
#

Has anyone notice excessive rubber-banding when they enable HC on their server. (my hc runs on the system has my server)

sonic vortex
#

Yes, but only when running enough HCs that the overhead was too much to handle.

wary bison
sonic vortex
#

Running an additional headless client brings a performance overheard. More RAM used, more network usage, more for the CPU to calculate. This won't matter if you're only running 1 HC, as your gains will be enough to compensate, but as you run closer to your server's limit, you'll start to see rubber banding if you're running a lot.

#

If you're only using 1, though, I'd suggest looking at your bandwidth settings, and switching to #perf_prof_branch if you're not already on it.

runic cobalt
#

Running the server and HC on the same box can indeed do more damage as good.
But if you have a separate box for 2-3 HC's with a good connection to the server, you won't notice a thing

wary bison
sonic vortex
#

Experimental performances updates and other tweaks made primarily by Dedmen. As of last update, includes new server bandwidth settings which might help with your rubber banding. I highly recommend looking into it as it's been a free performance boost on our box with no downside.

#

Instructions to use it are in the pinned messages of that channel.

toxic patrol
# heavy tiger both whitelists in server.cfg?

Yes, the IP of the headless client is whitelisted:

headlessClients[] = { "10.0.3.13" };
localClient[] = { "10.0.3.13" };```
Also, just to reiterate, the HC seems to "connect" successfully, but it doesn't auto-slot into the HC role. In other words, server says HC is "connecting", HC reads off the MOTD in the console (which means it's getting data), but the server never says the HC is "connected" (like with regular clients) and it never auto-slots.
heavy tiger
#

missing "connected" sounds like it's stuck in steam login

#

which, if its whitelisted in server.cfg properly (which it looks like it is) shouldn't happen

toxic patrol
# heavy tiger missing "connected" sounds like it's stuck in steam login

Hmmm... interesting... That's actually a good point. I'll have to double check, but I think I recall the server saying it had an issue or something with connecting to the Steam servers on bootup? Does it log in with anonymous credentials or something? Am I missing some configuration that allows it to speak to the Steam servers maybe?

heavy tiger
#

Dunno

#

but I know HC shouldn't even require steam verification

#

as HC's usually don't have a steam account associated with them

#

and if they are properly whitelisted, server shouldn't care

#

but maybe thats a thing if you're not localhost

toxic patrol
#

But you said it's possibly stuck in Steam login? What would that mean? And yeh, atm, it's tough for me to run it localhost, because I'm using the Pterodactyl panel which runs each server in a Docker container, which has only been a headache getting this HC to connect, haha

toxic patrol
heavy tiger
#

Are you running the HC client on windows?

#

I heard that windows people have steam open and logged in

#

ah docker, so linux

toxic patrol
#

ye

heavy tiger
#

yeah no dunno, never had that problem before I think

#

but I also never ran a HC that was not localhost

toxic patrol
#

Then maybe, if you don't mind, you could help me figure out how to have it run localhost? I was playing around with the thought of possibly running the HC as a background process, but because Arma binds to the terminal, I wasn't sure if that would even work, or even how to do it...

#

Have you ever run a HC on Linux on the same host? Was your host just a dedicated OS as opposed to a container?

heavy tiger
#

non-container yeah

toxic patrol
#

So you just did 2 terminals I'm guessing?

heavy tiger
#

maybe you can't do that with containers, I never really used docker stuff

#

uh

#

I have my own server management software that launches the arma server as child process

#

or you can use screen utility

#

or make it a daemon/service

toxic patrol
#

Would adding a & to the end of the startup command successfully run it in the background?

heavy tiger
#

yes think

toxic patrol
#

Would Arma not crash on the unknown symbol considering it is looking for - flags after the binary is called?

heavy tiger
#

it never sees the symbol

#

thats handled by the terminal, not Arma

toxic patrol
#

Shoot... I might have to try that out then. I was honestly too scared to try, haha. Mainly because I'm not sure if it would mess up the "shutdown" command of the panel with another process in the background; but that's definitely a "me" problem. It would also help me greatly with storage space since it could read from the same mod data within the container.

#

Tyvm for the help! ^.^

toxic patrol
#

@heavy tiger Just so you know (and it could totally just be an issue on my end), but it looks like the Arma headless client, at least on Linux, does not like auto-slotting if it is not on the localhost. I was able to multiplex and have it run parallel in my in my Docker container, which works fine. But having it in another container, but in the same local network did not work.

#

Again, could totally be a mistake I made, but I'm pretty sure everything was correct, and only wanted to mention this in-case you wanted to investigate it further. Granted, the chances of this use-case are very low.

cunning sage
#

you can try using network mode host

toxic patrol
#

I could, but to be clear, it wasn't a connection issue per-say... The HC connected properly to the server through the network; it just wouldn't auto-slot, which seems to be an issue local to Arma processing the HC.

cunning sage
#

working fine for me on separate networks

#

headless autoslots, linux server and linux headless client

toxic patrol
#

Huh... must be on my end then. Are you using Docker containers by any chance?

golden sinew
#

Hello everybody,
can someone please answer a question?
What is the best way to get units on the headless client? Is it a good way to spawn the units directly on the headless client at startup? Or is it a good way to change the owner of the units at startup? If I place the module "Headless Client" in the editor, why doesn't it ensure that the units go to the headless client?
If this is the wrong place please let me know

cunning sage
#

the module ensures a slot is created for the headless client to join

#

prefer spawning AI directly on the headless client

#

there are also headless client managers that automatically moves AI to headless clients such as ACEX

lucid pelican
#

Yeah spawning locally on the HC machine is best

#

CBA target owner events are your friend

oblique steeple
#

Hey

#

I'm trying to config a linux hosted server, should I ask on this channel or somewhere else?

heavy tiger
#

this is about headless clients

oblique steeple
#

oh yeah, true, I can't read

#

thanks

shell girder
#

does headless client use profile called 'hc' by default?

#

i tried it without -name and there is now a 'hc' and 'headlessclient' profile..

cunning sage
#

it will create a profile with the name of the headless slot in the mission

shell girder
#

i see ,thanks. so that would mean hc,hc_1,hc_2...etc when using antistasi, i think. so if i enabled battleye i'd have to do battleyeLicense=1 for each of those, amiright?

#

not that i use battleye or multiple hc's... jst poking around.

willow plaza
#

hey guys, I am wondering what the worth is behind implementing a headless client? I plan to only use the server for ~8 people, zeus custom missions, probably max. 40-50 AI. My dedicated server is an intel e3 1270 v6 processor

heavy tiger
#

then there is no worth in using a HC

willow plaza
#

at what point would you say it's worth using an HC?

#

and even with just 8 people and maybe 40 AI max in a mission, will the players still see an increase in fps some way?

heavy tiger
#

100+ AI maybe. If your server fps drops below 40 fps

#

no sense if your server runs at 40fps or higher I'd say

lucid pelican
#

If you have things running on the HC machine based on frame timing then having a HC with the limitFPS params higher can help a lot, but most AI mods do not do this

swift sigil
#

Hi guys, what am I doing wrong ... I have a dedicated server (linux) with two HC on the same server with about 130 AI. Im getting 2 - 4FPS on server side via #monitor 10
The three cores (Server & HC1 & HC2) are running at 100% and debug says "Not on HC" or "Await HC Response"

#

to mention: CPU is Intel(R) Core(TM) i7 CPU X 980 @ 3.33GHz with 16G RAM

cunning sage
#

what's the problem?

swift sigil
#

im getting only 2-4 FPS on the server

#

and it is unplayable

cunning sage
#

are you spawning the AIs on the headless clients?

#

or using some manager to handle that?

swift sigil
#

Im using a script to handle that

#

the AIs are already on the maps the script is assigning them to the HCs

cunning sage
#

sounds like it is not doing that

#

I would verify that your script works as intended

#

two headless seem a bit extreme as well

swift sigil
#

But I would say it does, because when I spawn on the map, and turn the debug on ... all AIs are visible as "Not on HC" (red), but after a while, it turn to "Await HC Response" (yellow) and then some of them turn Connected (blue)

#

but the FPS is still at 2-4

cunning sage
#

980X is not exactly state of the art

swift sigil
#

I know, but im not running 300 AIs

#

so, would expect to handle it

lucid pelican
#

dont "transfer" AI to a headless

#

spawn them directly on the machine locally

#

you can gather info from editor placed units and spawn locally using a sqm to sqf converter or through a framework module type thing

echo flower
echo flower
normal quiver
#

Our group has noticed that several AI in one of our missions look like they had their simulation disabled. I discovered that the mission maker made use of doStop this on several AI, and whenever it transferred to the HC, it would bug them out and appear as "empty" units to Zeus. I'm just curious what the technical explanation is for this phenomenon. We use ACEX HC

lucid pelican
#

Zeus works via local units to Zeus player

#

it doesnt interact with headless local units unless with a mod

unborn warren
#

Pinned messages here with various already answered questions would have been great lol

#

Everything up to spawning the AI on the HC seems fairly clear and straightforward

#

I've read through and searched, what exactly is needed for AI to be spawned on the HC instead of on the server?
I get I could use ACEX, but I would like to know

#

Would I go into each AI group or each AI unit and add event handler(s) dictating their spawn to be on the HC instead of the server?

#

Could I add a script in the init of the mission to force spawn all AI onto the HC?

runic cobalt
#

ACEX will work without any additional scripting, although requires ACE of course.
Unfortunately it has some issues (naked AI bug) and may require tweaking to work properly.

#

A good alternative is https://github.com/mokdevel/darcAiMover, which doesn't have the issues that ACEX has and is very lightweight.
Afaik is there no Workshop download for it, but it's easy enough to pack it yourself and run it as a server-only mod.

#

Basically all HC scripts will check once in a while if there are any units not handled by the HC('s) and will move them automatically.

unborn warren
#

Much appreciated 🙏🏼

#

We're going to try Wethles' Headless Module and see how that goes

willow plaza
#

I need help with setting a mission parameter respawnOnStart = 0; on a mission I built using edeneditor. I then export is as a .pbo file, upload it to my dedicated server which will host the mission

#

How and where would I add the parameter respawnOnStart = 0; if I am using a .pbo file + edeneditor? Is there a way to set these mission parameters?

With .sqm files, I would have to create a description.ext file every time with the parameter.

lucid pelican
#

per darcAiMover...

#

NOTE: If you spawn the AI locally on the HC, the issue of naked guys does not exist.

#

correctly addresses: If you spawn the AI on the server, make sure they are on the server for eg. 30secs before moving the group to a headless client. Arma needs some time for the AI to settle down or something

#

while they are on server while "AI calms down" the server is processing these entities

#

there is no point to this, AI data should be gathered and spawned directly on HC machine locally

unborn warren
#

I set the time for Werthless to 45s to be safe

#

had one group be seemingly perfect

#

with only a minor ai decision making thonk

#

but the other group phased in and out of the map, would legit disappear then reappear, performing all actions in slow motion

#

1 motorized btr group and one infantry squad so load wise it was a head scratcher

#

but we were using MMFW and ACEX, with ACEX disabled for now

#

I hope when BI said "a lot of changes are being made" they're including this stuff to be more streamlined

runic cobalt
lucid pelican
#

What would be best is an intercept of the Zeus interface that sends data to the HC machine

#

CBA event bus to throw data to it and spawn it locally

#

things such as Zeus control of units and waypoint spawning/interacting would have to be handled... I was pretty disappointed when Zeus released and it was basically a local units only thing.

#

I believe the potato mod had some of this functionality but last I was aware it was broken

sleek apex
#

Anyone know if the command relating to HCs have been altered in any way within the last few Arma updates(including 2.0 and Perf build)? Have noticed that with the networking tweaks included in the 2.0 build and later have resulted in HCs potentially causing more of a performance impact that not using them with Zeus at least.

Anyone know if there has been anything relating to that? This is a custom HC system build for my community that I am in the process of making a standalone public one but if its more of a detriment than a help then there is no point. The system used to provide more of an improvement than detriment before but now the server seems to be more stable without it active after the recent network tweaks.

runic cobalt
#

Can't think of anything 🤔
Haven't had any issues with the last updates, and scripts +5 years old still work

sleek apex
#

yeah its an odd one as I havent touched anything

#

just a instance we realized that stability was greater without the HC system after 2.0

#

as long as the zeus has a decent connection and good rig ofc

#

Im planning to make my system open source but then we noticed this behavior so im not sure if I want to release and then find the cause with the help of others or find the issue first then release.

ocean wasp
#

Does a headless client need all the mods a normal client does?

toxic patrol
languid minnow
#

There are multiple mentions of "spawn the AI locally on the HC" in this channel.
Although this would be ideal as suggested, it is not clear to me on how to do this specifically.

Is this done with using something like the script below?
https://github.com/mokdevel/darcAiMover

FYI current setup is a dedicated server (windows), a HC (local) and ACEX enabled with a delay of 15s.
Player count is around 25-30 and naked men issue appears frequently.

unborn robin
cunning sage
#

@languid minnow remoteExec to HC with AI creation functions , triggers that only runs their code on HC etc

elder hawk
#

Has anyone else ran into an issue where they create an Object on the headless Client and it takes 10 seconds to show up on clients?

languid minnow
cunning sage
#

assuming there is a function called icy_fnc_spawnEnemies that takes a position and an hc named hc_1 you could do [_pos] remoteExec ["icy_fnc_spawnEnemies", hc_1]; for example

languid minnow
#

Alright, thank you for your reply. I dont really follow on how these functions work. Such as whilst spawning with Zeus or in Editor, how I actually get these moved to the HC. So I will do some googling and figure it out 🙂

runic cobalt
#

Eg. The scripts I use will only move AI after 20-30 seconds, so it reduces network traffic and will make sure the AI is fully initialized

ocean wasp
#

hmmmm..... my server & HCs will run fine for a while, but then one will start spamming "Overflow" in its console, the FPS drops down to <1, and a couple minutes later it seems to lock up the server. AI locks up & won't do anything, players can move around and stuff but it doesn't translate to other clients, etc

heavy tiger
#

Overflow == object out of terrain, out of bounds

ocean wasp
#

Now they all are 😛

#

Is it normal for such an error to cause these issues?

#

I would figure the engine or something would clean up out of bound objects like that

heavy tiger
#

The engine itself could handle it, the networking code can't

hushed harbor
#

Do HC need to run the -maxMem launch parameter?

echo flower
#

You don't need it at all

hushed harbor
#

We’re running into an issue on our server box where it seems we’re running out of memory. However we’re only using 25GBs out of 64GBs on the box. I thought it might of been the HCs running out of available ram.

runic cobalt
#

We did notice improvements using the -limitfps parameter on the server and HC's.
No idea about memory usage though, don't believe it's an issue we're having.

idle inlet
#

Anyone know what could be causing a headless client to not slot into the headless client spot?

#

Like it just joins and sits there

idle inlet
#

never mind looks like they needed a variable name

tight cedar
#

If a HC drops for whatever reason, do the groups it owned transfer to the server automatically, or do I need to handle this thru the handledisconnect EVH?

lucid pelican
#

should transfer to server automatically but there are general concerns with the transfer to begin with, there can be some issues w/ waypoints, gear, etc

keen vault
#

the famous naked AI bug?

toxic patrol
#

I have 3 HCs. If I'm scripting, how would I run code on only one of them? I have a script that spawns AI, but it's running on all three causing 3x the number of AI to spawn.

unborn robin
#

run on the server, get all the HCs, pick one of them, remoteExec or CBA targetEvent.

toxic patrol
#

How do I "get all the HCs" though? Are they objects, or ID strings, or...?

amber raft
#

Depends on what you're doing with the script.

#

How are you executing said script and what is it suppose to do?

sweet sparrow
#

Can a headless client work on Escape Server with a 6 map rotation?

unborn robin
#

So you can do allPlayers select {_x isKindOf "HeadlessClient_F"}

vocal crane
#

13:56:53 > Player headlessclient connecting
13:56:53 Loading profile "hc"

#

My HC seems to be stuck on this

cunning sage
#

make sure that profile is readable/writable by the arma process and not corrupted

vocal crane
#

Well thing is it connects fine to the dedicated server

#

just not sure whether it is working lol

dusky halo
#

@vocal crane check the log you can see if the units are/rnt transfert)

vocal crane
#

14:44:52 "70.312: [Antistasi] | INFO | initClient.sqf | Headless client version: 2.3.2 | (R) hc" 14:44:53 "71.187: [Antistasi] | INFO | Headless Client Connected: [4]."

#

Seems like it at least recognizes it in the misison

dusky halo
#

is but its note say that you have some unit transfered into

vocal crane
#

No currently can't actually get a 'real client' onto it haha

#

will test it later

#

so the mission isn't actually doing anything rn

dusky halo
#

@vocal crane 14:57:46 ALIVE AI Distributor switching group 'O HQ' to HC 'HC1'.
14:57:46 ALIVE AI Distributor switching group 'O Alpha 1-2' to HC 'HC1'.
14:57:47 ALIVE AI Distributor switching group 'O Alpha 1-3' to HC 'HC1'.
14:57:47 ALIVE AI Distributor switching group 'B Alpha 1-1' to HC 'HC1'.

#

you need to saw somethings like that

#

of course not specially with "Alive" if you dont use it

#

🙂

vocal crane
#

Yeah figured as much, will drop in later to let you know

dusky halo
#

nice, 🙂

vocal crane
#

it's night and day difference in terms of performance wow

#

running 2hc

dusky halo
#

you monitor that with #monitor xx ?

vocal crane
#

Yes that, but also Antistasi's performance logging

#

but I guess it uses same function for it

river skiff
#

Has anyone found the good inbetween of HC’s and overall player performance? I had two before, ran great but wasn’t enough to remain stable and not long into the mission AI would be naked running around, stop listening to commands, and just overall fighting the zeuses all night. Four seemed to overload the players to much and caused desync issues when they would freeze up and it would start to hit everyone. I used three here and there but it was mostly 2 and 4. I can’t seem to find a perfect storm situation

vocal crane
mellow bluff
runic cobalt
#

We currently use 2-3 HC's for our 60+ player missions (with zeuses). We use LAMBS to handle the AI, and darcAIMover to handle the AI movement to the HC's.

#

We have basically no issues with the AI and zeusing them, other than being unpredictable (as they should) in their actions.
We just make sure we use the LAMBS Zeus modules when needed.

river skiff
#

We currently use Lambs for the AI as well, I haven’t been using a HC for awhile due to wanting to get another box specifically for them built up, I’ll have to look into darcAIMover never heard of it prior.

mellow bluff
runic cobalt
#

Not entirely sure about the hardware, but normally we can run 2 game servers with 2 HC's each without a problem.

#

Reason we use 2-3 HC's is simply because we noticed the HC's got too busy (low FPS) so we added one and saw improvements

minor jungle
#

Hey guys, got to the point setting up a headless client using TADST and the headlessclient connects but doesnt slot into the HC slots? Any idea what I might have missed?

#

There are two playable HC modules in the mission and I can see the headlessclient in the client list, just no autoslotting .. ACE Settings are turned on for HC too

keen vault
minor jungle
#

Through TADST yeah, 127.0.0.1

#

It connects just fine

#

just doesnt slot up

mellow bluff
#

Variable name and Role description as HC1

#

and HC2 for the second module

minor jungle
#

Literally that mate yeah, HC1 in the first and HC2 in the second

mellow bluff
minor jungle
#

Indeed they are mate yeah

#

Honestly baffling

snow mortar
#

Can I somehow make my headless Client auto reconnect if its disconnected for some reason? (Server Restart or something)

river skiff
river skiff
minor jungle
#

Hey man

#

for us it turned out that we hadnt set the names in 3den for both the variable and role description

#

@river skiff

river skiff
#

Ahh

#

Stuck with a different issue from the looks of it. Loading 41 warning messages that are basically unreadable

austere quarry
#

Is there any chance that the HC might create problems with the FPS server? I mean he really messed up the game after 2 hours of playing with 29 players and 80+ AI. After we tried to play without HC, it went smoothly without any problems at all.

runic cobalt
#

If your HC has connection problems, or the script to move the AI to the HC is broken, it will cause issues.
Similar to running the HC on the same hardware as the server without enough resources.

vocal crane
#

What kind of mission are you playing?

#

Because iirc HC doesn't work out of the box

knotty compass
#

I have Massive desynch issues with transfer method headless AI, its so bad that my unit has had to stop using HCs in order to get reasonable perfs.

#

The only way we've been able to resolve it is by spawning units on the HC

vocal crane
#

So there's something wrong with the locality transfer script

lucid pelican
#

The local spawn method is just always going to be better

cloud dirge
#

Do HCs run initPlayerLocal.sqf when joining?

vocal crane
#

I don't think they are considered an actual player

#

So most likely not

cunning sage
cloud dirge
#

I'll test it then. One day. 🙂

runic cobalt
#

I believe HC's only run init.sqf, since it's not a server or player.
Even with CBA XEH I run HC-only on init and check there if the current client is a HC.

lucid pelican
#

CBA XEH runs HC on the clientInit, but it runs in sequence of the config order so can be on main init/client init so issue

sleek apex
mellow bluff
keen vault
#

GVAR(fpsMarker) setMarkerColor "ColorGREEN

I regonize that code :D

#

Did someone take a sneak peak at the liberation code for said "FPS on Map" feature? ;)

sleek apex
#

It’s better to have then on the client than the server at that point usually

sleek apex
#

Made it so it didn’t require HCs to have specific names.

#

You can actually see the original code from lib in those files all commented out that I forgot to remove XD

keen vault
#

Yup :D Already checked
Might wanna check with wyqer if you should add some credit there. (like "original code by wyqer in KP liberation (github link)"

#

Aaaand a feature request of the bat: ever thought about logging that FPS script into the rpt? (as a cba option)

sleek apex
#

Could do. Would definitely not do it by default though.

keen vault
#

Yeah. Was planning on adding that just to lazy atm :P

sleek apex
#

Kek. Wouldn’t be too hard to

#

I’ll look into it

#

Just make a issue for me if you don’t mind

keen vault
#

oooh will do 🙂

sleek apex
#

Anyone in here happen to have any experience with unit caching btw?

runic cobalt
#

Unit caching?

#

As in "store and remove AI until players get close"? Because for that I use Dynamic Simulation, a vanilla system in Arma 3 which also works for AI on HC's

sleek apex
#

Indeed, dynamic simulation does do so, that’s a good point. I don’t think Zeus adds units to dynamic sim by default right? They would need to be added after being spawned?

sonic vortex
#

Correct.

sleek apex
#

well, something to add functionaly for then

fair kayak
#

Hey, looking for advice. I have ai spawning using a mod DMS on the server, I am then trying to setGroupOwner via a script server side to the headless client. Not picking up any errors but the ownership of the ai won't change and still belong to the server.

amber raft
#

@fair kayak Did you change dms locallity and some other related file for setting the groupowner ?

#

It needs to search for HC's

#

By default it checks for nearby players iirc and moves them over.

#

hence the config option, offload to player*

fair kayak
#

Yeah, I edited the locality scripts to set on the headless client rather than players. But when I check the ai the server is still the owner.

fair kayak
#

@amber raft have you dms running on headless client ? Can I message you for help ?

open hornet
#

how would i define a port in the headless client parameter? would it just be headlessClients[] = { "xx.xx.xxx.xxx:xxxx" }; ?

sleek apex
#

you shouldnt need to?

#

What is the reason you want to define one?

open hornet
#

oh? i assumed you needed to

sleek apex
#

nah as its essentially just a player joining the server

open hornet
#

ahhh. does the HC need the same mods that the server is running?

sleek apex
#

you may need to define the server's port in its startup though

#

itll need any required mods at least

open hornet
#

thanks man!

sleek apex
open hornet
#

ye ive been looking at it, i only asked about the mods thing cuz my host provider gets rid of the workshop mod panel when its in HC mode

sleek apex
#

if your HC is on the same server/machine you can just use 127.0.0.1

open hornet
#

so im kinda not sure how to go about getting the mods onto the HC machine, i could FTP but then it wouldnt auto update yknow?

sleek apex
#

Thats gonna be dependent on your provider unfortunately

open hornet
#

My HC's client spams the console with

11:31:24 Cannot create object 2:10109 with type[Unknown type!], param[NMMA_399], NMT code[399]: 
11:31:24 Client: Object 2:10109 (type Type_96) not found.
11:31:24 Client: Object 2:10109 (type Type_460) not found.
11:31:25 Client: Object 4:7158 (type Type_96) not found.
11:31:25 Cannot create object 2:10110 with type[Unknown type!], param[NMMA_399], NMT code[399]: 

Does this mean it cannot take ownership of the AI? I've been spawning in a bunch of AI and monitoring the server FPS with the HC connected and not connected but its really similar either way. So I'm worried its connected but not working. I'm using ACEX to automatically transfer AI to the HC.

keen vault
#

with really simillar you mean capped at 47?

open hornet
#

Actually yeah, it is capped at 47 but it goes from 47 to the lowest I've seen at 42

keen vault
#

you'd need to let the AI fight, just standing around you won't see much difference (unless its huuuuge numbers)

sleek apex
#

only time youll see a massive difference is if you have the AI on server initially

keen vault
#

which gives you a nice graphical feedback if the AI is actually on the HC

keen vault
open hornet
#

They are, my FPS is sure dropping lol. And yeah I did see that but ACEX basically does the same thing. I may pop open its testing mission though.

keen vault
#

yeah this one just has the overlay function to check without any scripting if it works

sleek apex
#

as does mine :p

keen vault
sleek apex
#

That said, if you dont want an extra mod, use the Werthless kit

keen vault
#

haven't tried yours yet @sleek apex so I'm holding off on recommending it 😛

sleek apex
#

makes sense

#

assumed as much

keen vault
#

wouldn't use the kit from wert, I asked him and he said the mod version got a bunch of updates the script version didn't get

sleek apex
#

fair enough, havent looked too hard at the mod version tbh

open hornet
#

I've got a bunch of AI spawned in and its holding fast at 40, some bumps to 30.

keen vault
#

@mellow bluff 👀

open hornet
#

I may bring in werthless just to triple check lol. I think it really is working

#

cuz now its sticking to 47 even with all this shit going on

keen vault
#

you also try the limitFPS=1000 launch argument, unlocks fps to 1000, so any AI spawning should be noticable

open hornet
#

Ahhh. Y'know, I always was a bit confused on how client and server fps is tied together. Wouldn't unlocking fps to like 60 be better for my players since their clients could achieve higher FPS?

#

I already know its prob a bad idea and i aint gonna do it but shrug lol

keen vault
#

afaik client FPS really only suffers from low server FPS if server FPS go below 30

open hornet
#

that's what I thought!

#

thanks a whole bunch for the help guys

sleek apex
#

you can kind of push it down to 25 before it gets bad. That said, the longer the server stays <25 the more likely itll snowball and crash.

#

small dips are fine but if it stays low it gets bad

#

usually ending in permanent yellow chain

open hornet
#

Luckily I haven't had that just yet lol

sleek apex
#

starts to become a lot more prevalent when you try to break the 40+ player barrier

open hornet
#

Yeah I'm on the verge of it so thats why I've got the HC

sleek apex
#

dont forget to take a look at the basic.cfg

#

aka the server's network settings

open hornet
#

It's all default for both my main and HC

 language="English";
adapter=-1;
MinBandwidth=800000;
MaxBandwidth=25000000;
MaxMsgSend=384;
MaxSizeGuaranteed=512;
MaxSizeNonguaranteed=256;
MinErrorToSend=0.003;
MaxCustomFileSize=100000;
sleek apex
#

yeah youll usually end up needing to tweak from defaults once you start getting more players to get better stability

open hornet
#

I mean is there anything I should change from that? I haven't really looked into it yet tbh

sleek apex
#

typically you tweak it to fit your own server's specs. Cant really give a set number for anything as it varies. Gotta find whats best for you. There is some information on each value out there as well.

open hornet
#

Alrighty thanks man, ill take a look

heavy tiger
open hornet
#

ah I guess not, default is 131072 vs my 800000

#

I got that from the wiki.

heavy tiger
#

Not sure if wiki is correct

open hornet
#

oh also the headless client isn't reconnecting after main server restarts and im not sure why honestly

mellow bluff
open hornet
#

It's just on, there's not anything else to change when it comes to that

keen vault
open hornet
#

I think it is now, actually, I'll need to keep messin with it more

#

But ill double check the whitelist

fair kayak
#

@amber raft I got it, was using infistar shift + i to check ownership which kept coming back as server which was false.

merry stag
#

Headless client what are the recommended specs?

runic cobalt
#

Same as a regular client/server, just minus the GPU requirements

cunning sage
#

ideally you would run it on the same machine as the server

open hornet
#

Hm yeah my headless client connects just fine but sometimes if I turn off my main server and turn it back on, the headless client does not automatically reconnect. If they're started at the same time its all good, same with if i change the mission

open hornet
#

any reason why this could be?

keen vault
#

Occasionally have the same happening

#

I just kill/start HC with the server

runic cobalt
#

HC's are headless, so no brains either... They simplt connection to s server on start-up, and do their thing. They aren't smart enough to figure out what to do after the server went away...

Wait till it comes back? What if another server comes by? Maybe just connect to any random server out there...

tough wharf
#

Having an issue that i've narrowed down to the headless client.
If i spawn an AI helicopter in Zeus, certain factions the crew will disembark and not want to get back in. If i force them back in and then drag the heli into the sky, the engine is on but it just falls to the ground.

Some other factions, the crew does not disembark but if I drag the heli into the sky it hovers there for a few seconds and then "jumps" and then falls to the ground.

#

If I disconnect the HC, neither of these happen.

#

Using the Werthless headless module for my headless client interface.

sleek apex
#

The transfer of the AI from client/server to HC will be the cause of this. I believe its due to a dummy waypoint used in the transfer on the BIS side of the command. The best way of preventing this in my testing was to lock the vehicle through the transfer and unlocking it after. That is something that would need to be written in the HC system itself though.
You can find my note on it in the Biki here: https://community.bistudio.com/wiki/setGroupOwner

#

It is something that I have countered in my HC system (ZHC) if you would like to try it out. Though this phenomenon can still occur if the transfer delay is set too small.

You can find my system as a mod here: https://steamcommunity.com/sharedfiles/filedetails/?id=2450921295
You can try it out and if you don't like it or have issues, feel free to let me know.

tough wharf
#

Reading over your mod right now.

sleek apex
#

Units showing naked is something usually seen when multiple groups are transferred in short succession. Dont know the finer details of what causes it but seems like maybe a occasional loss of data.

runic cobalt
#

It's a known issue with ACEX (and some other HC management scripts).
Problem is caused because the AI is moved too fast to the HC, so it's not fully initialized yet, causing the loadout not being transfered.
Can be solved by increasing the delay before moving around.

sleek apex
runic cobalt
#

No idea if ACE has confirmed it...
However our testing showed that waiting longer between spawning and transferring reduced (and/even removed) the chance of nakeds.

sleek apex
#

hmm, thatll be something to play around with then

wispy junco
#

Am I right in thinking that HC systems manage transitions of scripted waypoints (from server to headless clients) quite well, but things don’t work as well when move orders are scripted with the move or doMove commands?

#

I am finding when the HC system kicks in (Werthles), the units that had doMove orders just stop moving half way to their destination.

#

This is all new to me so any advice is very much appreciated ✌️👍

sleek apex
#

Easiest way to diagnose would be to use this command: https://community.bistudio.com/wiki/waypoints
on the unit before and after transfer and see if the list is transferred. Little odd though that the waypoints don't all get transferred though. Werthles' HC system specifically transfers them manually as well as opposed to just through setGroupOwner.

wispy junco
#

Hey man thanks for the response 🙂

#

Yeah more testing is needed and swapping move instructions from doMove to waypoints will quickly prove whether this is a thing ... I just thought you HC wizards might know though 😁

#

I will explore that command - thanks @sleek apex

sleek apex
#

Waypoints will just return the current set of waypoints for the unit. The thing to check would be if the same set is present before and after the transfer. And to see if the domove waypoints appear in the list as well.

wispy junco
#

Rgr Wilco 👍

#

Thanks bud

open hornet
#

Do I need to define localClient as well as headlessClient?

heavy tiger
#

127.0.0.1 is already whitelisted for both (I hope)

#

and HC's should be localhost anyway

open hornet
#

Alrighty I'll try that, for some reason my HC has decided to just halt and not work even though it was workin' before.

gilded cosmos
#

how do i monitor HC FPS?

serene bane
#

Diag_fps

placid gyro
#

Have people had issues getting drones to work when using headless clients?

sleek apex
left fulcrum
keen vault
#

@sleek apex I'll open a feature request later but did have you thought about adding Lambs garrison to your supported garrison module list?

sleek apex
#

didnt know lambs had a garrison tbh.

#

if you can include the variable for the garrison flag for it, thatll make it easier

#

Also, @keen vault you got any feedback on the RPT logging implementation? I haven't had a proper dedicated server to test it yet(server issues), just wondering if I got the concept right based on the example you gave.

keen vault
sleek apex
#

got a PR for it already

keen vault
#

yup, on it now

keen vault
sleek apex
#

Not sure how that could really be done as that affects all ai doesnt it?

keen vault
#

no, the LAMBS has to feature sets:

  1. the FSM which only kicks in once AI moves into "danger" mode (which isn't affected by HC transfers at all) (this only requires LAMBS to be installed on the server)
  2. It has mission modules/waypoints like "TASK RUSH", "TASK Garrison" which break if you transfer the AI (this one requires the mod to be installed on all clients)
sleek apex
#

It may be that the waypoints arent transferred by setGroupOwner then.

keen vault
#

yeah they aren't afaik. If you join their discord they explained it there.

sleek apex
#

may need to add the manual transfer then. Do you know if it works with werthles?

keen vault
#

I know LAMBS' doesn't work with werthless/ACEX

#

they were thinking of adding a CBA option to blacklist all lambs AI from being transferred (so just setting a flag for the two major HC mods they know, Werthless and ACEX)

sleek apex
#

hmm, then not sure would the solution would be outside of the blacklist yeah. Only other option would essentially be a full integration to some extent.

keen vault
#

Only other option would essentially be a full integration to some extent.
A man can dream 😄

sleek apex
#

Pls no ;-;

keen vault
placid gyro
#

yea well thats true

#

slight annoying at that, wish there was a way to utilise modules on HC units

#

Was thinking of only using the HC for statics and general infantry roaming around. turn off the automatic checking for non HC units and just balance between server and HC.

keen vault
#

You can use modules on HC units, you just have to spawn them directly on HC units

placid gyro
#

Is there a specific way to spawn directly to HC?

keen vault
#

Via scripting you just call it on your HC, via Zeus no

placid gyro
#

Yea thats what I mean

keen vault
#

With ZEN you can make your own custom module that would spawn them directly on the HC

#

That would work

#

But then again you could also just spawn them in and wait a few balancing cycles and them give them your orders

sleek apex
#

The process that breaks it is the transfer, once its transferred you can give it commands. As long as it doesn't get rebalanced, its fine.

toxic patrol
#

Any reason why the -filePatching flag would prevent any HCs from joining the server? Only happens when it's on. Linux server.

cunning sage
#

server must allow clients with file patching

#

server.cfg
allowedFilePatching = 0; // Allow or prevent client using -filePatching to join the server. 0, is disallow, 1 is allow HC, 2 is allow all clients

toxic patrol
solemn hollow
#

Is anyone having issues with headless clients not working when loading S.O.G?

#

I'm actually getting a Seg Fault

#
22:35:39   Error position: </(pixelW * pixelGridBase * 0.50))-10))*(>
22:35:39   Error Zero divisor
22:35:39 Error in expression <((((((safezoneW/(pixelW * pixelGridBase * 0.50))-10)*0.>
22:35:39   Error position: </(pixelW * pixelGridBase * 0.50))-10)*0.>
22:35:39   Error Zero divisor
22:35:39 Error in expression <((((((safezoneW/(pixelW * pixelGridBase * 0.50))-10)*0.>
22:35:39   Error position: </(pixelW * pixelGridBase * 0.50))-10)*0.>
22:35:39   Error Zero divisor
22:35:39 Error in expression <((0.5*safezoneW)-(0.5*((((safezoneW/(pixelW * pixelGridBase * 0.50))-10))*(>
22:35:39   Error position: </(pixelW * pixelGridBase * 0.50))-10))*(>
22:35:39   Error Zero divisor
22:35:39 Error in expression <((0.5*safezoneW)-(0.5*((((safezoneW/(pixelW * pixelGridBase * 0.50))-10))*(>
22:35:39   Error position: </(pixelW * pixelGridBase * 0.50))-10))*(>
22:35:39   Error Zero divisor
22:35:39 Error in expression <((0.5*safezoneH)-(0.5*((((safezoneH/(pixelH * pixelGridBase * 0.50))*0.75))>
22:35:39   Error position: </(pixelH * pixelGridBase * 0.50))*0.75))>
22:35:39   Error Zero divisor
#

I think it's trying to launch a UI, even though it's a headless client

#

Because there is no other reason that a headless client should be attempting to manipulate the UI

#

It shouldn't even have one?

#

Linux Dedicated server btw

#

/data/steam/arma3/arma3server_x64 -limitFPS=250 -mod="curator;kart;heli;mark;expansion;jets;argo;orange;tacops;tank;enoch;MOD_CBA_A3;MOD_ACRE2;MOD_ENHANCED_MOVEMENT;MOD_ACRE2_SOGCOMPAT;vn;" -port=3302 -client -name=HC1

heavy tiger
#

@solemn hollow when does it crash?

solemn hollow
heavy tiger
#

terminate called after throwing an instance of 'std::regex_error'
what(): regex_error
wat

solemn hollow
#

🤷‍♂️

heavy tiger
#

but acre has no libraries for linux headless client afaik

#

So it shouldn't be acre?

solemn hollow
#

Just tried it, same thing

#

Could be a package issue?

#

Missing library perhaps?

heavy tiger
#

yeah acre doesn't have steam libs.
Arma also doesn't use regex and I don't know anything that would 🤔

solemn hollow
#

Well this only happens with S.O.G loaded

#

Are we sure S.O.G doesn't use it?

heavy tiger
#

yeah

#

I'll try to launch a HC on my machine

solemn hollow
#

Have you got a list of packages required? it could be a missing package I suppose

heavy tiger
#

No then it wouldn't launch at all

solemn hollow
#

Yeah fair point

heavy tiger
#

Runs for me after the error spam tho

solemn hollow
#

Hum

heavy tiger
#

Arma itself doesn't use regex.
It could only be added by extensions.
ACRE and SOGPF use extensions, BUT they don't have linux extensions meaning they're not a thing on linux

#

I'm out of ideas

solemn hollow
#

Damn

#

Added -debugCallExtension and didn't seem to get any extra output

solemn hollow
#

Thanks for you help anyway @heavy tiger

#

Could I possibly raise a proper bug report to get this looked at another time?

heavy tiger
#

Well I cannot reproduce and I think its something special on your end 🙃

chilly moon
#

Possible its a Battleye filter? I think u can throw regex in the txt files.

modern veldt
#

how do i play with my friend in arma?

placid gyro
#

The multiplayer button