#headless_client
1 messages · Page 8 of 1
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
that short delay will increase the changes of broken loadouts
Hey what is some good S tier headless scripts?
i've been using Werthles and it does a pretty good job
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
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)?
Only AI. Same machine gives better bandwidth. Each process main thread will be the primary CPU user
Thank you
Does battleye block dlls on HC? My server sees dll, but HC no
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
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
yea, whitelisted
and for HC that shouldn't matter, but I never tried that
I have a HC but it doesnt join the HC slot in the server, is this normal
No.
Missing mods?
i got it, i forgot to use the version of the mission that had variable names for the clients, thanks for the help
I want to install use headless clients on the Mainserver, do I need a separat installation or can I use my dedicated arma installation?
You can use your existing installation
Do I need advanced towing in the mod aswell for the HC Client? I assume so?
HC needs all mods required by a regular game client
understood thx
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
the UI looks similar for HC and server so you might have them confused
are HCs whitelisted in the server config?
Yes, it is whitelisted
This is how console looks like:
https://cdn.discordapp.com/attachments/533408759373103114/731058529020149760/hc_test_-_problem.png
ah
you have the wrong dashes
− instead of -
I guess you copied from some guide using fancy characters 😛
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...)
you're not the first to come here with the dash issue 😄
@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).
x64 seems to handle some of the larger mods better
Perfect, thank you.
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"
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
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?
HC works with non dedicated? 
sure
no
HC works with non dedicated?
@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
ftr: works flawlessly if I let the HCs only join when the mission is already in briefing screen.
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
HC is actually running on a different core
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)
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
IMO it starts to make sense to use HC when you have beyond 100-200 AIs
and on worse CPUs it makes most difference
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.
- shouldn't the HC keep the server fps from dropping?
- are you saying that the specs I gave above, is not good enough to handle Arma 3?
1 read what sparker says.
2 3.5ghz aint that much
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.
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
yeah
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
Depends on what you gonna do
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
I'd ensure that server.cfg has these entries set up:
https://community.bistudio.com/wiki/server.cfg#Dedicated_client_in_Headless_Client_mode
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
300 ai aint gonna cut it on 3
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.
How does a hc work? I read lots of wiki but still I don’t understand
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
@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?
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.
@hybrid pond I didnt say it in relation to the HC
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?
@serene bane
Missionscript framework is automatically passed to the HC?
you mean running scripts, placed modules etc?
I thought not 🤔
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.
right, indeed. so it doenst offload the server nor clients unless you specifically tailor your scripts for it
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)
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
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?
Any scripts/command that the server doesn't have to execute for AI is direct profit, and that does improve server FPS.
What mods are you using though?
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)
Anyone have a good tutorial for setting up a headless client using ACEX? I am on a dedicated server using FAST, pm me :)
enable ACEX headless management in CBA settings
add a slot for headless client in your mission
Simple as that? Any recommendations of how many HCs to run? (50-100AI)
Try one or two at max,unless you're doing some heavy scripting on your AI
Thanks :)
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.
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
some HC managers like ACEX will deal with that
otherwise you'll have to handle it yourself
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
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
Sent you a DM
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.
headless needs the same mods as any client would need
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.
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.
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 
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
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
that only works for single node compose, not for swarm orchestration
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
well the image just get copy, since use it from cache
or just one image with different entrypoints / commands
less risk of having a syntax error in one of them, less code to maintain
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
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
the name is a reference to docker hub images by default
that will only work if the server image is built before starting hc1
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
shold i give the complete path?
already tested with -profile="HC1" and didn't worked and is already using name="hc1"
-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
not with -name=hc1
default user is $USER
which unless otherwise specified is root
in your case it's steam for the server, https://gitlab.com/Yeiij/a3docker_linux/-/blob/master/server/Dockerfile#L16
but its overriden by specifying -name=a3profile
but this is only in main server, not in hc
well, going to sleep, will continue "hacking" tomorrow, docker says...
coming back, make it work much better i think
it's a "client" and all clients need access to DLC's and mods to be able to join the server 😉
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?
need to enable ACEX in ACEX settings, not sure if default enabled
I only run ACEX on my servers
How many Zeus's can you use? We plan to have two atleast.
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
When zeusing with hc, I find it very useful to have modules or keybinds for hc-blacklist and change-locality
How many Zeus's can you use?
one, but doesn't really make any difference concerning HC's
technical question - who evaluates the hits in arma, client or server?
client
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!
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.
Depending on needed interactions/shared data between HC hosted AI there can be an overhead from multiple HCs
@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,
there are multiple script only versions that can be embedded within a mission
werthles was popular before but its probably outdated by now
Does headless client automatically take control of any AI on the server/mission?
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
where do i find the CBA settings?
mission editor, server in game options as admin or as standalone file
apparently we dont have ACEX so how do i manually do it?
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.
Anyone ever had this issue with Headless Clients?
1:10:08 Setting invalid pitch 0.0000 for HC1
Yeah i see that constantly, but it doesn't mean anything and is not an issue
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
missing mods could cause HC not to join, and might not always be logged properly
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 ""?
only needed if you have whitespace in your mod names
But wouldn't stop anything from working if they were there?
And there was no white spaces
no wouldn't hurt
@heavy tiger Would hiding lots of map objects potentially do it?
They are all set to local as well, the terrain hiders
doubt it
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?
negative
Thought as much, ta @heavy tiger
@heavy tiger Would the Steam account attached to the HC's need to own APEX?
HC has no steam account
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?
usually hosting services dont support headless clients
as opposed to getting a dedicated server and launching the hc yourself
if that makes sense
yea prolly contact the ppl you brouht the server from
@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.
Gotcha, I have been running it at 4 cores and 8 threads
I’ll try 1 core and 2 threads next
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
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..
🤔
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.
HC doesn't need a steam account, or atleast shouldn't
Linux one definitely doesn't
the final 1.64 build is also not released for linux?
he is running arma 2, arma 2 HC required steam accounts didn't they?
-client doesn't work with the server binary
but you can use the regular arma2oa.exe and -client without a steam session
just tested
@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 😋
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🤣
Are you connecting -ip to the local ip or the internet ip of the server?
For the HC params
@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. 😁
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
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"};
No
Hmm, does it need a -password param? Ours has one and aside from having just the one HC works fine to connect
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 😄
I know I need to just go to Arma 3 but I just love A2 so dang much 😄
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
did you start your stuff with .bat files?
Yes
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
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
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
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 $ 👍
no thanks that's fine thanks for the offer
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?
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.
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)
Hello. I reported this issue https://github.com/Ghostrider-DbD-/blckeagles-revisited-RC/issues/161 for blckeagles (GMS) mission system. He know directed be to here to call @trim socket - does anyone also have this kind of problem?
Do you also have crashes with vanilla Arma? Or does it only happen with GMS missions?
only with the latest GMS mission, the old one (linked in the issue) works like a charm
Arma hosts repeatedly crashes after affirmations that the server was operating properly; very disappointing!!!
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 😦
Would a headless client improve anything if you server already stays around 40-50 server fps?
up up uppp
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;
@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?
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?
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
@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
are your guys's HCs working after 2.0?
tell me more
are your guys's HCs working after 2.0?
@tawdry iron my HCs working fine.
ah k
yeah nvm
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
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
yep, will try that - maybe thats the problem
let us know if it works
hmm the HC is marked as 2 | | HeadlessClient_1 (Lobby) | but not 100% connected, but I'll also try the 90s delay
@silk pine also, have you checked your server rpt and hc client rpt?
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
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...
Localhost=127.0.0.1 is not a thing
'dedicated client created' and nothing more shows UP.
-connect=127.0.0.1
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?
Nop
Maybe HC should log that.. oof
HC shouldn't be in file patching mode by default 
@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...
But your startup args above does not contain file patching?
Here's a fun one. Since adding headless clients and enabling the ACEX handling of it, enemy vehicle crews put on NATO gear.
@full meadow really?
@cunning sage I use TADST laucher! It makes everything more easier!
@full meadow really?
@proven lake Really. We see NATO MTP jump out and shoot at us with 6.5 when we disable enemy tanks.
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!
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?
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...
so for performance it's better to call it directly on HC, right?
lots of SQF commands work only on local objects
https://community.bistudio.com/wiki/Multiplayer_Scripting#Locality
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
got it, thanks a lot for clarification.
@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
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.
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
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
Ok now I understand it, thx.
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 !
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 ?
What is a headless client?
Imagine it as a 2nd Server, that connects to the Server. No Interface, etc.
https://community.bistudio.com/wiki/Arma_3_Headless_Client
Headless Client is used to offload AI calculations from the server instance
I see, thanks guys. Thinking about setting up a server in a virtualmachine just to mess around with it.
Is there a way to prevent certain AI from being taken over by the headless client? If so, how?
Depends on how you manage which AIs that run on the headless client. Sounds like your using a HC manager. For ACEX this should be used, https://ace3mod.com/wiki/frameworkx/headless-framework.html#21-disable-transferring-for-a-group
Thanks, will try it out 👍
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)
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
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
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
Mod that uses functions to broadcast controls to AI locality... maybe with cba event system?
Does anyone have this working with Linux?
yes
Has anyone had issues with the Headless clients disconnecting while using this docker image? https://github.com/BrettMayson/Arma3Server
To the point where the AI freezes.
but player's don't.
Currently i'm using the script found here: https://www.reddit.com/r/armadev/comments/2wm2xs/roundrobin_load_balancing_of_ai_across_up_to/
But reading up I see something about an ACEX headless manager, but I don't know how to activate it.
ACEX Headless manager can be enabled via CBA Settings
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.
no
Dang. 😦
Do I still need HC slots in my missions?
yes
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.
Try setting "Transfer Loadout" to"Config Loadout" @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.
hmm ok, and what if you decrease the delay?
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.
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.
I agree. To my eyes, a dead body is only a container for loot. 🙂 So, how to have bodies as simple objects with loot attached. Seems that AGC does that! https://steamcommunity.com/sharedfiles/filedetails/?id=1724884525
Same test, 400 AIs, 4 remote HCs - much better FPS with AGC.
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.
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
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.
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
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.
For the brave ones that know what to do, I've shared my AI mover here: https://github.com/mokdevel/darcAiMover/ No naked guys with this one.
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.
I collect all data from in editor and respawn locally on HC in preinit or I have them ready to go for spawning by function call
https://github.com/PiZZAD0X/AAIS
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
I ahve run into nake guys with a mission i have been running for a while now using two headless clients
Which mission?
Can someone please recommend a well written headless client how to for dedicated Linux server. I am looking to add this feature. Thanks
Anybody knows whether its possible to whitelist an IP Range like 172.0.0.0/8 for headless Clients?
No range supported
Localhost is force whitelisted, but I think that was specifically 127.0.0.1, and not the whole 127 range
Yeah found the issue
For some reason it was detecting the docker gateway ip as the hc source ip
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
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
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
As long as it's at the same hoster and possible at the same location it should be fine. WAN is basically a large LAN.
Cool, thanks. Do you think I should add the IP to the local clients list for unlimited bandwidth? (Bearing in mind that traffic would be going out to the Internet and back)
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", ... };
yes, although bandwidth is still limited by the connection between the 2 servers; but the server won't limit it (as with normal clients)
Do you need the -config=server.cfg at the end of the HC file?
A client doesn't have a server config
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
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.
Well the server disagrees
maybe loading wrong config file
using wrong password (admin instead of normal)
maybe connecting to the wrong server
I found out what was up, the tutorial i used had me type -pass=xxx, not -password=xxx
anyone have issues with A3XAI HC causing AI to not exit vehicle when dead?
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
I have never seen AI exit a vehicle when dead, really makes no sense that they would.
Has anyone experienced AI rubber banding after implementing HC? Seeing a lot of this on my server since we started using HC.
HC on the same hardware as the server? unlimited bandwidth set?
@lucid pelican Same server (Linux), not sure how to set the unlimited bandwidth
Defining the headless client in the server.cfg
But i believe localhost should be default
Yes that I know, but you mention defining unlimited bandwidth? That I am not certain of.
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
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
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.
no. You set that to the bandwidth you have. nothing else. not unlimited or magic or whatever :U
127.0.0.1 is hardcoded, in either HC or localClient array, don't remember which, maybe both
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?
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?
its not as good as if it were local
worth probably yes
depends on what you do. For AI stuff probably yes
having a delay for the HC is kind of annoying, getting shot after running past corners, sometimes the AI shooting at old locations
stupid question: what is the headless client meant for?
To offload AI calculations from the server
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
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 labeledhc1and a server profile of the same name is not being created. - We even tried naming the HC module
headlessclient.
both whitelists in server.cfg?
Has anyone notice excessive rubber-banding when they enable HC on their server. (my hc runs on the system has my server)
Yes, but only when running enough HCs that the overhead was too much to handle.
"overhead" Not sure I understand - System specs are i7 w/32 gig ram
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.
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
I was only running 1 HC - no aware of perf_prof_branch or what its about.
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.
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.
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
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?
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
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
Speaking of this, where would I find documentation on what bandwidth settings were added?
there is none
Server verifies that the client joining's steamID matches his actual steam account stuff.
Are you running the HC client on windows?
I heard that windows people have steam open and logged in
ah docker, so linux
ye
yeah no dunno, never had that problem before I think
but I also never ran a HC that was not localhost
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?
non-container yeah
So you just did 2 terminals I'm guessing?
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
Would adding a & to the end of the startup command successfully run it in the background?
yes 
Would Arma not crash on the unknown symbol considering it is looking for - flags after the binary is called?
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! ^.^
@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.
you can try using network mode host
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.
working fine for me on separate networks
headless autoslots, linux server and linux headless client
Huh... must be on my end then. Are you using Docker containers by any chance?
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
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
Yeah spawning locally on the HC machine is best
CBA target owner events are your friend
Hey
I'm trying to config a linux hosted server, should I ask on this channel or somewhere else?
does headless client use profile called 'hc' by default?
i tried it without -name and there is now a 'hc' and 'headlessclient' profile..
it will create a profile with the name of the headless slot in the mission
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.
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
then there is no worth in using a HC
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?
100+ AI maybe. If your server fps drops below 40 fps
no sense if your server runs at 40fps or higher I'd say
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
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
what's the problem?
are you spawning the AIs on the headless clients?
or using some manager to handle that?
Im using a script to handle that
the AIs are already on the maps the script is assigning them to the HCs
sounds like it is not doing that
I would verify that your script works as intended
two headless seem a bit extreme as well
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
980X is not exactly state of the art
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
an addon variant, if anyone wants to help with this DM me: https://dl.dropboxusercontent.com/s/6kvfgciz3723tbe/vehSpawns.mp4
fps in combat (forced suppression on a revealed target in front of them - not sure how to test combat load on AI better): https://i.imgur.com/tm4ct8Q.jpg
Not shameless enough, it took a quick look at it. Looks promising, nice coding and even using cba statemachines. I think i am gonna try it out.
They're moving in herds. They do move in herds
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
Zeus works via local units to Zeus player
it doesnt interact with headless local units unless with a mod
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?
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.
Much appreciated 🙏🏼
We're going to try Wethles' Headless Module and see how that goes
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.
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
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
Which is correct when you script your AI placement; but doesn't work with 3den or Zeus placed units, since those will be local to the client/server.
Perhaps creating an event handler which catches Zeus placed units and automatically send them to the HC would work 🤔
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
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.
Can't think of anything 🤔
Haven't had any issues with the last updates, and scripts +5 years old still work
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.
Does a headless client need all the mods a normal client does?
HC just requires all the mods listed in the server's -mods parameter. Does not need optional client-side mods or -serverMods.
Thanks
Got it working 😄
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.
This may help in the future once it's released =)
Zeus Enhanced Deep Paste on HC https://youtu.be/o1KN2sxIMi4
@languid minnow remoteExec to HC with AI creation functions , triggers that only runs their code on HC etc
neat trick!
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?
"remoteExec to HC with AI creation functions"
Could you elaborate on what this looks like in practice?
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
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 🙂
Depending on the script/mod you use its normal.
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
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
Overflow == object out of terrain, out of bounds
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
The engine itself could handle it, the networking code can't
Do HC need to run the -maxMem launch parameter?
You don't need it at all
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.
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.
Anyone know what could be causing a headless client to not slot into the headless client spot?
Like it just joins and sits there
Thanks! I'll look into this
never mind looks like they needed a variable name
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?
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
the famous naked AI bug?
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.
run on the server, get all the HCs, pick one of them, remoteExec or CBA targetEvent.
How do I "get all the HCs" though? Are they objects, or ID strings, or...?
Depends on what you're doing with the script.
How are you executing said script and what is it suppose to do?
Can a headless client work on Escape Server with a 6 map rotation?
they are all one object type
So you can do allPlayers select {_x isKindOf "HeadlessClient_F"}
13:56:53 > Player headlessclient connecting
13:56:53 Loading profile "hc"
My HC seems to be stuck on this
make sure that profile is readable/writable by the arma process and not corrupted
Well thing is it connects fine to the dedicated server
just not sure whether it is working lol
@vocal crane check the log you can see if the units are/rnt transfert)
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
is but its note say that you have some unit transfered into
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
@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
🙂
Yeah figured as much, will drop in later to let you know
It works 😄
nice, 🙂
you monitor that with #monitor xx ?
Yes that, but also Antistasi's performance logging
but I guess it uses same function for it
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
iirc there's some stuff you have to do in order to make AI work correctly when using HC
I am currently running five and all seems to be well. Only bad thing is the AI are nearly always on the HCs meaning the zeus cannot remote control them
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.
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.
Question about that, what makes you choose 2-3 HCs? Is it a limit of cores available, or a choice?
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
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
did you whitelist the localhost IP in the config file?
How are the modules set up?
Variable name and Role description as HC1
and HC2 for the second module
Literally that mate yeah, HC1 in the first and HC2 in the second
And they are marked as Playable?
Can I somehow make my headless Client auto reconnect if its disconnected for some reason? (Server Restart or something)
You could with your bat file, you just need to run a line that will auto launch it if it disconnects for any reason - far from a coder here so I can’t provide a line to insert I just know it’s possible
Yo you ever find a fix for this? Running into this now never was prior
Hey man
for us it turned out that we hadnt set the names in 3den for both the variable and role description
@river skiff
Ahh
Stuck with a different issue from the looks of it. Loading 41 warning messages that are basically unreadable
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.
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.
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
So there's something wrong with the locality transfer script
The local spawn method is just always going to be better
Do HCs run initPlayerLocal.sqf when joining?
https://community.bistudio.com/wiki/Initialization_Order
In multiplayer the following is relevant to every machine including the server and headless clients. If the server is non-dedicated then it should be considered both a server and client.
I'll test it then. One day. 🙂
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.
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
Well, i've finally released my Headless client system for anyone interested in taking a look and/or providing feedback: https://forums.bohemia.net/forums/topic/234169-zulu-headless-client-zhc/
Does this have the ability to force all AI onto headless clients and none on the server?
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? ;)
That would be the default behavior. It will not offload to server.
It’s better to have then on the client than the server at that point usually
Yeah that was the initial i used. It’s pretty good code. Used it as a baseplate and reference.
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
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)
Could do. Would definitely not do it by default though.
Yeah. Was planning on adding that just to lazy atm :P
Kek. Wouldn’t be too hard to
I’ll look into it
Just make a issue for me if you don’t mind
oooh will do 🙂
Anyone in here happen to have any experience with unit caching btw?
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
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?
Correct.
well, something to add functionaly for then
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.
@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*
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.
@amber raft have you dms running on headless client ? Can I message you for help ?
how would i define a port in the headless client parameter? would it just be headlessClients[] = { "xx.xx.xxx.xxx:xxxx" }; ?
oh? i assumed you needed to
nah as its essentially just a player joining the server
ahhh. does the HC need the same mods that the server is running?
you may need to define the server's port in its startup though
itll need any required mods at least
thanks man!
https://forums.bohemia.net/forums/topic/178434-arma3-headless-client-guide/ bit old but pretty good guide.
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
if your HC is on the same server/machine you can just use 127.0.0.1
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?
Thats gonna be dependent on your provider unfortunately
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.
with really simillar you mean capped at 47?
Actually yeah, it is capped at 47 but it goes from 47 to the lowest I've seen at 42
you'd need to let the AI fight, just standing around you won't see much difference (unless its huuuuge numbers)
ooor you can use this mod:
https://steamcommunity.com/sharedfiles/filedetails/?id=459317544&searchtext=headless+kit
only time youll see a massive difference is if you have the AI on server initially
which gives you a nice graphical feedback if the AI is actually on the HC
well ACEX moves it after 15 odd seconds by default, so it should be noticable
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.
yeah this one just has the overlay function to check without any scripting if it works
as does mine :p
https://steamcommunity.com/sharedfiles/filedetails/?id=459317544&searchtext=headless+kit
at this is the correct mod, other one was the script
That said, if you dont want an extra mod, use the Werthless kit
haven't tried yours yet @sleek apex so I'm holding off on recommending it 😛
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
fair enough, havent looked too hard at the mod version tbh
I've got a bunch of AI spawned in and its holding fast at 40, some bumps to 30.
@mellow bluff 👀
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
you also try the limitFPS=1000 launch argument, unlocks fps to 1000, so any AI spawning should be noticable
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
afaik client FPS really only suffers from low server FPS if server FPS go below 30
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
Luckily I haven't had that just yet lol
starts to become a lot more prevalent when you try to break the 40+ player barrier
Yeah I'm on the verge of it so thats why I've got the HC
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;
yeah youll usually end up needing to tweak from defaults once you start getting more players to get better stability
I mean is there anything I should change from that? I haven't really looked into it yet tbh
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.
Alrighty thanks man, ill take a look
Your minBandwidth is pretty low, sure that it's the default?
Not sure if wiki is correct
oh also the headless client isn't reconnecting after main server restarts and im not sure why honestly
check your ACEX adddon options
It's just on, there's not anything else to change when it comes to that
that means you don't have it whitelisted/your headless slot is broken
I think it is now, actually, I'll need to keep messin with it more
But ill double check the whitelist
@amber raft I got it, was using infistar shift + i to check ownership which kept coming back as server which was false.
Headless client what are the recommended specs?
Same as a regular client/server, just minus the GPU requirements
ideally you would run it on the same machine as the server
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
any reason why this could be?
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...
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.
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.
Ah interesting. So the units showing up naked, and this whole issue is caused by placing units in Zeus.
Reading over your mod right now.
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.
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.
So was this confirmed as the time between initial spawn being the problem or is it the time between units being transferred? If its the time between initial spawn and transfer, ill get the note updated to provide the correct information.
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.
We currently use a slightly modified version of https://github.com/mokdevel/darcAiMover, and haven't seen any issues since.
hmm, thatll be something to play around with then
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 ✌️👍
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.
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
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.
Do I need to define localClient as well as headlessClient?
127.0.0.1 is already whitelisted for both (I hope)
and HC's should be localhost anyway
Alrighty I'll try that, for some reason my HC has decided to just halt and not work even though it was workin' before.
how do i monitor HC FPS?
Diag_fps
Have people had issues getting drones to work when using headless clients?
Drone control is known to be an issue when using HCs. As such, they will typically be blacklisted from the HC to prevent transfer.
ZHC brings it onboard. But ultimatively it's "just" the KP script from Liberation.
https://forums.bohemia.net/forums/topic/234169-zulu-headless-client-zhc/
@sleek apex I'll open a feature request later but did have you thought about adding Lambs garrison to your supported garrison module list?
didnt know lambs had a garrison tbh.
if you can include the variable for the garrison flag for it, thatll make it easier
For you @gilded cosmos, here is the original script from KP I based mine on: https://github.com/KillahPotatoes/KP-Liberation/blob/master/Missionframework/scripts/server/offloading/show_fps.sqf
Mine(ZHC) uses CBA handlers. The KP one is just a standalone script. It does require the HC slots to have the variable names shown though.
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.
I knew I forgot about something 😄
got a PR for it already
yup, on it now
I'll go ask the lambs dev for it 😄 honestly might we worth blacklisting all units on LAMBS modules (otherwise the HC transfer breaks their tasking)
Not sure how that could really be done as that affects all ai doesnt it?
no, the LAMBS has to feature sets:
- 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)
- 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)
It may be that the waypoints arent transferred by setGroupOwner then.
yeah they aren't afaik. If you join their discord they explained it there.
may need to add the manual transfer then. Do you know if it works with werthles?
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)
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.
Only other option would essentially be a full integration to some extent.
A man can dream 😄
Pls no ;-;
I'm talking about the modules, not the FSM
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.
You can use modules on HC units, you just have to spawn them directly on HC units
Is there a specific way to spawn directly to HC?
Via scripting you just call it on your HC, via Zeus no
Yea thats what I mean
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
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.
Any reason why the -filePatching flag would prevent any HCs from joining the server? Only happens when it's on. Linux server.
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
ooooooooohhhhhhhhhhh... Makes sense. tyvm!
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
Near-immediately on launch, shortly after/during initialising addons. Doesn't get as far as connecting to the server
terminate called after throwing an instance of 'std::regex_error'
what(): regex_error
wat
🤷♂️
https://github.com/IDI-Systems/acre2/search?q=regex
ACRE uses regex, try disabling ACRE
but acre has no libraries for linux headless client afaik
So it shouldn't be acre?
yeah acre doesn't have steam libs.
Arma also doesn't use regex and I don't know anything that would 🤔
Have you got a list of packages required? it could be a missing package I suppose
No then it wouldn't launch at all
Yeah fair point
Runs for me after the error spam tho
Hum
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
Thanks for you help anyway @heavy tiger
Could I possibly raise a proper bug report to get this looked at another time?
Well I cannot reproduce and I think its something special on your end 🙃
Possible its a Battleye filter? I think u can throw regex in the txt files.
how do i play with my friend in arma?
The multiplayer button