The client now syncs custom userinfo entries (aka client mod CVARs) with the server and with other players.

#184 Declined
Repository
zandronum-sandbox
Branch
default
Repository
zandronum
Branch
default
Author
  1. Teemu Piippo
Reviewers
Description

A few notes:

  • Userinfo is now synced as name&string pairs. Yes this means there's some bandwidth increase involved, but userinfo is not being sent very often (clients get kicked if they do) and I don't know if it can be implemented better without large amounts of cruft and I'm not going there.
  • The "failed to send userinfo" errorcode is now merged with the "userinfo rejected" one. The check for incomplete userinfo is now done in SERVER_GetUserInfo.
  • The CVAR_UNSYNCED_USERINFO flag means that even if the cvar is userinfo, it won't be synced to the server. Otherwise all userinfo is synced. This flag cannot imply CVAR_USERINFO because that would conflict with the copies created into userinfo_t.
  • The USERINFO_* defines are now gone. Instead, sets of FNames are used instead.
  • Account name syncing is now done separately of userinfo. Tying it to userinfo was a mistake on my behalf… I had trouble with the official auth server but I tested it as well as I could locally.

Comments (2)

  1. torr.samaho repo owner

    The patch looks good, I just noticed one tiny issue (an obsolete declaration, see below). How thoroughly did you test this so far? Shall I just add it to 3.0 without further testing?

    1. Teemu Piippo author

      I tested it as throughly as I could (used the provided example WAD and checked behavior in Hexen and such), but since this is such a far-encompassing change I cannot guarantee that it will not break horribly.

      There's a testing build on the ticket, but nobody bothered to test that... 😒