Jump to content
Sign in to follow this  
terox

zeu_ServerSkill (Serverside AI skill setting addon with userconfig configuration)

Recommended Posts

Zeu_ServerSkill

SINGLE PLAYER or SERVER-SIDE Requirement : Latest CBA

MULTIPLAYER CLIENT-SIDE Requirement : Nothing

LATEST VERSION : v1.05 10th July 2013

NB>> Delete both the testing mission and the addon before installing this new version

Recommended Skill Matrix June 28th 2013

(Use the default setting _option=[3,3];)

  1. In a multiplayer environment, this addon runs on the server and remotely injects the required code onto the client.
  2. This addon will also work in a single player environment, the requirements are the same as for the server
  3. This addon effects
    • Editor placed A,I
    • Respawning A.I
    • A.I Created dynamically via scripts
    • Both Serverside and Clientside A.I

This may also be useful for headless clients.

There are no keys or Bisigns available for it as they are not needed. Players will not need nor should have this addon as it will have no effect unless they host a client-server

Why do you need it

Currently the Precision and Skill values in the .Arma3Profile when edited have no effect. (This is why the AI are currently so lethal on most servers)

This add-on addresses that issue and also adds more fine tuning adjustments for the following skill attributes

  • "aimingspeed"
  • "aimingaccuracy"
  • "aimingshake"
  • "spotdistance"
  • "spottime"
  • "commanding"
  • "courage"
  • "endurance"
  • "reloadSpeed"
  • "general"

Configuration is done via a file in the userconfig folder so all you need to do to change any settings, is turn the server off, edit the userconfig file and restart the server.

There is no need to break into the addon and start editing internal files

In addition to selecting your preferred skill matrix, you can also

1) Define if the client skill will also be altered, (Which is enabled by default)

2) Define if the new skill values are written to the server's .rpt file. (Disabled by default)

3) Define whether the addon is disabled or not (Enabled by default)

Test Mission

I have also included a small test mission which can be used to verify the AI skill settings for both the server AI and the client AI and the respawning effect

LINKS

:icon_arrow:Download It here

CREDITS

Big thanks to the following for their research on the skill matrix and making it available for use

  • KYUSS,
  • Pavel,
  • Valery,
  • Onkel Bo

Changelog

v1.02

  1. Added randomisation tolerances
  2. Added support for respawning A.I
  3. Added single Player support

v1.03

  1. Added support for A.I created on the fly via scripts
  2. Edited default randomisation and skill settings
  3. Further optimisation to the code

v1.04

  1. Fixed: Code error causing the addon not to run correctly

v1.05

  1. Has been slightly optimised for network traffic
  2. Has timing changes to stop any issues with variables been called upon that haven't been received over the network
  3. Has a belt and braces system for making sure all A.I are effected
  4. The test mission used to verify the installation has been edited and renamed to Zeu_Serverskill_verification.Stratis.pbo. Delete the older version
  5. The userconfig remains the same
  6. The readme has been revamped, hopefully will be easier for some tom understand the userconfig
    In addition for those that want to invest some time developing a set of values for the matrix, I have also included the mission i use to test and investigate the values
    (The docs folder has more information on this)

Please note earlier versions of the testing mission to verify installation are not compatible with this version, so please remove the following files before installing this version

  • ArmA3\MpMissions\Zeu_Serverskill_testmission.Stratis.pbo
  • ArmA3\Addons\zeu_ServerSkills.pbo

W.I.P

This is still W.I.P. fine tuning is continuous, however i am very busy at the moment .

Edited by Terox

Share this post


Link to post
Share on other sites

This looks great.

Questions:

1: This affects All AI correct? IE: from private to general they will all have the same skill/settings??

2: based on the first question is there any randomness added to the values chosen in the userconfig.hpp based on a units rank?

Edited by Lordprimate

Share this post


Link to post
Share on other sites

@ASR_AI requires clients to have it installed, this one is exclusively serverside but does influence client controled ai. This brings advantages in itself. Also asr_ai (i use it myself) is of much broader scope, despite configurable.

Share this post


Link to post
Share on other sites

