MumbleRoom
MumbleRoom - In-game regions to Mumble chat rooms
Version: v0.2
MumbleRoom lets you define regions using World Edit, then create mumble chat rooms that are tied to them. Walk into a MumbleRoom defined region in-game, and have your mumble client changed to the respective room.
Installation:
Read the installation instructions carefully, this is not for the non-technically adept server administrator.
First, you need to change the way you launch craftbukkit. If you are using the -jar methor, remove the -jar and instead use this:
-classpath "craftbukkit-0.0.1-SNAPSHOT.jar;lib/*" org.bukkit.craftbukkit.Main
Any other library folder is acceptable as well, for now lib should do just fine.
Download Ice and put it in the lib folder you just defined in your startup.
Next, you need to change your murmur settings.
In murmur.ini make sure both icesecretread and icesecretwrite are commented out, not set to nothing, but commented out like such:
#icesecretread= #icesecretwrite=
Further, ensure that ice is set as follows:
ice="tcp -h 127.0.0.1 -p 6502"
Finally, you need to ensure you have WorldEdit installed. MumbleRoom requires WorldEdit
With that done, download MumbleRoom and start it up, currently only 1-server setups supported, but this will change in future versions.
Configuration:
MumbleRooom will create a default config file with the following values set:
track-mode=player track-server-time=20
track-mode: This option chooses which player tracking method to use; valid values are "player" and "server"
- In "player" mode the plugin allows users to use /track and /untrack to enable/disable location tracking. This tracking is done via an async thread fired from onPlayerMove when players move a block in the x or z direction.
- In "server" mode the plugin disables the /track and /untrack commands and instead handles all location tracking. This tracking is done via an async repeating task with a configurable repeat time (see track-server-time) that checks all online registered users for their current position.
track-server-time: Time delay in Longs for track-mode=server
- This value is ignored unless track-mode=server
- This is the Long value delay in repeat. Once per second is 20, Twice per second is 10, and so on.
Usage:
Registering:
- Register your account on the linked Mumble server.
- In-game, use /register <MumbleUsername>
- You will recieve a code in Mumble to use to verify that you are the owner of both accounts.
- Use /register @code to finish the registration process.
- You may now at any time use /track or /untrack, to let MumbleRoom control room placement, or disable MumbleRoom room placement.
Creating regions/channels:
- Use the WE selection tool to make a cuboid selection. Please note that Y is ignored by MumbleRoom
- Use /create <Channelname...> to create a channel in the Mumble server with that name, and link it to the region you currently have selected. This will set you as the owner of this room.
- Use /create <Channelname...> owner <username> to create a channel as in the above command, but set the owner to whomever you specify
Deleting regions/channels:
- Deleting the Mumble channel is not enough!
- In game, or in console, use /destroy <Channelname...> You may only do this if you have permission or are the owner
Features:
- Links places in-game to channels in a Mumble server
- Bukkit Permissions
Commands:
- /register (<MumbleUsername>|@code) - Begin/end registration process
- /track - Enable position tracking and MumbleRoom room placement
- /untrack - Disable position tracking and MumbleRoom room placement
- /create <Channelname...> [owner <MinecraftUsername>]
- /destroy <Channelname...>
Permissions:
- mumbleroom.* - Implies all others. (Default OP)
- mumbleroom.userdefaults - Imples .track and .untrack (Default True)
- mumbleroom.track - Allows a user to use /track
- mumbleroom.untrack - Allows a user to use /untrack
- mumbleroom.create.* - Implies .create.self and .create.other
- mumbleroom.create.self - Allows creation of channel with self as owner
- mumbleroom.create.other - Allows creation of channel with other as owner
- mumbleroom.destroy.* - Implies .destroy.self and .destroy.other
- mumbleroom.destroy.self - Allows destruction of owned channels
- mumbleroom.destroy.other - Allows destruction of any channels
Todo:
- Allow parenting of all MumbleRoom channels to any user-specified channel
- Find way to isolate a single server instance and allow user-specification
- Add in translation support
- Add in PermissionsEX/P2/P3 support
- Add server track-type tracking exception
- Fix all known bugs
Known Bugs:
- Destroying a channel/region in-game while still in that region causes it to return in the Mumble Channel list, but otherwise is removed.
MumbleRoom was suggested by @codename_B in a thread about a possible event. This plugin was made with that event in mind.
Thanks to @SpaceManiac for helping me figure some things out along the way.
Is this still supported?
PLEASE revive and update to latest RB!
Were currently working on a Spout addon to allow client side positional audio and your plugin is beneficial to our use!
Any way this could support positional audio? or is that all done client-side?
Or make one that detects distance between users if that's in any way possible? That'd be amazing as well! Haha
Please make a version of this that works with the latest Bukkit, it's be amazing! :D