TeamTalk 5 .NET DLL: Server Administration

TeamTalk 5 .NET DLL Version 5.18A

Loading...
Searching...
No Matches
Classes | Enumerations | Functions
Server Administration

This section explains how to configure a server and setup user accounts. More...

## Classes

struct | BearWare.ServerProperties
| A struct containing the properties of the server's settings. More...
struct | BearWare.ServerStatistics
| A struct containing the server's statistics, i.e. bandwidth usage and user activity. More...
struct | BearWare.BannedUser
| A struct containing the properties of a banned user. More...
struct | BearWare.AbusePrevention
| Properties to prevent server abuse. More...
struct | BearWare.UserAccount
| A struct containing the properties of a user account. More...

## Enumerations

enum

BearWare.UserRight : uint {
BearWare.UserRight.USERRIGHT_NONE = 0x00000000 , BearWare.UserRight.USERRIGHT_MULTI_LOGIN = 0x00000001 , BearWare.UserRight.USERRIGHT_VIEW_ALL_USERS = 0x00000002 , BearWare.UserRight.USERRIGHT_CREATE_TEMPORARY_CHANNEL = 0x00000004 ,
BearWare.UserRight.USERRIGHT_MODIFY_CHANNELS = 0x00000008 , BearWare.UserRight.USERRIGHT_TEXTMESSAGE_BROADCAST = 0x00000010 , BearWare.UserRight.USERRIGHT_KICK_USERS = 0x00000020 , BearWare.UserRight.USERRIGHT_BAN_USERS = 0x00000040 ,
BearWare.UserRight.USERRIGHT_MOVE_USERS = 0x00000080 , BearWare.UserRight.USERRIGHT_OPERATOR_ENABLE = 0x00000100 , BearWare.UserRight.USERRIGHT_UPLOAD_FILES = 0x00000200 , BearWare.UserRight.USERRIGHT_DOWNLOAD_FILES = 0x00000400 ,
BearWare.UserRight.USERRIGHT_UPDATE_SERVERPROPERTIES = 0x00000800 , BearWare.UserRight.USERRIGHT_TRANSMIT_VOICE = 0x00001000 , BearWare.UserRight.USERRIGHT_TRANSMIT_VIDEOCAPTURE = 0x00002000 , BearWare.UserRight.USERRIGHT_TRANSMIT_DESKTOP = 0x00004000 ,
BearWare.UserRight.USERRIGHT_TRANSMIT_DESKTOPINPUT = 0x00008000 , BearWare.UserRight.USERRIGHT_TRANSMIT_MEDIAFILE_AUDIO = 0x00010000 , BearWare.UserRight.USERRIGHT_TRANSMIT_MEDIAFILE_VIDEO = 0x00020000 , BearWare.UserRight.USERRIGHT_TRANSMIT_MEDIAFILE = USERRIGHT_TRANSMIT_MEDIAFILE_VIDEO | USERRIGHT_TRANSMIT_MEDIAFILE_AUDIO ,
BearWare.UserRight.USERRIGHT_LOCKED_NICKNAME = 0x00040000 , BearWare.UserRight.USERRIGHT_LOCKED_STATUS = 0x00080000 , BearWare.UserRight.USERRIGHT_RECORD_VOICE = 0x00100000 , BearWare.UserRight.USERRIGHT_VIEW_HIDDEN_CHANNELS = 0x00200000 ,
BearWare.UserRight.USERRIGHT_TEXTMESSAGE_USER = 0x00400000 , BearWare.UserRight.USERRIGHT_TEXTMESSAGE_CHANNEL = 0x00800000 , BearWare.UserRight.USERRIGHT_ALL = 0xFFFFFFFF & ~USERRIGHT_LOCKED_NICKNAME & ~USERRIGHT_LOCKED_STATUS
}

| The rights users have once they have logged on to the server. More...

enum

