Bug #1344

SR reset itself

Added by RaFaL 2 months ago. Updated 2 months ago.

Status:Feedback% Done:

50%

Priority:NormalSpent time:-
Assignee:-
Category:Mod QAGAME
Target version:2.77
OS: Arch:

Description

Nothing more to say here just Ally won map and this thing happened all everyone SR was resseted to ground.

TEAM       Player          TmX TmL TmP Kll Dth Gib  SK  TK  TG Eff    DG    DR  TDG  TDR  Score  Rating  Delta
--------------------------------------------------------------------------------------------------------------
Axis       Jyrkz             1   0  67   2   3   0   0   1   0  40   365   743   40   44     14    0.00  -0.09
Axis       Trout             1   0  82   4   3   0   0   1   0  57  1502   570   44  126     12    0.00  -4.59
Axis       Kurwik            1   0  71   1   2   0   0   1   0  33   258   635   86    0     10    0.00  -9.63
Axis       <=TM=>Matu        1   0  93   1   2   0   1   0   0  33   195   296    0    0     10    0.00 -16.15
Axis       Cebulak           1   0  67   1   2   0   0   0   0  33   180   265    0   58      9    0.00 -21.55
Axis       Nemilosul         1   0  94   1   1   0   0   0   0  50   361   287    0    0      7    0.00 -15.75
Axis       CHICKEN NUGGET   23   0  75  16  31   1   1   1   0  34   288   274    0    0      3    0.00 -15.30
Axis       Fuggboi           0   0  19   0   0   0   0   0   0   0     0     0    0    0      0    0.00  -6.91
Axis       ArnoDK            1   0  78   0   2   0   0   0   0   0   103   220    0    0      0    0.00  -9.95
--------------------------------------------------------------------------------------------------------------
Axis       Totals           36   0  76  26  46   1   2   4   0  36  3252  3290  170  228     65

TEAM       Player          TmX TmL TmP Kll Dth Gib  SK  TK  TG Eff    DG    DR  TDG  TDR  Score  Rating  Delta
--------------------------------------------------------------------------------------------------------------
Allies     Hunthy            0   1 100   5   0   2   0   0   0 100   918   380   58   50     44    0.00 -28.26
Allies     Kuzmitz           0   1 100   1   0   0   0   0   0 100   162    90    0   18     38    0.00 -22.81
Allies     yoshy'            0   1 100   3   0   1   0   1   2 100   616    86  232    0     27    0.00 -32.15
Allies     Beppo             0   1  86   2   2   0   0   0   0  50   289   686    0    0     22    0.00  +1.32
Allies     ETLegacyPlayer    0   1  83   4   2   0   0   0   0  66  1151   725    0  232     18    0.00  -9.02
Allies     Ayanami           0   1  94   2   1   0   0   0   0  66    86   195   50    0     16    0.00  -0.32
Allies     Cob               0   1 100   0   0   1   0   0   0   0     0     0    0    0     14    0.00 -30.13
Allies     homer             0   1  78   4   4   0   0   0   0  50   635   759    0   40     12    0.00 -31.03
Allies     Lena              0   1  94   0   1   0   0   0   0   0    36   402    0    0      9    0.00  -0.36
Allies     gRaphic           0   1  72   0   3   0   0   0   0   0    81   419    0    0      0    0.00 -14.12
--------------------------------------------------------------------------------------------------------------
Allies     Totals            0  17  91  21  13   4   0   1   2  61  3974  3742  340  340    200

