Sanity check this for me. Do the naming of these make sense to you?
There’s discrepancies here that I don’t like.
ServerVar cannot be changed by remote clients, but ServerCmd can be called by remote clients.
AdminCmd can only be called by admins or the server host.
UserVar is the same as a UserInfo convar in gmod. So you can change it on the client and the server can retrieve that value from the player class. Is the naming unobvious, are people going to try to access the uservar on the server?
One thing I think I’ll do with UserInfo is be able to add members on entities with an
[OwnerVar( "var_name" )] attribute. Throw an exception on server if they try to set it, but if they try to read it, look at the entity, find its player owner, and get the user data var of that name. That’ll make me feel better about the accessibility of this.
Anything else standing out as fucked?