BearWare.ServerLogEvent : uint {
BearWare.ServerLogEvent.SERVERLOGEVENT_NONE = 0x00000000 , BearWare.ServerLogEvent.SERVERLOGEVENT_USER_CONNECTED = 0x00000001 , BearWare.ServerLogEvent.SERVERLOGEVENT_USER_DISCONNECTED = 0x00000002 , BearWare.ServerLogEvent.SERVERLOGEVENT_USER_LOGGEDIN = 0x00000004 ,
BearWare.ServerLogEvent.SERVERLOGEVENT_USER_LOGGEDOUT = 0x00000008 , BearWare.ServerLogEvent.SERVERLOGEVENT_USER_LOGINFAILED = 0x00000010 , BearWare.ServerLogEvent.SERVERLOGEVENT_USER_TIMEDOUT = 0x00000020 , BearWare.ServerLogEvent.SERVERLOGEVENT_USER_KICKED = 0x00000040 ,
BearWare.ServerLogEvent.SERVERLOGEVENT_USER_BANNED = 0x00000080 , BearWare.ServerLogEvent.SERVERLOGEVENT_USER_UNBANNED = 0x00000100 , BearWare.ServerLogEvent.SERVERLOGEVENT_USER_UPDATED = 0x00000200 , BearWare.ServerLogEvent.SERVERLOGEVENT_USER_JOINEDCHANNEL = 0x00000400 ,
BearWare.ServerLogEvent.SERVERLOGEVENT_USER_LEFTCHANNEL = 0x00000800 , BearWare.ServerLogEvent.SERVERLOGEVENT_USER_MOVED = 0x00001000 , BearWare.ServerLogEvent.SERVERLOGEVENT_USER_TEXTMESSAGE_PRIVATE = 0x00002000 , BearWare.ServerLogEvent.SERVERLOGEVENT_USER_TEXTMESSAGE_CUSTOM = 0x00004000 ,
BearWare.ServerLogEvent.SERVERLOGEVENT_USER_TEXTMESSAGE_CHANNEL = 0x00008000 , BearWare.ServerLogEvent.SERVERLOGEVENT_USER_TEXTMESSAGE_BROADCAST = 0x00010000 , BearWare.ServerLogEvent.SERVERLOGEVENT_CHANNEL_CREATED = 0x00020000 , BearWare.ServerLogEvent.SERVERLOGEVENT_CHANNEL_UPDATED = 0x00040000 ,
BearWare.ServerLogEvent.SERVERLOGEVENT_CHANNEL_REMOVED = 0x00080000 , BearWare.ServerLogEvent.SERVERLOGEVENT_FILE_UPLOADED = 0x00100000 , BearWare.ServerLogEvent.SERVERLOGEVENT_FILE_DOWNLOADED = 0x00200000 , BearWare.ServerLogEvent.SERVERLOGEVENT_FILE_DELETED = 0x00400000 ,
BearWare.ServerLogEvent.SERVERLOGEVENT_SERVER_UPDATED = 0x00800000 , BearWare.ServerLogEvent.SERVERLOGEVENT_SERVER_SAVECONFIG = 0x01000000
}

| Events that are logged by the server, i.e. written to server's log file. More...
enum | BearWare.BanType : uint { BearWare.BanType.BANTYPE_NONE = 0x00 , BearWare.BanType.BANTYPE_CHANNEL = 0x01 , BearWare.BanType.BANTYPE_IPADDR = 0x02 , BearWare.BanType.BANTYPE_USERNAME = 0x04 }
| Way to ban a user from either login or joining a channel. More...

## Functions

bool | BearWare.TeamTalkBase.GetServerProperties (ref ServerProperties lpServerProperties)
| Get the server's properties.
bool | BearWare.TeamTalkBase.GetServerUsers (out User[] lpUsers)
| Get all the users on the server.

## Detailed Description

This section explains how to configure a server and setup user accounts.

The server keeps track of which users are in which channels and ensures that users in the same channel can communicate with each other. It is also the job of the server to provide user authentication so only users with the proper credentials are allowed to do certain operations.

It is a good idea to check out section TeamTalk Server Setup Guide to learn how to configure the TeamTalk server.

The server's name, message of the day (MOTD) can be updated using the BearWare.ServerProperties-struct. Only users with UserRight.USERRIGHT_UPDATE_SERVERPROPERTIES are allowed change a server's properties while it's running. This is done using the command TeamTalkBase.DoUpdateServer().

Sections:

- User Administration
- Kicking and Banning Users

# User Administration

Two types of users exists on a server, default users (UserType.USERTYPE_DEFAULT) and administrator users (UserType.USERTYPE_ADMIN). The UserType-enum can be used to see who is what. A user of UserType.USERTYPE_ADMIN have unrestricted rights on the server and can issue any command to the server whereas a default user is limited to the UserRights which are assigned to the `uUserRights` member of the user's BearWare.UserAccount.

As administrator it is possible to list all users who have an account on the server using TeamTalkBase.DoListUserAccounts(). To create a new user account call the command TeamTalkBase.DoNewUserAccount() and to delete an account call TeamTalkBase.DoDeleteUserAccount().

# Kicking and Banning Users

Sometimes it may be necessary to kick and ban users from a server. With UserRight.USERRIGHT_KICK_USERS it is possible to use the command TT_DoKickUser() to kick a user off the server. A channel operator (TT_DoChannelOp()) can also kick a user from a channel (but not off a server).

