[MECH/CHAT] MumbleRoom v0.2 - In-game regions to Mumble chat rooms [1337]

Discussion in 'Inactive/Unsupported Plugins' started by NuclearW, Aug 6, 2011.

  1. Offline

    NuclearW

    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:
    Code:
    -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:
    Code:
    #icesecretread=
    #icesecretwrite=
    Further, ensure that ice is set as follows:
    Code:
    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:
    Code:
    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:


    nodes (open)

    • 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




    Download MumbleRoom

    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.
    Changelog:

    • Version 0.2
      • Changed checking code to first check your last known region.
      • Added track-mode and track-server-time configuration options. (Thanks @codename_B for the suggestion)
      • Small bugfixes.
    • Version 0.1
      • Initial release.
    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.
     
    Graindcafe likes this.
  2. Offline

    Pixiio

    This looks awesome!
     
  3. Offline

    shanedaman112

    Thanks! but i got another error :/ it is:

    01:58 PM [SEVERE] Ice.ConnectionRefusedException error = 0
    01:58 PM [SEVERE] at IceInternal.ConnectRequestHandler.getConnection(ConnectRequestHandler.java:240)
    01:58 PM [SEVERE] at IceInternal.ConnectRequestHandler.sendRequest(ConnectRequestHandler.java:138)
    01:58 PM [SEVERE] at IceInternal.Outgoing.invoke(Outgoing.java:66)
    01:58 PM [SEVERE] at Ice._ObjectDelM.ice_isA(_ObjectDelM.java:30)
    01:58 PM [SEVERE] at Ice.ObjectPrxHelperBase.ice_isA(ObjectPrxHelperBase.java:111)
    01:58 PM [SEVERE] at Ice.ObjectPrxHelperBase.ice_isA(ObjectPrxHelperBase.java:77)
    01:58 PM [SEVERE] at Murmur.MetaPrxHelper.checkedCast(MetaPrxHelper.java:1877)
    01:58 PM [SEVERE] at sl.nuclearw.mr.mr.onEnable(mr.java:158)
    01:58 PM [SEVERE] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:174)
    01:58 PM [SEVERE] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:957)
    01:58 PM [SEVERE] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:280)
    01:58 PM [SEVERE] at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:171)
    01:58 PM [SEVERE] at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:154)
    01:58 PM [SEVERE] at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:297)
    01:58 PM [SEVERE] at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:284)
    01:58 PM [SEVERE] at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:152)
    01:58 PM [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:348)
    01:58 PM [SEVERE] at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    01:58 PM [SEVERE] Caused by: java.net.ConnectException: Connection refused: no further information
    01:58 PM [SEVERE] at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    01:58 PM [SEVERE] at sun.nio.ch.SocketChannelImpl.finishConnect(Unknown Source)
    01:58 PM [SEVERE] at IceInternal.Network.doFinishConnect(Network.java:325)
    01:58 PM [SEVERE] at IceInternal.TcpTransceiver.initialize(TcpTransceiver.java:33)
    01:58 PM [SEVERE] at Ice.ConnectionI.initialize(ConnectionI.java:1831)
    01:58 PM [SEVERE] at Ice.ConnectionI.message(ConnectionI.java:1038)
    01:58 PM [SEVERE] at IceInternal.ThreadPool.run(ThreadPool.java:302)
    01:58 PM [SEVERE] at IceInternal.ThreadPool.access$300(ThreadPool.java:12)
    01:58 PM [SEVERE] at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:643)
    01:58 PM [SEVERE] at java.lang.Thread.run(Unknown Source)
     
  4. Offline

    NuclearW

    Did you set your murmur.ini up as described in the post?
     
  5. Offline

    shanedaman112

    were is murmur.ini located? its not in lib or plugins folder...
     
  6. Offline

    NuclearW

    You have to have a murmur (mumble server) running to use this plugin; this plugin links the murmur and minecraft server together.
     
  7. Offline

    shanedaman112

    murmur? its free... right? i hope so!

    anyway

    thanks!

    EDIT: it costs a ton of money!! i cant afford it :'(

    to bad...

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 18, 2016
  8. Offline

    NuclearW

    Murmur is free, you're probably looking at a hosting website that charges. If you google for it, murmur is totally free.
     
  9. Offline

    Pixiio

    Euhh, will Mumble auto start up if you walk into a room?
     
  10. Offline

    shanedaman112

    it is!?!?! YAY

    wait?
    i was on www.mumble.com and...
    is it a program or a hosting website?
    the website i was on had both... ill try the program!

    thanks!!!!! :)



    EDIT: how do i set up a server?
    i dont know how to at all
     
  11. Offline

    Kipperlenny

    Hi,

    seems like something i am looking for - BUT i don't need the tracking and regions.
    I only need the /register and /createchannel functions. Is it possible to use the plugin like that?

    btw. working with 1.0.1?
     
  12. Offline

    NuclearW

    Should be working...

    Although /register only has use with region tracking, similarly with /create

    You could just make one really big region though, that covers your entire map?

    Should be working in 1.0.1-R1, I have not tested though.
     
  13. Offline

    MonsieurApple

    Is this plugin open source?
     
  14. Offline

    NuclearW

    All anyone has to do for source is ask. Although I don't quite think I have source on my current machine so I might be slow in providing it.
     
  15. Offline

    MonsieurApple

    Alright, no hurry.
     
  16. Offline

    Ryan Pendleton

    I'd also appreciate it if I could get a copy of the source code.
    Thanks!
     

Share This Page