Jump to content

Recommended Posts

Werthles' Headless Module (now v2.0!)

 

Fully configurable module to give headless clients control of editor/script/Zeus AI.

 

-->TUTORIAL VIDEO - CLICK HERE<--

 

3CACE16516F39D961B4B401A4DE9816FA0456D7B

0118238E92985950B3DEA80194D80619F7E35290FB786BB469D06C0DAC5832A5E651D7BAFBC4ED19

02EF25BBC1CA8AAF5DB49FCFB77CCE7F44470C6B

 

Albert is the name of my headless client...

 

Downloads:

http://steamcommunity.com/sharedfiles/filedetails/?id=510031102

http://www.armaholic.com/page.php?id=29455

 

Main features:

  • Easy way to create headless client missions
  • HC Setup and Ignore modules
  • Editor/script/Zeus AIs auto-transferred to HC control
  • AI waypoints/scripts/trigger syncs preserved
  • Splits AIs evenly among multiple HCs
  • 3D Debug Mode
 

 

How To Use:

  1. Download the mod and launch Arma 3 with the mod.
  2. Edit your mission, adding a WH Setup Module, found under "Headless Modules".
  3. Configure the parameters as appropriate for your mission. Add an "Ignore" module if required.
  4. Add playable, uniquely named, headless clients.
  5. Save your mission as a multiplayer mission.
  6. Set up your server and headless clients
  7. Play your mission!

Players, HCs and the server need to run the WHM mod in order to play.

 

Part 3 of this guide is how I set up dedicated servers and headless clients:

Werthles Headless Kit Guide http://steamcommunity.com/sharedfiles/filedetails/?id=459917508

 

 

Setup Module Parameters:

  • Headless clients to be used
  • Repeating checks for spawned AI
  • Time to wait between repeats
  • 3D debug mode for all or just admins
  • Balance the number of AI units on each HC, and rebalance when uneven
  • Delay between module activation and HC setup starting
  • Time between each HC transfer, to aid stability
  • Initial setup report
  • Phrases the module should ignore when checking AI for the HC (can be whole/part unit names/group names/unit type/synced module name)

If certain units need to remain controlled by (local to) the server, simply sync these units to an ignore module.

 

Compatibility

 

When combining with mods that require setup time, try increasing the WHM startup delay or activate the module on a trigger, so WHM setup starts afterwards.

 

ALiVE Compatibility

 

ALiVE Profiles:

  • Attach "WH Setup Module" to a radio trigger (or similar solution), then activate once in game (else profiles do not load or save correctly).

 

ALiVE Support Modules:
  • Give the group a distinct callsign, then add this to the list of units to ignore within the "WH Setup Module".

Please let me know if you find an issue with this and any mods. I will list any issues found here. I would like to make this compatible with as many mods as possible!

 

Headless Client Tips:
  • Headless Clients must be set as playable and have a unique name.
  • HCs cannot connect to client internet multiplayer servers, only local servers or dedicated servers. This is because IPs cannot be whitelisted with these servers.
  • HCs can only connect to servers which are passworded.
  • WHM will change the locality of the AI being transferred to HCs. This can interfere with some scripts. If it does, you can use the "Ignore" module to stop WHM from giving the HC control of individual groups. See: http://killzonekid.com/arma-scripting-tutorials-locality/

 

Links For Scripted Version:

 

Please let me know if there are any problems/things that could be improved, and I'll get to work on it!

 

I'd also love to see this in action. Please link me if you have screenshots/videos!

  • Like 4

Share this post


Link to post
Share on other sites

