0
Answered

Группировка пользователей по группам сервера и канала

Galtran 2 years ago in Teamspeak updated by CleanVoice 2 years ago 5

Доброго времени суток. 
Немного поясню организацию сервера TS3. На сервере находится несколько сообществ, при этом заходить друг к другу в комнаты и под комнаты они не могут (так же есть несколько общих - гостевая и т.д...). Организовал я это с помощью разделения прав на уровне групп сервера и групп канала. Таким образом для регистрации они выдают права сперва своей групп сервера и затем в зависимости от выполняемых обязанностей (редактирование описания комнат, выдача прав, выдача приоритета спикера и т.д. ) группу канала. Так же для удобства и идентификации пользователей (различные иконки возле ника) добавил несколько группы сервера которые кроме как иконки не дают не каких преимуществ (прав).
Т.е. это выглядит примерно так:
Пользователь "пупкин" - имеет группы сервера "клан ххх", группу сервера "рота 1", группу канала "боец". 
На данный момент организована группировка пользователей через i_client_talk_power в группе канала т.е. все бойцы, замкомы и т.д. на одном канале находятся рядом, но при этом вперемешку по признаку группа сервера. 
Возник вопрос каким образом можно группировать пользователей одновременно и по группе канала, и по группе сервера. Т.е. хочется увидеть вот такого рода группировку:
(замком) (рота 1) (ххх) пупкин
(замком) (рота 1) (ххх) пупкин2
(боец) (рота 1) (ххх) пупкин3
(боец) (рота 1) (ххх) пупкин33
(боец) (рота 3) (ххх) пупкин4
(боец) (рота 3) (ххх) пупкин5
(замком) (рота 10) (ххх) пупкин6
(боец) (рота 10) (ххх) пупкин7
(боец) (рота 10) (ххх) пупкин8и т.д.

Я пробовал выставить тот же i_client_talk_power в группе сервера, но система группирует в приоритете сперва по группе канала, а на группу сервера, как я понимаю, не реагирует. Если же поставить Skip в группе сервера, то серверная группировка осуществляется, но возникает путаница (отсутствие группировки) по должностям (группа канала).

Буду благодарен любым дельным идеям реализации озвученной выше задумки на моем сервер.

Answered

Сортировка пользователей в канале происходит в следующем порядке: 

1. По привилегии i_client_talk_power 

2. По флагу права разговора (в модерируемом канале) 

3. По имени пользователя в алфавитном порядке


Насколько понятно из вашего вопроса, вы хотите сделать сортировку пользователей в канале сначала по группе каналов, затем по группе сервера.


Сейчас значение этой привилегии у вас переопределяется на уровне групп канала, потому что уровень группы канала(4) находится ниже уровня группы сервера(1)

http://help.cleanvoice.ru/teamspeak/permissions/levels

Например, если вы установили i_client_talk_power у группы сервера = 20, и затем установили её же для группы канала = 10 (или наоборот - неважно), то приоритет будет у группы канала, и итоговое значение i_client_talk_power у пользователя этих двух групп будет = 10.


Однако, если у пользователя несколько групп с этой привилегией, то устанавливается её наивысшее значение из всех его групп. То есть, привилегии не суммируются.


Таким образом, невозможно сделать одновременно сортировку сначала по группе канала, затем по группе сервера

Сортировка возможна либо по группе канала (что вы уже сделали), либо по группе сервера (для этого в группе сервера можно установить флажок Skip напротив i_client_talk_power, который запретит переопреление этой привилегии на уровнях ниже).

Аналогичный вопрос с обсуждением на оф. форуме (с тем же результатом ответа) http://forum.teamspeak.com/threads/56625-How-to-sort-users-in-channel?p=390173#post390173

CleanVoice, подскажите, а возможно реализовать вот такую вещь: 

Раз все-таки невозможно сделать одновременно сортировку сначала по группе канала, затем по группе сервера, получается моя задумка накрывается медным тазом.
Может быть тогда получиться такой вариант - перенести группы сервера, которые не дают не каких прав, на уровень групп канала т.е. в итоге желаемая группировка получится, но только при условии что возможно устанавливать именно две группы канала одному пользователю.
Методом "научного тыка" у меня не получилось поставить 2 группы, может быть нужно какую -то дополнительную привилегию включить/отключить. 
Прошу ткните носом где прочитать или куда жать.

Только одна группа канала может быть установлена одному пользователю на канале. Во множественном числе могут быть установлены только группы сервера.


Можно было бы реализовать через префиксы для групп сервера (i_group_show_name_in_tree), чтобы после групп каналов сортировка шла по алфавиту, но префикс почему-то не учитывается в имени пользователя для сортировки.


Если пользователей у вас на сервере не слишком много, то, чтобы добиться нужной сортировки, можете вручную проставить каждому из них свой i_client_talk_power. Через Привилегии пользователя, или через Привилегии пользователя на каналах (если нужно чтобы на разных каналах каждый по-разному сортировался).

Большое спасибо за объяснение, прошу прошения за повтор.