With UserRight.USERRIGHT_BAN_USERS it is also possible to ban users from the server, so they can no longer log in. This can be done using TT_DoBanUser(). To list who are currently banned call TT_DoListBans() and to remove a ban call TT_DoUnBanUser().

## Enumeration Type Documentation

## ◆ UserRight

enum BearWare.UserRight : uint

The rights users have once they have logged on to the server.

BearWare.ServerProperties holds the user rights in its uUserRights member variable and is retrieved by calling TeamTalkBase.GetServerProperties() once connected to the server.

See also
  BearWare.ServerProperties
  BearWare.TeamTalkBase.GetServerProperties

Enumerator
USERRIGHT_NONE | Users who log onto the server has none of the rights below.

USERRIGHT_MULTI_LOGIN

Allow multiple users to log on to the server with the same BearWare.UserAccount.

See also
  TeamTalkBase.DoLogin()

USERRIGHT_VIEW_ALL_USERS | User can see users in all other channels.

USERRIGHT_CREATE_TEMPORARY_CHANNEL

User is allowed to create temporary channels which disappear when last user leaves the channel.

See also
  TeamTalkBase.DoJoinChannel()

USERRIGHT_MODIFY_CHANNELS

User is allowed to create permanent channels which are stored in the server's configuration file.

See also
  TeamTalkBase.DoMakeChannel()

USERRIGHT_TEXTMESSAGE_BROADCAST | User can broadcast text message of type BearWare.TextMsgType.MSGTYPE_BROADCAST to all users.

USERRIGHT_KICK_USERS

User can kick users off the server.

See also
  TeamTalkBase.DoKickUser()

USERRIGHT_BAN_USERS

User can add and remove banned users.

See also
  TeamTalkBase.DoBanUser()
  TeamTalkBase.DoListBans()

USERRIGHT_MOVE_USERS

User can move users from one channel to another.

See also
  TeamTalkBase.DoMoveUser()

USERRIGHT_OPERATOR_ENABLE

User can make other users channel operator.

See also
  TeamTalkBase.DoChannelOp()

USERRIGHT_UPLOAD_FILES

User can upload files to channels.

See also
  TeamTalkBase.DoSendFile()

USERRIGHT_DOWNLOAD_FILES

User can download files from channels.

See also
  TeamTalkBase.DoRecvFile()

USERRIGHT_UPDATE_SERVERPROPERTIES

User can update server properties.

See also
  TeamTalkBase.DoUpdateServer()

USERRIGHT_TRANSMIT_VOICE | Users are allowed to forward audio packets through server. TeamTalkBase.EnableVoiceTransmission()
USERRIGHT_TRANSMIT_VIDEOCAPTURE | User is allowed to forward video packets through server. TeamTalkBase.StartVideoCaptureTransmission()

USERRIGHT_TRANSMIT_DESKTOP

User is allowed to forward desktop packets through server.

See also
  TeamTalkBase.SendDesktopWindow()

USERRIGHT_TRANSMIT_DESKTOPINPUT

User is allowed to forward desktop input packets through server.

See also
  TeamTalkBase.SendDesktopInput()

USERRIGHT_TRANSMIT_MEDIAFILE_AUDIO

User is allowed to stream audio files to channel.

See also
  TeamTalkBase.StartStreamingMediaFileToChannel()

USERRIGHT_TRANSMIT_MEDIAFILE_VIDEO

User is allowed to stream video files to channel.

See also
  TeamTalkBase.StartStreamingMediaFileToChannel()

USERRIGHT_TRANSMIT_MEDIAFILE

User is allowed to media files to channel.

See also
  TeamTalkBase.StartStreamingMediaFileToChannel()

USERRIGHT_LOCKED_NICKNAME

User's nick name is locked. TeamTalkBase.DoChangeNickname() cannot be used and TeamTalkBase.DoLogin() will ignore szNickname parameter.

See also
  TeamTalkBase.DoLogin()
  TeamTalkBase.DoLoginEx()
  TeamTalkBase.DoChangeNickname()

USERRIGHT_LOCKED_STATUS | User's status is locked. TeamTalkBase.DoChangeStatus() cannot be used.
USERRIGHT_RECORD_VOICE | User can record voice in all channels. Even channels with BearWare.ChannelType.CHANNEL_NO_RECORDING.
USERRIGHT_VIEW_HIDDEN_CHANNELS | User can see hidden channels, BearWare.ChannelType.CHANNEL_HIDDEN.

USERRIGHT_TEXTMESSAGE_USER

User can send private text messages, i.e. BearWare.TextMsgType.MSGTYPE_USER.

See also
  TeamTalkBase.DoTextMessage()

