I login to pickled.netrek.org <http://pickled.netrek.org/> as guest.  No t-mode in progress.  Right at the start my client receives a SP_STATUS packet:

struct status_spacket { /* SP_STATUS py-struct "!bbxxIIIIIL" #14 */
    char type;
    char tourn;
    char pad1;
    char pad2;
    u_int armsbomb;
    u_int planets;
    u_int kills;
    u_int losses;
    u_int time;
    U_LONG timeprod;
};

That’s 28 bytes long.  Here are the bytes:

(lldb) po data
▿ 28 bytes
  - count : 28
  ▿ pointer : 0x00006000002fc9e0
    - pointerValue : 105553119398368
  ▿ bytes : 28 elements
    - 0 : 14
    - 1 : 0
    - 2 : 0
    - 3 : 0
    - 4 : 0
    - 5 : 13
    - 6 : 101
    - 7 : 235
    - 8 : 0
    - 9 : 0
    - 10 : 204
    - 11 : 190
    - 12 : 0
    - 13 : 12
    - 14 : 38
    - 15 : 249
    - 16 : 0
    - 17 : 12
    - 18 : 124
    - 19 : 118
    - 20 : 3
    - 21 : 158
    - 22 : 220
    - 23 : 147
    - 24 : 42
    - 25 : 198
    - 26 : 119
    - 27 : 106

Lets look at armsbomb, which is bytes 4 through 7 inclusive interpreted as an unsigned int.

    - 4 : 0
    - 5 : 13
    - 6 : 101
    - 7 : 235

Why are those not all 0?  I just joined the game as guest?  My code interprets that as 878059 armsBomb.

I just switched my username to “username5” (brand new user) and got the same values.  So it’s not a cumulative for “username guest for all time”.  Looks like it might be cumulative for the server.

Is SP_STATUS 14 a server-wide stat?  If yes then perhaps I should just throw the data I get from it away in my client (and use SP_STATS 23 instead).

Darrell




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.us.netrek.org/pipermail/netrek-dev/attachments/20200703/dda0e5d9/attachment.htm>