NOTE: Most of the here described changes only apply to the query interface or are useable with the TeaClient or the TeaSpeak web client.
- Built in musicbots
- Invisible channels
- Customizable Messages
- Built-in console
- VPN Testing
- New permissions
- New properties
- Limit channels per client
- Scheduled Shutdowns
- Increased slot count
- Own binding options for each individual virtual server
- Additional properties
- Advanced ip permission testing
- Global group assignment
TeaSpeak brings it's own built-in music bot system which brings high-quality, high-performance and low bandwidth usage music bots. For a quick setup grant yourself the music related permissions and then type .mbot
in the channel chat. If you want more detailed information, click here.
With TeaSpeak you have the ability to create channels, which are hidden for some users.
Just assign the permission i_channel_view_power
to a channel and watch the magic happen.
In TeaSpeak you can customize a lot of otherwise hardcoded messages via the config.yml
.
- The message that users see when the virtualserver or instance was stopped or crashed.
- The description of channels and clients that don't have a custom description set.
- The message of the kick a user gets when he exceeds his
i_client_max_idletime
. - The version and platform of the server shown on the infodata pane and server connection info of the client.
- The license type that is shown to any connecting client in the infodata pane (You can choose between No Licence, ATHP, LAN LICENSE, NPL and two auto-license modes that will change the license type based on the current slotcount of the instance/server)
- The query message-of-the-day (motd) and newline character of the query interface.
- The country flag a client gets when no valid country can be detected (Either through connecting with a local or not yet registered IP)
TeaSpeak has a built-in console that can be used from stdout containing the following commands:
end|shutdown <now|<number>[h|m|s]:...> <reason>
chat <serverId> <mode{server=3|channel=2|manager=1}> <targetId> <message...>
permgrant <ServerId> <GroupId> <Permission Name> <Grant>
to recover permissions without tampering with the database.passwd <new_password> <repeated>
to change the Admin Server Query password.
Permission | Description |
---|---|
b_client_allow_invalid_badges |
Bypasses the serverkick when invalid (hacked) badges were detected. |
b_client_allow_invalid_packet |
Bypasses the serverkick when empty packets were recieved from that client. |
b_client_ban_create_global |
Allows to create global ban rules. |
b_client_ban_delete_global |
Allows to delete any global ban rules. |
b_client_ban_delete_own_global |
Allows to delete global ban rules that were created by that client. |
b_client_ban_edit |
Allows to edit any local ban rule. |
b_client_ban_edit_global |
Allows to edit any global ban rule. |
b_client_ban_list_global |
Allows to list the global ban rules. |
b_client_even_textmessage_send |
Allows the client to send private text messages to himself. |
b_virtualserver_modify_music_bot_limit |
Allows to modify the maximum amount of musicbots that can be created on that server. |
i_channel_group_member_add_power |
Power to set a channel group for a client. |
i_channel_group_needed_member_add_power |
Needed i_channel_group_member_add_power to add this client to a channel group. |
i_channel_group_member_remove_power |
Power to take a channel group from a client. |
i_channel_group_needed_member_remove_power |
Needed i_channel_group_member_remove_power to remove this client from a channel group. |
i_channel_group_modify_power |
Power to modify a channel group |
i_channel_group_needed_modify_power |
Needed i_channel_group_modify_power to modify a channel group |
i_client_max_clones_hwid |
Sets the maximum amount of clients with same hwid that can be on the server at the same time. |
i_client_max_clones_ip |
Sets the maximum amount of clients with same ip that can be on the server at the same time. |
b_client_music_server_list |
Allows to list all musicbots on the server. |
b_client_music_channel_list |
Allows to list all musicbots in their current channel. |
b_client_music_create |
Allows to create new music bots. |
b_client_music_delete_own |
Allows to delete music bots that were created by that client. |
i_client_music_delete_power |
Power to delete music bots. |
i_client_music_needed_delete_power |
Needed i_client_music_delete_power to delete music bots. |
i_client_music_info |
Power to use chatcommand .mbot info . |
i_client_music_needed_info |
Needed i_client_music_info power for this musicbot. |
i_client_music_limit |
The limit of musicbots a client can create. |
i_client_music_play_power |
Power to use chatcommand .mbot play . |
i_client_music_needed_play_power |
Needed i_client_music_play_power power for this musicbot. |
i_client_music_rename_power |
Power to use chatcommand .mbot rename . |
i_client_music_needed_rename_power |
Needed i_client_music_rename_power power for this musicbot. |
b_client_ignore_vpn |
Allows the client to bypass the vpn check |
i_channel_view_power |
The channel view power of a client |
b_channel_ignore_view_power |
Allows the client to bypass the visibility check and see all channels |
i_channel_needed_view_power |
The required channel view power for a channel |
b_virtualserver_select_godmode |
Allows a query to select a server without being bind to it |
i_server_group_self_add_power |
Power for the client to add himself to this group |
i_server_group_self_remove_power |
Power for the client to remove himself to this group |
i_channel_group_self_add_power |
Power for the client to add himself to this channel group |
i_channel_group_self_remove_power |
Power for the client to remove himself to this channel group |
b_virtualserver_modify_country_code |
Regulated the option to edit virtualserver_country_code |
Property | Description |
---|---|
serverinstance_query_max_connections_per_ip , serverinstance_query_max_connections |
Limits the connection for the query server per ip and the max connections |
serverinstance_filetransfer_max_connections_per_ip , serverinstance_filetransfer_max_connections |
Limits the connection for the file transfer per ip and the max connections |
serverinstance_virtual_server_id_index |
The start index to count the virtual server id from. If zero the lowest possible value will be used |
client_total_online_time , client_month_online_time |
Online time of the client on the server |
virtualserver_default_client_description |
The default client description for every client. *1 |
virtualserver_default_channel_description |
The default channel description for every channel. *1 |
virtualserver_default_channel_topic |
The default channel topic for every channel. *1 |
b_virtualserver_modify_country_code |
The country code for the server |
channel_last_left |
A unix timestamp (in seconds) pointing to the time the last user left this channel |
channel_created_at |
A unix timestamp (in seconds) pointing to the time when the channel has been created |
channel_created_by |
Contains the client data base id from the client which created that channel |
*1) To take effect the server needs to be restarted
You can limit the channels/client with these permissions:
- i_client_max_channels
- i_client_max_temporary_channels
- i_client_max_semi_channels
- i_client_max_permanent_channels
TeaSpeak has the possibility to schedule a shutdown with the query command serverprocessstop
- serverprocessstop type=cancel|schedule time=60 msg=
- time
just required when type
= schedule
- msg
optional
We at TeaSpeak believe that admins that just want to run their own little server for their own little community should be bound to such high restrictions as they are in the non-profit license, therefor on TeaSpeak you can have as many virtual servers you like, with each of them having a slotcount of max 1024 slots. (If you need more take a look at the database)
This need a littlebit more text :)
TeaSpeak is a community driven project so we listen a lot to feature requests
channellist
,channelinfo
(read more)created_by
-> Client db id (Visible in channel list & channel info)created_at
-> Unix timestamp (Milliseconds)
clientdblist -details
,clientdbfind -details
,clientdbinfo
(read more)client_badges
-> Last used badges stringclient_version
-> Last used versionclient_platform
-> Last used platformclient_hwid
-> Last used hardware id
notifyplugincmd
(#35),notifyconnectioninforequest
(#36)invokerid
-> The client id of the invoker
- New command
propertylist
In TeaSpeak you have the ability to allow clients/queries to view the clientdblist without IP's by not assigning the b_client_remoteaddress_view
permission to them. (read more)
TeamSpeak:
clientdblist
cldbid=3 client_unique_identifier=Dc3Wno3oyXQsrocaODdAAUwiPHo= client_nickname=SpoilerAlarm\s\p\sConnor client_created=1526131558 client_lastconnected=0 client_totalconnections=0 client_description client_lastip=127.0.0.1|cldbid=4 client_unique_identifier=ServerQuery client_nickname=Bluscream\s[YaTQA] client_created=1526131558 client_lastconnected=0 client_totalconnections=0 client_description client_lastip=8.8.8.8
error id=0 msg=ok
TeaSpeak:
clientdblist
cldbid=3 client_unique_identifier=Dc3Wno3oyXQsrocaODdAAUwiPHo= client_nickname=SpoilerAlarm\s\p\sConnor client_created=1526131558 client_lastconnected=0 client_totalconnections=0 client_description client_lastip=hidden|cldbid=4 client_unique_identifier=ServerQuery client_nickname=Bluscream\s[YaTQA] client_created=1526131558 client_lastconnected=0 client_totalconnections=0 client_description client_lastip=hidden
error id=0 msg=ok
TeaSpeak does not only support server bound group assignment. Because with TeaSpeak every user with his unique id has a unique database wide database id,
its possible to assign a group to a user instance wide. If you want to assign or demote a group instance wide you have to be bound on server zero. (use 0
)
There you could use the servergroup[add|del|list]
like you already know.
With TeaSpeak you can easily create/modify and delete instance-wide banrules. The commands banlist
, banadd
, bandel
and banedit
have a new sid
property, that (if 0 or not on a virtual server use sid...
) will apply the action to the global banlist. So for example banadd sid=1 ip=8.8.8.8 reason=Google\sDNS
will become banadd sid=0 ip=8.8.8.8 reason=Google\sDNS
if you want to ban that id globally. You can even use that system in YaTQA, as you see here:
TeaSpeak also provides a log where you could lookup every ban enforcements.
This chould be easily done with the TeaClient (not yet) or by query with the command bantriggerlist
Also TeaSpeak allows you to directly editing bans. The Teamspeak 3 Client has a dummy "Edit ban" feature that just executes bandel <original ban>
and banadd <modified ban>
afterwards which i would call a workaround rather than proper implementation.
In addition to that hardware id's (Which TeamSpeak claims they would not ban even though they do) with the new hwid
property (Example: banadd hwid=165dwq18q4f6qw5f1f5q64d9qw448wq,165dwq18q4f6qw5f1f5q64d9qw448wq
or banadd hwid=
to ban empty hwids)
In TeamSpeak your can register a query client to ServerQueryNotify via servernotifyregister
so you don't have to use loops and sleeps in your scripts, but the amount of events provided by TeamSpeak is very limited (server
|channel
|textserver
|textchannel
|textprivate
). However on TeaSpeak you have a wide variety of events to use (almost all events that are sent to normal voice clients) (This change is so big that we created an extra page for it here)
On Teamspeak everything sent through server query (telnet) is plain text (unencrypted). Even your Admin Server Query password! TeaSpeak gives you the ability to either enforce, allow or deny SSL encrypted telnet sessions so you can use certificates to secure your connection. To use this feature your telnet client must support certificate based encryption!
You can pass a new parameter on tokenadd
named token
.
The type is a string and its optional.
The value is the actual token (if its not set it would be generated)