Page MenuHomeFeedback Tracker

Skill values and setSkill behave differently between dedicated server and clients
Closed, ResolvedPublic

Description

When units are created on the dedicated server they have different skill values than when created on clients (headless or not).

Additionally the result of setSkill on subskills (as observed by skillFinal) behaves differently. {F23672} {F23673} {F23674}

Details

Legacy ID
1646240459
Severity
None
Resolution
Fixed
Reproducibility
Always
Category
AI Issues
Steps To Reproduce

The attached multiplayer mission will:

  • create one unit per server and client,
  • apply a subskill modification (aimingAccuracy),
  • share the skill values over the network (skillFinal doesn't work with remote units),
  • log the results to systemChat and the RPTs.

You only need a client and a dedicated server to reproduce, but there is a second playable slot provided for you to also test headless client behaviour.

I'm using separate profiles for client and server, but both have the following AI settings in all difficulty levels of the profile:

		aiLevelPreset=3;
		skillAI=0.40000001;
		precisionAI=0.25;

All the old style skill settings from both profiles were removed by hand.

Example RPT output (with some annotations to show which is which):

"skillData dump"
[B Alpha 1-3:1,false,false,0.5,0.75,0.6] headless client, server profile
[B Alpha 1-3:1 REMOTE,true,false,0.5,0.325,0.00999999]
dedicated server, server profile
[B Alpha 1-3:1 REMOTE,false,true,0.5,0.75,0.6] // my client, my profile
"end skillData dump"

Additional Information

Expected results:

The last two values in each array (i.e. aimingAccuracy subSkill before and after adjusting) should be the same regardless of location, e.g.:

"skillData dump"
[B Alpha 1-3:1,false,false,0.5,0.325,0.00999999]
[B Alpha 1-3:1 REMOTE,true,false,0.5,0.325,0.00999999]
[B Alpha 1-3:1 REMOTE,false,true,0.5,0.325,0.00999999]
"end skillData dump"

The actual values aren't important for this bug (it's worth noting that the server values are consistent with the SP editor), they just need to agree.

Event Timeline

zx64 edited Steps To Reproduce. (Show Details)Apr 11 2014, 2:30 AM
zx64 edited Additional Information. (Show Details)
zx64 set Category to AI Issues.
zx64 set Reproducibility to Always.
zx64 set Severity to None.
zx64 set Resolution to Fixed.
zx64 set Legacy ID to 1646240459.May 7 2016, 6:23 PM
zx64 edited a custom field.
zx64 added a subscriber: zx64.May 7 2016, 6:23 PM
zx64 added a comment.Apr 11 2014, 11:44 PM

Minor amendments to the repro mission:

  • Fixed spelling - repro not repo :P
  • Enabled automatic role assignment to make setting it up faster
  • Should be a bit clearer which part of the code is the exact repro and which bits are supporting.
  • More detailed reporting, including an acceptance test at the end:

"skillData values for current units: [player name, created unit, isServer, hasInterface, overall skill, aimingAccuracy before adjust, after adjust]"
["zx64",B Alpha 1-3:1,false,true,0.5,0.75,0.6]
["<Server>",B Alpha 1-3:1 REMOTE,true,false,0.5,0.325,0.00999999]
["test",B Alpha 1-3:1 REMOTE,false,false,0.5,0.75,0.6]
"end skillData dump"
"ERROR: Subskill values mismatched."

You'll see "OK: All subskill values match the first entry." if the bug is fixed (or there's only entry)

Hello,

thank you for submitting the ticket and also for the repro mission (helped a lot). Our team will look into this issue.

any update here?

zx64 added a comment.Aug 20 2014, 4:13 PM

Retested with 1.26 stable, still present.

zx64 added a comment.Oct 29 2014, 7:10 PM

Updated repro mission for testing against the devbranch HC implementation.

This mission is also an example of the problem I mentioned in the thread: http://forums.bistudio.com/showthread.php?183918-Dedicated-Client-Headless-Client-feedback-%28dev-branch%29&p=2791917&viewfull=1#post2791917

Specifically, you can't use this test mission as-is unless you use the profile name I used (or you edit the mission).

oukej added a subscriber: oukej.May 7 2016, 6:23 PM
oukej added a comment.Jan 30 2015, 2:20 PM

This should be fixed in the next dev. branch update.

  • skills set in the mission.sqm (default or adjusted by the slider) should now be correctly broadcasted
  • skill getters should now get the correct values also remotely
  • client can set skill only to a local AI unit
  • server can set skill to any unit
  • in both cases only the Difficulty/AI Level values set on the server are used to process the skill into skillFinal

If you have any further questions please direct them into http://forums.bistudio.com/showthread.php?159710-AI-Discussion-(dev-branch)

Thank you for improving the game with us!

KDN added a subscriber: KDN.May 7 2016, 6:23 PM
KDN added a comment.Feb 2 2015, 8:52 PM

As of dev version 1.39.129098, it seems that the issue still existss