#headless_client
1 messages ยท Page 5 of 1
Hmm this is something that needs to be run on debug console?
Interesting ๐ค
You da man ๐
I was using asm for ages till fred gave up on a official implementation, I suppose CBA leading the way is as official as it'll get ๐
๐
It works very good as well I like it that they added it. Doesn't mean for me that I need to diag_log stuff anymore to check values in HC/Server
I generally feel like being involved with arma is a lot of riddle solving, the knowledge is very often out there but not always easily accessible
True, but it makes arma so much better ๐
Only times I've used any diag stuff was during the hunt for the 3fps bug
The riddle solving makes the game within the game better? ^^
๐
Hmm I'm curious if I want to actually know the answer now
The latest operations that we've done we've seen the performance increase on the server as the mission has been moving along, every fiber of my body screams that it can't be right
But I suppose it means our headless client is a trooper
a headless client can improve overall experience by a lot if you are using a relatively high number of AI
as it gives the sever frame time to do everything else instead
So i've got an issue you guys probably have run into with Alive and Headless clients. The logistics Alive birds/artillary don't work properly when i turn on HCs. You guys got any ideas of how to fix this?
I've not really used alive asides from testing it early on in a3 but going off their webpage Server performance with Profiled Virtual AI is already sufficient, so there's been no driver to use HC yet. However, we will provide an option in Profile System to spawn on HC in the first release
new performance binaries in #perf_prof_branch
โ if you have desync issues on your high player count servers, please get rid (disable) the regularCheck line, especially if you use the years old workaround which is no longer valid
I'm yet to check it thoroughly (happened during session) but did anybody have problems with HC on linux server after latest prof branch update?
it appears that HC tried to open mission file, but it wasn't where it was looking for it, and it got into the loop that killed whole box
mission worked without any problems last week
I'm using perf branch and I run linux 3 HC's without issues even after latest steamcmd update.
ok, so it's something specific for this mission then
@kind crystal HC's are still dependent on the primary simulation update loop.
Aka core 0 thread 0.
It's always looping back to talk to thread 0
HC's are basically worker threads.
They still follow the threading pipeline back to the single-threaded nature of the engine.
@mystic sinew https://feedback.bistudio.com/T81281 was fixed ages ago, also HC is not checked vs signatures anymore since 138028
if i made headless client on my server then run it, it would work?
If setup properly, yes.
It's weird. I'm still getting issues with loading missions with HC. Problem started after 1.72 hotfix update.
I managed to nail it down to this: if HC is connected, I can't play missions on Altis. Only on Altis.
If doesn't even start loading the mission, and it doesn't start sending the mission to clients - it just tries to load altis (can be seen in rpt as "weird geometry" log) and then hangs. If not stopped in time, whole box gets stuck, I have to hard-reset the server
And here's the weird part - I tried just restarting the server few times, and sometimes it would work without problem. I even got people to play the mission with no issues
and after another restart - bam!
hmm... I'm still looking for any clues
there shouldn't be any issues with using same installation for main server and hc, right?
Shouldn't be nah
I need to make a backup of the box and try reinstalling whole server. This stuff's weird. Only hangs on Altis
Can I get a help to see if this RPT Code is correct. Im not sure if the HC is transfering at all. 9:46:48 Setting invalid pitch 0.0000 for HC1
9:46:48 on object HeadlessClient_F [0] z\ace\addons\interact_menu\functions\fnc_addActionToClass.sqf:67
9:46:59 [ACEX] (headless) INFO: Registered HC: HC1
9:47:00 [ACEX] (headless) INFO: Removed HC: HC1
9:47:29 [ACEX] (headless) INFO: Present HCs: [] - Full Rebalance: true
9:47:29 [ACEX] (headless) INFO: Groups Transferred: Total: 0 - HC1: 0 - HC2: 0 - HC3: 0
How many HC do you have?
I have 3 placed
And how many HC's are you actually running?
I really only need 1. AI count around 100
If I activate another HC instance I get [ACEX] (headless) INFO: Removed HC: HC2
So the HC is joining and slotting in correctly?
What are the HC slots named in game? Did you copy-paste 3 without changing names?
@dry tangle Check the RPT log posted above
Right right, I wish I could help some more but I don't set them up, I just run them ยฏ_(ใ)_/ยฏ
Anything in the RPT of the HC? Does it stay joined or does it disconnect or go back to lobby?
it stays connected. Nothing happeneds other than in the RPT it says removed HC
And in the HC RPT? nothing?
where is the HC RPT?
Windows or Linux?
windows
Same directory as server RPTs
copy
https://github.com/acemod/ACEX/blob/master/addons/headless/functions/fnc_handleDisconnect.sqf#L56
"Removed HC" is only printed on HandleDisconnect. Meaning your HC IS disconnecting
should I have a sqf or similair in the mission folder?
no
I'd remove HC slots
I've seen HC bounce between slots for some reason
Not 100% but we match HC in mission with servers HC count
HC is connecting and disconnecting once in under a second. So.. My guess is it's missing some Mod
What version of Windows Gysgt?
Wait nevermind. PowerShell I use requires mods in a folder
But yea, server and HC client command line should match exactly except for HC having -client on it
Also make sure the server.cfg had local ips as headless and localclients
let me make sure
Sorry for all the questions, some what new to HCs
here is my connected RPT BattlEye Server: Player #0 headlessclient (35.185.xxx.xxx:2314) connected
10:14:36 Player headlessclient connecting.
10:14:37 Player headlessclient connected (id=HC5376).
10:14:37 BattlEye Server: Verified GUID () of player #0 headlessclient
10:14:37 BattlEye Server: Player #0 headlessclient - Owner GUID: 8539e01499f87083b3a25exxxxxxxxx
Did it stay connected
Look at primary server console window
Do you see HC connect and stay?
Now load a mission
testing now
what is this? 2017/08/12, 10:33:02 "0 - MCC Headless Client available: false"
2017/08/12, 10:33:02 "0 - MCC Local Headless Client: false"
It is MCC saying it's not doing anything
2017/08/12, 10:37:04 Setting invalid pitch 0.0000 for HC1
2017/08/12, 10:37:04 ["ACE_Head"] on object HeadlessClient_F [0] z\ace\addons\interact_menu\functions\fnc_addActionToClass.sqf:67
2017/08/12, 10:37:14 [ACEX] (headless) INFO: Registered HC: HC1
2017/08/12, 10:37:15 Client: Remote object 3:0 not found
2017/08/12, 10:37:15 [ACEX] (headless) INFO: Removed HC: HC1
2017/08/12, 10:37:32 Road not found
2017/08/12, 10:37:44 [ACEX] (headless) INFO: Present HCs: [] - Full Rebalance: true
2017/08/12, 10:37:44 [ACEX] (headless) INFO: Groups Transferred: Total: 0 - HC1: 0 - HC2: 0 - HC3: 0
This is after the removial of 2 HCs
Should I have a code in each AI init?
ACEX doesn't require anything but enabling the setting, which you did
looks like your HC disconnects
oh never mind, I read back now, that's the problem ๐
whats the problem?
Im showing the HC is still connected. 10:32:47 Roles assigned.
10:32:47 Reading mission ...
10:33:01 Mission read.
10:33:02 Game started.
10:35:49 BattlEye Server: Player #0 headlessclient (35.185.21xxxxx:2314) connected
10:35:49 Player headlessclient connecting.
10:35:51 Player headlessclient connected (id=HC316).
10:35:51 BattlEye Server: Verified GUID () of player #0 headlessclient
10:35:51 BattlEye Server: Player #0 headlessclient - Owner GUID: 8539e01499f87083b3a25eb3xxxxxxx
10:40:01 GySgt M. Muckbone uses modified data file
10:40:01 BattlEye Server: Player #1 GySgt M. Muckbone (99.127.15xxxx:2304) connected
10:40:01 Player GySgt M. Muckbone connecting.
10:40:01 BattlEye Server: Connected to BE Master
10:40:02 BattlEye Server: Player #1 GySgt M. Muckbone - GUID: e56089b4a70ec994fbd5de22cxxxxx
10:40:05 Player GySgt M. Muckbone connected (id=765611980800xxxxx).
10:40:05 BattlEye Server: Verified GUID (e56089b4a70ec994fbd5de22c588xxxxxx) of player #1 GySgt M. Muckbone
10:41:37 Admin logged in, player: GySgt M. Muckbone, playerUID: 7656119808002xxxx, IP: 192.168.x.xx:2304.
Why does the HC have a non localhost IP?
where is the non localhost ip? I have the IPs set up in tadts
"BattlEye Server: Player #0 headlessclient (35.185.21xxxxx:2314) connected"
is that info in the dat string?
because I use a second server to connect. this is what is in my Tadst headless boxes "127.0.0.1", "64.94.101.xxx", "35.185.216.xxx"
HC's should optimally run on the same machine.. Except if you don't have enough Hardware for it..
Everything corrently configured in server.cfg?
my dat file that I connect with has this start /min "" "C:\Program Files (x86)\Steam\steamapps\common\Arma 3 Server\arma3server.exe" -client -connect=64.94.101.xxx -port=2312 -password=xxx -profiles="C:\Program Files (x86)\Steam\steamapps\common\Arma 3 Server\Profiles" -mod=@mods we use here
where is the server.cfg at?
Whereever your serverconfig is. It's your server. I don't know how you do stuff
is this sever.cfg on the headless server ot the game server?
ok, I use tadst to start the server, does that matter?
I don't know
found this on the PC that has the headless dat file // HEADLESS CLIENT
headlessClients[] = {"127.0.0.1"};
localClients[] = {"127.0.0.1"};
battleyeLicense = 1;
Is that the server or the headless client?
headless
Already told you you need the config of the SERVER not the CLIENT
hey, Im new and needing help. Sorry if Im not as smart as you with headless stuff. Thank you for your knowledge and help though
Never said I know much about Headless stuff.
I just know that your server config needs to list the Headless Client's IP's
That's why I'm asking for your server config. And you give me your client's config
ok, let me locate the server config
I found this / Config file generated 8/12/2017 11:15 AM with TADST.
hostName = "xxxxx | Training & Operations | xxxxx ";
password = "xxxxx";
passwordAdmin = "xxxxx";
serverCommandPassword = "";
logFile = "logfile_console.log";
motd[] = {
"Welcome to xxxxxxx Training/Ops Server"
};
motdInterval = 10;
maxPlayers = 36;
kickduplicate = 0;
verifySignatures = 0;
allowedFilePatching = 0;
requiredSecureId = 0;
headlessClients[]={"127.0.0.1", "64.94.101.xxx", "35.185.216.xxx"};
localClient[]={"127.0.0.1", "64.94.101.xxx", "35.185.216.xxx"};
voteMissionPlayers = 3;
voteThreshold = 0.33;
disableVoN = 1;
vonCodecQuality = 10;
persistent = 1;
timeStampFormat = "short";
BattlEye = 1;
battleyeLicense = 1;
doubleIdDetected = "";
onUserConnected = "";
onUserDisconnected = "";
onHackedData = "";
onDifferentData = "";
onUnsignedData = "";
regularCheck = "";
class Missions
{
class Mission_1
{
template = "OP_xxxx";
difficulty = "regular";
};
};
So the IP's are correct in the config. So that's not the problem
correct
is your headless client running the exact same modset as the server?
yes
here is another RPT 2017/08/12, 13:16:44 [ACEX] (headless) INFO: Registered HC: HC1
2017/08/12, 13:16:45 Client: Remote object 3:0 not found
2017/08/12, 13:16:45 [ACEX] (headless) INFO: Removed HC: HC1
2017/08/12, 13:16:59 [ACEX] (headless) INFO: Present HCs: [] - Full Rebalance: true
2017/08/12, 13:16:59 [ACEX] (headless) INFO: Groups Transferred: Total: 0 - HC1: 0 - HC2: 0 - HC3: 0
What is Client: Remote Object 3:0 not found?
STUPID ARMA, I HATE LOVE THIS ....
don't we all?
so when you are in the lobby you can see headless client connect and immediately disconnect?
your mission has headless client slot set to Playable? (although that shouldn't make it disconnect)
Yes, the slot goes green and it says headless connected and stays connected in-game. I wouldn't know about the transfers unless i connected to a live scrolling rpt in tadsts. Headless Client and headless player stays connected. The issue is it's not transferring.
something is removing it, that only happens on disconnect event of the HC
@scenic dove if you have the time, I could stream a feed and let you see what I see.
Let me try just those mods.
ok, I may have found a issue. I have a working headless mission that I made 1 week ago. Now that mission is not working. Is there a chance that the lastest Bohemia update caused the ACEX or headless modules to stop working? Anyone else checked thier RPT?
I have a working HC with ACEX running right now on Linux
i hate arma
I have a question regarding HC's: I've been running them successfully for about 3 years now but today I ran into an issue I've never seen before. I just migrated my server from Windows 8 to Windows Server 2012 and in testing my Arma missions, I keep running into an issue where once the mission starts, even while in the middle of still doing some script stuff, each headless clent's RPT file reports several "Creation of x ignored, state GAME FINISHED" and then it just completely stops. No CPU usage, nothing. It just sits there. I have no idea what's causing this. It worked day before yesterday prior to the migration.
One channel is enough.
I take it you're talking to me?
Yes..
I posted in those two channels on purpose because I didn't know which one would be a better fit for the issue I'm having.
I take it you have no suggestions on my question?
Nah unfortunately not
I've never seen this issue before. I've always been able to figure things out on my own but this one is stumping me. Nothing I've found in google searches either. Really weird.
Reading up on https://community.bistudio.com/wiki/getClientState - I'm wondering if maybe I've got tasks not loading properly on the HC's and it's automatically tripping and end mission state.
Looks like all the headless clients are getting booted earlier (within a minute or two of the host starting). All three ae tripping the onPlayerDisconnected (PlayerDisconnected) MEH.
Just to double-check something: Steam authentication is no longer required for use with dedicated servers and clients, correct?
I found it, although it makes no sense. This is for anyone else that might run into this - I had Steam running and logged in on the server. I just yanked it and now the HC's aren't disconnecting. Very strange, but it is Arma afterall.
@vital panther If you run Steam GUI client on a server, all bets are off
learn SteamCMD
I use it for updating the server. I rarely ever have the client running however so this one took me by surprise.
I actively have the steam client installed but only to count my A3 server hours ( which I forgot about for a month ๐ฆ ..) All my server installs are fromm SteamCMMD and I've never had HC issues like that
you need to configure the HC IP in the server config
But HC's should optimally run on same hardware. Local machine.
yes
You basically make Arma run on more than 1/2 CPU cores.
If you run it on a remote machine everything will have to be networked
I have no Idea of how to windows. I only Linux server ๐
screwing with CPU timer is unlikely to get benefits you want
@dry tangle On modern 2012 R2+, messing with specific cores is unlikely to improve performance, Windows isn't stupid, it doesn't back up threads on busy queues
so messing with CPU scheduler at all is not likely to improve performance at all
I got 8 cores on one my machines, if I'm hosting several things I'd much rather allow the jittery stuff to sit on the backburner aka last few cores whilst Arma can sit on the first 4, Arma then gets the non jittery cores.
Performance has been rather erratic when everything's happily jumping the cores around.
If I'm hosting multiple HCs, I'd also prefer to give them 2/3 each for peace of mind.
Do you have evidence it was erratic or just felt better?
@spring crypt No because I obviously deemed it madness to save screenshots of the #monitor 1 spam in chat.
Does anyone know how would I check if ACEX headless client works. I havse HC set up and working in my missions, via script, so I know it works on my server, but I would like to use ACEX HC in the future...
there is a setting to enable logging for it
it will tell you when HCs register, disconnect and when AI is moved
Does it show that ingame or only in some log file?
will do, thanks
RPT only
anyone had an error
that HC_1 is returning <Null-Object>?
its fine for a second when it connects, another second passes and ๐ฉ
whats funny it works on my PC, and not on the server machine.. and everything is the same.
Configuration needed.
Is there a way to prevent units from ungarrisoning when locality changes to one of the HC's or the server?
Is it possible to use Linux for a HC and then use it on a windows server?
Yes, they should work
Can you connect with a normal client from windows to linux? YES
Therefor answer to your question ? YES
Just make sure same versions, correct setup on server for hc ip
I roughly have a whopping 0 knowledge with Linux nor the Linux version of Arma so I thought I'd make sure, thanks.
Sure, I've had some experience, and I had more crashes on linux ~ 1.50 a few years ago
Linux works quite good atm tho
@dry tangle
You are better off to run HC locally so it has unlimited bandwidth.
Thats why there is a localClient option with IPs
โ๐ป
Yep, well known
Server doesn't care what OS the clients are using. The HC is just another client as far as it's concerned.
Hmmm im having some issues getting HCs working on my linux/ubuntu server
@raven scarab Mind sharing with the world the problem you're having? :P
lol sorry it was super later and I passed out
I think I got it working, Im using
./arma3server -client -nosound -connect=localhost -port=2302 -password=MyPassword -mod=(all my client side mods)
for each of my headless clients, they do connect and file the HC slots I made in the mission
Okay, what exactly did you have a problem with to begin?
initially it would just connect and then immedioately disconnect
Can someone tell me what does this mean after I start my headless dat file. [CBRN] Warning: 'CBRN_fnc_registerKeybinds' must be called on a client!
humm that looks like some one has hijacked CBA_fnc_registerKeybinds
this has nothing to do with headless
Chemical Warfare mod
that function is ran on postInit automatically, you should contact the author
Hi!
I've been working on setting up HC(s) on my Ubuntu box. I've been using it as a dedicated host for quite a while and its all fine with that - I was just looking to implement HCs to increase performance with missions which have a larger number of AI.
As far as I am aware, I have set up the server.cfg and the HC itself (startup params etc) correctly, I'll upload them here below.
The HC spool up just seems to hang at a certain point. I've left it for up to 40mins to see if it would do anything, it doesn't. It throttles down on resource usage pretty much instantly after the last line in the RPT and then just sits there, doing nothing. (RPTs are attached below).
If the spool up process is the same as the server's then I believe its failing around the identity creation step.
A second pair of eyes and some ideas would be much appreciated. I've been bashing my head against this for a few hours now and not even frantic Googling has helped!
Ah, I can't upload the files. Pastebinning them.
https://pastebin.com/ADRJnXGW <--- server.cfg
https://pastebin.com/aKBAZk49 <--- server_start.sh
https://pastebin.com/AXaEY4Y6 <--- hc_start.sh
https://pastebin.com/7sqUXCGL <--- hc.rpt
https://pastebin.com/2tJxtxeq <--- server.rpt
Apologies for the pastebins, no option to upload files on this server (I'm clearly not priviledged enough!)
(I would've code markup'd but 2000 char Discord limit)
@turbid crown pastebin is good otherwise this channel would be filled.
Try using -connect=local -port=2322
Instead of having them both in one entry.
For HC*
I was reading yesterday that the port specified in the -port= flag in the HC startup actually defines the port the HC is operating out of (not that that should matter much with a loopback anyway) hence why I'm running it on -port=2332 (I've reserved 2332-2334 TCP/UDP for this first set of headless clients). Whereas in the -connect=127.0.0.1 :2322 it defines the port the server is operating on and if you don't declare it there the client will try connect to the server on 127.0.0.1:2302 .
This is an important distinction for me as I'm running a different server instance on 2302 to the one I'm trying to connect this/these HC(s) to.
My set up on the same physical hardware is as follows:
server1 - no headless yet - ports 2302-2305
server2 - no headless yet - ports 2312-2315
server3 - headless I'm trying to set up - ports 2322-2325
headless1 - port 2332
headless2 - port 2333
headless3 - port 2334
-connect=127.0.0.1 :2322 That is not how connect works.
-port specifies the port the HC connects to. The port that belongs to the IP in -connect
HC's don't listen on ports
https://forums.bistudio.com/forums/topic/201938-running-dedicated-serverhc-on-same-machine/
This thread is where I read this originally, I also read it reiterated in some of the megathreads.
I you add -connect=127.0.0.1 :2322 then the :2322 will just be ignored
because the parameter ends at the first whitespace
I am using -connect=ip and -port=serverPort and it works.. And it also compiles with what the Wiki says about startparameters
Yeah, its a discord formatting issue.
Can you show me where in the wiki it says it about startup params?
It could be that it changed very recently and is not yet on the Wiki.. But if it did then it's a windows only thing.. And that seems very unlikely
Same as me then.
If yours works and mine doesn't - then you're right ๐
Are you running multiple local HCs?
Do you have multiple instances of the localhost in the server.cfg headlessClients param under different port or does it just accept all that try connect from localhost?
IE
server.cfg headlessClients setting doesn't contain ports
I just have one "127.0.0.1" in there
in addition to that other parameter
localClient[]={"127.0.0.1"};```
Or
```headlessClients[]={"127.0.0.1:XXXX", "127.0.0.1:XXXX"};
localClient[]={"127.0.0.1:XXXX", "127.0.0.1:XXXX"};````
Ok, so I've pushed the changes.
My HC startup now contains #!/bin/bash /home/USER/arma3/server_3_headless_1/arma3server -client -name=server_3_headless_1 -connect=127.0.0.1 -port:2322 -password=examplepass -mod=\;cba_a3\;ace3\;ace_comp_rhs_afrf\;ace_comp_rhs_usaf\;ace_comp_rhs_gref\;cup_core\;cup_terrains\;cup_maps\;tfr\;rhs_afrf\;rhs_usaf\;rhs_gref\; -noSound >>/home/USER/arma3/server_3_headless_1/logs/client.rpt 2>&1 debug
my server.cfg has
localClient[]={"127.0.0.1"};```
I appear to still be hanging at the same step in as in the RPT I pastebinned earlier. (https://pastebin.com/7sqUXCGL)
@turbid crown did you try using local in connect?
Oh so literally -connect=local
Yea
I thought you were just abbreviating -connect=127.0.0.1
Nah
pushing #!/bin/bash /home/USER/arma3/server_3_headless_1/arma3server -client -name=server_3_headless_1 -connect=local -port:2322 -password=examplepass -mod=\;cba_a3\;ace3\;ace_comp_rhs_afrf\;ace_comp_rhs_usaf\;ace_comp_rhs_gref\;cup_core\;cup_terrains\;cup_maps\;tfr\;rhs_afrf\;rhs_usaf\;rhs_gref\; -noSound >>/home/USER/arma3/server_3_headless_1/logs/client.rpt 2>&1 debug
Works?
pushing
/home/USER/arma3/server_3_headless_1/arma3server -client -name=server_3_headless_1 -connect=localhost -port:2322 -password=examplepass -mod=\;cba_a3\;ace3\;ace_comp_rhs_afrf\;ace_comp_rhs_usaf\;ace_comp_rhs_gref\;cup_core\;cup_terrains\;cup_maps\;tfr\;rhs_afrf\;rhs_usaf\;rhs_gref\; -noSound >>/home/USER/arma3/server_3_headless_1/logs/client.rpt 2>&1 debug```
100% the correct port ๐
K
2302/2312/2322 are my servers atm
K
Appears to be sitting there again ๐ฆ
K....
Same point in the RPT as previously.
It's a Linux server right?
@turbid crown port is wrong
Ah...
-port= not -port:
Turns out the version I pushed to the server had the = in it
Yeah I took it down and checked and putting it up again now
K
I swear I'd get some kind of an error if it was an issue connecting to the server.
Yea believe same
I'm just trying to figure out what it is meant to be doing at the point it just stops doing things ๐
Are the mods being loaded?
Yeah, all loaded fine
Yup, sitting there again.
Do you have an RPT for one of your HCs that spools up fine?
Can I have a look?
Uh well its on the server not sure how to copy it from phone xD
Ah ๐
The text
Looking at my server spoolup
23:44:58 MovesType CfgGesturesMale load time 155 ms
23:44:58 Loading movesType CfgMovesMaleSdr
23:45:15 Animation rhsafrf\addons\rhs_t72\data\anim\kia_mg_commanderout.rtm not found or empty
23:45:15 MovesType CfgMovesMaleSdr load time 16999 ms
23:45:16 Host identity created.
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
Setting breakpad minidump AppID = 107410
23:45:16 Game Port: 2302, Steam Query Port: 2303
23:45:16 Initializing Steam server - Game Port: 2302, Steam Query Port: 2303
23:45:17 Connected to Steam servers
Arma 3 Console version 1.76.142873 x86 : port 2302```
wait
why is that on 2302
2302
How is the server setup?
Its the : instead of the = again
Look further down, I did TRY to set it, before generating the stdout file
I just used : instead of =
I've corrected it and I'm running again.
Hallefuckinglujah
Thank you gents. I had a typo in my server startup and didn't notice.
Terribly sorry to be so incompetent - little mistakes with big reprocussions! ๐
how big is the impact of a headles client when it is run on the same box? thinking of setting one up for our liberation server (running linux)
Basically twice the CPU power for calculating AI
does adding more than one client improve this further? 3 times CPU for AI ,etc?
yes but not linearly
there is also possible diminshing returns when doing higher numbers of HCs, because processes still have to talk to each other even when on the same machine
ok, i have seen that the kp_liberation Maps allow up to 3 HCs to connect. i am wondering, if this would make sense to do
if you have the box to handle that, it's probably worth it
I run 3 personally as well
corewise . . . it should not be an issue . . .
but since we have 2 other servers running (one for Testing) i am not sure, how the overall performance would decrease
See if they all fight for cores, if they do, set core affinity, if the CPU isn't potato it should run just fine
I usually run 2HC's on a greuh liberation
@dry tangle I actually see decent gains with HC on a 4 core potatoe
~100 ai firefight: Server *HC0 - 15-20 FPS. Server *HC1 - 30 FPS
Hi all,
so i am trying to set up a HC. It does connect to the server. But doen't slot in the expected virtual slot. Just sits there in the Lobby. What am i doing wrong?
is his IP in server.cfg? Is the slot really a HC slot thingy like it should be? Does the HC have all mods loaded it needs?
Yes, its set up in the serverconfig. So its successfully connecting. The slot should be correct. I set it up with the HC gamelogic, it has a variable name. And the AceX Module. I only see the slot or the client in the lobby as admin, so i guess it should be correct.
Is there a special procedure i have to respect as in start server, load mission, start hc or something like this?
start C:\ArmA3\A3HC\arma3server_x64.exe -client -connect=X.X.X.X -port=2302 -password=XXXX "-profiles=C:\ArmA3\A3HC" -hugePages -mod=^...
Its actually connected and registered as an HC:
13:28:53 Player headlessclient connecting.
13:28:54 Player headlessclient connected (id=HC3248).
On the HC:
13:52:16 Dedicated client created.
13:52:29 Client connected: X.X.X.X:2302
13:52:31 > Player headlessclient connecting
ignore the timestamps
Ok, forget about all that, stupid me didn't save the variable name in the mission file .... sorry
Is it possible to use multiple headless clients?
yes.
Anyone know of a good guide for integrating a Headless Client with Zeus?
What is there to integrate?
After like 5 mins of the server being up the headless is kicked for query time out, does anyone know what this coule be?
could*
i cant conect to my HC dont know way..
ned some help
i have a HC in the mission, than i set this up in the folder name wer my server is
@echo off
color 0a
title Server Starter
:Serverstart
echo Launching Server
E:
cd "E:\Arma3Server\BMR Zargabat\A3Files"
echo Watching DTG Arma 3 HC Server
start "Arma3" /min /wait arma3server_x64.exe -client -connect=127.0.0.1 -port=2313 "-profiles=e:\Arma3Server\BMR Zargabat\A3Master" -mod=@RHSUSAF;@RHSAFRF;@CUPCore;@CUPMaps;@CBA_A3;@CUPWeapons;@ALiVE;@WSM_Uniforms;@FATA;@CUPUnits;@CUPVehicles;@TerrainVehicle;@Movement;@L_Mount;
echo Server with HC has exited ... Restarting!
ping 127.0.0.1 -n 5 >NUL
cls
goto Serverstart
tis a BAT file
pls some one here `+
its looks all right but nothing hapand only say Dedicated client created.
do i have to maka a new server file only for the HC
foldre CMD
I can't connect to my HC, I don't know why..
I need some help
I have a HC in the mission, then I set this up in the folder where my server is
It looks alright but nothing happens. It only says "Dedicated client created".
Do I have to make a new server file only for the HC?
folder CMD
is the port correct?
Anyone see problems with UAVs when using a HC?
Examples?
UAVs basically doing their own thing. Changing their altitude and things like that.
Only popping up once AI spawn in via Zues, scripts, ect.
You can set the UAV Height in the terminal
Yes, but when the AI spawn the UAV goes rogue in terms of height.
setFlyInHeight?
anyways, this probably isn't a headless client problem?
I would think that this is just the UAV Being spawns
withought any waypoint
Well I'm thinking the HC is trying to control it since the UAV's are spawned with"AI" inside.
And only having the problem when HC is connected
possibly, are you able to check? Log it somehow?
Not sure how to do that. Using the ACEx headless modules btw for our HC
In the HC module there is a dropdown menu for logging the hc activity
ok
You should be able to block the UAV from being taken over by AI
@fossil tulip as others have said, add it to blacklist, however you have to add it via SQF and not just a checkbox in Eden (because UAVs don't have one), simply use this setVariable ["acex_headless_blacklist", true, true]; on the UAV unit
this will be "fixed" in the future by not running headless for UAVs at all, ref.: https://github.com/acemod/ACEX/issues/81
that is when someone else fixes it or I find time to do it ๐
Thanks
Hey how do you make the headless client auto reconnect to the server?
mine will connect when I start it for the first time but if the map changes or if the main server restarts it wont reconnect until I restart the headless client.
this is the only error I see that might mean something
17:52:27 No more slot to add connection at 015030 (1523.6,3012.8)
17:52:18 Client connected: 207.246.65.42:2302
17:52:19 > Player headlessclient connecting
17:52:19 Loading profile "HC1"
17:52:21 Starting mission:
17:52:21 Mission file: Antistasi - Warlords of the Pacific (__CUR_MP)
17:52:21 Mission world: Tanoa
17:52:21 Mission directory: mpmissions__CUR_MP.Tanoa\
soon after that first line the server crashed.
mine autoreconnects with no additional setting.
if you have a password, confiugure it in the run line
parms="-client -cpuCount=1 -connect=207.246.65.42:2302 -password=lljk -port=${port} -cfg=${networkcfgfullpath} -config=${servercfgfullpath} -mod=${mods} -servermod=${servermods} -autoinit -loadmissiontomemory"
oh god is autoinit the issue
i can get mine working with autoinit
I think I'm going to give it more ram its only getting 1gb (987mb) maybe it's crashing for out of memory....I think 1 gb is the min
why.
why would you limit your server?
its like putting a speed limiter on the brand new ferrari you just bought. It makes no damn sense.
@untold temple i think it has been stated here by some people that arma by default takes what it can
i dont know if that behaviour defaults to linux aswell though
yeah it was ram
I added more and its fine now
I limt my game servers becasue they are just for me and a few other people and I dont want to take a lot away from my cluster for arma
so I try get away with as little as I can
makes sense then, most of the time people limit their server without knowing and end up with worse performance than without parameters lol
A 32 bit Arma Client/Server enjoys 4 gigs of ram
^ never sent earlier because Discord ..
how do you go about fixing the HC not loading into the map
it will connect to the server and then after about 15 mins it will crash
my HC connects on other missions but I dont see any errors
Wondering if someone can help me. I'm having an issue connecting from one server to the other with headless client. I have a headless client setup on a dedicated server connecting to an Arma 3 server run on another dedicated server in the same datacenter.
I can connect local HC's from the server that Arma is run on, but can't connect a remote HC from this other server. Any ideas why that may be?
The HC gets stuck at "Dedicated Client created"
Is 2.5 mbps upload speed enough for a 10 player zeus missions ran straight trough the host server option in game?
Oh and also should i rent a 10 slot server insted of hosting a server straight from the client?
Why do you ask that in #headless_client ?
Well server admin stuff is #server_admins as the name says.
2.5mbps upload should be fine... Just try it out and if you have problems maybe let another player host who has more bandwidth.
Gotcha thanks. Didint know what headless_client meant.
Read the channel description.
My remote HC just randomly started working... not complaining, but odd ๐
How to track headless client disconnect inside the mission?
wouldnt that be a normal clientDisconnect? https://community.bistudio.com/wiki/Arma_3:_Event_Handlers/addMissionEventHandler#PlayerDisconnected
i think so. Thanks
Yeah bottom left, normal place, it'll display HC/HeadlessClient/whateverthename is has disconnected
@supple vapor may i ask you other question?
http://steamcommunity.com/sharedfiles/filedetails/?id=459317544
did it headless client work ?
do you need to assign HCs to a specific core? I have two HCs running and connected and it looks liek they are offloading data but looking at the core useage really only the first core is being utilized?
You don't need to, no
HCs don't claim a core as such, you could assign them to different ones and guesstimate if one's being used more
hmmm even wtih two HCs running I see that barely even 1 core gets fully utilized
on the server
deleted
@raven scarab From what I've seen, the HC will run on a seperate core assuming you're first core is loaded. You can modify your launch so they run on seperate cores, but I don't know how much that will change.
Sorry guys my HC (that was previously working) is still segfaulting in loop on Linux after last patch. Is that a known issue? Still a problem? ( tried latest perf binary but no luck, still looping segfaulting after clean boot)
Hey Guys, is there someone who has worked with Headless Clients lately? I tried to connect a HC to my Server. Problem was: first HC started but dont connected to the Server and the second one i started connected. i tried that serveral times, result was the same. the code in both bat-files is the same. Anybody can help me with this?
Hello guys, i'm having some issues with an Headless client on my server. Therefore, I wanted to know if it is possible to find logs for it, can you guys help me ? It's running on Windows server
@urban juniper -name specifies the instance name in windows.
@urban juniper logs folder located in the root of where it runs
Anyone met a situation when HC changes its port in the middle of reconnecting to a server?
Hey guys...stupid question...but is there an easy way of setting up a server for testing an addon? So far everything I've seen has involved a lot of advanced networking stuff.
Just follow this on your local machine https://community.bistudio.com/wiki/Arma_3_Dedicated_Server#Instructions_.28Windows_o.2Fs.29
Of course you can skip everything with downloading and installation
Proceed from step 8
Wrong channel.....
Which channel would this be best at?
Tagged you in it
in #headless_client ... rly? At least post your life stuff in the correct section...
@rapid shuttle

Discord > Beer
@obsidian raven It depends what type of beer you got though man
Does anyone know a possible reason for a Headless client not connecting?
I have three headless clients - two are run on the same dedi-box as the server
and the third, the one which isn't connecting, is hosted on a server in the same datacenter, that can't connect
The first two work flawlessly
โ
Not a firewall problem.
โ
Running the correct modset/version of Arma.
โ
There is indeed a third HC slot for it.
open command prompt up then type ping ip.address.goes.here
or if you want to see each device it goes through to get to the other server you can do tracert
tracert ip.address.goes.here
Any ide's why i am getting this error :- Client: headlessclient - Kicked off because of invalid ticket: Invalid ticket - Ticket invalid
Anyone know if there is a maximum number of Headless Clients that you can run? ๐ค
I'm just thinking; I'm currently only running 3
But yesterday I had a bit of a lock-up on my server with a particularly big attack
I checked my cores and I was basically just choking on 4 cores
and I had a further 20 cores sat idle ๐ค
So if I added another 20 HCs
...it'd almost be like the server was running on multiple cores (well)!
Would this make sense @heavy tiger ?
I'm intregued as to how some of the bigger servers perform so well under load
Its not like I lack horsepower
I have a pair of E5-2640s and 64gb of RAM and an array of SSDs :/
I'm just trying to figure out how to leverage that hardware better for ARMAs purposes
You want highest possible single core performance for arma
That's gonna help you more than many slower cores with HC's
Yeah, I read as much
I guess I'm just trying to figure out how to do better with what I have.
Run less in parallel. The CPU will turbo more with less cores loaded up, 3.0Ghz instead of 2.5Ghz. So you are going to have to search for the sweet spot where the Headless client gives you a boost despite the reduction in clockspeed you have. The way most people get good performance is with less AI active at once and less players.
and AI/ players spread out
Hey guys, is there a good way to take the AI from the editor and just have it generate the sqf to spawn them on the HC instead. It's been a really long time since i've played with this stuff, but my group is going to add a HC to the server.
We have a pretty big backlog of missions, and I'd like to publish something to our mission makers like, "add this to your init, and do this to convert your mission to HC".
Is there a last resort way to reliable transfer locality of Groups to HC?
Run a HC mod ^^ Like ACEX HC
What's the setup for ACEx HC, just add empty HC slots to the mission and have the HC connect?
@dry tangle There can only be one
raises hand to throw out any other mittens than myself :kappa:
@heavy tiger CBA Setting now
My favourite thing about headless clients is having to log into steam. It should detect the command -client and you should have to define IP, Port and password of a server, and without being logged in, it won't open much more than the console window ๐
I remember when Arma allowed headless client without steam ๐
But i guess i like shelling out more money to have a client run pointlessly on a box ๐
Works fine without login for me.. On Linux
Yeah nah fuck linux
Hmmmmmmmm
Actually, i could VM boot linux ๐ค
Nah. Too much effort.
Unless something has changed since a month ago, then I know for sure
Well, actually you need a steam account which doesn't need to own Arma to download the server files with SteamCMD but it does not need a steam client to run it
Well, don't run HC from client A3 @next ridge, run it from server binary with -client
Dudes
ya need to own arma
to download it ๐
And a headless client has to be on the client my dude
That's what i was told by someone from here ๐
To download yes, that's not what you said before, and no it doesn't
Yes. You need Arma to download the client
no a headless client doesn't have to be on the client.
Dedmen, go away, I just said literally that! :p
But you said it in a shorter form. So short that my broken brain didn't notice it
So in theory, you could run the server exe without a steam account
Not in theory. You can.
Not in theory, you can
as a headless
lul
Fuck
Wtf man
๐
As far as I'm aware and in all my experiences, you merely need a Steam account to download the Arma server files. Doesn't need to own Arma though
Anonymous login works to download server files
Never once worked for me ยฏ_(ใ)_/ยฏ for arma
Dunno what to tell you ๐คท , i've always been able to do that with each steam game
Try it with the Arma server files ๐ and edited last reply to specify
I have, i got a fresh install on my linux machine a few weeks ago. Never needed a login
Odd, Arma was always the one to give me the finger ๐ ยฏ_(ใ)_/ยฏ
or rather, SteamCMD
is it possible to transfer existing AI already running on dedicated to a connected HC? or do you have to delete them first then new spawn init on HC?
setGroupOwner transfers them
You can use whatever HC mod and they do it automatically for you
really? there are hc mods now? whats it called and will it break missions?
- do HCs need to load all the mods that are on the dedi? or can just be empty?
No it won't break missions. Atleast it shouldn't.
I know of ACEX HC or Werthles' Headless Module but the Werthles one needs a module placed in missions
Well.. You can answer that yourself. How would it simulate AI's shooting weapons that don't exist. Or driving vehicles that don't exist.
ok great thanks
so without mods or modules, if i want to transfer all existing AI units to HC would this work?
{_x setGroupOwner HeadlessClientID;} forEach allGroups;
Yeah. Guess so. Dunno what that would do to player groups though
so i just have to add player unit check inside, plus ru it on a loop with uisleep so if the mission creates more ai they can get picked up? hopefully i wont have to unpack all my non-hc compliant missions
if a mission doesnt have a virtual slot for HC in the lobby (grey player slots) does that mean the mission isnt configured to run HC on it?
if not, can you still create the gamelogic HC slot and add it to the mission through debug console?
I don't think you can create a slot via scripting
Can dedicated server HC connect to server hosted by player through game?
Because if you host on Dedicated Server, I lose ability to add headless
or will dedicated server cpus be used to max, and it's not even worth doing HC to player server and just do DS?
I wonder is it more efficient to dedicate 4 dedicated server cores to headless client and connect to player hosted
host dedicated server and just leave it use all 4 cores
Or assign 2 cores to DS and 2 cores to headless
Know anyone who did test about this or anything?
If not I guess I should test it out
not sure dedicated server would actually use 4 cores effectively
hence the need for HC's
So my HC just produced a 200GB log file after VCOMAI was looping an error
There's a screenshot of it. Opened the file with EmEditor since nothing else would open it
Well yeah. Such things happen
I think my largest RPT was even bigger
Couldn't find the screenshot of it when I searched last week
Lol
-nologs
?
to stop your rpts turning into hodor
-nologs
Let's disable all logs because one script bugged out once?
What's a "hodor" and how does it stop my rpts?
by adding -nologs to your cmd launch, your rpt will stay 4kb forever, ofc its a drastic measure only to be taken if your absolutely sure everything is stable
tell the mission maker to fix the mission instead
you want those logs for future errors and reporting
People still talking about arma only using 1 core
its bullshit people
when you get a full server you can literally see the other cores starting to do something
server + 1 hc
nothing else running on the server
That doesn't show what you think it shows: https://www.reddit.com/r/pcgaming/comments/3wf8xn/understanding_taskmanager_with_singlethreaded/
If you use process explorer you can look at an individual process and see the thread breakdown in the properties of a process and that gives you a better idea what is going on from the outside of the program.
But Arma also comes with a diagnostic binary which includes a profiler and that gives us a good indication of what the actual thread model is and precisely what it is doing and when: https://www.reddit.com/r/arma/comments/303xr4/understanding_arma_3_performance_problems/
So no Arma isn't single threaded, but it is dominated by a single thread with some amount of multithreading for various aspects but rarely more than about 1.5 cores worth in total even if at moments it peaks to more than that.
also even if you will see close to 100% single core usage, that doesn't mean that arma load it, check this https://gyazo.com/8b17ec558f92b1520899bc570dfad44d
96,63% total core load, but arma there only 15% +
the next part is my understanding of it (possible wrong and need some corrections)
afaik single thread is jumping across all the cores, when it sees that others have lower utilization, than the core where its currently running on...
the end of my understanding of it. ๐
can I use tadst, a bat folder and the werthles's headless module all together? and if so how do I?
(to run a headless client, in case that wasn't clear)
@serene bane ๐คฆ Windows moves the load between multiple cores. Arma is still only using one thread for 95% of the work.
what is best the best for Altis Life, Arma2Net vs extDB ?
How is that #headless_client ?
Also comparing a wrapper between Arma and .NET to a database extension doesn't make much sense
my bad i wrong channel
anyway I wanted to ask how useful headless client is on altis life?
yes I use it with HC, but I wanted to know if I gain anything in terms of performance
As I said. Impossible to answer
If you wrote your life framework you'll know. if you didn't then the guy who wrote it will now
just putting a HC in doesn't do anything if no one is using it
and to install it I should host it on servers linux can i?
can i install HC on linux server ?
I do not have much clarity about using HC, that's because I ask questions
where do you suggest to host HC?
If the framework does not support an HC -> You cannot use a HC
if you're using the regular tonic alits life crap then I doubt it
i use tonic altis life 5.0 support HC
HC was made to run on the same server that your main server runs on
so I can not host HC on another server other than the main?
you can
But it wasn't built to be used like that. So you might get not as good results as running it on the same server
if I run it on the same server I do not have a decline of fps in game?
Don't tell me you are running the server on the same machine as your client....
no different machine
What? Doesn't mean at all that it would influence ingame FPS
I want to say that I have a main server where I host another server arma for the database and I want to know if HC can host it elsewhere or on the same server
A HC can't host a server
It's a client
Your HC could take care of the database interaction
If your framework supports that
Didn't we just talk about that?
same machine or the gain is less
@torpid sentinel And why's that?
Latency.
Exactly Pretty neglible if it's on the same. But not if it's on different machines
I never got to finish ๐
HC was made to make use of multi-core machines. To "fix" Arma's single-threaded thingy.
It ofcause can be used on different machines. But it was not intended to be used like that
How dose headless client work?
Good or bad?
What?
Headless clients help take the load off the server by doing the calculations FOR the server in regards to AI
idk if it does anything else other than doing stuff for AI
@restive quartz @urban juniper Is just being a meme, he forgot the /s ๐
@dry tangle I was trying to talk to our fellow communist friend
but discord is a meme I canโt mention him
@restive quartz He is just a troll.. No need to talk to such things.
sad face
does anybody know why wouldn't any roles show up when I open a mission in my dedicieded server?
I put a playable units, and a player, im using the werthless kit and moudle mod
any idea?
Anything in the server's log when the mission starts?
Missing roles is usually a error on the serverside when it tries to load the mission
haaa
rpt
ok, let me try
well, I'm kinda new to this so can you please tell me what I'm looking for?
Another guy helped me, turned out it was a problem with a PAR file
well, seems it didn't fix it
Hey, a bit of a problem I have isolated to headless clients, some people are not able to join even if the pass, ip, port and mods and version are all correct, but others are.
Also occurs with vanilla
However, when it is hosted on a listen server the issue does not occur
Any ideas on how to fix it?
I don't see how people are connected to HC.
HC's are not people. And people are not HC's.
What does "not able to" mean?
Even if direct connect is used to connect to the server hosted on a headless client they are not able to connect.
Joining off launcher or steam does not work either
Hey guys, am I correct with the assumption that more headless clients = better performance?
My server runs on a i5-4670 with 12 GB RAM. That box als ran a hc on it. Now after I upgraded my gaming PC with a i7-8700k I'd like to run some hc instances on that as well, in order to help performance
Don't run HC on remote machines
the higher the ping the worse.
And if you play on the server anyway. You yourself can be the client. No need to run an extra HC
just transfer some AI to your machine.
Server and client are both local, connected with a Gbit switch
But I guess I could try that
I would really like to play some more liberation with my friends but having to play on 15 fps just destroys the mood
So I thought maybe I can help it with that
I figured it must be the server fps that's fucked up because everyone has crappy performance
You could actually just check server fps
instead of guessing
and bad server fps doesn't cause bad client fps
does somebody know how do I put all AI into the headless client?
If you know nothing about headless clients itโs probably best to start with ACEX or some of the other headless client managers
ok, thanks
My HC won't collect AI, i use the ACEX Module, HC connect succesful and join his Slot but as far, when the Mission is loaded, the HC loose his slot but is still connected and visible.
2018/03/30, 1:09:19 [ACEX] (headless) INFO: Removed HC: hc1```
That's all what the log says, as i already say, the HC is still connected. Maybe someone can give me a hint.
Ok additional Infos, this only happens for the External HC, hosted on an other mashine. Ports are open and connections are fine
Is HC whitelisted etc?
Yes all IPs from the other mashine are whitelisted
Hey anyone have any experience testing performance/network bandwidth cost comparison between having AI on the mission.sqm and using setowner/ACEX HC module VS. locally spawned AI via a script only on the HC machine?
transfering AI from Server to HC or not transfering AI from Server to HC.
Seems quite obvious which one requires more network traffic
HC should be local anyway. So network cost shouldn't matter. And you only do it once anyway
Setowner from Server to HC compared to locally spawning the AI after init
one tanks server after init, one tanks network slightly when moving but also supports moving AI during the whole game
so it's up to you what you use, or combined
If AI spawned only on local HC machine, it affects Server performance more than spawning directly on server through mission.sqm and then setowner to HC'ing?
I don't think so, it's spawned either way
Does Information gets broadcast about spawned AI regardless of which client/server has locality? Or does that info stay local and only frontend info get broadcast?
@unkempt quest Liberation actually tells you the server and HC FPS, if it's 30-50FPS it's decent
With 150% AI on I've had it dip to 20-30 with 2 HCs though
its 50 and everyone has 15 fps
Then it's not the server or HCs
It's potentially the mods you're using, maybe a fucked model or bad clientside scripts in one
@lucid pelican information about AI has to go to clients either way, I am not sure what you mean with "frontend info"?
Does all information about AI go to all clients or is limited to necessary information/ network optimized?
necessary
everyone knows who exists
but people that are far away get fewer position updates
And I assume clients arent getting the particular backend info used by the local client doing the AI processing?
Isn't that the whole point of headless client and why we want to offload the AI from the server to a HC?
The point is not bogging the server down with AI processing
Windows suffers the same fate at time
Hey guys, can anyone help me a little with Headlessclients? I can't seem to get them to choose their slots, I placed 2 HeadlessClient Logics in the Editor, named them HC1 and HC2. When I upload the mission onto the server afterwards, the headlessclients don't choose their slots for some reason. IPs are correct, the same headless clients work on another mission.
Yes. Server.cfg is correct. In a different mission the HC's correct and work just fine.
Yes the HC logics are set to playable. No the HC's are not missing mods.
I'm out of ideas on that currently.
Is there a way to tell in script when a hc is "overloaded" in the sense that the server should be taking some of the load too?
Oh. Lol. That works
Anyone willing to help me setup HC settings for my server?
There are a couple thousand people in here. I'm sure if you ask a specific question you'll get an answer
just somebody told me, ACEX HC will NOT collect AI from Zeus spawned Client. So maybe I have to get another way to get also my Zeus AI into my 4 HCs. Is there a standard function I could use?
That somebody told you wrong. As already found out yesterday in that same chat
I don't notice or remember about this information.
My problem is solved. thanks dedmen.
That's why ACEX HC was made -.-
someone knows how to retrieve the current fps from an hc?
though about diag_fps but that won't work since it's triggered on my machine
remoteExec diag_fps
guys, any idea what this does mean? :
HC1/BIS_fnc_log: [module] BIS_fnc_moduleCurator
my zeus stop working after i add the HC
Hello all. I am trying to run a Headless Client (different box) for my local ARMA3 server. I followed the instruction in the following YouTube video: https://www.youtube.com/watch?v=UQfMhFfs5yQ However, I keep getting "Steam Authentication Failed." I am running BattlEye (BE) and it is running find. I am using TADST to control my server. Any help is greatly appreciated!!!
HC doesn't need steam auth
nor is it running battleye
Sounds like you forgot the server.cfg part
Dedmen, this is the error that I get on the HC box. http://i361.photobucket.com/albums/oo54/pcubillos/ARMA3/HC Pic 1.jpg
As far as the server.cfg, if I am using TADST, doesn't that override the server.cfg?
if it does then that's your issue
the HC's IP needs to be entered in the server.cfg like shown in the video
So here is my TADST configuration for the server, showing the HCs IP's . http://i361.photobucket.com/albums/oo54/pcubillos/ARMA3/TADST PG1.jpg
I will add to the server.cfg just in case...
@heavy tiger So, strange enough, I do not have a server.cfg file. Apparently TADST uses it's own version of a cfg file to start the game. It runs the server fine without issue. I looked in that .cfg and the headless client information is definitely in there similar to the video. Can you please tell me where I can get a sample server.cfg file (along with instructions) so I can try to start the server in that method? Maybe TADST is not working properly
Here's my set up.
alive_launcher.cmd
@Echo off
cmd /c start C:\armaserver\alive\arma3server_x64.exe -config=alive.cfg -port=2602 -world=empty -mod=mods/@cba_a3;mods/@ace;mods/@acex %*
Server shortcut
C:\armaserver\alive\alive_launcher.cmd -filePatching -name=alive -bandwidthAlg=2 -bepath=C:\armaserver\alive\battleye
HC shortcut
C:\armaserver\alive\alive_launcher.cmd -client -connect=127.0.0.1 -password=
Thank you!!
Is there a way to make headless client utilize MPMissionsCache rather than download the mission file into memory every time a server and HC restarts?
I'd like the headless client to join, initialize and get to work a little sooner at mission start the first time server and hc run.
If I restart the same mission then the HC joins, slots and get to work a lot faster as if the mission is already cached somewhere on HC... probably memory due to server startup parameter -loadMissionToMemory?
If I join a dedi as a human player and the mission version is the same bit for bit as the last time I joined because its already in MPMissionsCache then the mission can begin very fast after slotting. Why can't this be the case for HC player or can it?
Just copy the mission into the mpmissions folder. That only applies if ur HC is not on the same machine as ur server. If it is... u dont have to do anything.
Local HC does not need to download the missions files... why would it.
The headlessclients mission cache is not the mpmission folder though
@ivory warren The HC is on same machine/same install as server and does not read mission file from mpmissions only servers read from there. It downloads the mission from server locally and holds it in ram instead of MPMissionsCache like all other clients do which is what i want. This way I won't have to start the mission twice, Once to load it into HC's memory and then again so that it is already in memory/virtual cache and can start mission faster then the first time.. Thats why it think it should load/read a hard copy of mission into MPMissionsCache. If there is no current method to make this happen then maybe there should be a HC startup parameter " -loadmissionfrommpmissionscache" to make the headlessclient create a MPMissionsCache folder and load form there as long as it is the same bit for bit as the mission version in server. Like when a player joins a server for the second time he does not have to download the mission again because the mission has not been updated.
I do not see the issue how it is today. You start the server. HC connects and load. Profits.. why do you need to restart.. ?
So that the mission file can load from memory and skip receiving mission file after sloting (hour glass on his name durring this time) thus start running code sooner.
it joins immidately after the mission is loaded and then loads it, takes seconds for us, but i guess those seconds is very then... out of my league then.
it makes sense to have HC always load the mission from server, prevents versioning issues from developing
and in almost all cases, it's extremely fast
Why would there ever be any versioning issues? I've never experiened any as an interfaced client. If the mission is different or new then it downloads.
That is because mission makers are ensuring the version ID gets increased, if they don't get that right then things can get messy fast.
What is Version ID exactly. Do you mean there is a way that server and client can have different mission file after client loads into mission? If so how do you replicate this?
@urban juniper
If this was possible it could be a huge secutiry flaw..
Missions have a version, if they are the same mission name but the version is identical it wont download the update, at least that is how it has worked for years and years who knows if the potential hole has been plugged with checksums by now (I doubt it).
never had a missfire so far.. So I guess they have checksums
where is the "version" even stored?
Description.ext I think. Can't say I have been the one updating our missions for ages but I know we need to change the version in 3 places, 2 are visual and one is so the clients download it.
description.ext doesn't exist by default. And I never saw a version in there nor on the wiki
sounds like it may be a custom thing. Never seen a version either or how it would work. Wiki doesn't say anything either
@dry tangle Common usually implies that it exists more than once to at least count as uncommon :^]
๐
As far as I know BI is using checksums. So I don't even know how you could additionally add "version" to your mission to disable the checksum check
๐คท
@heavy tiger @dry tangle Gents, I figured I would give you guys an update since you both helped me last week. I finally was able to have the HC connect to the server even using TADST. Turns out that becuase I am running both the server and the HC client in my own home on my network, the HC startup config had to point to my internal IP and not the external IP. Other than that everything work great after that change. Thank you both for your help!!!
got a question
Which?
if i'm using HC to spawn AI, and i want to use Vcom AI 3 which is server side mod
do i need to load this mod with HC?
yes
and how i would do that? in -mod?
will give no errors since i'm not accepting this mod in the server?
Exactly same as on clients or servers
or the server dont care what mods HC uses?
I don't know.
xD
seems like HC have no problems with keys
anyway to work withing HC and skipLobby=1; ?
fyi Headless clients are excluded from signature verification, therefore any mod can be used with the "-mod=" option. https://community.bistudio.com/wiki/Arma_3_Headless_Client#Mods
yep, thanks, already noticed
how do i use HC by server side addon?
i'm doing like this
// fn_preInit.sqf
if (hasInterface) exitWith {};
if (isServer) then {
// some codes
if !(useHC) then {
[] call SND_fnc_StartMission; // NO HC
};
};
if !(isDedicated and {useHC}) then {
[] call SND_fnc_StartMission; // HC
};
but not working
i read a example from A3XAI HC configuration
!(isDedicated and {useHC}) where did you get that from?
the useHC variable does nothing in there. HC's are being used even if useHC is false
and that makes the code also run on the server
doesn't make any sense at all... Why are you exeucting the same code for // NO HC and // HC?
Shouldn't NO HC do something different than the HC?
i want to execute ai spawner in HC but if there is not hc so execute it in server
preInit probably runs before the HC is ready
so the server can't even know at that point
ok, i was using postInit
but was like not working, so i take a3xai code and read, they do like that
so i change it but stil not working xD
will try again with postInit
Well. This addon is no longer actively developed or supported in any way. Everything below this section is from the original Readme. This was the last and final release of A3XAI for A3 running the Exile mod and was never released to the public. There is absolutely no guarantee that this version of A3XAI is bug or issue-free, especially after a year of non-development.
Doesn't sound that good.
there is some infos, but no one for server side addon
Well.. I see the server side addon installation guide right there
i wont install A3XAI xD
i take it to see how to make HC work from Server side with addons
you just start mods via -mod just like on the client
why u said that this is wrrong
if !(isDedicated and {useHC}) then {
I said why. Right ... Right in the sentence where I said what's wrong with that
the useHC variable does nothing in there. HC's are being used even if useHC is false
but why? xD
Because boolean expressions
ahh dam, got it
on server without HC if !(true and false) -> if !false -> if true
Just write what you are thinking instead of making up stuff
yes got it, so =
if (!isDedicated and {useHC}) then {
yeah. Just write it how you are thinking
why are you using something so complicated if you just want to check how to load mods on a HC?
i want to load my AI spawner into HC from @myAddon in server side
it works good with dedicated server, but i want to add the possibility of using HC
if (hasInterface) exitWith {}; //No clients
if (isServer && !useHC) then {
[] call SND_fnc_StartMission; // NO HC
};
if (!isServer && useHC) then {
[] call SND_fnc_StartMission; // HC
};
ok, will try
where does the useHC variable come from?
and that executes before your script that runs StartMission?
yes
how do you know it's not working?
well... Then just look why it's not working
add logging to your script and check what happens
well, the var useHC it's loaded in preInit
so it's supoossed to be declared befor postInit huh?
ye
ok, lets check
๐คท ๐ซ
i'm getting frustrated
will do some yoga, and i came back to try hard again xD
@high thicket ๐ซ ๐ฎ
๐ฉ
not even working with
if (!isServer) then {
[] call SND_fnc_StartMission; // HC
};
Have you checked to make sure your HC is actually connecting to the server?
If you want to run scripts on the HC, without remoteExec, they need to be local to the HC, so they need to be in the missionfile or they need to be loaded from a mod.
If you simply want to move ai from being on the server to the headless client then there are separate scripts for that as well.
Sorry if I asked about or mentioned something that was already addressed.
yes
let's try again
/* CLIENT SIDE myMission.world.pbo*/
// init.sqf
waitUntil { time > 60; }; // 100% HC1 loaded
hc1Present = if (isNil "HC1") then { false } else { true }; // tested = true
publicVariableServer "hc1Present";
/* SERVER SIDE @myAddon/Addons/myAddon.pbo */
// config.cpp
class CfgFunctions
{
...
...
class postInit
{
postInit = 1;
};
}
/* SERVER SIDE @myAddon/Addons/myAddon.pbo */
// fn_postInit.sqf
if (hasInterface) exitWith {};
[] spawn {
waitUntil { !isNil "hc1Present"; };
if (!isServer) then {
[] call Xxx_fnc_startMission;
} else {
if (isServer) then {
[] call Xxx_fnc_startMission;
};
};
};
not working, it's always from server
if (!isServer) then {
[] call Xxx_fnc_startMission;
} else {
if (isServer) then {
[] call Xxx_fnc_startMission;
};
};
The second if (isServer) doesn't make sense. Because !!isServer == isServer.
Is that addon running on HC and server?
waitUntil { !isNil "hc1Present"; }; will never work if there is no hc at all.
if (isNil "HC1") then { false } else { true } That's dumb. That's equal to !isNil "HC1"
what does working mean? fnc_startMission runs on server but not on HC?
yes
does the script even run at all on the HC?
nope, it never runs on HC
I asked before Is that addon running on HC and server? So I guess only on server is the answer to that?
How is the script supposed to run on the HC if the script doesn't run on the HC?
yes, only on server
How is that supposed to work then?
How should it run on the HC if the HC doesn't even know that it exists
ok, let's say i run the addon also in HC
but will not work, it's not joining in the block for HC
if (!isServer) then {
[] call Xxx_fnc_startMission;
}
that it's supossed to run in HC
wait, i'm starting to understand what u mean
so how i solve that
i do run de Addon in HC
you load it.. like any other addon
then i say if (!h1present) then { exec....}
in server i mean
nope
how the hell i solve that logic xD
i want to run the addon with or without HC
then i load the addon in bot
if i do
if (hc1Present) then {
exec ASD...
} else {
exec ASD...
}
but this will make it run in both
omg, i'm crashing xD
i'm trying to understand what do you mean with: move it over it
what if i do that:
// loaded in preInit
runningOnHC = false;
publicVariable "runningOnHC";
if (hasInterface) exitWith {};
[] spawn {
waitUntil { !isNil "hc1Present"; }; // this wait the variable get defined true or false does not matter
if (!isServer) then {
[] call SND_fnc_StartMission;
runningOnHC = true;
publicVariable "runningOnHC";
}
if (!runningOnHC) then {
[] call SND_fnc_StartMission;
};
};
What is fnc_StartMission doing?
check inside there if there is a HC. And if there is a HC and you aren't the HC. Then remoteExec to the HC and tell it to execute the logic of fnc_StartMission and exit yourself.
but this will allow only execute in HC huh?
What? Don't understand
let me read again and try to understand xD
ahh ok
finally! made it work
but with the public variable
Good! Now very carefully step away and don't ever touch it again ๐
haha
now a new error pops, but that's a different thing, it's a scripting thing
hc can handle other things than spawning ai?
like creating triggers, markers, task...?
everything that the server or any other client could do
the HC is just a "normal" client
hmm, well there is anew error that never happen in server xD
15:05:10 " :::::::::::::::::::::::::::::::::::::::::::::::::::::: "
15:05:10 " :: Seek and Destroy (Server): AI Spawwned: 177 units :: "
15:05:10 " :::::::::::::::::::::::::::::::::::::::::::::::::::::: "
15:05:10 " :::::::::::::::::::::::::::::::::::::::::::::: "
15:05:10 " :: Seek and Destroy (Server): Creating Task :: "
15:05:10 " :::::::::::::::::::::::::::::::::::::::::::::: "
15:05:11 " :::::::::::::::::::::::::::::::::::::::::::::::: "
15:05:11 " :: Seek and Destroy (Server): Creating Marker :: "
15:05:11 " :::::::::::::::::::::::::::::::::::::::::::::::: "
15:05:11 " ::::::::::::::::::::::::::::::::::::::::::::::::: "
15:05:11 " :: Seek and Destroy (Server): Creating Trigger :: "
15:05:11 " ::::::::::::::::::::::::::::::::::::::::::::::::: "
15:05:13 Error in expression <VCM_ARTYDELAY) < time && {count (units (group _NearestEnemy)) > 2}>
15:05:13 Error position: <group _NearestEnemy)) > 2}>
15:05:13 Error group: Type Array, expected Object
you have some logic problem if a variable that should contain a single object can contain an array
ehm, i did remove the [] spawn and the error is not there anymore
๐คท
seems like a timing or idk
yep, all working good
@heavy tiger thanks mate
AI Spawwned: 177 units :: " -> Spawned*
yes, i just noticed xD
it's running in server and hc ๐
but u saying about the word :p
fixed again
btw, why HC read publicVariableServer?
it was supossed to be only for server
correct. The HC shouldn't get that
Excuse me, but I'm having an issue with my Headless client connecting to my server
1:49:04 > You were kicked off the game. Steam authentication failed.```
This is on a Linux sever running Ubuntu 18.04 LTS
This is also using the LinuxGSM tool
@lean reef just to be sure make sure of full relogin/restart of steam client, game client and game server
issue with steam tickets can 'lasts' aka once it expires/goes invalid it stays that way until full relogin (re-authentificated)
How would I do that with LinuxGSM
1st you do it on the client, where the Arma 3 game client runs so ignore the linux game server manager part, if that fails then you restart the server (process exit and start)
got it
@trim socket I'm using SteamCMD how do I start the steam client for my HC if I don't have the full game installed?
Arma 3 HC doesn't need steam client because it's part of arma3server binary