Мы собираемся установить сервер, имеющий общий канал чата, где каждый может говорить. Мы также создадим пользовательские каналы, где любой, кто находится в группе auth может создавать и администрировать свой собственный канал. Затем, как пользователь из группы auth, мы создадим пару каналов для игры, где люди могут говорить либо со своей командой либо со всеми сразу путем нажатия одной клавиши.
Итак начнем
Настройка прав на весь сервер
Во-первых, нам необходимо создать пароль для суперпользователя (SuperUser). Если вы еще не сделали этого, то вы можете сделать это, набрав в консоли/командной строке следующие:
Код: Выделить всё
murmur -ini /path/to/murmur.ini -supw ваш_пароль
Давайте начнем с прав доступа. Откройте редактор ACL, вы можете сделать это, выбрав "Изменить ACL" из меню “Канал”. После этого, вы увидите окно с двумя вкладками. Первая - определение пользователей, которые находятся в группе и т.д. Вторая из них используется для назначения прав группам. Сейчас, в этой вкладке, вы должны видеть два набора правил:
•Первый позволяет людям в группе AUTH создавать каналы в корневом канале и его подканалах.
•Второй позволяет людям в группе Администраторы устанавливать права доступа
Сейчас мы удалим правила, связанные с группой AUTH , выбрав его и нажав кнопку "Удалить". Мы не хотим, чтобы кто то входил в корневой канал, мы сделаем общий чат канал для этого. Итак, мы добавим правило для этого. Нажмите кнопку “Добавить” и снимите все флажки в столбце, за исключением одного Traverse(Пересечение)
Мы оставили отмеченным только Traverse потому, что он будет запрещать людям входить в этот канал и подканалы. Так как каждый другой канал субканал корневого, то будет правильнее запретить людям входить в другие каналы. Поэтому, мы оставим его отмеченым. Настройки по умолчанию являются:
•Разрешить: Traverse, Вход, Говорить, AltSpeak
•Запретить: Писать, Заглушить, Переместить / Выгнать, Создавать канал и Link канал
Если вам интересно, да, мы могли бы оставить запись “Писать, Заглушить, Переместить / Выгнать, Создавать канал и Link канал” не отмечеными , а они все равно будут запрещены. Нет необходимости, оставлять эти права запрещеными, поскольку они являются по умолчанию. Теперь на вашем экране должно быть так:
В Mumble правила применяются сверху вниз. Сейчас:
@admins allow write
Это правило будет бесполезно,так как следуещее правило перезапишет его
@all deny write ...
Поэтому нам придется это исправить. Просто выберите правила, @all и нажмите вверх. Это должно переместить его выше. Вот мы и установили некоторые настройки по умолчанию для всего сервера:)
Создание общего чат канала и установка для него прав
Этот канал будет общим чатом для всех, кто присоединиться к нашему каналу. Так как мы не позволяем им говорить в корневом канале, они должны присоединиться к этому каналу. Мы должны установить приветственное сообщение на сервере, которое предупреждает об этом. Сперва, создадим канал. Это очень просто, следует нажать “Канал-> Добавить” (или правой кнопкой мыши на канале , и нажмите кнопку “Добавить”, чтобы создать подканал). В появившемся окне введите название канала, нажмите кнопку ОК .
Теперь, мы дадим права каждому человеку который хочет говорить здесь. Для этого изменим ACL (помните о необходимости выбора нового канала перед этим). Вы увидите правила корневого канала, но если вы выберите их, вы увидите, что все параметры выделены. Это потому, что они унаследовали права от родителя канала (в данном случае, Root). Если вы уберете опцию “Наследовать ACL”, они исчезнут, но мы не будем этого делать. Просто добавьте новое правило, которое позволит каждому говорить или AltSpeak и нажмите кнопку ОК для его сохранения. Легко, не правда ли?
Создание каналов. Клиентские каналы и настройки.
Создания своего собственного канала происходит так же, как мы это делали раньше. У вас должно получится нечто подобное :
Теперь мы будем раздавать созданым каналам права. Просто зайдите в редактор ACL, добавим новое правило, в списке выберите группу или напишите AUTH и выберите канал установив флажок. Предупреждение: Если вы вводите название группы, убедитесь, что вы нажали клавишу Enter, после того как закончили. Это позволит обновить правила группы. Вы можете видеть, что если вы напечатаете и не нажмете Enter, группу в верхнем листинге не изменится.
И сейчас мы имеем канал, где люди могут создавать свои собственные каналы. Обратите внимание, что они не могут создавать собственные корневые каналы, но они по-прежнему могут создавать субканалы.
Зарегистрированный пользователь
В этой части мы запустим зарегистрированного игрока в группе auth с очень оригинальным именем: “AuthedPlayer”. Он будет создавать свои собственные каналы , небольшой общественный канал и два частных подканала, один для каждой группы игры. Мы бы хотели чтобы они могли говорить со своей группой или с обеими группами сразу. Мы увидим, как сделать это с правом AltSpeak, связывая каналы и многое другое.
Создание основного канала
После входа в систему, мы можем проверить, что мы не можем войти в корневые каналы, и мы не можем войти в клиентский канал, каналы и т.д. Как только мы проверили, что разрешения работают, как ожидалось, мы начнем создавать наш первый канал. Просто щелкним правой кнопкой мыши на клиентском канале (помните, что вы все еще можете использовать меню) и нажмем кнопку “Добавить”, чтобы создать новый канал. Я назвал его "мой частный канал". Мы автоматически добавлены в группу администраторов в этот канал, так что можно писать в нем (помните правила корневого канала? Они унаследовали все, вплоть до нашего канала). Но это также означает, что мы получим разрешение создавать каналы наследники, поэтому каждый, кто находится в группе auth может сделать канал внутри нашего. Но нам это не нравится ...
Наше правило будет перезаписывать наследника, потому что унаследовал правила находящихся выше. Так что теперь у нас есть защищеный канал , мы будем давать права на вход и разговор:
Обратите внимание, что мы отключили Применение прав к суб-каналам. Так как подканалы не будут публичными, мы не хотим, чтобы входили без разрешения. Если мы не отключим эту опцию, мы должны создать еще одно правило просто отказывать в разрешении войти. Этот путь проще. А теперь у нас есть канал и он готов к работе. Давайте продолжим с субканалами
Создание субканалов
Во-первых, мы создадим два субканала нашего канала. Как обычно, я назвал их очень творчески ... Команда1 и Команда2. Мы могли бы определить правила для каждого из них, но быстрее определить их в родительском канале (мой частный канал), и внести субканалы в наследники правил. Во-первых, мы хотим, чтобы люди в одной команде могли говорить. Это делается так:
Заметьте, что мы неотмечаем опцию Применения к этому каналу, так как мы определяем это правило только для субканалов. Более интересным является использовать специальную группу in . Эта группа относится к людям, которые находятся внутри канала к которым относятся правила. Похоже, она такая же, как и все, но она совершенно другая: оба канала будут связаны. Это означает, что люди в разных каналах будут слышать друг друга. Но мы хотим, что бы люди могли слышать только товарищей по команде. Поэтому мы используем группу in чтобы дать права “Говорить” людям в том же самом канале. Это означает, что люди в “Команде2” не смогут услышать людей в “Команде1” так как люди в “Команде1” не имеют права говорить в “Команде2” потому что в группе разрешения работают только в своем собственном канале. Это немного сложно, чтобы понять сначала, но это очень полезно. Чтобы понять это, Вы должны сначала понять, что у каждого канала есть свои отдельные группы. Это означает, что в группе в “Команде1” не та же самая группа что в группе в “Команде2”.
Чтобы объяснить это лучше я буду использовать некоторые имена ...
Джек в Команде1
Джон в Команде2
Оба канала связаны, таким образом голос будет передан от одного до другого, пока говорящий имеет права в канале адресата. Джек говорит, но Джон не будет в состоянии услышать это. Это потому что Джек не имеет никаких прав говорить в Команде2, поскольку он не находится в группе в Команде2. Таким образом голос не будет передан через канал, и Джон не будет в состоянии услышать Джека. Если мы использовали all вместо in для правила, Джек и Джон услышат друг друга без проблемы, поскольку все находятся в all группе.