Ha, I had just edited out the part about @ASR_AI right when you posted Gamma, thought it wasn't pertinent to compare the two. As a matter of fact that is why I removed it because it seemed like I was comparing them when my intent initially was to use @ASR_AI as an example in how I was already combating the issue.

Hmm, I am pretty sure @ASR_AI doesn't have to be ran on the client for the client to get the effect, when it is ran server side. I have ran @ASR_AI on my ARMA2 servers with clients not running it all the time...Only, If a mission has Recruit-able AI then, that is when the client needs to be running asr_ai or for that matter any AI mod. The main question I had though was about ai's skills relating to their rank. And doing so I gave ASR_AI as a comparison (which is obviously much broader in scope).

Now to clarify what I mean that clients "get the effect", is the AI Rearming, skill, radio net, gunshot hearing, etc all those different "things" the ai will do. Is ran on the server, clients don't need to be running it.. Only if they are recruiting AI.. At least that is my experience with it the last year.

Edited by Lordprimate

Share this post


Link to post
Share on other sites

is the ASR_AI addon for arma2 can be running for an Arma3 server ?

it runs on our Arma2 server, and so, if it would for Arma3, il will be amazing.

Meanwhile i have not tested, only because i thought the set of units were too different with Arma3 units.

Share this post


Link to post
Share on other sites

Questions:

1: This affects All AI correct? IE: from private to general they will all have the same skill/settings??

2: based on the first question is there any randomness added to the values chosen in the userconfig.hpp based on a units rank?

The userconfig has settings that define if this addon effects the clientside AI or not. In it's default state it does.

I hadn't thought about randomness, however good point,

It may be prudent of me to hold off on randomisation for a short while until there is sufficient feedback on the non randomised values to get a good overview on how good the values are and then I can start investigation how much of a random increase on each value would be suitable.

Once we have that then adding randomisation would be beneficial

Edited by Terox

Share this post


Link to post
Share on other sites
does it work for singleplayer?

Not in it's current configuration, you could open the addon up and edit the init.sqf,

Comment out the line

if ! (IsServer)exitwith{};

and it will work for single player

Edited by Terox

Share this post


Link to post
Share on other sites

Terox this is just great!

I suppose you tested it on the Zeus server so I would like to ask if you have reccomended settings to use for a good firefight, or the current userconfig defaults are the recommended ones?

Edited by Variable

Share this post


Link to post
Share on other sites

I have a question, how i should set up the zeu_serverskill and the server profile for the best result.

Right now, i am using zeus option #2 (0.35 and 1), which sounds realistic for me (in A2 days we used 0.2-0.4 for accuracy settings).

On the other side i took the old zeusAIs proposal and set the AI skill setting to 0.98500001 in the server profiles difficulty settings.

As far as i understand the whole AI settings, skill will still affect how "smart" AI will react.

Or could someone give me a detailed guide, what each of these values do?

"aimingspeed"

"aimingaccuracy"

"aimingshake"

"spotdistance"

"spottime"

"commanding"

"courage"

"endurance"

"reloadSpeed"

"general" (does this replace skill?)

Share this post


Link to post
Share on other sites

Well,it will be a very short explanation now,sry...

"aimingAccuracy" = The aiming accurracy with a rifle

"aimingShake" = A high value here:the enemies shooting like drunken men

"aimingSpeed" = How fast the enemy can spot you with the rifle

"endurance" = The enemy try to kill you in any case.Not fleeing

"spotDistance" = How long is the distance,the enemy will see you

"spotTime" = The time the enemy needs to see you

"courage" = Courage /bravery of the enemy

"reloadSpeed" = Reload speed for enemy weapons

"commanding" = How good can the teamleader commanding his group

"general" = common settings for the mission.A high value here means,that the enemy can be very tricky ;-)

BTW: High values in all cases: The enemy will win ;-)

Share this post


Link to post
Share on other sites

i thought:

"aimingShake" = A high value here:the enemies shooting like drunken men

So it is a low value here?

Basically, if i want kinda realistic but very challenging AIs, i should go up with all settings near 1 and only leave the accuracy around 0.3-0.5.

And set the Profile, difficulty ai skill near 1.

Share this post


