# MumbleServer::User

## Overview

### struct User

A connected user.

#### Used By

UserList
UserMap
Server::getState
Server::setState
ServerCallback::userConnected
ServerCallback::userDisconnected
ServerCallback::userStateChanged
ServerCallback::userTextMessage
ServerContextCallback::contextAction

## Data Member Index

session
  Session ID.
userid
  User ID.
mute
  Is user muted by the server?
deaf
  Is user deafened by the server? If true, this implies mute.
suppress
  Is the user suppressed by the server? This means the user is not muted, but does not have speech privileges in the current channel.
prioritySpeaker
  Is the user a priority speaker?
selfMute
  Is the user self-muted?
selfDeaf
  Is the user self-deafened? If true, this implies mute.
recording
  Is the User recording? (This flag is read-only and cannot be changed using setState().)
channel
  Channel ID the user is in.
name
  The name of the user.
onlinesecs
  Seconds user has been online.
bytespersec
  Average transmission rate in bytes per second over the last few seconds.
version
  Legacy client version.
version2
  New client version.
release
  Client release.
os
  Client OS.
osversion
  Client OS Version.
identity
  Plugin Identity.
context
  Base64-encoded Plugin context.
comment
  User comment.
address
  Client address.
tcponly
  TCP only.
idlesecs
  Idle time.
udpPing
  UDP Ping Average.
tcpPing
  TCP Ping Average.

## Data Members

int session;

  Session ID. This identifies the connection to the server.

int userid;

  User ID. -1 if the user is anonymous.

bool mute;

  Is user muted by the server?

bool deaf;

  Is user deafened by the server? If true, this implies mute.

bool suppress;

  Is the user suppressed by the server? This means the user is not muted, but does not have speech privileges in the current channel.

bool prioritySpeaker;

  Is the user a priority speaker?

bool selfMute;

  Is the user self-muted?

bool selfDeaf;

  Is the user self-deafened? If true, this implies mute.

bool recording;

  Is the User recording? (This flag is read-only and cannot be changed using setState().)

int channel;

  Channel ID the user is in. Matches Channel::id.

string name;

  The name of the user.

int onlinesecs;

  Seconds user has been online.

int bytespersec;

  Average transmission rate in bytes per second over the last few seconds.

int version;

  Legacy client version.

long version2;

  New client version. (See https://github.com/mumble-voip/mumble/issues/5827)

string release;

  Client release. For official releases, this equals the version. For snapshots and git compiles, this will be something else.

string os;

  Client OS.

string osversion;

  Client OS Version.

string identity;

  Plugin Identity. This will be the user's unique ID inside the current game.

string context;

  Base64-encoded Plugin context. This is a binary blob identifying the game and team the user is on. The used Base64 alphabet is the one specified in RFC 2045. Before Mumble 1.3.0, this string was not Base64-encoded. This could cause problems for some Ice implementations, such as the .NET implementation. If you need the exact string that is used by Mumble, you can get it by Base64-decoding this string. If you simply need to detect whether two users are in the same game world, string comparisons will continue to work as before.

string comment;

  User comment. Shown as tooltip for this user.

NetAddress address;

  Client address.

bool tcponly;

  TCP only. True until UDP connectivity is established.

int idlesecs;

  Idle time. This is how many seconds it is since the user last spoke. Other activity is not counted.

float udpPing;

  UDP Ping Average. This is the average ping for the user via UDP over the duration of the connection.

float tcpPing;

  TCP Ping Average. This is the average ping for the user via TCP over the duration of the connection.