TEAM       Player          TmX TmL TmP Kll Dth Gib  SK  TK  TG Eff    DG    DR  TDG  TDR  Score  Rating  Delta
--------------------------------------------------------------------------------------------------------------
Spectators FeaR              0   0   0   0   0   0   0   0   0   0     0     0    0    0      0    0.00  +0.00
Spectators Helpme            0   0   0   0   0   0   0   0   0   0     0     0    0    0      0   12.28  +0.00
Spectators <=TM=>Frezzh.     0   0   0   0   0   0   0   0   0   0     0     0    0    0      0   11.24  +0.00
Spectators NoBody            0   0   0   0   0   0   0   0   0   0     0     0    0    0      0    0.00  +0.00
Spectators <=TM=>divine_on   0   0   0   0   0   0   0   0   0   0     0     0    0    0      0   19.68  +0.00
Spectators <=TM=>*ZeroDC00   0   0   0   0   0   0   0   0   0   0     0     0    0    0      0   20.90  +0.00
Spectators Meo               0   0   0   0   0   0   0   0   0   0     0     0    0    0      0   21.74  +0.00
Spectators Moxzo             1   0  74   0   2   0   0   0   0   0   166   396   77    0      6    0.00 -22.61
Spectators BombA             0   0  49   0   1   0   0   0   0   0    36   162    0    0      0    0.00 -40.75
Spectators ddifof            1   0  87   2   1   0   0   0   0  66   288   126    0   19      6    0.00 -16.97
Spectators JA3GER            0   0   0   0   0   0   0   0   0   0     0     0    0    0      0   32.74  +0.00
Spectators >|PhD|RafAl|<     0   0   0   0   0   0   0   0   0   0     0     0    0    0      0    0.00  +0.00
Spectators meep              0   0   0   0   0   0   0   0   0   0     0     0    0    0      0   35.74  +0.00
--------------------------------------------------------------------------------------------------------------
Spectators Totals            3   0  78   2   4   0   0   0   0  33   490   684   77   19     12

unknown.png - Endscreen (591 KB) Spyhawk, 07.09.2019 10:23

1142

Associated revisions

Revision 73f57387
Added by Spyhawk 2 months ago

game: prevent clients with invalid guid to connect, refs #1344

Revision 8716200a
Added by Spyhawk 2 months ago

game: added rating time init failsafe and cleanup, refs #403 #1344

Revision 8fa0ad26
Added by Spyhawk 2 months ago

game: fixed rating played time wrongly reset, refs #403 #1344"

This reverts commit 8716200a4c801c07c919feffb1f91ec692817507.

Revision e52d73a2
Added by Spyhawk about 1 month ago

game: fixed SR database not always available when client connect, refs #403 #1344

This ensure SR data is correctly set when client connects after
intermission but before the next map is loaded.

History

#1 Updated by RaFaL 2 months ago

  • Category set to Server
  • Target version set to 2.77

#2 Updated by Spyhawk 2 months ago

  • Subject changed from SR Reseted itself to SR reset itself
  • Category changed from Server to Mod QAGAME

Duration of map was confirmed to be short (according to above data, something like 1 min 40 sec).
Note one player above has an completely wrong played time value (23 min). Some data might have not been reset from the last map. It looks like he joined a team after the map started (possible might have joined the server after the match started).

#3 Updated by Spyhawk 2 months ago

  • % Done changed from 0 to 50

One possible related issue is that client with empty or unknown GUID were allowed to join a game (only one, as duplicates are checked and rejected). This happens since PB has been deprecated for years, and while the Legacy client has a built-in etkey feature the old, original WolfET installer does not.

This means there were "empty" and "unknown" accounts in the SR database, shared across multiple players - and this is an issue as individual rating are used to compute each new individual rating after a match.

Rather than adding convoluted code to take care of this special case, the mod now check for invalid guid (ie, no etkey) and will simply reject such client. They shouldn’t be allowed in the first place anyway. The official WolfET installer has been updated a long time ago to ship with an etkey functionality, so this shouldn’t be an issue.

#4 Updated by Spyhawk 2 months ago

#5 Updated by Spyhawk 2 months ago

  • Status changed from New to Feedback

The issue seems related to game session, which has not been reset for one player correctly (thus not related to SR code directly). Player "CHICKEN NUGGET" got a time played (as axis) way too high, which has an impact on the rating weight (map was 9 vs 10, but with that weight the algo computed it a bit like 25 vs 10). Since Axis team lost, all players in that team got their rating kicked big time, since such a strength difference would be highly unexpected.
I however don’t really understand why players on the Allies team got their rating lowered. Comparing WolfAdmin database (provided by TM admins) revealed that several players seemingly had no guid - and unlike PB code, our code doesn’t check for GUID collision. One single "empty guid" account was thus shared between players of both side, but I’m not sure how this impacted Allies team global score.

My best guess at this time is that something went wrong while connecting (a player not disconnected fully, lag, ...), which didn’t reset or unexpectedly recovered old session data. Empty or unknown guid aren now not accepted anymore, and some initialization failsafe for play time were also added (in case of new connection). We’ll see how if that improves the situation over time.

Also available in: Atom PDF