Skip behave differently on "add power" than "needed add power"

I created 2 identities (meaning they are clean, no client permission on them):
user1
user2
ts3 server: 3.12.0

My goal (in short): do not let channel admins to add channel admin to person who have server group guest

As far as I know:
SKIP - ignores all permissions from client permission and channel groups

user1 have server group member (which have few permission, but nothing related to adding or removing groups)
user2 have server group guest

user1 creates channel and gets channel admin (which is okey)
user2 joins the channel and still have server group guest and channel group guest (which is okay)
user1 can give user2 channel admin (still okey, but I do not want it to happen)

Server group member do not have permission “i_group_member_add_power”, neither do server group guest
but channel admin have “i_group_member_add_power 15 []” and also “i_group_needed_member_add_power 14 []”

When I add permission to server group guest “i_group_needed_member_add_power 16 no no []”
User1 can still add channel admin to user2

When I add permission to server group guest “i_group_needed_member_add_power 16 yes no []”
User1 can still add channel admin to user2

Going deeper with permissions (when user2 have channel admin):
When I add permission to server group guest “i_group_member_add_power 0 yes no []”
user2 can not remove or add channel admin from/to user1

Why “skip” behave differently on “i_group_member_add_power” than “i_group_needed_member_add_power” ?

Skip ignores permission coming from a channel or channel group. It doesn’t ignore client permissions.

Sorry but the last question and title do not really make sense.
Both are not the same thing for me.

The member add power in your channel admin is wrong?
Needed should be higher than the actual power or else the user will always be able to add users to same group.

The member add power is not compared to any needed member add power coming from a server group. It’s only compared to same type of group.

  Adding and Removing Clients to/from Groups
------------------------------------------
To add a client into a server or channel group you need a i_group_member_add_power value that is greater or equal than the 
i_group_needed_member_add_power of the specific group. Analogously you will need a i_group_member_remove_power that is greater or equal 
to the i_group_needed_member_remove_power of the specific group. Additionally for either removing or adding a client from or into a group your 
i_client_permission_modify_power must be greater or equal to the clients i_client_needed_permission_modify power.

Not sure what your last example means. It’s what the Skip flag does. Now any add power coming from a channel or channel group is ignored and stays 0 because your server group says so.

1 Like

Sorry but the last question and title do not really make sense.
Both are not the same thing for me.

How do you mean not same thing? It happens differently on your server?

The member add power in your channel admin is wrong?
Needed should be higher than the actual power or else the user will always be able to add users to same group.

I know, I set it like that. So they can set as many channel admins as they want inside they channel.

The member add power is not compared to any needed member add power coming from a server group. It’s only compared to same type of group.

That do not make any logic. Why would it compare for “add power” and not for “needed add power”? Skip is skip, why “needed add power” is exception?

Not sure what your last example means. It’s what the Skip flag does. Now any add power coming from a channel or channel group is ignored and stays 0 because your server group says so.

Yes, but only for add power. Why is it not for needed add power, too? If there is “skip” flag in server group permissions, why adding channel groups ignores it (needed add power permission)? “Skip” do ignore channel and channel group permission. Why “needed add power” is excepted from it?