Jump to content
Dwarden

Dedicated Client / Headless Client feedback (dev branch)

Recommended Posts

Can the Headless Client handle player information (position,...)?

Player slots West 1-50 HC 1

Player slots East 1-50 HC 2

What, like player processing and distributing new positions, etc? No. HC is just another player that you can tell to execute a little bit more than other players. That's how you should see it.

Share this post


Link to post
Share on other sites

I would link you to each of the resources but I'm not allowed to yet apparently due to being a new member :)

Thanks but no need m8 I have read them all :) which doesn't mean I understood them !

I did a lot of messing with the HC myself before this update to the HC so I was curious if any of the things which where most annoying had altered.

Suppose I should do some testing now :)

Share this post


Link to post
Share on other sites

Tried this for the last few devbranch updates with the same outcome - can't get the headless client to pick its special role, can't even assign to an arbitrary role to get it in game to test anything else.

Loading a mission with a HeadlessClient_F object results in this being logged to the server rpt:

Exe timestamp: 2014/10/08 00:00:27
...

Type: Public
Branch: Development
Version: 1.33.127639

...

2014/10/08, 16:02:21 Unrecognized PlayerRole target side: 7, index: 3

Connecting a headless client results in this server rpt message:

2014/10/08, 16:09:57 Warning: Network server received wrong index from client (player role)

or even:

2014/10/08, 16:11:20 Received 128, expected bool
2014/10/08, 16:11:20 Unexpected message data (message struct NetworkMessagePlayerRole, item leader)
2014/10/08, 16:11:20 Before (0x00000000): 11 00 00 00 00 04 d1 95 9a 03 90 9f be 90 01 c4 ed db 12 00 00
2014/10/08, 16:11:20 Current (0x00000015): 80

The rest of the functionality seems to be working - the server appropriately detects it, e.g. id=HC392, normal clients show/hide it as described.

Indeed, the rest of the working functionality includes being unable to manually assign headless clients to arbitrary roles which brings me onto a request - include some way of re-enabling that "assign-anywhere" behaviour.

I use the headless client for more than just AI hosting, e.g. as part of testing JIP or locality without needing to start more than one "main" copy of A3.

Recently I made some changes to RscDisplayMultiplayerSetup and headless clients were invaluable for quickly testing that thanks to being able to just drag them to whatever roles I wanted (and the faster start up time, lower resource requirements etc).

Share this post


Link to post
Share on other sites

i ve tried it, just have to put the game logic instead of the civil and it works like a charm...

No more need to kick the HC by battleye (bad script if he is not civil). Always connect to the right slot.

Share this post


Link to post
Share on other sites
I've very nice news about headless client (HC) which is variant of dedicated client for server use

we will be rolling out soon (days) new test version for both linux and windows

- no more steamclient nor steam account with game ownership needed for HC

- HC needs only steam dedicated server binary and set of commandline params

- auto-connection recognize & detection of HC by server (server needs some config to allow that)

- multiple HC per server are supported

- HC can be primary used to offload AI work and secondary for some script jobs

- logic for mission & scripting operations with HC introduced

- HC are autoassigned to slots

- HC are not visible to players

- HC are visible to admins

- HC isn't counted against playercount in server list

today's DEV:

•Added: Enable new headless client implementation - see https://community.bistudio.com/wiki/Arma_3_Headless_Client for more details

note: known limitation, no BE support yet

note: what needs to be somewhat tested/determined/improved/changed is disconnect & reconnect of HC and all related to that

post bugs, feedback and ideas below

Dwarden, Will the HC be useful in PvP only Arma Koth maps? :confused:

Share this post


Link to post
Share on other sites
Dwarden, Will the HC be useful in PvP only Arma Koth maps? :confused:

hardly, unless you will need offload some extensive scripting

Share this post


Link to post
Share on other sites

I'm getting the same as dslyecxi:

I've got the HC entity in the mission, HC connects to the server but does not pick a role. Plus, I can't see the side available to it in the left hand column.

From server .rpt:

Server error: Player without identity hc1 (id 791045226)
Received 128, expected bool
Unexpected message data (message struct NetworkMessagePlayerRole, item leader)
Before (0x00000000): 11 00 00 00 00 0c 91 dd de 0d f0 a2 89 e8 01 cc e5 f3 04 00 00
Current (0x00000015): 80

Retry:

Initializing Steam server - Game Port: 2302, Steam Query Port: 2303
Connected to Steam servers
Server error: Player without identity hc1 (id 213062516)
Received 128, expected bool
Unexpected message data (message struct NetworkMessagePlayerRole, item leader)
Before (0x00000000): 11 00 00 00 00 0c 91 dd aa 07 c0 a2 87 e8 01 8c ea a3 0e 00 00
Current (0x00000015): 80

