Inactive [ADMN/GEN/INFO/TP/RPG] MyWorlds v1.48 - Multi-world plugin with a touch [2320]

Discussion in 'Inactive/Unsupported Plugins' started by bergerkiller, Aug 15, 2011.

  1. Offline

    bergerkiller

    [​IMG]

    You may wonder, why so many tags? Well, that is because this plugin simply contains a lot of features that fall under those tags! I originally made (parts of) this plugin for our server, but it proofed to be a 'publishable' plugin as well. :)

    Description

    This plugin features everything related to worlds. Features:
    • Load, unload, copy, delete, save and create worlds
    • Show information of worlds and list available chunk generators and worlds
    • Set world game mode, difficulty, time, weather, autosaving, PvP
    • Set world mob spawn restrictions
    • Evacuate worlds to clear them from players
    • Repair broken worlds to some extend
    • Make portals cross-world, one-way, simple, no commands needed
    • World-specific chat rooms using permissions
    • Automatically load worlds when the server starts and persistent settings
    • Extensive permission system, you can even set who can enter what world
    • Can act as a tool for other plugins to teleport players from one world to the other
    • Simple teleportation commands
    • Set OP lists for specific worlds to make players operator on certain worlds
    • Easy-to-remember commands: with aliases and chat-message help
    A nice tutorial by FrozdY



    BukkitDev page

    For configuration, commands, etc, look on the BukkitDev page under Links.
    All documentation pages are now on Bukkit Dev.

    Known bugs:
    - None
    Disclaimer (because things CAN go wrong)

    I am not responsible for world damages done by this plugin or by certain commands this plugin performs. If you, for example, loaded 20 worlds and hosted it on a buggy computer with 30 players, odds are the server (and your computer) will crash and worlds become corrupted. Repair can fix worlds, but this does not recover damaged chunks, so don't think you are always covered. Also, never forget to make backups of your worlds, but I guess this is common sense...

    FAQ:
    - Different inventories per world? No, you can use World Inventories for that.
    - Or try MultiInv while it is still maintained.
    - Repair ruined your world? Backup of region files can be found in the region folder, simply restore.


    Important links:

    Download the MyWorlds.jar from GitHub
    Look at the source at GitHub
    BukkitDev page

    Changelog

    Show your appreciation for my plugins by donating
    [​IMG]
     
  2. Offline

    Lemon200

    Hi! I'm having a problem with your plugin. I have 3 different worlds in my server and 1 of them is survival. I've edited the worlds file to set gametype for each world, but I'm facing a strange bug with it. So, when a OP changes from creative to survival world, gametype changes. But when non-OP does the same, gametype does not change. I'm using the latest version of your plugin and i really dont't know what's wrong. Hope you can help me!
     
  3. Offline

    bergerkiller

    @Lemon200 Check the plugins you run (especially MultiVerse or permission plugins) if they have some sort of game mode prevention. I had a problem with it when used with MultiVerse, where the gamemode simply couldn't be set back for some reason. Probably because of the gamemodechange event which got added, which can be cancelled sadly :/
     
  4. Offline

    Pixiio

    I can't unload it, that the problem. It's a main world?
     
  5. Offline

    bergerkiller

    @Pixiio um yeah. You can disable hell, for some strange reasons it then no longer loads the end world. You can supply nether/the_end worlds manually using default portals for worlds.
     
  6. Offline

    Pixiio

    Thank you for your support, will try it soon!
     
  7. Offline

    Lemon200

    Thanks! I had one settings plugin which was messing it up. Now it works perfectly! :D
     
  8. Offline

    ledhead900

    Are you using Signlink ?
     
  9. Offline

    Maxxgold



    org.bukkit.command.CommandException: Unhandled exception executing command 'world' in plugin Essentials vPre2.7.1.1
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:42)
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:165)
    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:372)
    at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:756)
    at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:721)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:714)
    at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:180)
    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:92)
    at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:550)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:516)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:414)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
    Caused by: org.bukkit.command.CommandException: Unhandled exception executing command 'world' in plugin My Worlds v1.31
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:42)
    at com.earth2me.essentials.Essentials.onCommandEssentials(Essentials.java:266)
    at com.earth2me.essentials.Essentials.onCommand(Essentials.java:253)
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40)
    ... 14 more
    Caused by: java.lang.NoClassDefFoundError: org/yi/acru/bukkit/Lockette/Lockette
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
    at java.lang.Class.getMethod0(Unknown Source)
    at java.lang.Class.getMethod(Unknown Source)
    at com.bergerkiller.bukkit.mw.WorldManager.getGeneratorPlugins(WorldManager.java:152)
    at com.bergerkiller.bukkit.mw.WorldManager.fixGeneratorName(WorldManager.java:176)
    at com.bergerkiller.bukkit.mw.commands.WorldCreate.execute(WorldCreate.java:50)
    at com.bergerkiller.bukkit.mw.commands.Command.execute(Command.java:294)
    at com.bergerkiller.bukkit.mw.MyWorlds.onCommand(MyWorlds.java:134)
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40)
    ... 17 more
    Caused by: java.lang.ClassNotFoundException: org.yi.acru.bukkit.Lockette.Lockette
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:36)
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:24)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 27 more
    2011-12-04 23:40:29 [INFO] Essentials: Alternative command world found, using my worlds:world
    2011-12-04 23:40:29 [INFO] [MyWorlds] Maxxgold Issued a world creation command for world: space
    2011-12-04 23:40:29 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'world' in plugin Essentials vPre2.7.1.1
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:42)
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:165)
    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:372)
    at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:756)
    at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:721)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:714)
    at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:180)
    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:92)
    at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:550)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:516)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:414)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
    Caused by: org.bukkit.command.CommandException: Unhandled exception executing command 'world' in plugin My Worlds v1.31
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:42)
    at com.earth2me.essentials.Essentials.onCommandEssentials(Essentials.java:266)
    at com.earth2me.essentials.Essentials.onCommand(Essentials.java:253)
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40)
    ... 14 more
    Caused by: java.lang.NoClassDefFoundError: org/yi/acru/bukkit/Lockette/Lockette
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
    at java.lang.Class.getMethod0(Unknown Source)
    at java.lang.Class.getMethod(Unknown Source)
    at com.bergerkiller.bukkit.mw.WorldManager.getGeneratorPlugins(WorldManager.java:152)
    at com.bergerkiller.bukkit.mw.WorldManager.fixGeneratorName(WorldManager.java:176)
    at com.bergerkiller.bukkit.mw.commands.WorldCreate.execute(WorldCreate.java:50)
    at com.bergerkiller.bukkit.mw.commands.Command.execute(Command.java:294)
    at com.bergerkiller.bukkit.mw.MyWorlds.onCommand(MyWorlds.java:134)
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40)
    ... 17 more
    Caused by: java.lang.ClassNotFoundException: org.yi.acru.bukkit.Lockette.Lockette
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:36)
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:24)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 27 more
    2011-12-04 23:41:04 [INFO] Connection reset
     
  10. Offline

    tmad40blue

    @bergerkiller This happens every time I try to use /world listgenerators...

     
  11. Offline

    bergerkiller

    @tmad40blue Odd...how did nijikokun get involved in that function...I'll add a try-block around it so it won't throw that error all the time.

    @Maxxgold Those are some strange errors you got there...most of them not even caused my My Worlds alone. Does it still happen when disabling Lockette/Essentials temproarily? If not, I'll have to add some compatibility I guess.

    Code:
    Caused by: java.lang.NoClassDefFoundError: org/yi/acru/bukkit/Lockette/Lockette
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
    at java.lang.Class.getMethod0(Unknown Source)
    at java.lang.Class.getMethod(Unknown Source)
    at com.bergerkiller.bukkit.mw.WorldManager.getGeneratorPlugins(WorldManager.java:152)
    at com.bergerkiller.bukkit.mw.WorldManager.fixGeneratorName(WorldManager.java:176)
    at com.bergerkiller.bukkit.mw.commands.WorldCreate.execute(WorldCreate.java:50)
    How can a My Worlds command ever turn into a Lockette exception...just weird.
    Ok I know what is going on there. It fails to get the class from the plugin description, should not throw an error in that case.
     
  12. Offline

    Maxxgold

    It happens when I am trying to create a space world with bananaspace. It also seems to conflict with Deathtpplus. I went back to version 1.30 of My worlds and Dev Build 32 of banana space and I don't get the errors anymore. Deathtpplus is the only plugin that I have that mentions lockette. I don't use lockette and have never used it.
     
  13. Offline

    bergerkiller

    @Maxxgold the error is nothing alarming, so I removed it in the newer version. Only issue I face now is that, when unloading and then loading a world, the spawn location is messed up...
     
  14. Offline

    Maxxgold

    When do you expect and update ?
     
  15. Offline

    bergerkiller

    @Maxxgold well I intended to add a 'reload world if no players inside' feature. It is working and all, but unfortunately Bukkit has an internal bug. When you unload a world, and then load it, you can't (properly) teleport to it anymore. I have no idea how and when, but it happens and I haven't found a hotfix against it.

    I'll update right now, but without explaining the feature. (it is visible in the world config though) It's called 'reloadWhenEmpty'.
     
  16. does this work on 1.0 ?
     
  17. Offline

    bergerkiller

    @twf28hotmail.com Yup, it's built for CB 1550 but will most likely work on other 1.00 builds too.
     
  18. Offline

    ledhead900

    People have told me that spawn sometimes wont always work properly, Like some people will spawn ok some people get sent to the worlds chunk 0 0 spawn, sometimes they spawn above mountains like the old bukkit bug that would not let you spawn undercover.

    My spawn is out in open tho, Not really a huge deal as death makes them spawn properly but I'm just throwing it out in the open.

    Edit:
    Ok proper question now

    How well does your unload feature work could I rely on it to work every time, I wish to try and setup event worlds I figured way to avoid the extra resource usage from hosting even 40 worlds would be to host them on a scheduled basis. For instance I can have say the portal 2 coop adventure map loaded for 3 days then unload that then wait 1hr and load some other mini game world for 3 days, rinse repeat over as many worlds, days as needed.

    This would work awesome if your world unload and load can reliably do it job so I am just asking if you see any issues or draw backs from doing this. I can already do scheduled console commands like this I wish too seek your advice and if your system could keep up reliably if I was to start doing such frequent unload and loads.

    More to the point would this have any effect on the stability of the world files ?, I have been hosting since early alpha but I think I can say that my idea should on paper be possible and non resource intensive other than the resources required when the world was actually in use.

    In the case it would be possible, as I already know the memory footprint would be minimal as its not loading EACH world at once its only loading one for set time then send the unload to console then send load to another.

    I provide the Portals using this as well but would it be possible to get a feature added so that worlds could be marked in config to FORCE eject the players upon instance of unload so the world CAN unload.

    Obviously that feature would be needed for my idea to work properly and be reliable.



    In short
    • Pro's/Cons ?
    • Could a config setting be added to force eject players from the world on unload
     
  19. Offline

    bergerkiller

    @ledhead900 It's not 'my' unload coding, it's a Bukkit bug.
    believe me, I have tried to deal with it the best I could, but it's breaking somewhere internally and no idea why, where and how. All I know is that entity.teleport fails after a world is reloaded.

    You can use /world evacuate [worldname] ([reason...]) to teleport away/kick all players in a world. You are then free to unload the world afterwards. The problem is that I can't detect if a player wants to enter a world - the world has to be loaded to do so. However, loaded worlds don't add much RAM when no one is in them; chunks are not loaded and you can even set if the spawn is kept loaded to reduce RAM some more. A world without chunks loaded? Hardly consumes RAM compared to a 2 gb scale.
     
  20. Offline

    ledhead900

    That's fine. I was just asking if you could see any concerning cons to having like 10 worlds on file that load and unload on a scheduled to create a sort of map rotation. As I had a bukkit wrapper that supported such timed events to pass commands to console that would easily make some new tasks in to evacuate a world > Unload >load new world with.

    I was concerned a little about what effect it might have on the region files mostly. the TP code I was not referring to lol.
    I was suggesting that on a world that is loaded spawn does that, Unless you mean I need to keep the spawn chunk loaded for it to not do that ?.

    This world never gets unloaded as it is the default world. Just let me jump back a little, are you saying that I don't actually have to unload a world ? for it to not use resources, and that it will only load chunks if a player actually uses it ?.

    If so that is awesome news I thought it only unloaded the spawnchunk I had no idea world would completely unload chunks if no one was playing on it. But anyway jumping forward a bit I was referring to your actual unload/load stability as in how well it would look after the regions data and things like that. Was just seeking your approval of stability weather or not it there was any real reason to not unload world every 3days or 24 hours and then reload it again repeating for as long as the server is physically turned on.
     
  21. Offline

    bergerkiller

    @ledhead900 Seems stable to me, unless some plugin decides to store even a single entity...because that entity references the world, which references everything else...which can cause memory leaks.
     
  22. Offline

    ledhead900

    I was going to disable build and all mobs on those worlds !, The worlds a purely puzzle/mini game fun worlds that do not need any mobs or anything like that.

    Also about the TP issue would it even effect me with the way I am doing it ?, For instance.
    I would be loading world 2 keeping it loaded for couple days or half week - week - Unloading world 2 for the same duration - loading world 3 - rinse and repeat for x worlds.

    Would be using your TP signs/Stargates , on paper the Gates would only work when the world gets loaded and do nothing when the worlds not loaded. Is there a way to maybe specify a list of worlds on one portal sign so that if it cannot send u to world B go to C if not C go to D - like a list of possible worlds to send player too ? if it did I would only need to create one portal instead of many and I could link back to the same one on each world I plan to make as event worlds.
     
  23. Offline

    bergerkiller

    @ledhead900 That's going to be nearly impossible and is maybe a bit too advanced for this plugin. There are a couple of warp plugins around, maybe one of those can achieve it. (I simply read the signs at the stored location when teleporting and all lines are already taken :/ )
     
  24. Offline

    ledhead900

    Wait the whole thing or just the one portal over many worlds thing, I can get over the later :p it was just an idea I though maybe it was possible to add a portal config setting that could do that like keep a list of possible worlds and just send player to the first loaded world on the list.

    In my case I only will have one world running out of those event worlds anyway and list is going to be only about 3 max right now.
     
  25. Offline

    Fishfish0001

    Is it possible to make it so a persons gamemode isn't changed upon switching worlds? Right now my donors (and myself) loose our Creative Mode, and God Mode whenever switching portals.
     
  26. Offline

    bergerkiller

    @Fishfish0001 Yup, use this to disable auto-gamemode switching for a world:
    If you want to toggle the game mode for one person, use a command-based plugin like CommandBook.

    @ledhead900 As I said, nothing is stored of portals...maybe that wasn't such a good idea after all :)
    I could switch to yml portal configuration, then having a sign can be made obsolete as well. (you could make it all command-based)

    I get the idea, but it will surely require me to go berserk on the current code...which could be a bad thing as it destroys the simplicity.
     
  27. Offline

    ledhead900

    Hey its your plugin and its fine the way it is I was just suggesting it would have been nice but it was not possible the way it is done already then don't worry about it. I will just make like a small stargate for each world and link the them up the current way by making a portal on A to send you to a world names spawn.

    Just like it does now. I will just do this for each world its not a big deal :p, I just though the signs could support detection of loaded worlds, You could do something with sign link tho no need to go berserk.

    Here is an alternate idea that probably would work

    • Edit signlink with some extra code " I don't know it but u probably do'
    • Add a new variable for the portal signs something like "WorldList"
    • Have the variable check a variable in signlink much like how the signs link now
    • Then first sign u put portal and the Worldlist where the destination would be
    • Second sign 1st line would be %WorldlList% and this would show then link the next 3 worlds on the sign to Dest of portal
    • %worldlist% variable would check if one of those worlds was loaded and if it was send player there if it was more than one send player in some sort of order prob alphabetical order.
    I dunno if that's even possible to do but I had fun thinking it. I am no fussed either way so that was just an idea I can handle it like I said in first couple paragraphs of this post.
     
  28. Offline

    Microsoft22

    I don't know i this has been answered yet but i just realized you can go to ur creative world and get full diamond tools and armor and some other rare items, then go back to spawn or another world and still have those items. Is there a config to fix this or what?
     
  29. Offline

    ledhead900

    Yep right on the OP post: :rolleyes:
    "FAQ:
    - Different inventories per world? No, you can use World Inventories for that."
     
  30. Offline

    Microsoft22

    thanks didn't know about this plugin
     
  31. Offline

    zachd1234

    Hey I have two worlds one is called World the other is called World One. When I want to go to World One's spawn point I type /world spawn World One but it brings me to my other worlds spawn. It seems like I cant have a world with a space in its name any idea why this is happening?
     

Share This Page