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

    oliverw92

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

    [​IMG]

    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.

    Features
    • 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
    Requirements
    • Bukkit Persistence configured in bukkit.yml
    • If using MySQL for Persistence, you need a MySQL database
    • Permissions
    Installation
    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
    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
    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: http://www.wampserver.com/en/

    If you choose to use MySQL you need to configure your bukkit.yml file as follows:
    Code:
    database:
        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
    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:
    Code:
    aliases:
        world: world
    
    You can then customise it and add in your custom worlds like this:
    Code:
    aliases:
        atrium1: atrium
        survival1: survival
        build4: build
        pvp3: pvp
        nether1: nether
    

    Usage
    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)

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


    Changelog

    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 MinecraftCC.com
     
  2. Offline

    Drakonas

    I get this in the log on every start of the server:
    Code:
    2011-04-25 17:58:34 [SEVERE] ebean.properties 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 [org.bukkit.plugin.java.PluginClassLoader]
    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 [org.bukkit.plugin.java.PluginClassLoader]
    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

    cholo71796

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

    Hpiz

  5. Offline

    Dusi

    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

    Felonu

    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

    MadManMarkAu

  8. Offline

    Hpiz

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

    Pand3micc

    /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

    Pand3micc

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

    Tomtomtom

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

    Strebelschneck

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

    oliverw92

    Just create an empty file called ebean.properties 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

    godgodgodgo

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

    oliverw92

    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

    Donny

    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

    oliverw92

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

    DylanP

    Bring back the /mhome version?
     
  19. Offline

    oliverw92

    Huh?
     
  20. Offline

    oliverw92

  21. Offline

    pomo4ka

    When you change the system time, get here the following errors:
    Code:
    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(Util.java:407)
    	at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1116)
    	at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3082)
    	at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2968)
    	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3516)
    	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986)
    	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140)
    	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620)
    	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2570)
    	at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1474)
    	at com.avaje.ebeaninternal.server.lib.sql.DataSourcePool.testConnection(DataSourcePool.java:497)
    	at com.avaje.ebeaninternal.server.lib.sql.DataSourcePool.checkDataSource(DataSourcePool.java:356)
    	at com.avaje.ebeaninternal.server.lib.sql.DataSourceManager.checkDataSource(DataSourceManager.java:228)
    	at com.avaje.ebeaninternal.server.lib.sql.DataSourceManager.access$100(DataSourceManager.java:37)
    	at com.avaje.ebeaninternal.server.lib.sql.DataSourceManager$Checker.run(DataSourceManager.java:240)
    	at com.avaje.ebeaninternal.server.lib.BackgroundThread$Runner.runJobs(BackgroundThread.java:208)
    	at com.avaje.ebeaninternal.server.lib.BackgroundThread$Runner.run(BackgroundThread.java:172)
    	at java.lang.Thread.run(Unknown Source)
    Caused by: java.net.SocketException: Software caused connection abort: recv failed
    	at java.net.SocketInputStream.socketRead0(Native Method)
    	at java.net.SocketInputStream.read(Unknown Source)
    	at java.net.SocketInputStream.read(Unknown Source)
    	at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:114)
    	at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:161)
    	at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:189)
    	at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2526)
    	at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2979)
    	... 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

    digga

    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

    MathijsNL

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

    godgodgodgo

    This works with #860 right?
     
  25. Offline

    UnknownGamer101

  26. Offline

    Zixt

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

    Donny

    Code:
    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(PluginCommand.java:37)
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:129)
        at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:298)
        at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:726)
        at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:691)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:684)
        at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:33)
        at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:84)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:451)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    Caused by: javax.persistence.PersistenceException: Unique expecting 0 or 1 rows but got [2]
        at com.avaje.ebeaninternal.server.core.DefaultServer.findUnique(DefaultServer.java:1242)
        at com.avaje.ebeaninternal.server.querydefn.DefaultOrmQuery.findUnique(DefaultOrmQuery.java:924)
        at com.avaje.ebeaninternal.util.DefaultExpressionList.findUnique(DefaultExpressionList.java:217)
        at uk.co.oliwali.MultiHome.MultiHome.onCommand(MultiHome.java:65)
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
        ... 12 more
     
  28. Offline

    clitcomander

    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

    Zixt

    Per-world cooldowns could be good.
     
  30. Offline

    untergrundbiber

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

    oliverw92

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

Share This Page