I run a mumble server for an MMORPG server that has about 200-500 concurrent users.
We have new guilds that transfer in from other servers that are used to using TeamSpeak, and they push for a change and the biggest reason for it is TeamSpeaks Commander Comms system. With this system you setup a keybind to talk to commander comms, and then to listen all you need to do is right click yourself and join the commander comms channel. So, you can talk to your guild in your current room and then talk to other guilds leaders through commander comms.
Now, I think I can get something close to this. I set up a group called "ccoms". People set a whisper/shout to root with subchannels, limited to the ccoms group. Guild leaders can then add/remove whoever they want to ccoms within their own rooms where they have write ACL permissions.
This is pretty close, but joining/leaving ccoms is still not as easy as it is on teamspeak.
I was thinking a solution to that might be to write a bot, send a text message to the bot with "ccom on" and it will add the player to the group. Text it "ccom off" and it removes the player from the group.
Before I get too far into it though, I wanted to check here to make sure that a) it is possible, and b) there isn't an easier solution I am overlooking.
Linked Channels with the acl used to control who has talk rights in each channel.
User in Channel A has whisper rights in Channel B and vice versa.
rest of Channel A is denied speak rights in channel B and Vice versa.
Then link the channels and you should have pretty good control over who hears who.
You can bind a key to enter / leave & link specific channels.
Alternatively there is a whisper to list of users function, cant they just add the users they want to talk to in that list and not bother with changing channels all the time?
Those wouldn't really work. This is for the WvW (server against server large scale PvP) in Guild Wars 2. What happens is several guilds will be playing at the same time, the players from those guilds are mostly sitting in their own rooms but need a way to talk to the leaders of the other guilds.
One system we have been using for a while is with a hierarchy like this ...
- Guild Room A
- Guild Room B
- Guild Leader A
- Guild Leader B
The majority of the guild sits in the Guild Room, with the leader under the CComs heirarchy. Guild Room A is linked with Guild Leader A, and so on. Those in CComs have shout to parent, include sub-channels, don't follow links key to talk to other leaders.
This also allows two guilds to quickly link as everybody in CComs has link permission to the other rooms, which may not be the case for the Guild rooms.
We'd likely keep this system in place as it's useful when there's a lot of guilds playing during the weekly match reset. However, it's not great for the more casual play during the rest of the week as it requires having the guild rooms setup in CCOms, which many of the smaller guilds don't, and that the people who are setup for it are online. It also looks kind of scary and complicated (even though it isn't) to teamspeak people.
So, we've now started an alternative method where the commander uses a shout to root restricted to a group. This way only people who are in the group will hear, and guilds (all of whom have write ACL permission for their rooms) can add or remove people to that group as they will, or individuals can even create temporary rooms to do so. This almost perfectly replicates the teamspeak commander comms system, with one important exception, the only way for a user to add or remove himself is the rather clunky method of adjusting the group members and even creating a temporary room to do so if they don't have the right permissions.
Now, a list of users to whisper, I've used this in the past to talk to just guild officers but it would not work here as there are many guilds and new ones come and go all the time. Plus there are new people trying out commanding for the first time, and the information for who should be on the list could not be communicated to those who need to know in good time. It also prevents the ability for somebody to choose NOT to hear ccomms.
In short, a shout restricted to a group is half my solution, I just need a way for any user to add or remove himself from that group at will.
I have created a bot to handle people joing or leaving a group upon request.
It wasn't actually too difficult. Hopefully this will keep the teamspeak people quiet now :).
The only thing I kind of wish I could do is have a shortcut key to send a text message to the bot.