Link to post
Share on other sites

It might be a good idea to make this a loop (maybe optional?) because in it's current form, this will not include AI spawned during the mission.

Share this post


Link to post
Share on other sites

The documents enclosed advise to use setting 3 initially and then adjust from there.

As for overwriting the missiion setskill settings. Providing these settings are defined before (time>1) which most skill scripts would do, then yes. It will not edit any AI that are scripted in at a later point.

The idea of the user config file is so you can adjust the settings to your liking.

If you are going to run with any different settings other than the matrix provides, add an additional line to the matrix code and set the option to select that one.

Share this post


Link to post
Share on other sites

Hmm, i am not so into scripts myself.

Does this mean, that zeu_Serverskill should also affect spawned Ai on most missions with most AI spawn scripts?

Share this post


Link to post
Share on other sites

Hi. It seems like it don`t work for me. Im shure that i doing something wrong, but i can`t find what is it.

Here is what i`ve done:

- Put @zeu_ServerSkill into Arma3 installation folder.

- Put zeu_ServerSkills.hpp into userconfig/zeu.

- Set all stats in option 3 at 1. (To get best possible AI skill.)

- Start Multiplayer server on my computer.

- Start Test mission with one player and one AI on lvl Regular.

And it takes about 2-3 magazines before AI can kill me from 100m.

I have ASR_AI installed. Ahh also Test Mission show that AI Skill on server is 1, and clientside id 0.6 - 1.

Share this post


Link to post
Share on other sites

@Predator.v2

Providing these settings are defined before (time>1) which most skill scripts would do

Take a look at the ai spawning script that you are interested in using and have a look see

Hi. It seems like it don`t work for me. Im shure that i doing something wrong, but i can`t find what is it.

- Set all stats in option 3 at 1. (To get best possible AI skill.)

Option 9 already has that configuration

Read the readme use the test mission provided to check that it is working

Share this post


Link to post
Share on other sites

@Variable

'I suppose you tested it on the Zeus server so I would like to ask if you have reccomended settings to use for a good firefight, or the current userconfig defaults are the recommended ones?'

case 3 is ok in the config.Higher case?Your team must be very good teamplayers ;-)

---------- Post added at 23:03 ---------- Previous post was at 22:52 ----------

Hmm, i am not so into scripts myself.

Does this mean, that zeu_Serverskill should also affect spawned Ai on most missions with most AI spawn scripts?

It can be...But depends...So if you have a skill level for the AI in your script....The addon will override it.Per default you will have the skill from the addon in your mission.

The problem is,if you have other addons for AI skill level: the last addon loaded is ruling.

Have you DAC and ASR and Zeus_Skill_addon loaded.So Zeus_Skill_addon rules,cos is the last in the loading chain.

Share this post


Link to post
Share on other sites

I am not using any other AI Skill Addons. But what about mission spawn scripts. For example if i play "Occupation 1.6" or "Stratis Insurgency" or "co40 domination" or "sides patrols op 3".

What kind of spawn script do they use?

Share this post


Link to post
Share on other sites
I am not using any other AI Skill Addons. But what about mission spawn scripts. For example if i play "Occupation 1.6" or "Stratis Insurgency" or "co40 domination" or "sides patrols op 3".

What kind of spawn script do they use?

have a look

---------- Post added at 23:41 ---------- Previous post was at 23:35 ----------

@Valery, that is not correct. The Zeu AI skills are overwrite all existing skill levels 1 second after the mission is launched, eg out of briefing.

If there are other addons or scripts running that set the skills of the AI, then depending when they set the skill level will depend on whether the zeu skills either overwrite them or are overwritten by them

To give the server admin more flexibility in this, for the next version i will add an additional parameter which sets the time delay before the skill levels are set by this addon. Then they can decide which addon has priority rule

Share this post


Link to post
Share on other sites

And Zeu AI ONLY set the skill level ONCE after one second into play?

So if you play any mission with respawning AI (for example after 10 minutes into the mission), they will be unaffected by ZEU AI and will use the default BI AI (accuracy)?

Isn't it possible in this case, to affect respawned AI too?

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
Sign in to follow this  

×