There is another way of achieving this which I would like to mention. Admittedly, it's probably not the easiest / user friendliest way of doing this, but it definitely works perfectly.
Our goal is to allow people to create sub channels ONLY in a certain area of the server.
You can assign all those channel creation permissions to the Guest server group: b_channel_create_child, b_channel_create_temporary, b_channel_create_with_topic, b_channel_create_with_password, b_channel_create_modify_with_codec_opusvoice, ...
Having added all those permissions that are required to create subchannels everywhere (see post #15 for more info), we will make the following changes:
1.: In the Guest server group, set i_channel_min_depth to some ridiculously high value - let's say 50.
2.: In the Guest server group. set i_channel_max_depth to the maximum depth allowed (main channels have depth 0, sub channels have depth 1, sub sub channels have depth 2, ...)
3.: In the channels in which people should be able to create sub channels, set i_channel_min_depth to 0.
Please note: This will only work if you have no skip flag on i_channel_min_depth for Guest server group and if b_client_skip_channelgroup_permissions is disabled for them, too.
A quick explanation of what I did there:
You give the Guests all the required permissions to create sub channels in general, but only allow for sub-sub-sub-sub- ... (50x or more) channels. Now you override this by setting a new i_channel_min_depth on the channel, hence they can still create sub channels, but at lower levels, too![]()