Knowledgebase
I'm about to upgrade my TeamSpeak 3 Server. What can I do to make sure my permission system is upgraded automatically?

With beta22, the TeamSpeak 3 Server introduced a new permission called i_group_auto_update_type. Whenever the permission system gets updated, the server will automatically try to assign the new permissions to your existing groups.

To enable auto-updating, simply add a value for i_group_auto_update_type of the target group. The following values are available:
  • 20: The group will be handled like 'Query Guest'
  • 50: The group will be handled like 'Query Admin'
  • 45: The group will be handled like 'Server Admin'
  • 30: The group will be handled like 'Server Normal'
  • 15: The group will be handled like 'Server Guest'
  • 40: The group will be handled like 'Channel Admin'
  • 35: The group will be handled like 'Channel Operator'
  • 25: The group will be handled like 'Channel Voice'
  • 10: The group will be handled like 'Channel Guest'
As you can see, each of these values represents a group from the default permission set of the TeamSpeak 3 Server. For example, if the permission system is updated with a new permission for Server Admins, all groups having their i_group_auto_update_type set to 45 will be updated automatically.

Fresh installations of the TeamSpeak 3 Server already have the correct values for this permission assigned. If your database is based on an older release, you might need to follow these steps:
  1. First, you need to connect to TeamSpeak 3's ServerQuery interface and login as "serveradmin".

    TS3
    login serveradmin password
    error id=0 msg=ok


  2. After that, select a virtual server running in your server instance and grab a list of server groups available:

    use port=9987
    error id=0 msg=ok
    servergrouplist
    sgid=1 name=ServerQuery Guests type=2 iconid=0 savedb=0|sgid=2 name=ServerQuery Admins type=2 iconid=300 savedb=1|sgid=3 name=Server Admins type=0 iconid=300 savedb=1|sgid=4 name=Normal type=0 iconid=0 savedb=1|sgid=5 name=Guests type=0 iconid=0 savedb=0|sgid=6 name=Server Admins type=1 iconid=300 savedb=1|sgid=7 name= Normal type=1 iconid=0 savedb=1|sgid=8 name= Guests type=1 iconid=0 savedb=0


    Please note that the example output above contains three different types of server groups:

    type=0 - Template groups
    type=1 - Regular groups
    type=2 - ServerQuery groups

    Template groups represent the default settings for new virtual servers meaning that changes on these groups will automatically apply on every virtual server you create in the future. Regular groups are the groups existing on the virtual server you've selected. In our example, this is the default virtual server running on port 9987.

  3. Now, you need to assign the permission to both template and regular server groups. As you can see in our example output above, the template group for "Server Admins" has ID 3 and the regular group has ID 6.

    servergroupaddperm sgid=3 permsid=i_group_auto_update_type permvalue=45 permskip=0 permnegated=0
    error id=0 msg=ok
    servergroupaddperm sgid=6 permsid=i_group_auto_update_type permvalue=45 permskip=0 permnegated=0
    error id=0 msg=ok
Depending on your permission system settings, the server might report an 'insufficient permission modify power' error while trying to set the new permissions. In this case you need to execute the following SQL commands on your database first:

INSERT INTO perm_server_group (server_id, id1, id2, perm_id, perm_value, perm_negated, perm_skip) VALUES(0, 2, 0, "b_permission_modify_power_ignore", 1, 0, 0);
INSERT INTO perm_server_group (server_id, id1, id2, perm_id, perm_value, perm_negated, perm_skip) VALUES(0, 2, 0, "i_needed_modify_power_permission_modify_power_ignore", 100, 0, 0);


These commands will assign the permission called b_permission_modify_power_ignore to your ServerQuery admin group (ID 2) which allows you to modify each permission available even when you don't have the required permission modify powers.
(70 vote(s))
This article was helpful
This article was not helpful

Comments (0)