#headless_client
1 messages ยท Page 9 of 1
No idea I'm afraid
Battleye is disabled for me, so wouldn't make sense for me.
also getting the regex error on linux, no mods loaded other than the dlc
could it be something with the gcc version?
what distro are you running this on? also what's the output of ldd --version ?
@heavy tiger @solemn hollow @slim lily I fixed it by making a new vntest folder (name not important), copying all the stuff from vn and removing addons/emm.pbo, then launching the headless client with that new vntest folder instead of the default vn
in short, it's emm.pbo in the dlc that's causing the crash
@warm forge interesting I'll test it as well in a bit.
That "fixed" it for me as well.
emm might use regex, but it only has a windows .dll no linux lib so.. shouldn't ๐ค
@shadow kraken ^
Start of convo is here #headless_client message
@bold python please check
Maybe EMM client checks failing for headless client?
But yeah emm dll uses regex's
I think the problem just comes from the fact that the Linux machines has no .so to use instead of a .dll
but we are talking about linux here
that means the dll is not used
that means regex shouldn't possibly be a thing here, I have no idea ๐
I mean callExtension should just signal an error without much else in case a compatible extension is not found, right?
@warm forge @slim lily can you please try with -debug startup parameter and see if it creates the emm_api.log (on windows int the arma 3 game folder)
exactly. Shouldn't be any problem at all.
Arma uses no regex, so that regex error crashing server makes no sense
Wait if arma uses no regex how can it do stuff like https://community.bistudio.com/wiki/Category:Command_Group:_Regular_Expression_(Regex) ? ๐ฎ
Probably a hasInterface check in the emm would fix the issue?
That doesn't exist yet
fair enough
ยฏ_(ใ)_/ยฏ
@warm forge ty. we will disable the sqf init for servers with the next update
Hey people, I'm trying to setup a headless client for my server, I used linuxgsm to easily set stuff up but it doesn't seem to diverge too much from the normal process for arma 3 dedicated servers from what I can see..
I am continuing to have issues in general though, actually getting the headless client connected to the actual server running?
Check you server.cfg for the settings described here: https://community.bistudio.com/wiki/server.cfg#Dedicated_client_in_Headless_Client_mode
And as for the HCs, they will have a different commandline with a -client tag and a -port and -ip arguments to tell it where to connect. If its on the same server/machine, you can use 127.0.0.1 or localhost for the ip. Examples here: https://community.bistudio.com/wiki/Arma_3:_Headless_Client#Headless_Client
if the HC is external (not reccomended) then you will need to whitelist its ip.
My server cfg, https://i.imgur.com/8STGsXW.png The parameters being used for the HC, https://i.imgur.com/z0dqt7q.png
The mission I'm using to test this, has a headless client slot, so it should be getting occupied by it when it connects, right? But yet there's nothin..
sorry, you can omit the -ip argument and just use -connect. When your in the server and logged in as admin, you should see the HCs connected.
I also like to suggest, duplicating the .exe file and having a separate one with a different name for the HCs just in the case of needing to modify things without shutting everything down. Though that is unlikely to be your issue here.
https://i.imgur.com/o7QqQIw.png nop, nothin. Just restarted the HC and all that.
what do the consoles for each say?
oh, HC is spamming wrong password was given.
but the pass is set with -pass? unless, is that wrong?
-password
hooray, finally! https://i.imgur.com/PXXrsSg.png
So it was me trying to use both ip and connect?
thank you for your help
https://i.imgur.com/5ezCEuV.png huh, HC isn't grabbing it's slot. I've setup mods and it seems to load everything and connects to the server fine..
I'm really confused why the HC isn't occupying the ONLY headless client slot, especially given that it's playable..
Anyone seen this issue before? I'm getting this error in the console output of my HCs: ```Error in expression <((0.5safezoneW)-(0.5((((safezoneW/(pixelW * pixelGridBase * 0.50))-10))*(>
this is on a linux HC, mod list is admittedly rather long:
mod=vn;@cba_a3;@alive;@rhspkl;@flashlight;@fifty_beard;@jsrs;@aa_tracer;@agc;@align;@crash_landing;@em;@enhanced_missiles;@enhanced_soundscape;@immerse;@mk1_eyeball;@more_smokes;@re;@redis;@remove_stamina;@rpp;@spyder;@suppress;@wmo;@smarter_tanks;@vcom;@lambs_danger;
oh you know what it is. I bet it's because the vn files aren't all lowercase.
yeah nope I can't load vn on a HC
oh huh @warm forge what does emm.pbo do?
oh it's an ebo
@shadow kraken @heavy tiger sorry to be a bother but what should I do for working around the linux HC crash here? Just delete emm.ebo?
^
copy air_f_vietnam.ebo and vn_structures.ebo from client to server
Have you managed to fix this? I have the same issue
In the Mike force mod my hc is stuck on ''connecting''. it enters the server but doesn't assign itself in the only hc slot that is available.
I fixed it by editing the mike force mission file, gave the HC's actual names and made 2 playable. Names were HC1 and HC2. Then when I launched HCs using FASTER it connected and joined the slot.
nice
@cunning sage not sure if that'll fix my segfault but I'll give it a go!
alternatively can I just download the workshop compat item and load that as a mod?
(on the server)
Yes, just remove emm.ebo
I'm having problems with getting my HC set up. The stuff in the server.cfg is configured correctly (AFAIK) but whenever I try putting command line arguments (or whatever they're called - I'm not the best with coding and scripts) in my batch file, all it does is say "Dedicated client created" and do absolutely nothing else.
I put this command in the batch, without quotes and with putting in the right IP and password: -client -connect=xxx.xxx.xxx.xxx -password=yourpass
I'm not sure what I'm doing wrong and how to figure it out. Assistance would be greatly appreciated.
does your mission file have HC slots? can you see the HCs in your server connection log?
I need help trying to code in my bat file to start up the HC every time as well, so it's all in one bat file and my HC is started up and connected with each restart.. would anyone be willing to hook a brotha up? ๐
It's Liberation (which has full HC support), and I don't see HCs mentioned in the RPT files.
So I made not one but two HCs and had them running alongside my server while giving Liberation a go, but it did next to nothing to handle the lag problem (with results such as AI running in place and being able to soak up copious amounts of bullets). I don't know if it's the way I set up the HCs, the mission parameters, or what, but I'd sure love to know what I could do to reduce or remove the lag (could it be a hardware-related issue?).
emm is not needed on server, so yeah you could try.
Deleting emm.ebo solves problem with headless client on linux server
Can anyone recommend a decent headless client script/framework which handles offloading?
Zulu Headless client is supposedly quite nice.
Awesome, thanks
Werthles Headless clients also work really well! Ive been using that for the past month and its brilliant, but I am going to try ZHC also, let us know how it goes!
if this is still on the same machine you're also playing on, that'd still likely be a performance issue.
if anything I'd suspect HCs would make it worse since you're runnin even more stuff on the same machine?
that depends on how many cores your machine has, usually you'd run the HCs on the same machine.
I've got four.
Hey folks... I am so sorry if this has been asked before but I am having a hell of a time figuring it out...
I am running a Dedicated server off an old gaming laptop (fresh install windows 10, PC is only used for dedicated server host).
I am using SteamCMD and TADST to run my server.
When settting up HCs in this environment do I need to download multiple instances of the SteamServer to run each HC?
In other words... Do I need one SteamServer set up for the actual Dedicated Server, then another installed Steam Server running a HC?
I am so sorry if this is a dumb question. I am a dumb so it follows.
no, you only need one install
No, on HC IPs and Local Clients IPs you type 127.0.0.1,127.0.0.2,127.0.0.3 and so on and then you create a batch file with wordpad : start /min "" "C:\Users\Administrator\Desktop\steamCMD\steamapps\common\Arma 3 Server\arma3server_x64.exe" -client -connect=127.0.0.1 -port=2302 -mod= -enableHT the stuff after -mod you can copy from the Parameters Window. You can also put all the headless clients into one batch file
Ok that is kinda what I thought... Man this stuff is just slightly complex. I'm 3k+ hours into my Arma 3 misadventure and just now getting into server hosting..
Love the Community help! You folks are amazing.
anyone have experience setting up headless client on host havoc followed the guide and its not working?
Use FASTER, comes with HC support out of the box and handles steamcmd for you.
I actually built my batch file and got three headless clients up and running last night thanks to @keen radish. Homeboy helped me greatly! Thanks man!
Now I'm just trying to figure out if my antistasi server works better with 1, 2, or 3 HCs. Seemed like three was too many.
Assume each instance of Arma consumes at least about 2-3 cores and 2-4gb of memory
Depends on what you throw at it
I solved it by making .bat file which would start one HC. Then created Windows Service configured to run both "on demand" and start automatically when system is booting up. Its easy enough to export service config (xml file) and re-import it creating exact clones of 'HC service' however many you need.
There's 5 services in total. 1 Arma server service, 3 hc's and service automatically rebooting server once in 24h configured to activate 5AM. I am considering whether I need to add automatic reboot when system's free RAM starts becoming low (haven't gotten too close yet but ram use has exceeded 25gb few times)
Ok, great thank you for the reply!
if hc1 in playerlist has an hourglass does that mean its not working?
hey i am using the acex headless client option and TADST on my server
i made it to conntect four headless client to my server, but how do i know, that they have any effect
?
@fervent bramble your running a batch file or use TADSt to run the HC's??? Help a brother out im trying to get HC's to connect to my Mike force server (also running TADST)
Make a batch file, delete tadst
@fervent bramble one test will be the server fps with more than usual AI, you will need to have a way for the mission to offload the AI processing to the HC's so they can do all the work. From client side they will should have the (more or less) the same performance than if there where no AI spawned assuming your not spawning like 100's of AI.
So if the clients stand in a empty field they will/should have good performance...if the mission then spawns say 30 AI then the performance hit should be very little for the clients cause the server, along with HC's will be able to process the AI easily...on client side it will feel butter smooth as if there are very little or no AI on map
@coral bay easier said than done cause my batch file does not want to run the VN cDLC folder, any suggestions?
I keep getting HC cant play edit mission.....
Are you loading the mod on the HC?
@keen vault yes, like this -client -connect=localhost -port=2312 -client -nosound -name=HC1 -profile=HC1 -mod=vn;@ACRE2;@CBA_A3;
You got -client twice though thatโs likely not the cause of your problem
Is the server itself loading vn correctly?
Yes we have been playing on it for the last week or so...ive tried renaming a copied VN folder to something like @VN_Test to load it as just a mod but still getting cant play/edit mission
not sure what im doing wrong tbh
I need help with my dedciated server im trying to do on my own computer
my server config file wont save
also I have 2 servers popping up
@sour badger Did you ever get that figured out?
I have a problem with a headless client, when I create an AI from a server, bots attack players when there is no headless client, also when transferring from a server to a headless client, any AI does not react to the player in any way if it is controlled by the headless
Has anyone encountered such a problem?
I'm running into an issue where the HC connects to the server, but doesn't connect to the slot. I can't force slot it either. This persists after a full server restart as well.
Anyone run into this before?
usually means the HC slot is either missing a name or something else in the mission, try it out with a known good mission with HC slots (like liberation)
thank you. the reason mine didn't work is because i forgot to set the name. ๐
So I had someone mention to me the idea of directly spawning ai to HC from Zeus. The idea that I believe would work best would be to take the group spawned from the curator handler, delete and respawn it onto the least loaded HC. This would effectively remove the delay from spawning to offload.
Im just wondering if anyone knows of any complications with this idea? Has anyone tried to do this before?
@sleek apex I talked about that with joko in the LAMBS discord (asking why there isn't a ZEN option to spawn units directly on the HCs).
He said that's hard-coded vanilla behavior.
There is a "way" to do in ZEN with their custom code module which you can execute scripts in (so basically spawning AI on HCs through script but with some kind of GUI input).
Your option sounds doable, probably would need some tweaking to make sure units don't get moved too fast (I think that causes issues).
Not sure if speed would be an issue if they are being deleted and respawned. And yeah you would need to spawn them via script directly. He is correct that Zeus itself would not be able to do so as there is no vanilla functionality for it. I think the way I described would be the most seemless way to do so. Though I believe there will still be a slight delay to it.
I do need to look at how they do their Zeus menu toggle options as this will likely need that.
yeah I realized the delay built into it is due to unit transfer, your way of deleting and recreating them would be easier and shouldn't need that delay. looking forward to that!
provided it works ๐
Hi. I was wondering if there was a way to spawn a Headless Client via scripting/debug console? Or is the only way to place the module down in the editor?
Hi everybody. I've been running a dedicated server for a little over a month now and want to add a headless client but the info on it that I can find is pretty limited. I tried to set one up and connect it to my server but get the error, "You were kicked off the game. Steam authentication failed." can someone tell me what I am doing wrong? also is a decent "how to" anywhere online for setting a HC up?
also- is it possible to run a HC and player client from the same machine simultaneously?
Did you give your HC virtual entity a name?
This page got me started with headless clients.
On top of this, I use Werthles Headless Module as to manage where the AI are processed.
That way, you don't need to program the spawning of your AI as shown in the wiki.
Yup
What is the best Headless Client manager?
I tried Werthles Headless Module but it was spamming the RPT a million times and caused memory issues.
So I'm probably going to unload that
ZuluHeadlessClient
https://steamcommunity.com/sharedfiles/filedetails/?id=2450921295&searchtext=zulu+headless
I've used werthless before and didn't experience your issues
Odd. It didn't just cause memory issues but it caused stuttering every 2 seconds. I just got someone else to test it on their server too
But thanks, I'll check out Zulu
I saw it before but never tried it coz no reviews
oh, should be probably review it 
I just realised, debug settings are enabled by default...
Could it have been that maybe?
I'm going to test it with debugging off
Maybe that might stop RPT spamming
I/O operations are expensive
with werthless? don't think so, what did it spawn the RPT with?
RPT logging is async to main thread since 2.00 afaik
Oh
That was default module settings
I mean thats fine, debug shouldn't break anything
With "debug only" disabled, the lag spikes stop.
[] spawn {
while {true} do
{
sleep (_pause5+5);
[] remoteExec ["Werthles_f>
18:52:59 Error position: <_pause5+5);
[] remoteExec ["Werthles_f>
18:52:59 Error Undefined variable in expression: _pause
18:52:59 File Werthles_WHK\functions\fn_moduleWHM.sqf..., line 124
18:52:59 Trying to call RemoteExec(Call) with 0 targets for func 'werthles_fnc_whksendinfo'. Maximum is 1000
18:52:59 Error in expression <;
That is spammed in RPT
also why did you switch?
because I could bother the dev of ZHC to implement some features I wanted ๐
No I didn't know to name it LOL. I will check that wiki out and Werthless HEadless Module as well. Thank you so much. How do I name it? I did not see that option anywhere in the server config.
werthless has a whole guide linked in the mod description
Awesome and thanks! I thought I was clueless when I first embarked on the journey to set up a Arma 3 server by itself. HC seems just as "alien" but I did not think it would lol since I've learned so much already.
Name is an attribute ๐
OH! you mean an attribute in the mission editor. GOT IT! I was just trying to get one working with Mike Force beta for starters, simply because I knew it was already set up for one.
Any tips for finding a server provider service that can accommodate headless client(s)? Would it make sense to rent two or more game servers, and configure the second and so on as HC's connecting to the first rented server?
Pretty sure Armahosts allows you to purchase a headless client for less than 10$ a month? Otherwise I'm not sure of any other hosts that would.
Unless of course you are willing to go with a VPS
Ok good to know. My current provider doesn't seem to have a HC package. I spoke to another person in DM who said they went with a VPS which works well. I'm starting to think VPS may be the best route. More customizeable and probably more money efficient, but of course more work involved in configuration and maintenance. Anyways, I'm not at the point of actually needing a HC, so I'll leave this on the backburner for now...
No, they're not the same. However for the purposes what he wants, and what most people want, a VPS will do the job fine.
Yes for sure, i already said there's no reason to upgrade un less required when we talked.
What i told him is more for like 50-100+ people on his server/s to get the most performance and value for the money spent.
eeeh, VPS/dedicated are also useful for high AI counts, the normal web hosters tend (for whatever reason) have worse performance then running it on your own server with the same hardware
With the web hosters it's usually over allocation on the hosts, less so with a VPS as you're getting a specific amount allocated. But it still happens and it's still virtual with overheads. Datacenters also use slow speed, high latency ram because it's cheaper, and from my experience (especially on ryzen) that makes a massive difference, and especially on a CPU only load.
yeah VPS are fine for performance, they can't get away with overallocating there (well... shouldn't)
Remember that many VPSes use high core count CPUs such as older Xeons. Those are a lot slower, both in terms of frequency and IPC. Not ideal for hosting Arma servers.
And of course you can over provision with VPS, most of the time you won't know many tenants that are on one machine ๐
depending on what kind of hypervisor that is used you might not even know the actual physical CPU
assuming they do proper sandboxing, which they should
I have a question. I'd like to buy a decent server (better than the repurposed office computer that I have maxed out as my first experiment). What do I need to host large games smoothly?
High core clock/IPC cpu. So consumer "gaming" are best.
would a 12 core amd and 64 gb ram be over-kill?
Arma is more reliant on the individual core clock speeds than how many cores it has. That said, a server like that could be used for multiple if the clock speed is good.
Thank you. That is exactly what I needed to know. I'd liek to run mroe than one if possible simultaneously.
new question. I have all of the dlcs except iron curtain and contact. Are there any missions that are already set up for Hcs so that I can test mine without editing an existing mission ( I am trying to limit variables)?
I've configured my two headless clients and they successfully connect to the server. However it doesn't appear that they take their headless client slots. They are named headlessclient & the other one is headlessclient(1). The slots on virtual are named HC1, HC2 & HC3. Do I need to tweak something to make them slot up?
I have the same problem.
Dont know if this is the place for this, but ive been having issues on setting up a dedicated server on my computer, the server appears and sometimes I can connect to it but when set to LAN, about 90% of the time it says "Youve been kicked off the server", when trying to connect it to the internet it always says "Youve been kicked off, Steam Authentication Failed"
You've made the slots playable right? Also do you use ACEX or ZHC or similar?
Yes and yes ACEX is on the client mods
I think it might be because the client is spinning up without the correct mods possibly. I need to find a way to view logs our output of the client I think to see whatโs happening @exotic coral
Fixed it, it was the mods they were launching without which broke it.
how do you make the slots playable? this is my first HC and I am trying to use ZHC with a Mike Force server.
HC connects but does not take a role on the virtual.
headless client role is greyed out and says "nobody"
HC module needs to have a variable name be playable
HC needs to whitelisted in server.cfg
HC needs to have the correct mods loaded
how do i name it? in the server.cfg?
I am loading ZHC and CBA_A3
in the mission file, you cant just connect HCs and use them with random missions ๐
the mission has to be setup with that in mind
that is what I needed to know LMAO. thank you. I jsut figured I did not need to do that if the mission was sewt up for HC already
what is the extension for the mission file? .pbo?
in the mission itself you need to place down "headless client" modules and give them a name, make them playble
yup
thanks so I do that with what? eden?
what do you recomend then? Mike force was set up for it from what I read when I setup the server.
they suggest 2 to 23 HCs
1 to 2 i meant
lol
well all I did was launch mission with one HC, no config
if you're launching your HC manually its most likely some mod missing, check your logs
same, so...
// HEADLESS CLIENT
headlessClients[] = {
"192.168.1.50"
};
that is all I can find in the server .cfg for my mike force server. should there be more?
no thats right, if you enabled the HC in faster it'll add that line to the cfg anyway
ok. so do i still need to go into the mission file and drop a HC module?
no
check your logs
with FASTER there's gonna be two RPT files in the profile folder, one of them is the HCs logs
ok. wiil do
16:28:04 BattlEye Server: Player #0 headlessclient (127.0.0.1:2316) connected. THIS IS NOT MY IP OR MY Port.
what is up with htat lol
localClients too
That is your IP actually.
that one is but i was confused about the one that started with 127.
What are some solutions for spawning units on headless client after creating them in 3den, rather than offloading units using setgroupowner?
Anyone know the best way to offload Zeus spawned AI to the HC
any of the headless managers such as ACEX, werthless etc
I think Zen also allowed to spawn directly on HC? 
ZuluHeadlessClient ๐
and afaik ZEN allows you to load custom "modules" that will spawn AI directly on the HC, involves some scripting tho
See I've tried acex bit it seems to me spotty at best
Can someone clarify this for me - Do HC need all the same mods as other players when joining the server? I have read the documentation a while ago but forgot and would like someone who actually runs a server to clarify this
At the min I just update the HCs to use all the same mods as the players
thanks
@cunning sage @keen vault do either of you have any more information or leads that I can follow up on regarding spawning directly on HC (rather than transfer after spawn on main server, since that sometimes breaks AI mods)? I've been looking for ways to spawn directly rather than transfer for quite a while, and only thing I've seen is semi-complicated scripts that work but don't scale up very well/easily for use with a large number of AI.
Haven't heard of anything from ZEN either, but sounds like you guys aren't sure if it was ZEN anyways
If you're looking for a pretty gui/mod that let's you spawn AI directly on HC while in Zeus you're out of luck. @rapid abyss
From what I've been told that's impossible due to hard coded Zeus behavior
Nah not on Zeus, since in Zeus I can just use an automatic headless transfer like acex and wait for that to happen then use the sensitive stuff like lambs modules on the AI after transfer
I'm more looking for a semi-automated way to do it in eden
I guess in theory you could have a pretty gui like the ZEN ones for reinforcement that runs scripts in the background to spawn on HC?
But I haven't seen anything like that.
Ooh, ehm
There's probably some init order that would make that difficult but idk.
Yep AFAIK one doesn't exist, have to use the scripts in the original HC guide, Monsoon's was it? Kinda unfeasible for large numbers of AI, especially because I have to teach the less-talented mission makers in my unit how to do it as well.
I think I'll just double down on disabling automatic transfer on the units that have HC-sensitive stuff, like units with LAMBS tasks assigned in eden.
Me no Arma coder.
Don't even know that guide, care to share?
Well my phone doesn't like that PDF
There's a method for spawning on HC but its not worth the effort most of the time unless you have a ton of dev time for one mission
I know the Lambs guy do it with named way points and then everything spawning is handled by the mission framework script.
I think automatic transfer for most units + transfer blacklist on units that will break AI (mostly LAMBS tasks, allegedly also vanilla waypoints can break but low chance of that for some reason) will work fine
I guess you could write a script that would scan the whole mission for units with HCs, gather everything that's related for them. Despawn the server side units and respawn them on the HC.
But there's probably a reason that such a mod hasn't been done yet
True
eh yeah automatic transfer + blacklist for some will probably work fine for my needs, thanks for the help
_params remoteExec [my_spawner_func, headless_client_var];
hmm thats intriguing
pass it a group, function spawns a copy of the group on HC and uses copyWaypoints on it before deleting existing group
wait hang on that doesnt actually solve anything and is worse than just setOwner
Why?
nvm misunderstood setOwner
seems like it would work fairly well on vanilla AI if they're out of combat and havent stored info on enemies or anything (unsure how vanilla AI handles this, usually I deal with LAMBS)
this actually isnt that bad of an idea AFAIK
probably needs additional capabilities depending on AI mods used though
As long as you do it right at start their brain should be empty anyway
true
Unsure how this would be better than the way current HC systems handle it though, plus i think ZEN has a zeus module for transferring ownership too so this is redundant
Seems like a ton of edge cases will start popping up with customized loadouts (which you could solve) and other modifiers in eden that won't transfer
intriguing idea but seems to be reinventing the wheel when there's already a ton of headless transfer mods that cover the same stuff, I don't see a way to improve on them that much without also running into edge cases
anyways thanks for the help both of you
AFAIK HC mods mostly just do setOwner, I don't think any takes particular care to fetch any attached way points etc.
Discussion in the Lambs discord with the ZHC headless mod to transfer lambs variables aswell.
I wonder if acex or others checks if units are in combat before transferring
Hm....
yeah thanks for that link, dont think I've seen that entire convo before
acex documentation says that it uses "event based transferring" (unit spawn and HC connect/disconnect are the two listed examples) so as long as those are the only two events it looks for it seems like it wouldn't mess with combat
might break lambs tasks in editor but as long as a rebalanced isnt forced by a HC disconnect midgame it should be fine (in terms of short-term memory loss from reset of cfgBrain midbattle)
I'm not familiar with ZHC but documentation suggests it repeatedly looks for offloading opportunities, which might result in a bit of bad timing for transfers
Any HC transfer will break a lambz task. You would need to keep the ai on whatever client it is once your give it a lambz order. As for the other things you looking for, I have been looking into โdirect spawningโ ai to HCs recently but my dev time has been taken up recently due to work and a lack of time for testing. As an addition to this, should the system work, it will also include a function that anyone will be able to use for other scripts to just feed a group in and itโll spawn it to the least loaded HC.
All that said, I canโt really give an expected timeframe atm.
The only solutions I can give on the lambz end is to use Zeus holding and/or set the rebalance to a really high value.
Thanks for your work on ZHC! While that direct spawn script would be nice to have, don't stress too much on it, current workarounds are fine for the interim and IRL comes first
For the most part, I already got it done. Just havenโt had the time and resources to test it. Testing is usually the longest part of these things for me with complex systems itโs always easy to overlook conflicts.
Or blacklist them
Not sure that would really be viable unless you are using specific units for it.
Which doesn't take that much effort from mission makers and minimal checking afterwards.
Btw, @keen vault you guys try out the dynamic simulation system?
Oh, i was going back to the topic Guac started, which was mostly editor placed units.
Ah, yeah there is two ways there, either unit types or by variable names
I would suggest variable names in that case
Not yet, our current campaign just ended and we're gonna TMZ to the main modpack now :)
*add ZHC
Lol
Perfect example of "you write what you read"
Idk how useful itโll be in its current state but do let me know. I would suggest not initially trying it in an important mission.
Is there a way to blacklist units from transfer using Zeus in ZHC btw? I've been looking over it but since the rebalances occur every so often instead of just on unit spawn + emergency I'm wary of it transferring a group I spawned in Zeus and gave a lambs task
Only real way atm from Zeus is to use Zeus Holding which will transfer and hold units on the zeusโs local machine.
I do plan to add a way to disable rebalance when I can
๐ good to hear
For the time being you could probably just set the rebalance to as high a value as it can go
isnt high 120? is that seconds or minutes?
nvm 600
Itโs in seconds and yeah I didnโt really let the rebalance go very high unfortunately.
I mean the time-based rebalances instead of ACEX's event based rebalances are nice because of performance increases after wiping out one objective there can be a rebalance on the surviving units
also, dunno if you have this yet, but maybe a check to see if during offloading a group maybe cancel the offload if its in combat stance so no short term memory loss
Yeah that was something I was going to look into after my conversation with the lambz devs
Itโs a shame that that data isnโt accessible but itโs understandable why it isnโt.
agreed
For now I'll probably recommend with staying with ACEX for my unit but I am making a note to check back in with ZHC's progress for our next modpack, very nice features in your mod
only reason why I'm not recommending a switch now is concerns about automatic rebalance of lambs tasks
clarification: I know you can't run a check to see if they're running a task at the moment and you can blacklist them in eden, but since you cant blacklist units in zeus (yet) arma will inevitably do a funny about transferring units later given a zeus task that arent blacklisted
I wonder if implementing a similar button to hold Zeus is an option?
Simply a key combo to "hold AI on this HC"
Unsure if this is possible but extend the blacklist framework to be a variable you can set via zeus script or module to exclude them from rebalancing was what I was thinking
so, basically what you said
Understandable, unfortunately there is no way for me to see if a lambz task is present. There just isnโt a flag for it and it wonโt be my place to request such. Best Iโll be able to do is probably giving an option to disable rebalance and/or the key bind idea.
If direct spawning works out, then the Zeus to hc offload wonโt be a factor.
Yup I understand the lambs thing, read the linked convo, all I'm asking for is that disable rebalance in zeus idea at some point
same
Hi I am interested in making a custom t-shirt mod but cant figure it out i have gotten as far as making the shirt a .paa but cant figure out what to do after that can someone please help me!!!
Hey, so looking for some advice on headless clients since I'm looking into getting one for our unit
Firstly, based on my experience I know it's always best to run the HC instance on the same machine (or at least server farm) as the dedicated server instance
However, does anyone have any experience with paying for a provider for HC other than the provider you have your Dedicated Server on, and if so, what's your experience, and which providers (Server and HC) did you use?
Unfortunately that'll vary from provider to provider. There are quite a few that offer HCs. If your get it from a provider where you are just renting a specific game server(vm), control for it should be provided through the same panel. If you are renting an actual box(the whole server) then you can set it up how you want and you can host other games as well. That said, the latter option is(usually) more expensive and will require the experience/skills needed to set up your own game servers. And you are correct that the optimal case would be an HC on the same machine.
In the end it'll be up to what fits your needs and preferences. Most providers will have their issues, none of them are perfect. That said, the most popular/biggest are not necessarily the best. Dont forget to think about location as well. Just things to keep in mind when looking.
Hi there!
Can anyone give me a full documentation/manual for install headless client?
I'm from Russian, in our sector-community information like gold. Yeap, her is to not enough.
Headless client is included with regular client and server binary, there is nothing extra to install.
To start an headless client use the -client -connect=$ip -password=$password with either client or server binary.
For headless client to be able to connect you'll need to add a slot for it in your mission. By default it won't do anything in your mission, its needs to support headless client. Either you'll need to script spawning AI on it yourself or use a framework such as ACEX which can automatically move AIs to headless clients.
You can find the same info here, https://community.bistudio.com/wiki/Arma_3:_Headless_Client
Okey, i use mission from workshop.
I can use headless client from box?
And another question: if i start arma3 on linux-server? How i can start headless-client?
Use the regular server binary and supply the extra arguments -client -connect=$ip -password=$password. IP would just be 127.0.0.1 assuming the server is running on the same box. Same password as regular clients.
arma3server start -client etc... right?
start is not a valid argument for the server binary, ./arma3server -client ...
Oh, i get it. Thank.
Hey again!
On official documentation i can't find information about headless-client-unit.
I can't understand how i can configure it.
configure?
Yeap.
you can select a name to reference it with. rest is done in sqf
Hey, so quick question
I've gotten a HC set up for our server and I'm looking to run some diagnostics
Also I lied, multiple questions
- What machine network ID number will the HC show up as, assuming it is on a different machine/farm than the host? Will it be 0, 2 or another number?
another number, the HC is just a client
- I know HC is best with zero ping, but is a ping of 23 23 23 fast enough for reliable performance with HC?
Engine wise HC should have infinite bandwidth and zero ping.
It will work, but not optimally. But still way better than with no HC at all
Gotcha
We're currently trying out a ruthless economy Headless Client set up before trialing an option with more bells and whistles
- Also, assuming I have a mod like Zeus Enhanced which adds debug boxes for AI units in Zeus, how do I check whether an AI unit is being calculated on Server or HC?
- If AI is being calculated on an HC with 23 ping, then the ultimate ping to player will be 23 + player's ping, right?
how do I check whether an AI unit is being calculated on Server or HC?
Zeus units usually are not on server, Zeus units are on the client that spawned them. Unless a HC mod moves them or the zeus disconnects.
You'd check who owns a unit via the owner command, which only works on server. so the debug script boxes won't be that helpful there, or atleast not with a single line
- If AI is being calculated on an HC with 23 ping, then the ultimate ping to player will be 23 + player's ping, right?
somewhat... but it doesn't really work like that
Hmm okay. I'll see if I can work some hijinks with remoteExec to see if I cann check it
How does it work then? I want to try and understand so we can get the best bang for buck with our setup
Also 5) Is there a way to transfer units to HC via script?
I'm not gonna explain the whole of Arma's simulation cycle and netcode and error calculation to you now
Also 5) Is there a way to transfer units to HC via script?
setGroupOwner, thats what the HC mods do too
Sorry, I meant like a TL;DR version, like whether an HC with 23 pint will severely negatively impact the game
Sweet, thanks
no it won't, don't worry about that
Again with HC is better than without HC
and local HC is better than remote HC
Hmmm, okay
Okay, so then next question here
I know that the main purpose of HC is to offload AI calculations from server
However, I'm doing some diagnostic testing with our server, HC, and my player client online the server at once
Basically having a large-scale battle with a crapton of AI, and using the script {{group _x setGroupOwner 7} forEach units _x} forEach [east, west];to bounce the locality of AI units across different machines
However, CPU usage on all machines (server, HC, and PC) stays at about the same when I switch them
As well as FPS
Is there an ideal way to stresstest HC on server besides just running a ton of AI at once?
and you run that script on the server?
Yes, server execute from debug console
Returns true when I'm changing units to new machine
if the HC/Server are fps unlocked they'll always run at maximum cpu load
fps > 50
you'd know if you were doing that
dunno, maybe the transfer doesn't work somehow
Seemed to work okay, I had an AI local to HC that was bugging out, when I swapped to Server again he sorted himself out
Is server FPS capped by default?
yes
Hmm okay, how would I go about uncapping it?
I mean, is that even a setting I can change? ๐
-limitFPS= start parameter
Legendary, thanks
I'm checking https://community.bistudio.com/wiki/Arma_3:_Startup_Parameters and it isn't listed, is there documentation on -limitFPS anywhere?
๐
Added the parameter to our server, so far no serverside FPS increase
But yeah anyways, will this work on dedicated server?
Nah it is limit
Iโve never seen it affect a headless client though via an in-game FPS monitor.
But looking at the stats via Zulu Headless client it shows it higher
Huh
Does it work on Dedicated Server?
Don't have an option for it with our current HC provider but I'm keen to try it on our dedicated
its supposed to atleast
I tried it on our server, no noticable FPS increase
It was 47 before and 47 after I set it to -limitFPS = 200
if you can't even reach the limit, then it won't run better with the limit removed
I know, was just curious to see if it'd make a difference
Really? The liberation /ZHC fps monitor shows the higher FPS on the HCs.
Same with some FPS gathering script I used to run.
Yea, the ZHC shows the increased numbers. But the Zeus FPS monitor is incorrect it seems
The point being, what are you using to find your values?
Hey, question for HC folks
Are trigger evaluations ever offloaded to the HC?
Like say, if I set a trigger to be server-only?
if the trigger is on the HC yes
no, a server only trigger is on the server, not the HC
Hmmm... okay
Is it possible for an HC disconnecting suddenly to break triggers?
Had reports of it from my missionmakers today when we turned off our testbed HC for safety sake
It broke some AI (which was expected and remediable) but it caused issues with triggers
If the HC's run on him and are local to the HC, yes
What about a global trigger, e.g. player present in area?
these run on every machine
Alright gotcha
Are there any FPS unlocked exe available?
you just add -limitFPS=1000 to the startup params
Everytime I add the ip on my server.cfg for my headless client and I restart the server it gets removed any idea why?
sounds like you're using some manager that updates server.cfg, vanilla game server does not touch it
Question- is there any way to check remotely via scripts if a client is Headless or Player?
E.g. if I want to evaluate (!hasInterface && !isServer) from server
Say for example, if I wanted to have a server function that would grab an array of machine network IDs used by HCs by using allPlayers findIf {code}
Or some other related function like that, findIf obviously isn't best for that
Also, is there any way to have a Headless Client turn itself off via scripts? E.g. if I wanted to make a server/admin script to safely deactivate HC from a mission if it's causing problems
Check type of player unit
Transfer all units from it and stop spawning new
Should headless clients be run on the same machine as the game, the server, or neither? I only have two computers (my desktop, for Arma 3, and my laptop, for the server), and whenever I run the HC on my desktop, Arma 3 itself lags, but without it, the server lags.
same machine as server
Are there any risks I should be aware of for doing that?
Like I said, my server's on a laptop (a decent laptop with at least one, I think two SSDs).
Hey, so I'm trying to run my server as a Headless Client, but it isn't wanting to work
18:17:54 InitSound - complete
18:17:54 PhysX3 SDK Init started ...
18:17:54 PhysX3 SDK Init ended.
18:17:57 Loading movesType CfgGesturesMale
18:17:57 Creating action map cache
18:17:57 MovesType CfgGesturesMale load time 44.0 ms
18:17:57 Loading movesType CfgMovesMaleSdr
18:17:57 Creating action map cache
18:18:01 Warning: looped for animation: a3\anims_f_epa\data\anim\sdr\cts\hubcleaned\briefing\hubbriefing_loop.rtm differs (looped now 1)! MoveName: hubbriefing_loop
18:18:01 Warning: looped for animation: a3\anims_f_epa\data\anim\sdr\cts\hubcleaned\briefing\hubbriefing_loop.rtm differs (looped now 0)! MoveName: hubbriefing_ext
18:18:01 Warning: looped for animation: a3\anims_f_epa\data\anim\sdr\cts\hubcleaned\spectator\hubspectator_stand.rtm differs (looped now 0)! MoveName: hubspectator_stand
18:18:01 MovesType CfgMovesMaleSdr load time 4700.0 ms```
It always stops short on this last line in the webconsole
Any ideas?
Nvm, got it working
I moved my HC onto my laptop but it keeps crashing every time I boot it up. I launch the server first, and then when that's up and running I try starting the HC; it'll briefly open but then immediately close.
what do the logs say?
Lemme go fetch one. One sec.
Actually, I can't seem to find where the HC logs are. Do they create logs?
yes, same place as always on Windows
Hey question, what is the best way to transfer AI from Zeus client to Headless/Server?
Just setGroupOwner or...?
Werthless Headless Client mod
https://steamcommunity.com/sharedfiles/filedetails/?id=510031102 (the link for the mod)
or Zulu Headless Client which is newer https://steamcommunity.com/sharedfiles/filedetails/?id=2450921295
Sweet, thanks
Hey, so we installed ZHC, how does it work/how do you config it?
Setup the headless clients in the editor with variable names etc as usual. Then you configure ZHC in the addon options - super simple! And way less setup that Werthles
Sweet, okay
Hey, so only technically an issue for Headless Client but since IDK where else to post:
ErrorMessage: Data file too short 'C:\SERVICES[...]\arma3\@1572627279\addons\optre_archipelago.pbo'. Expected 49727103 B, got 9437184 B
And
Version 2.04.147719
Fault time: 2021/08/22 04:44:46
Fault address: CC7D9689 00:CC7D9689 Unknown module
file:
world:
Prev. code bytes: 4A 2B 05 00 48 8D 4C 24 20 48 FF 15 8F 21 16 00
Fault code bytes: 0F 1F 44 00 00 48 8B 8C 24 C0 00 00 00 48 33 CC
=======================================================
note: Minidump has been generated into the file config\arma3server_x64_2021-08-22_04-41-49.mdmp```
Our HC won't start, any ideas what could be causing it?
Sounds like that mentioned pbo is corrupted
is there still issue with using setGroupOwner of an empty group ?
Has anyone got a link to a HC Guide?
I'm using faster to launch the server
in faster just turn on HC?
Is it possible to connect a HC to a Multiplayer Editor Preview?
Keeps telling me that the connection has been refused as denied. But the mission itself doesn't have that as an option. And in normal operation this would be in the server config, but I don't see how I might do this for an editor preview. It's not the end of the world, but would make some mission debugging a lot easier.
Which version of FASTER? One I tried had trouble with mod ID's past certain value. Other (some special edition I somehow stumbled upon) was fine
Easier to just launch server and HC through respective bat files tbh
Sounds like you were using FAST, which is not related to FASTER. https://github.com/Foxlider/FASTER is the correct place.
Judging by screenshots (no access to pc rn) it was FASTER, not other two
FAST2 looks fairly similar to a point. The issue with FAST2 is the language it was written in has a maximum INT limit that steam workshop was over. FASTER is written in a different language so isn't an issue.
definitely not
These GUI driven tools have ALWAYS some fuckin setting you want to alter (or lack some) but can't because it would instantly overwrite config files and nullify your change(s). So you end up with text editor and bat files regardless
And after new CDLC it always takes quite a bit time before tools get adjusted to new CDLC. Until then you have to do your thing through text files
I just added -mod;=vn; to command line arguments and done ๐
Hey yall, is it possible to get a headless client to join a locally hosted arma 3 server with mods included?
I tried using fast and couldn't get it to work and keep my playthrough without bugging out and we're very deep
are you giving it 127.0.0.1 as the connection ip?
A general question if someone can help I m trying to get HC (headless client ) to work on my server with the mod ravage but it just make the server lag a lot
Yea i do this all the time. It's shockingly easy so I'm surprised you're having problems.
Are you including the mods in the bat file?
I got it all figured out, took me a bit I didn't have the right setup
Has anyone had trouble with headless clients on Linux? We've been having desync issues on a Linux server, and someone suggested it might be that.
If server has mods (-mod) and the HC also have those mods, i need to specify "-mod" in the HC or it will auto use it?
you need to specify
Yea HC has to have all the same mods listed or it'll throw errors just like a player joining with missing mods.
Hi, just a quick and perhaps stupid question - is it worth running a HC on the same machine as the dedicated server? Will it have any benefits, utilizing more available resources than normally, or will it just eat away what the dedicated server could otherwise use?
I'm talking about a Linux VPS with 6 CPU cores and 16 gigs of RAM
That's basically the only place where you should run HCs. If they are not on the same machine you're looking at trouble (AFAIK).
Iirc Arma server uses up to three cores usually around 5GB max of RAM.
So you could run one HC (needs 4-5GB of Ram).
Out of curiosity. What do you think this scenario would result in?
Set up two Virtual machines on the same node, give them both high speed networking. Use one to host Arma, and the other to host HCs.
How much of a performance loss would you get compared to the same instance?
I don't think you'd loose performance but rather run into networking issues and experience the naked unit bug more often.
You can mitigate naked unit bug a bit with mods like Zulu Headless Client
Speaking from experience on remote HCs, you need to make sure it has rock solid ping, since AI units will be local to the HC
If it's on the same network, good, same machine, better
okay, thank's for all the tips!
Do headless clients have to authenticate through steam in order to connect to a local hosted server? I keep on getting You were kicked off the game. Steam authentication failed. when my HCs try to connect to a server hosted on the same box. The server is hosted in Dallas and I saw that Dallas is having some issues according to Steam DB
Don't think so since they run of the server.exe which doesn't require you to own the game.
ahh never mind. I'm an idiot who deleted the HCs from the server config file and still expected them to connect
not sure why I got a steam auth error though on the HCs. Tried it again this morning and I didn't get that error
Sooo, one of our HCs disconnects on load because of an error
from rpt:
ErrorMessage: File /home/steam/.local/share/Arma 3 - Other Profiles/hc1\hc1.Arma3Profile, line 21: '.il': 'l' encountered instead of '='
Application terminated intentionally
15:40:45 > Player headlessclient disconnected
if I log that file:
$ cat 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="Mission Stalking Lion";
volumeCD=5;
volumeFX=5;
volumeSpeech=5;
volumeVoN=5;
soundEnableEAX=1;
soundEnableHW=0;
I don't see any issues in here?
You have this two in a3 profile or you added ? soundEnableEAX=1; soundEnableHW=0;
I have never manually edited these configs
I also never made profiles for the HCs, they make their own clean profile
$ cat hc1.Arma3Profile
Are you sure thats the right file?
do this
cat /home/steam/.local/share/Arma\ 3\ -\ Other\ Profiles/hc1\hc1.Arma3Profile
Yeah I think so, I deleted all the additional profile folders that were made over some time for all the HCs, and now it works again
So I'm thinking, on server launch, we should clear the other profiles folder each time
Hey i Connected the headless client to my Server, but he is refusing to Connect if i use a Moded map (like ruha/chernarus)
"This Mission can not be Played it depends on downloadable content..."
Any ideas?
HC needs to be launched with the same -mod parameter as the server
It is, the hc is not loading the mods
Hey guys im trying to set up a headless client for my dedicated server. The problem is that the headless client is just creating its own server instead of trying to connect to the existing server. This is my .bat for launching the server
https://gyazo.com/e9067d0752f5e9192a4105aecb74d196
is that a cmd file?
arguments should be on same line as the binary
so move line 3-5 to after line 2
Ahhh that made it work. thank you!
So I got my headless client working and I'm noticing a significant performance increase. But if I place units in zeus are they spawned as part of the he or as the server? I was reading somewhere that I it's have to be spawned in via script to be controlled by the hc.
By default (without any HC mod like ACEX, ZHC or Werthless) AI stay on whichever machine that spawned them.
If you want to move them off to a HC either use one of the mods (I recommend ZHC) or spawn them directly on the HC (via Script or a scripted module in ZEN).
Just be aware AI loose their short term memory whenever they get moved between machines.
I Already have AceX installed so I'm going to give that one a try first. But I may install ZHC if it makes a noticeable difference.
Will that also make units placed in Eden move to the HC?
Yes, with some exceptions
Hey, can someone look over this commandline entry for me? Our HC isn't wanting to start up at all and idk why
-mod=@450814997;@463939057;@708250744;
the RPT would me more helpful ๐
We have a crap server provider for our HC, I'm not even sure if it's even saving an RPT file or if I'd be able to access it ๐
Wait, I lied, found it, wait one
Nope, can't find where HC logs are stored
Either that or it doesn't log when I start it
I've been trying to get the commandline for our Nitrado HC set up for like, days now, can't figure out what's wrong with it
-mod=@450814997;@463939057;@708250744;@751965892;@583496184;@583544987;@769440155;@1267657613;@1572627279;@1659590037;@1933244792;@1572642262;@1790880882;@1643720957;@686802825;@2193296534;@1224892496;@1412917989;@1767731032;@753946944;@1883956552;@1388192893;@1876589191;@2020940806;@1858075458;@1808238502;@1770265310;@1923321700;@2343931760;@2016312756;@1763651451;@1989514815;@1960024802;@1983487115;@1673595418;@925018569;@1779063631;@2018593688;@2291129343;@2450921295;
^Full commandline
I've tried it with and without -mod= since it does it with one of those weird textbox things
aaah one of these
Trying to start it as server instead of HC now so I can get a decent RPT
probably without the -mod= then
the server RPT should have some proof of the HC connecting
The HC tries to connect to main server when I have no mods loaded, or only CBA
because the HC should start even with that malformed modline (it just won't have any mods running)
try accessing it via FTP and have a look
or ask nitrado support
or rent a dedicated server, might be cheaper at this point ๐
Ah okay, got an RPT file
I've redacted the IP
Wait
Can't send it here I don't think
:/
Mind if I send it to you via DM @keen vault?
sure
is the headless client working with vcom?
ok
can someone help me write a headless client scripted for my arma 3 dedicated server aka a .bat file so i can run better
mode con: cols=60 lines=10
@echo off
start /min "" C:\ Steram CM\steamapps\common\Arma 3 Server\TADST\default\TADST_config.cfg"
-profiles="C:\ Steram CM\steamapps\common\Arma 3 Server\TADST\default" -name=default -filePatching
-client
-connect=****
-port=****
-password=***
"-Mod=
thats the bat^
-port=2302 "-config=C:\Server\steamapps\common\Arma 3 Server\TADST\default\TADST_config.cfg" "-cfg=C:\Server\steamapps\common\Arma 3 Server\TADST\default\TADST_basic.cfg" "-profiles=C:\Server\steamapps\common\Arma 3 Server\TADST\default" -name=default -filePatching "-mod
this is TADST^
you can't put the arguments on their own lines without escaping the newlines
I know nothing about this honestly what do need to fix ?
I see you're using TADST meaning you're on windows.
Not solving the scripting problem but look into FASTER. HC launch there is just a extra mouse click.
Hey, what professional hosters do people recommend for Headless Clients?
We're executing our last HC for crimes against humanity and want to know which providers offer the best/cheapest servers to cannibalize as HCs
you should ideally host it on same machine as the server to have "infinite" bandwidth
I understand that, but currently our unit doesn't have the resources to spin up a VPS or baremetal server
depends on your usage, we made a system where our members can request a server to come up. And then it spins up an AWS EC2 instance. The instance shuts down again once it's empty. Now again, I don't recommend this for 24/7 servers. But we cut our costs from like 150/mo to about 80-90 depending on usage.
We started with 4-core processors, which is the main server + 2HCs, now we're on 8-core processors which allow us to easily run 3-5 HCs. Which is more than plenty for our large scale 50-ish people operations
If your community uses an invision forum, I can share our server management application with anyone.
Huh! Interesting
I might contact you in DMs about that, actually
Interesting idea
80-90 sounds hefty... Considering you can get 24/7 dedi boxes from hetzner for that money.
Also running 3-5HCs on 8 cores is a bit much (in my opinion, maybe one of the devs can chime in).
You can't get 4 hyper-scalable servers for that :P
True^^ but idk what kind of hardware AWS instances run on but I'm guessing not on high core clock CPUs.
Happy to be proven wrong tho :D
It definitely is a great solution for units with OPs twice a week. Far less wastage compared to renting a box 24/7
I bought two servers but can't seems to get the hc to work
It's two months now stil can't get the hc to connect
I would appreciate some help plz
is it possible to run hc on a different network?
yes, but you must add the additional IP to the list of allowed headless clients etc
got it thanks will give it another try
iterate through all groups and check groupOwner
2 questions,
how do i
extract AI to separate AI script
edit init.sqf to execute an extracted AI on headless client
and how do i change the server.cfg file that the game uses when making a server from the game (the one you can see in the steam store and all that)
wait, instead of the server.cfg thing, how do i add launch arguments when a launch a server in game?
how do i put the ai calculations for ai spawned using the spawn ai module onto the headless client?
figured that all out (i think) but issue is, its not connecting, it doesnt show up in the slot nor in the list
all it says is Dedicated Client Created
missions sqm and server.cfg files: https://anonfiles.com/D4BdmdNbu8/A3hcnotworkingstuff_zip
update: now its stuck on connecting
now it keeps getting kicked saying steam authentication failed, ive read all the forum posts i can find on this but none work
have you whitelisted the 127.0.0.1 localhost IP in server.cfg?
and placed down HC modules in the editor (and gave them names?)
localhost is automatically whitelisted
its not running on the shame machine as the server, its running on the same network, but not the same machine
and i have placed down hc modules and given them variable names, and i have also placed the module from werthles headless module
When using -mod=... on server, i never used -mod=... on HC, and since HC is a client, it allways tried to load the mods used by the server.
But now seend HC is not automaticly trying to load the mods and i need to add a -mod=... in it's command line to force it use the mods. Something changed?
No you always had to tell the HC which mods to load
just like you tell every client
and since HC is a client, it allways tried to load the mods used by the server.
No it doesn't work like that, clients don't detect what mods a server is running and load them even before they connect to the server, that wouldn't work
how long does it usually to setup a headless client?
Same as setting up a server
or if you have a server, 2 minutes? (for the client itself, not adding HC modules and slots to your missions, which you also need)
You just have to change two things in the command line, the same that you use for your server
oh ok thank you. yeah im making missions for my team and they do have a server i can use but ive never setup a headless client or something. also im not familiar with any real scripting stuff but if its just a small thing i suppose i will be able to get that done
/home/steam/arma3/arma3server_x64 -server -bandwithAlg=2 -cfg=serverconfig/basic.cfg -config=serverconfig/server_247.cfg -port=2382 -name=arma3_247 -hugePages -mod="mods/@ace;mods/@acex;mods/@cba_a3"
Here is a Arma 3 sever commandline (Linux)
And here is a corresponding client one
/home/steam/arma3/arma3server_x64 -client -connect=127.0.0.1 -port=2382 -name=hc_247 -hugePages -mod="mods/@ace;mods/@acex;mods/@cba_a3"
Some server only things like configs go away (You can keep them except he -server one, it will just ignore the ones it doesn't use)
Two client ones -client and -connect=... get added.
And you change the -name= so that they get seperate profiles.
yeah ok thank you for your help
@heavy tiger thanks.
what do you do for mods with spaces in their names?
Remove the space or add double quotes to escape it
Put quotes around.
I have quotes too but apparently I somehow removed the starting quote in my example ๐
arond the whole list, in the brackets around the whole list, or on each one?
Hey all! I am working on getting a headless client set up, and it is stuck on 'Dedicated Client Connected'. I followed Monsoon's guide. This is the contents of the .bat file - https://pastebin.com/4u5W7ubk
If y'all have any suggestions on how to fix, or an easier way, I would love to hear them!
mods have spaces in them so it will stop loading mods at first space
you need to add quotes around the mods parameter
@latent sandal
"C:\Users\Jessica\Desktop\Arma Server Files\Arma Server\arma\arma3server_x64.exe" -client -connect=REDACTED -port=2302 -password=REDACTED "-mod=@CBA_A3;@ace;@ACE 3 Extension (Animations and Actions);@Advanced Rappelling;@Advanced Towing;@Advanced Urban Rappelling;@Blastcore Edited (standalone version);@Enhanced Movement;@JSRS SOUNDMOD;@LAMBS_Turrets;@MRB Air Visibility;@Vcom AI V3.4.0;@Gruppe Adler Trenches;@ACE Compat - RHS Armed Forces of the Russian Federation;@ACE Compat - RHS- GREF;@ACE Compat - RHS- SAF;@ACE Compat - RHS United States Armed Forces;@CUP Terrains - Core;@CUP Terrains - Maps;@Fifty Shades of Female (formerly FEMAL3 Heads);@Fifty Shades of Gen3 (formerly FEMAL3 Uniforms);@FIR AWS(AirWeaponSystem);@Grenade Window Breaker(mod version);@Ivory Car Pack [Official] [OUTDATED];@JSRS SOUNDMOD - RHS AFRF Mod Pack Sound Support;@JSRS SOUNDMOD - RHS USAF Mod Pack Sound Support;@Not what they seem;@RHSAFRF;@RHSGREF;@RHSSAF;@RHSUSAF;@RwG Addon Mosquito Series;@Su-25SM3 Grach;"
I will give that a shot!
You rock!! Thank you!
I have a pretty non-standard question; I'm running two servers. One of them is running a persistent mission so people can connect and make sure their mods work. The other one is a server dedicated to letting mission makers test their missions in a dedicated environment. This server is left on mission selection by default. Both are running headless clients.
The first server left on a persistent mission has no issues with keeping the headless client connected. The second server left on the mission selection screen needs the headless client restarted to connect to loaded missions. We suspect it's because there's a set amount of time the headless client will try to connect to a server and then quit, and it doesn't see the mission selection screen as a valid session.
My question is can we override this behavior, or is there another way to go about this so we can use the server as a testbed without manually restarting the headless client every time it's needed?
Just have a default mission for your test server?
That is a solution I've considered. Apart from communicating how to use the #missions command, there's not too much of a downside.
is there a way to make a headless client wait for other players before joining the mission, and when it does join the mission, ready up immediately?
If that exists, that'd be a great solution. If not, I'd bet there's a way to make a custom solution using RCON.
Is there a reason why a Windows 10 Enterprise dedicated server would be preventing a second headless client from launching? The first instance launches without issue and the second always starts and hangs. I'm really scratching my head on this one.
are they using separate profiles directories?
No, only different user names
Well profile names
"-profiles=W:\JSF_HC_Test" -name=hc_1
So that and then hc_2, 3, etc
Do the profiles all need separate directories?
try with different profiles directories, that's where the lock file ends up
Cool, will do
That was it! I probably would have wasted so much more time trying to really figure out why the heck I couldn't get the additional ones running.
๐
I think its fixed with the performance binary included in the profiling branch
Ah so if I had have launched the profiling version of the server binary I might have not ran into that issue?
you should use the performance binary, not the profiling binary, unless you really need to
performance binary is the regular named binary in profiling branch
I guess I got confused, I didn't realize there was a separate one. I know on my client system I moved over to the profiling branch, but I guess I didn't know about how to use a different binary.
you shouldn't
use profiling branch with the regularly named binary, that's the performance binary
Ah ok, yeah I am on that and have the server setup on that as well.
still happens on profiling (well, it happens only on profiling)
haha yep, now onto consuming all cpu and ram
Hi peeps, is this joinUnassigned = 0; still needed for HC now days ?
never heard of it and mine work fine, so I guess no?
HC assigns itself to corresponding HC slots anyways, so no @idle granite
thank you
I was wondering if you guys have any recommendations for systems/scripts to automate transfer of units to HC. I have used acex, but units with waypoints are not transfered. I am currently trying werthless, but having issues with symplex support systems (If I can figure out how to use the ignore module but through script that may solve my problem too). Do you guys have any other system that you have used with some success?
create ai right from HC, transfers are nothing but issues
Zulu Headless Client. I went from ACEX and found it to be unideal, moved to Werthles and thought this is great! And then moved to ZHC and thought wow! This is werthles but even easier!
Thanks, I am playing around with zhc now. Hopefully there is a way to blacklist things through scripts, and make it persist through respawns.
One of the enlightened ones
Zulu Headless Client mod
Hello
Just jumping on that, is there anything significant that you noticed to be better?
It just seems to load balance and perform far better. Havent gathered data from it though.
The experience is super simple, there are more nice features + an FPS monitor on the map.
There isnt really a reason to not use it?
I think the logging of server and HC ai amount and FPS is still broken.
But thats the only thing really (and no one will notice apart from me who started that feature request :D)
We got a server and are currently looking into the process of adding a headless client. Can I run multiple instances of arma3server_x64.exe from the same A3Master files? Or should I duplicate and have an extra A3Master folder as a separate instance?
@jaunty harbor you can have multiple instances within the same folder.
perfect. Thanks! I assume I need to point it to multiple profiles though
cheers!
As both server and HC is on same server, do I need to give them the public IP of the server in the config, or can I do "localhost" ?
Localhost, and really it only requires the port. It should use localhost automatically.
oh, thats nice. Thanks!
Is it possible to tell the headless client to create the .rpt file under a different name or folder/location? Currently it posts the rpt log identical to the actual server, which makes it hard for our scripts tracking the .rpt log.
Essential just looking for any way to make the HC .rpt distinguishing from the server .rpt
-profiles param is where it stores the logs iirc. It's storing the somewhere different on my server anyway so there is a way.
We are using the AceX feature to unload to the headless. (As our missions are purely Zeus missions). We ticked the box to fix the loadout disappearing when offloading to HC. But we are still seeing something like 10% of AI spawned missing the loadout. Its worst when using a delay of 0, but it still happens with delay of 2 and 4.
What are your experienced with the ZHC and Werthles headless mods? We only have 1 HC currently and only zeus missions, so all AI is placed down during the mission.
Never had an issue with Werthles and ZHC with that bug. But of course did with ACEX.
Donโt bother with werthles now, use ZHC. Itโs the same but with more features and less setup.
We had the same with ZHC it seemed. We ended with AceX and enabled the CBA setting to help keep loadout on locality change. Seemed to get rid of it.
I know, I know. Life has been kicking my ass.
No worries man, I hope you're doing fine! I added player monitoring via my script anyway so just kept that part turned off in your mod ๐
Something of note, ZHC has the same naked unit workaround as ACEX(doesnโt catch everything sometimes). However, from my own research into it, it seems that this may be caused if the time from the unit spawning to it being transferred is too short. I havenโt been able to try to test it to the level I want too but that info may be useful to you.
Once I can get back to putting more time toward ZHC, I plan to work on finding a more stable solution than the โhackโ that is currently used by both mods.
Unfortunately, I donโt believe there is any flag I can check for when a unit is fully initialized so best we got is delays. Or the option Iโve been working on, delete inf and respawning onto the HC directly. Iโve made some progress here but as I stated, got bogged down with irl atm.
Fair, I think I have most of that issue fixed atm on my end but my source control got a bit mixed up so it became difficult to push that specifically.
I believe it uses the name of the .exe file for this IIRC. So if you are duplicating .exes for each, you can rename them accordingly. Just know each time arma updates, you must recopy everything.
I know you used the profile path workaround, but just the different names may be cleaner.
Thanks for the responses TMZulu!
Yeah, seems like the time has the biggest impact. Currently with both CBA and AceX "fixes" it seems to be quite stable for what we do.
I wonder if you could add eventhandler to all units (Like CBA eventhandler with classnames) for postInit, and set a public flag to see when its fully initialized?
Cheers for the headsup. We used the profile route and got it put into a different folder. Made it rather clean for us. ๐
AFAIK, no such event handler exists for units unfortunately. Will need to double check though. I believe a better solution atm is deleting and respawning directly onto the HC. Skipping the entire transfer entirely. I have made some progress with this but the two big hurdles atm are stability and how to get it to interact cleanly with Zeus. As I said, Iโll hopefully come back to it soon once I have more time available to rededicate to ZHC development. And NP always good to know the extra options.
This method will also allow mission makers using spawning scripts to just hook into the functions to spawn directly as well. I have already made the hooks and scripts to do so in my development build. Will need to make some documentation once it is ready to go to release.
Also, if anyone has questions relating to ZHC in the future, I have no issues with people mentioning me here. I will likely reply.
Ooooh that sounds really neat.
should be once fully implemented. Just trying to figure out a way to give the Zeus control over it as well. Likely gonna try to ass a checkbox option in the Zeus ui. But, im worried that it may interfere with ZEN or Achilles as they also do so(the crew in vehicle option)
reason for this is because, the keybind toggles can tend to be missed or unutilized
I have zen deep-paste-on-hc option in the works https://github.com/zen-mod/ZEN/pull/562
Thatโs interesting. Not a bad idea tbh.
Though that may cause potential issues with most HCs that maintain flags for what units are loaded where.
This includes ZHC ofc.
Or at least, itโll still get flagged as never being transferred
Interesting, does that mean if I spawn some AI directly on HC via Script ZHC will think they haven't been transferred?
Yes, as each group has a few flags added to keep track of it. If it is unflagged, it would be assumed as being freshly spawned and present on either a server or a client.
Iโm not sure if ACEX uses flags so it may be fine for that. But most other HC systems will either use flags or a big array of units to keep track of what is where.
For ZHC, these flags should stay on server side unless debugging is allowed. That new deep copy feature is the first I have heard of a mod spawning to HC without a separate system so it can be something I can look into adding compatibility for such instances.
this was my method as well, feel free to take a look at it
I could get all the info immediately from the units, delete them, then respawn them
I never make an EH for any zeus spawning though, I would rather do it by changing the UI on the zeus to send the data via event to the HC machine so they can simply locally spawn the units
but controlling the remote groups afterwards would need to made
You can re-add units to zeuses via scripts if you need to. I maintain an array of zeuses through a one time event handler that fires upon going into the Zeus ui. It just tells the server that the user is a Zeus and adds it to the array. This is primarily for the drawing of ai owners for 3D debug and for Zeus holding. And for detecting if a Zeus has DCd so their ai can get offloaded as quickly as possible in order to minimized the affect to the server performance(Emergency Offload).
For my HC spawning, I decided to go with an EH to delete and remake. The reasoning for this was twofold. One, I donโt want to modify the vanilla Zeus spawning functions, which is possible, for the reason of not requiring patches for compatibility with later versions of arma that can potentially change them. Two, ZHC, while designed to accommodate Zeus driven missions, is something I do not wish to interfere with users that just have it loaded into their modset and not directly used or not using it solely with Zeused missions.
My philosophy behind ZHC will always be a focus on modularity and allowing users to use HCs how they wish. The additional Zeus compatibility features, were made to that end, to help reduce the seam that most users experience when using a zeus with an HC.
Unfortunately, some AI persistence data(such as known targets)is not possible to access or transfer afaik. So when using AI mods with HC, it is often beneficial to disable rebalancing if the mod has it.
I think the best solution would be a UI based one that simply sends the minimal amount of network data to the HC to locally spawn the units. Handling the remote units via new remote based functions isn't impossible, and I'm pretty surprised no one has done that yet. That seems like the best solution to me
As for updates, I'm not sure how often BI updates the actual Zeus UI
I am going to add headless client and i am wondering if there is any compat mods i need to install?
Nope ZHC does the trick and thatโs all you need :)
So I am trying to make an extra PC of mine into a headless client for a server I am renting through Host Havoc. I am using Monsoons HC Guide, https://community.bistudio.com/wiki/Arma_3:_Headless_Client, and https://www.youtube.com/watch?v=UQfMhFfs5yQ&ab_channel=LastResortGaming as my guides. My rented server is running antistasi plus - camlaonam and has three HC spots available in it. I have created my batch files which reads as:
mode con: cols=60 lines=10
@echo off
start /min "" "D:\SteamLibrary\steamapps\common\Arma 3 Server\arma3server_x64.exe" ^
-profiles="D:\SteamLibrary\steamapps\common\Arma 3 Server\Profiles" ^
-client ^
-connect=216.52.25.101 ^
-port=2331 ^
"-Mod=C:\Mods\vn;C:\Mods\3den_Enhanced;C:\Mods\CBAA3;C:\Mods\DUI-_Squad_Radar;C:\Mods\Enhanced_Movement;C:\Mods\Enhanced_Movement_Rework;C:\Mods\No_Weapon_Sway;C:\Mods\Remove_Stamina;C:\Mods\Task_Force_Arrowhead_Radio_BETA;C:\Mods\Zeus_Enhanced;"
Exit
And edited my server.cfg to include the following (with my actual ip and not the words):
// HEADLESS CLIENT
headlessClients[] = {"my ipv4"};
localClients[] = {"my ipv4"};
battleyeLicense = 1;
When I launch my HC it will say that it is connecting, the MOTD will say welcome, and then get kicked due to steam authentication failed. Can anyone help a noob out?
Steam Auth shouldn't run on HC... Does your mission hBe HC slots? (placed and named)
I am running antistasi plus and it has 3 spots available to it
right now I have it where it says "headless client connecting" and "headless client uses modified data file". I am no longer getting the steam auth error
but it doesnt fully connect or load the profile
you got a .rpt file for your HC instance? or for the server? may be some hints there
also, FYI, your latency from pc to server farm may limit performance somewhat.
I do what should i be looking for in there cause its pretty big
and yeah I am just testing it to see if it works or not since i have an extra pc laying around. Im not to far away from the server. I live a city over or so
it is likely to be around your connection messages if anywhere
so i scroll down through the rpt file and at the list of mods in the origin column it says not found for the mods. thenit says init sound complete, physx3 SDK init start and end then i get this error:
16:32:37 Error in expression <((0.5safezoneW)-(0.5((((safezoneW/(pixelW * pixelGridBase * 0.50))-10))(>
16:32:37 Error position: </(pixelW * pixelGridBase * 0.50))-10))(>
16:32:37 Error Zero divisor
and it repeats
so maybe my directory to the mods is not setup correctly
which rpt?
D:\SteamLibrary\steamapps\common\Arma 3 Server\Profiles
arma3server_x64_2021-12-17_16-40-32
so is it the HC or the server?
thats the only rpt file i have found so far
I guess i pulled the wrong one. Where would i find the rpt for the HC. My server works fine its up and running
that looks like it would be the HC, i would suggest seeing if anything appears in the server one after the connect message as well
you will likely need to look or grab it through your host's web panel
14:32:51 Client: headlessclient - Unauthorized Headless Client connection attempt
14:33:04 BEServer::finishDestroyPlayer(1406448767): users.get failed
14:40:54 Client: headlessclient - Unauthorized Headless Client connection attempt
14:43:06 BEServer::finishDestroyPlayer(1889146661): users.get failed
Thats the only thing i see in the server rpt that references the HC
so that would be related to the ip you have in the server.cfg
it is likely different than the one you put
specifically: headlessClients[] = {"my ipv4"};
you need to grab the external ip from the HC machine
just type in "my ip" in google
should give you a different one
That is your ip outside of your home/LAN network
Ah. Let me try that it is completely different
yeah your ip is different once it goes outside the router/modem
do i need both the headless client array and the local client array in my server.cfg. i currently do just wondering.
I didnt know that i am a tech noob
should i delete the local client array then?
you could, up to you. you can probably empty it
ok. I am rebooting my server. I will try and report back in a minute or two. I appreciate you
So the HC now says loading profile hc. it does not mention the mods. I am loggin in as a player/admin to see if it shows up
if you log into admin in game, youll see the HC slots
so it shows my hc in the first hc slot does that mean it is working fine now? I am going to run the monitor command in game to see server fps but am waiting for the server to load the save
yeah should be good if its in the slot
thank you so much man. I appreciate the help alot. I would have never figured that out
through the same monitor command?
ah, your talking about the BIS command
nvm,
thatll be something provided through the mission if it is at all
may be an option in the preferences option in the lobby
but idk if it has it
I will take a look if not my plan is just to get some people on the server and see how the server fps is compared to the values i was getting before. I can possibly connect a second pc to it as another hc to see if that helps if not ill just get a second actual server for it
does headless mean no gui?
take a look at the channel description for the wiki on it
you are half correct
oh my bad
guys i have a problem with my personal server can i ask here for help?
if its HC related, yes
otherwise there is likely a different channel present for your issue
I noticed that when I use HC on my server the AI starts to lag, I see rubberbanding/warping or IDK what it called right. Right after I remove HC everything starts looking much better, even with low fps on the server.
Is there anything I can do to reduce HC lags?
Run them on the same PC as server.
Quick question about headless client stuff
I have a headless client on another box with the command line set up properly (well i think its set up properly at least)
It connects but doesnt connect to one of the headless client slots
14:47:23 headlessclient uses modified data file
14:47:23 Player headlessclient connecting.
14:47:23 Player headlessclient connected (id=HC64840).
I would seriously suggest not using HC on another box, even if it's in the same room. Can cause massive latency for AI
But as for it not connecting, is the headless client slot marked as playable? Each with their own unique name?
And are you using a mod such as Zulu for the headless clients?
Havent really had a problem doing it in the 4 years we've been running servers.
but yes the HC slot is marked as playable and both labeled (HC1 - HC2)
No not using a Mod Just the base HC modules.. maybe Ace I'd have to look at the mission file.
Have a question, how many AI units is prefered for 1 headless client?
we have ~100 active AI each
So still having the same iss
*issue
Headless client connects to server
shows in the role selection screen
does not connect to slot
tried using the werthles headless client module and doing the following:
"Sync an 'Activation Anybody Trigger' to the WHM Setup Module and Stick the Headless Client Logic Entities and Playable Character Slot Units Inside of the Trigger so it activates when either a headless client (just for -autoinit), or a player loads into the game."
still does not work
the mods don't really do anything until the HC is connected properly so thats not it
@bright juniper have you tried using a mission with a known to be working HC slot like liberation or antistasi?
Yea
still does the same thing
tried using a blank mission too
connects, doesnt select a slot
and you have that in, correct?
headlessClients[] = {
"127.0.0.1",
};
With some of my group's tests we have been getting no major fps drop with 500+ AI on a fast server and HC instance. Locally spawning AI on the HC with cba statemachines handling many custom functions. Getting HC to work is well worth it.
how many players and HCs? and is that active, currently simulated AI or with dynamic simulation?
Currently simulated AI in combat
We run on cba statemachines as well as a caching system
What mods do u guys use for HC?
For HC load balancing we use a mission script. https://steamcommunity.com/sharedfiles/filedetails/?id=459317544
(also a mod version available)
Zulu Headless Client
question regarding ZHC, do you need everyone to run the mod or only the server?
everyone
you can use it with just Server+HC, but if you want to use debug or Zeus functions, you will need it on your own end.
@sleek apex hi mate, i am ussing you HC on my dedicated server, works perfect, except it dont care for my AI init. Specificly i had a large group of AI defending an object, wich had "if (isServer) then { this disableAI "PATH"; };" in its init. They were not able to move until ZHC grabed them, like it reseted their init. Can i stop that from happening somehow?
Ah, thats due to Arma's ownership transfer not transferring ai states. If you want to support that you can likely use the following eventhandler to reapply the state on the new local machine: https://community.bistudio.com/wiki/Arma_3:_Event_Handlers#Local
that EH will fire on every transfer
so you can just add the EH in addition to what you already have and inside just put an if statement for the _isLocal param to reapply
Thanks for response, but can you be more specific i am not sure how the code should look like?
Well, it wont be simple. Essentially, you would need to add the EH on both the server and HCs when you make the ai(eventhandlers are local). Then inside the EH would be an if statement using the _isLocal argument to readd what you need to to the ai
zhc_offload_HeadlessIds is an array of HC client ids managed by ZHC which you could use for a remoteExec to add the EHs if you wish.
that array is available on server only
Is there any kind of debbuger for ACEX Headless, so i can see what is transfered and whats not?
you can use any HC debugger which displays which machine is the owner of units
Wicch one, how to turn it on?
ACEX has a build in option to log its transfer to file
What is HC? I've searched it up and i still dont understand. So can someone put it in a simple way so i can understand what it is and how it works. Thank you
Its a Arma client that runs on a server, without graphics, no UI not sound.
You can move AI units onto it so that AI's are calculated on there, instead of on the server, thats the most common use
Also there is a wiki pag linked in channel description that basically says what i said
yeah basically outsourcing server capacity
Most common use is for AI but if you're good you can always offload some heavier functions to an HC and set up a bus system with CBA events so you kind of have some async with an extra client (with it's own scheduler and not having to deal with the stuff server handles all the time)
I'm having trouble setting up HC for my alive server, is anyone able to DM me and help with the matter. Preferably someone experienced I'm handling these kind of situations
linux or windows?
Windows @keen vault
use FASTER
I use TADST, may you DM me a link to FASTER?
https://github.com/Foxlider/FASTER I'll even link it in here
if you're doing this on the same computer as your main arma install use version 1.7c
Thank you @keen vault
@keen vault It wont allow me to login using either of my steam accounts
Where?
from FASTER on the server @keen vault
I've gotten it it work now, still need to setup the HC though
There is a setting in FASTER, enable HC and select your amount, done
Perfecto, what abut the script on the other end?
Is ACE Headless usable? And should it work simply by turning it on from CBA settings and then having a HC connect properly to the HC slot?
Very little documentation on it.
As far as I understand it should put Ai automatically to the HC?
Any examples, such as?
I'm trying to figure out whether it's better to use ACE Headless or Werthles'.
I heard problems with triggers when it comes to Werthles (granted, the information was dated..), so I figured I'd try with ACE. As I understood, those AIs will not be put to the HC with ACE.
As it has an option for that.
only if the trigger is synced to waypoint
Yup.
I think HC is most beneficial for large AI amounts being used and spawned by NR6/HETMAN/HAL, so triggers aren't a thing in that equasion.
- Enable ACE Headless in CBA Settings
- create headless client "unit" in editor, set it as playable
- connect headless client to server
I've done that and it worked fine.
you can tweak some other settings in CBA Settings buts that's about it
afaik no HC mod will/can fix that, there is short term memory loss for any AI thats being transferred.
I was just valuating the benefits between ACE and Werthles, and how I can debug if the HC is actually doing anything - after which I realized that ACE has HC logging off by default, and I'll keep it that way.
But I've done your three steps Dahlgren, so probably it is working.
zeus spawned but not controlled also works fine, as long as you don't try and micromanage them.
But if I'm correct, ACE does not transfer units with trigger synced waypoints to the HC?
You can also try the ZHC mod which imho is a more modern version of werthless with a neat marker on the map that will show you immediately if the HC are picking up AO
Yes, with "fixed" I mean that it'll transfer them without loss of information.
Blacklisting from transferring is sth they all do afaik.
Does it have other benefits in comparison to ACE, besides ability to debug and probably more customibility?
you can check AI locality etc using local command, that works regardless of HC framework
base functionality is the same, it has some nice extras
I guess this gets me started, I'll have HC running for our session today. Cheers guys!
Been trying to avoid stepping into HC, but it could be beneficial, and last night I got it sorted alongside OCAP for our rented dedi. Just wasn't sure whether ACE headless was functional.
How many AIs have you handled with HC (or multiple HCs) comfortably?
And should it affect client's FPS much, if we were to take a server with 200 Ai with no HC in comparison to one with one or two HC?
100-150 for each HC
with higher player numbers server FPS will limit you first before hitting a "AI limit" on your HC.
If I understood correctly: FPS save for a client is not the key, but the AI will less likely stop running on its place etc, what they do when the server becomes too loaded
and no, client FPS shouldn't change (unless the server was running at 5FPS before hand)
afaik
If there's a HC that can handle 100-150, but there's 200 units, can it automatically leave some AI to the server?
Pretty much, if your server FPS was suffering before it might improve and the HC fps will be better aswell sicne its only dealing with AI and nothing else.
Basically free performance if you have the cores and RAM for it.
all AI mods have "auto balancing" so they'll move AI to HCs/Server if their FPS is already low
Alright. Well, we've had quite AI heavy missions, so perhaps having a HC will ease things a bit. It hasn't been awful, even with approx 200 AI and 15ish players, but it could be a lot better.
make sure to use performance binary from profiling branch for that sweet performance boost, both for server and headless
So it says that my mods are not found in the directory
But they have been downloaded
I have deployed them all as well
I have since changed the directory and the server now launches
I have launched the server and went into arma 3 in order to join but it says "Maximum number of players has been reached."
My player limit is set to 40
Is there a server.log I can look at iun real-time?
ah, yeah with 15ish players you can push HCs real hard in terms of AI count
your mods aren't loading, pls ask in the FASTER discord if you're still using that
Willco
Well - I gave it a go. Itโs hard to compare whether it had an effect, but it was playable, and I think there was a bit more Ai than I initially thought - like 250-200. But the server froze (ppl running in place), which hasnโt happened before. Could be mod mismatches etc, weโve dealt with that much AI without HC too in the past and never had a freeze, idk.
What is this?๐
switch to profiling steam branch, https://community.bistudio.com/wiki/Arma_3:_Steam_Branches
you can find the changelog in this thread, https://forums.bohemia.net/forums/topic/160288-arma-3-stable-server-206-performance-binary-feedback/?page=101
hey @cunning sage, sorry for the ping but are the profiling/perf branches always up to date and compatible with stable? My main worry with running the prof/perf branch is that our infrastructure (multiple individual servers) is completely automated in terms of steam updates so I don't want to suddenly run into server/client mismatches which would cause manual intervention.
We have been using them for nearly a year now - never any issues!
Highly recommend moving over :)
awesome, thanks!
Yep, they should be more or less fully compatible. Some optimizations only work 100% if all clients are on profiling though
does anyone ever used EC2 spot instance to run headless clients?
uhhhh I need an adult. Reinstalled my Arma 3 server from scratch, including 3 HCs and then reimported my mods and CFGs.
All of a sudden HC's 2 and 3 are stuck on 20:34:03 Waiting for '/home/arma3server/.local/share/Arma 3/DataCache/cache_lock' to be available and aren't spinning up.
Anyone got any clues?
fresh install on Ubuntu 20.04 with linuxgsm, deploying 4 servers and then throwing in my mods and CFGs
. and manually putting in the arma 3 profiles into .local/share
even manually deleting out the arma 3 profiles and having it built from scratch, they're stuck on the datacache cache_lock
deleted the old user profiles and now it works. had to let it regenerate profiles on its own
nope... wtaf. i have no clue where this datacache/cache_lock things stemming from. gonna just reboot the server and 
alright, so i haven't a clue. It doesn't seem to be normal spin up times.
from a fresh boot, i launch the server, then the 3 HCs.
Server + hc1 boot up fine, hc2-3 are throwing mad 21:16:02 Waiting for '/home/arma3server/.local/share/Arma 3/DataCache/cache_lock' to be available
Monitoring top, I only see the 2 arma3server instances utilizing any resources.
i thought it was related to the battleye license line for the HCs but so far no bueno. 
try spinning them up one by one.... one spins up, the other doesn't. i'm wtaf rn
bout to build this whole thing from scratch... again. I probably skipped steps in the deployment that's just fucking me
Every HC needs it's own profile folder
they all have one in arma 3 - other profiles
it's this common arma 3/datacache that's dicking me rn
Yeah, whatever the option with path is, not the profile name option.
Same issue on windows with perf branch
how to fix? do i need to do a -profile in my launch to force them into their own profile/datacache? or wat. i thought linux didn't support profiles 
startparameters="-client -ip=${ip} -port=${port} -cfg=${networkcfgfullpath} -config=${servercfgfullpath} -mod=${mods} bepath=${bepath} -password=password"
this is my startup command for each HC, and they each have assigned different local IPs
127.0.1.1, 1.2, etc
https://community.bistudio.com/wiki/Arma_3:_Server_Profile
reading this....
wat... so do I set -profiles=hc1 etc?
which command do i need to do this on linux? -profiles=<path> makes no difference. is this because i'm on the performance branch that it's being fussy about the datacache any my profiles anywho?
i have no idea what you're on about. -profiles=HC1/hc2/etc doesn't work. Neither does -name=hc1/hc2 etc from the wiki.
Away from pc so I need to find the combo myself I had in here, wait one :D
i broke my server hours ago so apologies if i seem snippy, i'm deep in my own shit rn lmao.
We've all been there, spent hours debugging escape missions, turns out they don't like being in subfolers....
is that for linux though? 
linux explicitly says "nah" it'll just auto make it in the other profiles folder which is what it did before
but now it's not 
Oooh, yes perf branch causes this
Try main just for.... "fun"
is there a way to make it work on perf branch on linux
i'm guessing i need to do the ultimate path i did before, deploy as main branch, then change
You somehow need to force it to create different profile directories, should work on Linux fรผr for my own sanity I've stopped doing game servers on Linux :โฌ
see even mentioning linux fucks up my auto correct
Once you get Arma to obey your profile paths it'll work, just no clue how to do that on Linux
what the fuck lmao. swapping to the public build and it makes HC1-hc3 profiles in the other profiles folder like it's supposed to
๐
now what happens if i swap back
so its def something with the profiling branch.
on linux with profiling branch off, it uses ./local/share/arma 3 - other profiles
with the profiling branch on, everything locks up accessing ./local/share/arma 3/datacache
That's odd, so it's adhering to the profiles=path/path argument on main but on Prof?
i haven't a clue tbh. i only used -names=HC1/hc2/hc3 for the Headless clients cause that's what the folder is called in arma 3 other profiles
and it doesn't work
Yeah that won't work, not even on windows
-profiles=path/to/random_HC_n should work tho

startparameters="-client -ip=${ip} -port=${port} -profiles='/home/arma3server/.local/share/Arma 3 - Other Profiles' -name=HC1 -cfg=${networkcfgfullpath} -config=${servercfgfullpath} -mod=${mods} bepath=${bepath} -password=
what i'm trying right now, this look right? 
23:36:53 Waiting for '/home/arma3server/.local/share/Arma 3 - Other Profiles/DataCache/cache_lock' to be available
now it just freaks out in a new folder lmao
fuck this, i'm going back to the normal branch lmao
Yupppppppppppppppppppppp
Right back to the normal branch and all 3 HCs are working like i'd expect.
fuck if i know why
startparameters="-client -ip=${ip} -port=${port} -cfg=${networkcfgfullpath} -config=${servercfgfullpath} -mod=${mods} bepath=${bepath} -password="
this is all it takes to launch all the HCs on public 
if i try profiling again i'll try specifying all the way to each individual HC's folder, not just the overall, and forego the -name cause
fuck knows wtf is going on there
-profiles='/home/arma3server/.local/share/Arma 3 - Other Profiles' it must be unique per instance, that's where the lock file goes
name doesn't matter until later
but why is the profiling branch so picky 
compared to #headless_client message
because the lock file blocks other lock files

i'll give it one more shot
startparameters="-client -ip=${ip} -port=${port} -profiles='/home/arma3server/.local/share/Arma 3 - Other Profiles/HC1' -name=HC1 -cfg=${networkcfgfullpath} -config=${servercfgfullpath} -mod=${mods} bepath=${bepath} -password="
got it set for each HC folder 
thanks for the last missing link in the puzzle.
Today started out with me trying to fix the linuxgsm update command and going down a full hellhole of
, now the server and HCs are working and i just need to load the parameters one final time. 
and now to figure out why my linuxgsm monitor can't query the server
. that's probably what's reconnecting my HCs all the time on top of the update command i did manage to fix
but going specific on the profiles command apparently works on the profiling linux branch 
and i think i fixed my linuxgsm entirely now
okay one last hiccup.
setting the fucking IPs for everything. How in the fuck does that work.
If I set the servers to 127.0.1.1 IPs, they can't be monitored with lgsm.
If i set them to 0.0.0.0 then ???????????????????? when i change the ports in increments of 12
what the fuck
in the server.server.cfg
// HEADLESS CLIENT SUPPORT // specify ip-adresses of allowed headless clients headlessClients[] = {"127.0.1.1","127.0.1.2","127.0.1.3","51.81.166.152"}; localClient[] = {"127.0.1.1","127.0.1.2","127.0.1.3","51.81.166.152"};
in the HC cfg
## Predefined Parameters | https://docs.linuxgsm.com/configuration/start-parameters ip="0.0.0.0" port="2314"

why the fuck isn't it working
Server IP: 0.0.0.0:2326 Internet IP: 51.81.166.152:2326

what the fuck is the headless client IP supposed to be


