Inactive [GEN/TP] MultiHome v0.4.1 - A home per world [1060]

Discussion in 'Inactive/Unsupported Plugins' started by oliverw92, Apr 21, 2011.

  1. Offline


    MultiHome - Never move home again!
    [​IMG] Download v0.4.1 [1060]


    Have you ever been in the nether world and wished you could have a home in there as well in your main world? MultiHome gives you the ability to have a unique home per world.

    • One home per world per person
    • Usage is the same as most other home plugins: /home set | /home
    • Whatever world you are in when you type /home, you will be taken to
    • Uses Bukkit Persistence (MySQL/SQLite - your choice) for home storage
    • Supports Permissions
    • Bukkit Persistence configured in bukkit.yml
    • If using MySQL for Persistence, you need a MySQL database
    • Permissions
    Installation (open)

    Please follow these steps in setting up HelloWorld for your server
    1. Download HelloWorld.jar from the top of this post
    2. Place HelloWorld.jar in your plugins/ folder
    3. Configure bukkit.yml using the instructions below

    MySQL Configuration
    Configuration (open)

    If you have already got your Bukkit Persistence (bukkit.yml) set up you DO NOT NEED DO THIS! Other plugins that use Persistence are DataLog, Lists and Socials! - there will soon be more.

    All of this is configured in the bukkit.yml file which is in the root directory of your bukkit instalation

    Bukkit Persistence is a data storage system build into Bukkit. It is effectively a wrapper for accessing either SQLite or MySQL. It will soon be adopted by loads of other plugins once it becomes more 'official'. For you the server owner/tech guy you have two options:

    SQLite is a 'local database' - you do not need a database server set up or anything, it just stores it locally on your computer. In the case of Bukkit Persistence, it stores it in plugins/MultiHome/ in a .db file. If you have not configured bukkit.yml before, it will default to SQLite and you do not need to change a single thing

    MySQL is a more 'permanent' database storage system - it is much MUCH faster and more efficient that SQLite but requires its own dedicated installation and the MySQL 'server' needs to be running all the time. You can get a program called WAMP that gives you a pre-configured MySQL setup along with PHP and Apache here:

    If you choose to use MySQL you need to configure your bukkit.yml file as follows:
        username: root                                                          #Change this to your MySQL username
        isolation: SERIALIZABLE                                            #Don't change this
        driver: com.mysql.jdbc.Driver                                 #Make sure driver is set to this to use MySQL
        password: 'hello'                                                        #Your MySQL password - if you don't have one, leave it as ''
        url: jdbc:mysql://localhost:3306/minecraft          #Database URL: [i]localhost[/i] - your MySQL location
                                                                                              #                            [i]3306[/i] - MySQL server port - almost always 3306
                                                                                              #                            [i]minecraft[/i] - Name of the database to keep your data in

    config.yml (open)

    This is contained in plugins/MultiHome/config.yml. There is only one group of settings at the moment - world aliases. The server auto-creates this file and adds as many homes as are loaded at the time of server start as possible. You can then add your other worlds to it. World aliases are used when doing something like /home <world> - say you have an undersirable world name like creativeworld4, you can use world aliases to change it to something simple like creative for use in MultiHome commands. When the plugin creates the file it will look something like this:
        world: world
    You can then customise it and add in your custom worlds like this:
        atrium1: atrium
        survival1: survival
        build4: build
        pvp3: pvp
        nether1: nether

    Usage (open)

    • /home help -> List command information for MultiHome
    • /home set -> Set home in the current world you are in
    • /home list -> List all your homes and their locations
    • /home player <player> [world] -> Go to another players home
    • /home <world> -> Go to your home in another world
    • /home -> Go to the home you have set in the world you are in

    Permission Nodes
    Permission Nodes (open)

    multihome.home      ->      Access to /home set, /home help and /home
    multihome.admin    ->      Access to /home player


    Version: v0.4.1 [819]
    • Added DataLog support
    Version: v0.4 [670-819]
    • Added /home <world>
    • Added /home player <player> <world>
    • Added config file
    Version: v0.3 [670-714]

    • Fixed null pointer
    • Fixed homes not overwriting
    • Added /home list command
    Version: v0.2.1 [670-714]

    • Fixed the fix of Permissions error
    Version: v0.2 [670-707]

    • Fixed Permissions error
    Version: v0.1 [684]

    • Initial Release
    Future Features
    • None, suggest some!
    Plugin originally created for
  2. Offline


    I get this in the log on every start of the server:
    2011-04-25 17:58:34 [SEVERE] not found
    2011-04-25 17:58:34 [INFO] DataSourcePool [MultiHome] autoCommit[false] transIsolation[SERIALIZABLE] min[2] max[20]
    2011-04-25 17:58:34 [INFO] DatabasePlatform name:MultiHome platform:mysql
    2011-04-25 17:58:34 [INFO] SubClassFactory parent ClassLoader []
    2011-04-25 17:58:34 [INFO] Entities enhanced[0] subclassed[1]
    2011-04-25 17:58:34 [INFO] DataSourcePool [DataLog] autoCommit[false] transIsolation[SERIALIZABLE] min[2] max[20]
    2011-04-25 17:58:34 [INFO] DatabasePlatform name:DataLog platform:mysql
    2011-04-25 17:58:34 [INFO] SubClassFactory parent ClassLoader []
    2011-04-25 17:58:34 [INFO] Entities enhanced[0] subclassed[1]
    This should not be showing up in the server log. It is unneeded, and a pain, because I use McMyAdmin, a minecraft/bukkit wrapper. Any time bukkit shows [SEVERE] in the log, the server automatically shuts down or restarts, based on user preference. This plugin makes it severely irritating, because the server just restarts on startup, then restarts again, and again...and so on. Please fix this. Thank you.
  3. Offline


    Can we restrict the /home <world> command? My two worlds function like separate servers.
  4. Offline


  5. Offline


    Exactly my thoughts.

    Also, the /home player <name> [world] - does it work to just type /home <name> [world] or do I need to put that extra "player" in? If I type /home player <name> - would that send me to the home in the world im currently in?

    EDIT: One more thing. Would it be possible to implement an optional warmup/cooldown configuration?
  6. Offline


    I would love to use this for my server, but would like the ability to set it so users can only set 1 home and /home will always take them to that home whether it's on same world or not. Also, some config file based control on who can use would also be great.
  7. Offline


  8. Offline


    haha yea I use your plugin so that y i even said that
  9. Offline


    /home takes me to a void in mc 1.6, can you possibly update this for a later build? or are you no longer active
  10. Offline


    plugins dead! thats just fantastic cause it was working great
  11. Offline


    cant wait for this to be updated to 1.6, its the best home plugin for multiworld i think :)
  12. Offline


    @oliverw92 please update this, i dont want to go back to 1 home for multiple worlds :(
  13. Offline


    Just create an empty file called in your bukkit directory. It isn't my fault by the way - go complain to Bukkit.

    Yes i can add that in

    Yeah i found that out the other day, i might rename it.

    You need the 'player' bit in to go to another persons home.

    Cooldowns and warmups aren't at the top of my list. I personally don't have much use for them but if I have time I might implement it.

    I think you are looking for another plugin - the entire point of MultiHome is to have one home per world - i.e. multiple homes.

    Glad you take that attitude :) I am thinking about changing the name of mine though - yours was here first! You also have a good point about CraftBukkitUpToDate

    Update to craftbukkit 819 - they broke inter-world teleporting in 818.
  14. Offline


    what is the /home player command? Can anyone teleport to anyones home?
  15. Offline


    As it says in the op - /home player <name> [world] - takes you to another players home. As it says in the permissions section, you must have the permission 'multihome.admin'
  16. Offline


    Your main post is really confusing.
    Says its for 819 but its not your latest version (V0.3, but latest is v0.4).

    I highlighted the areas. hopefully it helps a bit.
    Also with several of my warp/teleport plugins on warp/teleport it causes the chunk that you teleport/warp into to not load. Is this a map error, server problem, plugin problem, or bukkit? Got an answer, its bukkit.
  17. Offline


    Lol thanks, updated it a bit :)
  18. Offline


    Bring back the /mhome version?
  19. Offline


  20. Offline


  21. Offline


    When you change the system time, get here the following errors:
    2011-06-09 08:46:43 [SEVERE] FATAL: DataSourcePool [MultiHome] is down!!!
    com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
    The last packet successfully received from the server was 86 459 955 milliseconds ago.  The last packet sent successfully to the server was 1 milliseconds ago.
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    	at java.lang.reflect.Constructor.newInstance(Unknown Source)
    	at com.mysql.jdbc.Util.handleNewInstance(
    	at com.mysql.jdbc.SQLError.createCommunicationsException(
    	at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(
    	at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(
    	at com.mysql.jdbc.MysqlIO.checkErrorPacket(
    	at com.mysql.jdbc.MysqlIO.sendCommand(
    	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(
    	at com.mysql.jdbc.ConnectionImpl.execSQL(
    	at com.mysql.jdbc.ConnectionImpl.execSQL(
    	at com.mysql.jdbc.StatementImpl.executeQuery(
    	at com.avaje.ebeaninternal.server.lib.sql.DataSourcePool.testConnection(
    	at com.avaje.ebeaninternal.server.lib.sql.DataSourcePool.checkDataSource(
    	at com.avaje.ebeaninternal.server.lib.sql.DataSourceManager.checkDataSource(
    	at com.avaje.ebeaninternal.server.lib.sql.DataSourceManager.access$100(
    	at com.avaje.ebeaninternal.server.lib.sql.DataSourceManager$
    	at com.avaje.ebeaninternal.server.lib.BackgroundThread$Runner.runJobs(
    	at com.avaje.ebeaninternal.server.lib.BackgroundThread$
    	at Source)
    Caused by: Software caused connection abort: recv failed
    	at Method)
    	at Source)
    	at Source)
    	at com.mysql.jdbc.util.ReadAheadInputStream.fill(
    	at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(
    	at com.mysql.jdbc.MysqlIO.readFully(
    	at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(
    	... 15 more
    2011-06-09 08:46:43 [INFO] Reseting DataSourcePool [MultiHome] min:2 max:20 free:1 busy:1 waiting:0 highWaterMark:1 waitCount:0 hitCount:7
    2011-06-09 08:46:43 [INFO] PSTMT Statistics: name[MultiHome.1] startTime[1307493973165] pstmtHits[0] pstmtMiss[0] MultiHome.1 size:0 max:20 totalHits:0 hitRatio:0 removes:0
    2011-06-09 08:46:43 [INFO] Closing Connection[MultiHome.1] psReuse[0] psCreate[0] psSize[0]
    2011-06-09 08:46:43 [WARNING] DataSourcePool closing leaked connection?  name[MultiHome.0] lastUsed[Wed Jun 08 08:45:43 KRAST 2011] createdBy[null] lastStmt[null]
    2011-06-09 08:46:43 [INFO] CLOSING BUSY CONNECTION ??? MultiHome.0
    2011-06-09 08:46:43 [SEVERE] Connection [MultiHome.0] not found in BusyList?
    2011-06-09 08:46:43 [INFO] Closing Connection[MultiHome.0] psReuse[0] psCreate[1] psSize[1]
    2011-06-09 08:46:43 [SEVERE] Closing Connection[MultiHome.0] that is already closed?
    2011-06-09 08:46:43 [INFO] Busy Connections:
    2011-06-09 08:46:43 [WARNING] Can't close connection in checkDataSource!
    2011-06-08 08:46:43 [WARNING] Time ran backwards! Did the system time change?
    2011-06-08 08:46:52 [SEVERE] RESOLVED FATAL: DataSourcePool [MultiHome] is back up!
    2011-06-08 08:46:52 [INFO] Reseting DataSourcePool [MultiHome] min:2 max:20 free:0 busy:-1 waiting:0 highWaterMark:1 waitCount:0 hitCount:8
    2011-06-08 08:46:52 [INFO] Busy Connections:
    2011-06-08 08:46:52 [INFO] DataSourcePool [MultiHome] grow; id[MultiHome.2] busy[0] max[20]
    2011-06-08 08:46:52 [INFO] Closing Connection[MultiHome.2] psReuse[0] psCreate[0] psSize[0]
    2011-06-08 08:47:12 [INFO] DataSourcePool [MultiHome] grow; id[MultiHome.3] busy[0] max[20]
    2011-06-07 08:47:21 [WARNING] Time ran backwards! Did the system time change?
    Thank you.
  22. Offline


    I dont know if its your fault,but i have to use /home nether then it ports me randomly to this wolrd and then /home to get to my seted home there, but sometimes i get portet into lava, when i use it corssworld
  23. Offline


    Does this have a cooldown\warmup setting?
  24. Offline


    This works with #860 right?
  25. Offline


  26. Offline


    Is it possible to import a warpz0r database into this?
  27. Offline


    2011-06-27 18:16:33 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'home' in plugin MultiHome v0.4
        at org.bukkit.command.PluginCommand.execute(
        at org.bukkit.command.SimpleCommandMap.dispatch(
        at org.bukkit.craftbukkit.CraftServer.dispatchCommand(
        at net.minecraft.server.NetServerHandler.handleCommand(
        at net.minecraft.server.NetServerHandler.a(
        at net.minecraft.server.Packet3Chat.a(
        at net.minecraft.server.NetworkManager.b(
        at net.minecraft.server.NetServerHandler.a(
        at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
        at net.minecraft.server.MinecraftServer.h(
    Caused by: javax.persistence.PersistenceException: Unique expecting 0 or 1 rows but got [2]
        at com.avaje.ebeaninternal.server.core.DefaultServer.findUnique(
        at com.avaje.ebeaninternal.server.querydefn.DefaultOrmQuery.findUnique(
        at com.avaje.ebeaninternal.util.DefaultExpressionList.findUnique(
        at org.bukkit.command.PluginCommand.execute(
        ... 12 more
  28. Offline


    with my current setting i have it set so that the only way to set home is to sleep in it. Can i still use this plug in with the /set home command taken out??
  29. Offline


    Per-world cooldowns could be good.
  30. Offline


    A extra permission for /home <world> would be nice
  31. Offline


    Sorry I'm not actively developing this at the moment.

Share This Page