Nothing in HC .rpt.

Share this post


Link to post
Share on other sites
Would be great a steam launcher for HC, an example mission with bis standard to use like base for HC.

Thanks!!!

Yes, would be fine, an example mission, and a tool to create the aispawn script, for editor missions.

Share this post


Link to post
Share on other sites
Tried this for the last few devbranch updates with the same outcome - can't get the headless client to pick its special role, can't even assign to an arbitrary role to get it in game to test anything else.

Hi, I thought I'd try your test mission and it didn't really work for me either. I'm still getting some error , but there's none of the Before and Current lines that I had on my own mission:

Initializing Steam server - Game Port: 2302, Steam Query Port: 2303
Connected to Steam servers
Unrecognized PlayerRole target side: 7, index: 3
Server error: Player without identity hc1 (id 1648894586)
Unrecognized PlayerRole target side: 7, index: 3.

However, HC assigns to player role and when deselected, won't allow you to drag it into Virtual role

Here is your test mission at the selection screen. (Note players 2/2)

hc.jpg

Can't assign to HC role

hc2.jpg

Share this post


Link to post
Share on other sites

Here's what tripped me up: with the changes on devbranch, the HC virtual units have to be named (i.e. text="blah"; in mission.sqm) identically to the profile names used.

Sometimes I've seen it get autoassigned to a normal slot (possibly as a result of using joinUnassigned in the description.ext), but I'd write that down to a glitch than intended functionality.

The reason this tripped me up is that, aside from making simple repro missions back in 2012, I've not needed to rely on naming units, so this step becoming mandatory was unexpected.

Requiring 1:1 on unit names and profile names is going to be a pain for community missions since the naming scheme used by mission makers will have to be matched by server admins, instead of e.g. having the headless clients automatically take the first available virtual role.

Share this post


Link to post
Share on other sites

Can we have the number of Headless clients as launch param for the server.exe hc=3; for example without the need to include HC in the mission and assign slots? Give them fixed global names and add allUnitsHC maybe (not necessary with global names.)

Share this post


Link to post
Share on other sites

