TeamTalk 4 .NET DLL  Version 4.5A
Server Properties

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. 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. This struct is used by TeamTalk4.GetBannedUsers(). More...
 
struct  BearWare.UserAccount
 A struct containing the properties of a user account. More...
 

Enumerations

enum  BearWare.UserRight : uint {
  BearWare.USERRIGHT_NONE = 0x0000, BearWare.USERRIGHT_GUEST_LOGIN = 0x0001, BearWare.USERRIGHT_VIEW_ALL_USERS = 0x0002, BearWare.USERRIGHT_CHANNEL_CREATION = 0x0004,
  BearWare.USERRIGHT_CHANNEL_OPERATORS = 0x0008, BearWare.USERRIGHT_CHANNEL_COMMANDS = 0x0010, BearWare.USERRIGHT_CLIENT_BROADCAST = 0x0020, BearWare.USERRIGHT_SUBSCRIPTIONS = 0x0040,
  BearWare.USERRIGHT_FORWARD_AUDIO = 0x0080, BearWare.USERRIGHT_FORWARD_VIDEO = 0x0100, BearWare.USERRIGHT_DOUBLE_LOGIN = 0x0200, BearWare.USERRIGHT_FORWARD_DESKTOP = 0x0400,
  BearWare.USERRIGHT_STRICT_UTF8 = 0x0800
}
 The rights users have once they have logged on to the server. More...
 

Functions

bool BearWare.TeamTalk4.GetServerProperties (out ServerProperties lpProperties)
 Get the server's properties. More...
 
bool BearWare.TeamTalk4.GetServerStatistics (out ServerStatistics lpStatistics)
 Get the server's statistics, i.e. bandwidth usage etc. More...
 
bool BearWare.TeamTalk4.GetServerUsers (out int[] lpUserIDs)
 Get the IDs of all the users on the server. More...
 
bool BearWare.TeamTalk4.GetBannedUsers (out BannedUser[] lpBannedUsers)
 Get the list of banned users. More...
 
bool BearWare.TeamTalk4.GetUserAccounts (out UserAccount[] lpUserAccounts)
 Get the list of user accounts. More...
 

Detailed Description

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 Server Setup Guide to learn how to configure the TeamTalk server.

The server can be configured in a number of ways using the BearWare.ServerProperties-struct. Only users who are logged on to the server as administrators can change a server's properties while it's running. This is done using the command TeamTalk4.DoUpdateServer().

The uUserRights bitmask in BearWare.ServerProperties specifies what users are allowed to do. The server can e.g. be configured to only allowed users who have an account to log on by disabling the flag UserRight USERRIGHT_GUEST_LOGIN. If default users (without administrator rights) shouldn't be allowed to create channels this can be disabled by disabling the flag UserRight USERRIGHT_CHANNEL_CREATION.

User Administration

Two types of users exists on a server, default users and administrator users. The UserType-enum can be used to see who is what. To be administrator the user must have a user account on the server with the UserType USERTYPE_ADMIN flag set.

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

Kicking and Banning Users

Sometimes it may be necessary to kick and ban users from a server. As administrator it is possible to use the command TeamTalk4.DoKickUser() to kick a user off the server. A channel operator can also kick a user from a channel (but not off a server).

As administrator it is also possible to ban users from the server, so they can no longer log in. This can be done using TeamTalk4.DoBanUser(). To list who are currently banned call TeamTalk4.DoListBans() and to remove a ban call TeamTalk4.DoUnBanUser().

Enumeration Type Documentation

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 TeamTalk4.GetServerProperties() once connected to the server.

See Also
BearWare.ServerProperties
BearWare.TeamTalk4.GetServerProperties
Enumerator
USERRIGHT_NONE 

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

USERRIGHT_GUEST_LOGIN 

Users can log on without an account and by only specifying the server password.

USERRIGHT_VIEW_ALL_USERS 

Users can see users in all other channels. This option cannot be changed in a call to TeamTalk4.DoUpdateServer().

USERRIGHT_CHANNEL_CREATION 

Users are allowed to create channels.

USERRIGHT_CHANNEL_OPERATORS 

Users can become operators of channels.

USERRIGHT_CHANNEL_COMMANDS 

Users can use channel commands (text messages prefixed with '/'.

USERRIGHT_CLIENT_BROADCAST 

None-admins are allowed to broadcast messages to all users.

USERRIGHT_SUBSCRIPTIONS 

Users are allowed to change subscriptions to other users.

USERRIGHT_FORWARD_AUDIO 

Users are allowed to forward audio packets through server.

USERRIGHT_FORWARD_VIDEO 

Users are allowed to forward video packets through server.

USERRIGHT_DOUBLE_LOGIN 

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

USERRIGHT_FORWARD_DESKTOP 

Users are allowed to forward desktop packets through server.

Note
Requires server version 4.3.0.1490 or later.
USERRIGHT_STRICT_UTF8 

Users are only allowed to use valid UTF-8 strings. If a non-UTF-8 string is passed in a command the server will respond with the command error ClientError CMDERR_SYNTAX_ERROR.

Note
Requires server version 4.3.1.1940 or later.

Function Documentation

bool BearWare.TeamTalk4.GetServerProperties ( out ServerProperties  lpProperties)

Get the server's properties.

Parameters
lpPropertiesA struct to hold the server's properties.
bool BearWare.TeamTalk4.GetServerStatistics ( out ServerStatistics  lpStatistics)

Get the server's statistics, i.e. bandwidth usage etc.

See Also
DoQueryServerStatistics()
Parameters
lpStatisticsA struct to hold the server's statistics.
bool BearWare.TeamTalk4.GetServerUsers ( out int[]  lpUserIDs)

Get the IDs of all the users on the server.

Extracts the user IDs of all the users on the server. If only users in a specific channel is needed call GetChannelUsers()

Parameters
lpUserIDsAn output array of integer which will receive the user IDs of the users in the channel.
See Also
GetChannelUsers
GetUser
bool BearWare.TeamTalk4.GetBannedUsers ( out BannedUser[]  lpBannedUsers)

Get the list of banned users.

After the command DoListBans has completed, this function can be called to retrieve the list of banned users. The list of banned users can only be retrieved once after which the internal representation of the users is deleted (to save memory).

Parameters
lpBannedUsersAn output array which will receive the banned users.
See Also
DoBanUser
bool BearWare.TeamTalk4.GetUserAccounts ( out UserAccount[]  lpUserAccounts)

Get the list of user accounts.

After the command DoListUserAccounts has competed, this function can be called to retrieve the list of user accounts on the server. The list of user accounts can only be retrieved once after which the internal representation of the users is deleted (to save memory).

Parameters
lpUserAccountsAn output array which will receive the user accounts on the server.
See Also
DoListUserAccounts
UserAccount