I have a quick question: I already have a mission with the script version. Should I anticipate any issue if the addon version is loaded on the server (but I don't add the module on my mission, just keep the script version) ?

 

Thx !! 

Share this post


Link to post
Share on other sites

I have a quick question: I already have a mission with the script version. Should I anticipate any issue if the addon version is loaded on the server (but I don't add the module on my mission, just keep the script version) ?

 

Thx !! 

 

Hey 1212. The script version shouldn't try to call on anything from the mod, so I can't see this being an issue.

 

But yes, don't have an activated WH Setup Module and the script version running together, as they will try to fight each other!

Share this post


Link to post
Share on other sites

Hey 1212. The script version shouldn't try to call on anything from the mod, so I can't see this being an issue.

 

But yes, don't have an activated WH Setup Module and the script version running together, as they will try to fight each other!

 Ok, and do we need to run it on all clients or can we run it only on server and HC ?

 

Edit : Nevermind, I guess clients without the addon will not be able to load the mission.

Share this post


Link to post
Share on other sites

Sweet Jesus, this sounds so very promising and thought-out! Thanks for releasing your work!

 

So we can just build a mission with editor placed units, give them waypoints and/or put code in their init-boxes and they will just keep these informations after they got transferred to the HC, am I right?

  • Like 1

Share this post


Link to post
Share on other sites

Great job this looks very impressive/promising! I'll test this ASAP.

  • Like 1

Share this post


Link to post
Share on other sites

ooh..nice work looks sexay!!

 

 

When you say compatible with ALiVE what do you mean?  (other than the CAS modules you mention)

  • Like 1

Share this post


Link to post
Share on other sites

Sweet Jesus, this sounds so very promising and thought-out! Thanks for releasing your work!

 

So we can just build a mission with editor placed units, give them waypoints and/or put code in their init-boxes and they will just keep these informations after they got transferred to the HC, am I right?

 

Waypoints are preserved throughout.
 
Triggers get re-synchronised after a couple of seconds when the transfer takes place, in such a way as to not change how the waypoints occur.
 
Code in unit init lines gets executed on mission start on all machines, and on any JIP clients, which includes each HC connected, so this needs to be considered when designing scripts. I can't say that this system won't break some scripts, there may be locality issues as unit locality gets changed during setup. (http://killzonekid.com/arma-scripting-tutorials-locality/)
 
I've tried to think through everything so as many missions as possible could use it. If there's something I haven't thought of, please let me know!
 
But basically, yes :)
  • Like 2

Share this post


Link to post
Share on other sites

ooh..nice work looks sexay!!

 

 

When you say compatible with ALiVE what do you mean?  (other than the CAS modules you mention)

 

I guess I should clarify that... When in script form, people that tested this out with ALiVE said it seemed to work well other than the support modules, so I made the ignore work-around. I believe it to work with ALiVE, other than that, but I can't say I have a good enough understanding of how ALiVE goes about its business to say that for 100% sure. Would be great to work with someone to make it 100% compatible!

 

Edit: I've added an "ALiVE Compatibility" section. I haven't found any other compatibility issues other than the 2 listed there.

Edited by Werthles

Share this post


Link to post
Share on other sites

I guess I should clarify that... When in script form, people that tested this out with ALiVE said it seemed to work well other than the support modules, so I made the ignore work-around. I believe it to work with ALiVE, other than that, but I can't say I have a good enough understanding of how ALiVE goes about its business to say that for 100% sure. Would be great to work with someone to make it 100% compatible!

It would probably wouldn't work 100% with ALiVE since the profiles need to be kept on the server (Unless this mod somehow manages to do that).

Share this post


Link to post
Share on other sites

It would probably wouldn't work 100% with ALiVE since the profiles need to be kept on the server (Unless this mod somehow manages to do that).

 

Hey spyderblack723. I really can't answer this well myself. It'll probably take me a few days to do my own testing and get back to you on this. The underlying script only affects units and groups, their waypoints, and their synchronisations to triggers, waypoints and modules, so I don't know why it would interfere with that.

Share this post


Link to post
Share on other sites

Updated mod v0.1.0.1 available at withSIX. Download now by clicking:

banner-420x120.png

Hey werthles , you can upload updates or new mods to withSIX yourself now!

Make your own promo page, get the power to release your work at your own point of choosing.

To learn more, follow this guide.

  • Like 1

Share this post


Link to post
Share on other sites

When transferring a unit to HC what would happen to an editor placed module that is sync'd to it?

Share this post


Link to post
Share on other sites

HI werthless. I'm looking at the script version of this mod. Do you have plans to switch to remoteexec command instead of using BIS_fnc_MP??

Share this post


Link to post
Share on other sites

When transferring a unit to HC what would happen to an editor placed module that is sync'd to it?

 

Nothing would happen to the module as such. The module would spawn on HC just like a player client. However, if there are units synced to it, they would briefly become desynced during transfer, before being resynced. Some modules require units to be ignored by WHM (e.g. A3 Support Modules, but WHM automatically ignores these). If you find another such module, you can make it's synced units stay local to the server by giving the module an object name which includes "Ignore" (or using an ignore module etc.).

Share this post


Link to post
Share on other sites

HI werthless. I'm looking at the script version of this mod. Do you have plans to switch to remoteexec command instead of using BIS_fnc_MP??

 

According to BI's remoteExec wiki, BIS_fnc_MP is now getting it's rework with A3 1.54. I'll update this ASAP to make sure it will work after then and switch to remoteExec, as it should be slightly faster. I tested after v1.50, thinking it'd already been changed :/

Share this post


Link to post
Share on other sites

According to BI's remoteExec wiki, BIS_fnc_MP is now getting it's rework with A3 1.54. I'll update this ASAP to make sure it will work after then and switch to remoteExec, as it should be slightly faster. I tested after v1.50, thinking it'd already been changed :/

Well, I'm kind of a nervous guy and already made the switch myself. It seems to be working nicely, I can send it over to you.

I've been testing with connecting an HC in middle mission. Doesn't seem to recognize it. Is this normal?

Always asking about the scripted version.

Share this post


Link to post
Share on other sites

It would probably wouldn't work 100% with ALiVE since the profiles need to be kept on the server (Unless this mod somehow manages to do that).

 

I've run some tests. If WHM had been activated during initial mission setup, ALiVE profiling breaks (even when transfers were not yet made). However, if WHM is activated after profiles have been loaded (e.g. with a radio trigger), I saw no change in the profiling, War Room notifications or other ALiVE systems before or after WHM activation. I could easily have missed something here, please let me know if I have. I'm still keen to make it to 100%! :)

Share this post


Link to post
Share on other sites

I have problem with DAC, it should be compatible but it is not. After I add WHM and all units are moved to HC, but they don`t move. DAC take up to 1min to load, so I set in module 2min before it start moving units to HC.

 

How can I make it work, so all spawned by DAC units are in HC and still have orders to move/support etc.?

Share this post


Link to post
Share on other sites

This is too good to be true!

 

I heard we tried it over at our server, and it worked as it is supposed to. We're quite amazed...  :)

  • Like 2

Share this post


Link to post
Share on other sites

Some Feedback :

 

I've encountered some problems using WHK and WHM, so here is the list. I've made repro missions when I felt it was necessary.

You can grab the repro missions following this link : https://www.dropbox.com/s/h35k5jni3bwq4pu/repro_missions_WHK.7z?dl=0

 

Everythink was tested on vanilla dedicated server with script and addon version.

 

1/ Groups with waypoint synchronized to trigger.

When several groups got a waypoint synchronized to 1 single trigger, only one group will respect the trigger when transfered to HC (it looks like it is always the group that comes first in mission.sqm).

 

See missions :

- test_sync_trigger_vanilla_noHC.Stratis

- test_sync_trigger_WHK.Stratis

- test_sync_trigger_WHM.Stratis

Groups should not cross the airfield until the player decide it with radio triggers (see markers).

 

2/ Static Units.

For some reason, alone static units always move after transfer to HC. This is a problem when you want to place a unit at a very specific position (and facing a specific direction).

The only way to avoid that is to use disableAI "MOVE" on the unit.

 

See missions :

- test_static_pos_vanilla_noHC.Stratis

- test_static_pos_WHK.Stratis

- test_static_pos_WHM.Stratis

 

In these missions I use different ways to place the units at the proper position an make it static (see markers) :

- command : this setPos ((nearestBuilding this) buildingPos 2);

- editor elevation dialog box

- sentry waypoint at spawn position

The only units that don't move after transfer to HC are to ones with this disableAI "MOVE".

 

3/ Initial transfer report.

It looks like it's not working anymore with the module version (works perfect with the script version).

 

Keep up the good work !

Share this post


Link to post
Share on other sites

2 questions....

 

1. Now that ALiVE has full HC compatibility included in the mod, how does that affect using it with your mod?

 

2. I use Tophe's Dedicated Server Tool.  It has a button to click that "Enables HC" and a place to put in the IPs.  How can I use TADST in conjunction with this module?  I guess what I'm asking...is it as easy as subscribing, clicking the button on the TADST,and plopping the modules down in the editor and boom I'm done? 

Share this post


Link to post
Share on other sites

Before getting an headache trying to make it works, is your module compatible with the MCC's Gaïa artificial intelligence ?

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

×