Hi, I got you were kicked from the game :( when HC tries to join server. Any help ? < NVM

got it to work but now has the same issue as post above. HC does not want to join "Virtual entity" and can't be assign by admin. <NVM

got it to work.

My headless client name (in editor) is: DCSlot

In the init of (virtual entity - named DCSlot) I added: if (profileName == 'DCSlot') then {selectPlayer this};

profile name for headless client (player) is: DCSlot

my startup line for headless client is: Arma3Server.exe" -client -connect=192.168.1.10 -name=DCSlot

regards

pawel

Edited by PawelKPL

Share this post


Link to post
Share on other sites

Thanks for the tip - It works now if I'm logged in as admin before the hc joins with your code in the hc initline. If I start the server and join the hc before I'm logged in then it assigns itself to a player.

Share this post


Link to post
Share on other sites
Thanks for the tip - It works now if I'm logged in as admin before the hc joins with your code in the hc initline. If I start the server and join the hc before I'm logged in then it assigns itself to a player.

yes, you must join game and log as admin first (if you not logged as admin you can't even see HC slot) than start HC and let him join.

Edited by PawelKPL

Share this post


Link to post
Share on other sites

These errors are always present in hc.rpt:

Warning: no type entry inside class RscDisplayNotFreeze/controlsBackground/CA_Black_Back3 
Warning: no type entry inside class RscDisplayNotFreeze/controlsBackground/LoadingPic 
Warning: no type entry inside class RscDisplayNotFreeze/controlsBackground/CA_Black_Back3 
Warning: no type entry inside class RscDisplayNotFreeze/controlsBackground/LoadingPic 
Warning: no type entry inside class RscDisplayNotFreeze/controlsBackground/CA_Black_Back3 
Warning: no type entry inside class RscDisplayNotFreeze/controlsBackground/LoadingPic 
Error in expression <tOxygenRemaining player; 

BIS_SuffCC ppEffectAdjust [1,1,0,[0.0090>
 Error position: <BIS_SuffCC ppEffectAdjust [1,1,0,[0.0090>
 Error Undefined variable in expression: bis_suffcc

Share this post


Link to post
Share on other sites

Also, units are messed up if transferring from server to HC.

I'm aware they lose synchronisation and waypoints, so this is what I tried:

1 - Spawn on the server, add equipment and set skills.

2 - Transfer to HC via setOwner (verified that HC is connected and ready).

3 - Add waypoints to the units. Waypoints are generated on the server (this should be okay as args and effects are global).

The units stand there doing nothing - they don't even react when you walk up to them and shoot them. I will make a ticket on FT and have made a repro mission for you.

Here is a video of the problem. You notice the units receive the waypoints and shout some orders and shuffle a bit but then nothing.

EDIT:

FT TICKET AND REPRO: http://feedback.arma3.com/view.php?id=21192

Also, if it is useful, here is rpt output of various things. This rpt is from a HC so you can see groups owned by it has the waypoints and properties, but has not assigned a WP (currentWaypoint = 0) - I did also try setCurrentWaypoint when setting the WP's but nothing changed.

"========="
"HC.SQF" - GROUP: O Alpha 1-2"
"HC.SQF" - LOCAL GROUP: false"
"HC.SQF" - WAYPOINTS GROUP: [[O Alpha 1-2,0],[O Alpha 1-2,1],[O Alpha 1-2,2],[O Alpha 1-2,3],[O Alpha 1-2,4],[O Alpha 1-2,5],[O Alpha 1-2,6],[O Alpha 1-2,7]]"
"HC.SQF" - CURRENT WAYPOINT GROUP: 0"
"HC.SQF" - COMBAT MODE GROUP: YELLOW"
"HC.SQF" - LEADER GROUP: O Alpha 1-2:1"
"HC.SQF" - BEHAVIOUR LEADER: AWARE"
"HC.SQF" - TARG LEAD: [[17291.4,10806.7,1.32227],"Horde_O_GunmanU_MX_F",EAST,-9.99999e+006,O Alpha 1-2:4,0]"
"HC.SQF" - TARG LEAD: [[17291.4,10806.8,1.29184],"Horde_O_GunmanU_Katiba_F",EAST,-9.99999e+006,O Alpha 1-2:3,0]"
"HC.SQF" - TARG LEAD: [[17291.4,10806.8,1.2918],"Horde_O_Gunman_Mk20_GL_F",EAST,-9.99999e+006,O Alpha 1-2:2,0]"
"HC.SQF" - SIDE GROUP: EAST"
"HC.SQF" - COUNT GROUP: 4"
"- - - -"
"HC.SQF" - UNIT: O Alpha 1-2:1"
"HC.SQF" - TYPE: Horde_O_GunmanU_SMG_02_F"
"HC.SQF" - LOCAL: true"
"HC.SQF" - VEHICLE: O Alpha 1-2:1"
"- - - -"
"HC.SQF" - UNIT: O Alpha 1-2:2"
"HC.SQF" - TYPE: Horde_O_Gunman_Mk20_GL_F"
"HC.SQF" - LOCAL: true"
"HC.SQF" - VEHICLE: O Alpha 1-2:2"
"- - - -"
"HC.SQF" - UNIT: O Alpha 1-2:3"
"HC.SQF" - TYPE: Horde_O_GunmanU_Katiba_F"
"HC.SQF" - LOCAL: true"
"HC.SQF" - VEHICLE: O Alpha 1-2:3"
"- - - -"
"HC.SQF" - UNIT: O Alpha 1-2:4"
"HC.SQF" - TYPE: Horde_O_GunmanU_MX_F"
"HC.SQF" - LOCAL: true"
"HC.SQF" - VEHICLE: O Alpha 1-2:4"
"- - - -"
"========="

Edited by Das Attorney

Share this post


Link to post
Share on other sites

Anyone find a way to transfer AI behavior scripts (ie UPSMON, VCOMAI) to HC once sqm to sqf is completed and moved to HC? I have been trying to do this for some time with no luck. Now that HC is coming around again I thought I would ask. I am sure using a server mod/addon would work?? assume it would. But would rather use the other 2 scripts.

If I understand correctly, the AI units once moved to sqf will only have waypoints transferred. Is that correct? Does that include vehicles?

thanks for any input. Please give info on what you guys do as well for AI behavior stuff.

Edited by JAndrews1

Share this post


Link to post
Share on other sites
Spawn them directly on HC with waypoint on HC ...

Thanks for suggestion but I don't want to. It doesn't suit my purposes.

Share this post


Link to post
Share on other sites

Is there a reason why this doesn't work with current development branch?

--EDIT--

Nevermind only doesn't work in dedicated server package.

Edited by LouD

Share this post


Link to post
Share on other sites

Is it just me, or did they remove the Virtual Entity "Headless Client" from the editor?

Share this post


Link to post
Share on other sites

I was wondering if the need for the user to setup HC and mission makers to customise their missions for it couldn't be eliminated, so that everyone can benefit from it?

Wouldn't it be possible to just have a launch parameter to make ArmA3 automatically spawn a HC process (i.e. -hc ) and then, at the start of each mission, have Arma3 check whether the HC is running and if so, intelligently offload some of the work to it, without the mission designer having to customise his missions for HC?

That way, those with spare cores could get a bit more performance when playing SP or LAN missions without having to do anything complicated or look for specific missions and MP servers could benefit in the same way.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×