USERRIGHT_TEXTMESSAGE_CHANNEL

User can send private text messages, i.e. BearWare.TextMsgType.MSGTYPE_CHANNEL.

See also
  TeamTalkBase.DoTextMessage()

USERRIGHT_ALL | User with all rights.

Definition at line 1691 of file TeamTalk.cs.

## ◆ ServerLogEvent

enum BearWare.ServerLogEvent : uint

Events that are logged by the server, i.e. written to server's log file.

See also
  BearWare.ServerProperties
  TeamTalkBase.DoUpdateServer()

Enumerator
SERVERLOGEVENT_NONE | Nothing is logged to file by server.
SERVERLOGEVENT_USER_CONNECTED | User's IP-address is logged to file by serer.
SERVERLOGEVENT_USER_DISCONNECTED | User disconnected from server is logged to file by the server.
SERVERLOGEVENT_USER_LOGGEDIN | User logged in is logged to file by the server.
SERVERLOGEVENT_USER_LOGGEDOUT | User logged out is logged to file by the server.
SERVERLOGEVENT_USER_LOGINFAILED | User failed to log in is logged to file by the server.
SERVERLOGEVENT_USER_TIMEDOUT | User disconnected due to connection timeout is logged to file by the server.
SERVERLOGEVENT_USER_KICKED | User was kicked is logged to file by the server.
SERVERLOGEVENT_USER_BANNED | User was banned is logged to file by the server.
SERVERLOGEVENT_USER_UNBANNED | User was removed from ban list is logged to file by the server.
SERVERLOGEVENT_USER_UPDATED | User's status is logged to file by the server.
SERVERLOGEVENT_USER_JOINEDCHANNEL | User joined a channel is logged to file by the server.
SERVERLOGEVENT_USER_LEFTCHANNEL | User left a channel is logged to file by the server.
SERVERLOGEVENT_USER_MOVED | User was moved to another channel is logged to file by the server.
SERVERLOGEVENT_USER_TEXTMESSAGE_PRIVATE | User's private text messages are logged to file by the server.
SERVERLOGEVENT_USER_TEXTMESSAGE_CUSTOM | User's custom text messages are logged to file by the server.
SERVERLOGEVENT_USER_TEXTMESSAGE_CHANNEL | User's channel text messages are logged to file by the server.
SERVERLOGEVENT_USER_TEXTMESSAGE_BROADCAST | User's broadcast text messages are logged to file by the server.
SERVERLOGEVENT_CHANNEL_CREATED | User created new channel is logged to file by the server.
SERVERLOGEVENT_CHANNEL_UPDATED | User updated a channel is logged to file by the server.
SERVERLOGEVENT_CHANNEL_REMOVED | User removed a channel is logged to file by the server.
SERVERLOGEVENT_FILE_UPLOADED | User uploaded a file is logged to file by the server.
SERVERLOGEVENT_FILE_DOWNLOADED | User downloaded a file is logged to file by the server.
SERVERLOGEVENT_FILE_DELETED | User deleted a file is logged to file by the server.
SERVERLOGEVENT_SERVER_UPDATED | User updated server's properties is logged to file by the server.
SERVERLOGEVENT_SERVER_SAVECONFIG | User saved server's configuration is logged to file by the server.

Definition at line 1785 of file TeamTalk.cs.

## ◆ BanType

enum BearWare.BanType : uint

Way to ban a user from either login or joining a channel.

See also
  BannedUser

Enumerator
BANTYPE_NONE | Ban type not set.
BANTYPE_CHANNEL | The ban applies to the channel specified in the `szChannel` of BearWare.BannedUser. Otherwise the ban applies to the entire server.
BANTYPE_IPADDR | Ban `szIPAddress` specified in BearWare.BannedUser.
BANTYPE_USERNAME | Ban `szUsername` specified in BearWare.BannedUser.

Definition at line 1999 of file TeamTalk.cs.

## Function Documentation

## ◆ GetServerProperties()

bool BearWare.TeamTalkBase.GetServerProperties | ( | ref ServerProperties | lpServerProperties | ) |

Get the server's properties.

Parameters

  lpServerProperties | A struct to hold the server's properties.

Definition at line 7497 of file TeamTalk.cs.

## ◆ GetServerUsers()

bool BearWare.TeamTalkBase.GetServerUsers | ( | out User[] | lpUsers | ) |

Get all the users on the server.

If only users in a specific channel is needed call TeamTalkBase.GetChannelUsers()

Parameters

  lpUsers | An output array of BearWare.User which will receive the users on the server.

See also
  GetChannelUsers
  GetUser

Definition at line 7511 of file TeamTalk.cs.