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

    bergerkiller

    @ledhead900 it's more for in the NoLagg plugin, basically pre-generating chunks around the player - async - reducing server stress. Async saving is already on my TODO list, replacing the built-in save with an async version.

    (only issue is that I have to 'clone' the chunk before saving to prevent lots of concurrency issues. This mostly counts for the entities and tile entities.
     
  3. Offline

    ledhead900

    Well now I am confused as it appears to use generators just fine with out any fuss. I simply just wanted a dirty method with out caring how long it took to force it to generate more then just spawn area chunk. as I stated I was only going to use it one world and as a once of thing.

    No one will be online when I expand the world or do the generation I do it in console and I do other stuff while I wait.
    I just don't understand the issue of why it cannot be done while it initially creates the world, instead of only creating a small spawn area create initial chunks as big a radius as I tell it too.

    I think I need more explanation as to why this would be an issue. I only seem to understand you don't want it to cripple the server to a halt but as I stated for me at least that is not an issue as I have not intention to play on the server while I do this.

    Call me old fashioned but I believe that world modify tasks are best done with no one doing anything.

    Edit:
    Still don't get it lol, your talking about nolagg what does it have to do with world creation ?.
    If it generates more chunks at the same time during world creation before the world is even loaded I don't see how it would effect anything other than CPU usage until it had finished.
     
  4. Offline

    Weshvile

    I don't like HeroChat (bugs...), I have already search for chat plugin (per world...) and I don't find my happiness :/
    And for flatgrass: Cleanroom Generator works? Apparently no :/

    (Sry if my English is bad, I'm French :( )
     
  5. Offline

    bergerkiller

    @ledhead900 Ow sorry I must have randomly added NoLagg to the conversation, but yeah, I will probably add an 'Async world generator' in it. Might add it in MyWorlds, might add it in NoLagg, might not even add it because of concurrency issues. Would be very nice to (continuously) generate the world async while this is possible. :)

    @Weshvile Cleanroom Generator was still supported and worked the last time I checked it...weird. I understand the issue, as HeroChat has some severe NullPointerException issues atm. I'll look into world-specific chat channels once NoLagg is pretty much cured from all it's 'Chunk unload delay lags'.
     
  6. Offline

    ledhead900

    I ended up just using this.
    http://forums.bukkit.org/threads/ad...f-your-world-at-will-tested-w-1-9-1337.30238/

    If you want you can forget about adding it or if your bored and want to extent to function u could go for a dig with that plugin :p. I choose to use that one as it throttled and also forced fixing of lighting was almost a requirement on the world I had built.

    EDIT:
    Well My main sever was having similar issues to my test server I noticed it would upon enterting a usually working chunk would lock up client and create a huge cpu spikes and crash server so it would not accept connections.

    I knew it had to be a corrupt map issue as why else would an otherwise known working area break so bad. Only things I had done recently were use the link above plugin to run a lighting fix on the worlds. But that was only last night.

    I rolled the map back a day and removed said plugin and same thing was going on, I think to myself how come I did not notice this sooner I guess it is because server auto restarts every 10 hours so it would never have been locked up when I checked it as I do not do that very often as its all automated.

    Anyway to continue, I ended up having to roll back 3 days. I had a bit of a think and I remember the only changes in last 3-5 days were that I had Installed your nolagg plugin updates that had fixes for chunk unload and Async save. Now It could not be chunk unload doing that so I came to the conclusion that had to have been Async corrupting map saves.

    I have no way of testing this and I rather not mess around trying to corrupt a world again but I just thought you should know that this was the result of running your nolagg since your last update wit the async setting turned on for couple days. Now I did update it again after you included some kinds of fix for async saves at least I think but damage would have been done by then.

    I mean I just cannot explain it, I removed the last plugin and rolled back way before that was used and issue remained, I removed other plugins that could have contributed such as Safevoid and other stuff that modifies a world, The only thing that I can pin this on is a dodgy save corrupting the map as when I went over only chunk groups that people usually would visist the server would rise in cpu and lock up the client and server commands from console.

    I dunno where other players are but I noticed as some people came in to the server it would do the same server lockup instantly as if I passed a dodgy area, the area I found was right outside spawn.

    I may have to roll back more if happens again as I cannot tell how many areas are effected but if you confirm this as an issue I will need to roll back to middle of last week instead of only start of this week to be 100% sure its a good backup.
     
  7. Offline

    bergerkiller

    @ledhead900 Ah so they do exist, yeah, then I won't bother adding one myself. It's better to let the dedicated plugins handle those tasks. :)
     
  8. Offline

    ledhead900

    Check post again I made edit instead new thread on nolagg as I cannot be sure it was cause but as you read it appears likely. I should have posted it on nolagg thread but at time of writing u had not responded to it and thought I could save a new post.

    Yea don't really need it but if this one is not working correctly for any reason could u make one ? maybe at the very least when you run repair on a world could it repair lighting as that is something a lot of worlds could use to help minimize lag.

    As I generally would not have the chunk generation thing installed if I was not making a world.
     
  9. Offline

    bergerkiller

    @ledhead900 I already fixed alot of client lag spikes using NoLaggChunks. It is in development as you read this. I managed to ban out all CPU lag spikes at the client, but it's interesting you say that the lighting is the issue. I simply reduced the chunk sending rate, it works really well. I'll look into the lighting if it's a major factor too...
     
  10. Offline

    ledhead900

    Well its a big fps killer on some worlds its actually the reason why skyworlds lag so much. When chunks have broken lighting you can easily see it as they are almost pure black shadow best way to tell is when u go near it and it fixes or when u place or remove a block near the dark area it the shadow goes away and becomes a normal shadow.

    Those are actually borken lighting, and cause massive fps loss.

    and

    What do you mean you have fixed the client lag issues?, I'm talking about a corrupt map not a lag issue, The map physically was corrupted and it magically worked when I reverted back to a point prior to using the Nolagg with async save. It was not a lag issue as the client only hung when the server become non responsive at the exact same time.

    I found what caused it only by the fact I experienced the same thin on my test server tho it was me breaking the world by doing crazy terrain modding to the generation but effects were identical to a corrupt chunk,


    Broken area I found in the live main server was right outside spawn the second anyone passed that group of chunks or other broken areas the server hit half cpu usage starts spiking ram and becomes not responsive. Only a restart fixes it also the client will just hang and you have to end task.

    The same with the server you have to end task its non responsive, but when I reverted the map prior to swapping out nolagg for the async updated one the issue was gone. Like I stated the areas normally worked fine and only issue I cared about left were the fps eating lighting bugs so I ran that plugin I linked u that's when issues happened day after I checked server from doing that.

    Then that is when I started pulling plugins and reverting the map as it did not work with the previous days backup nor with the plugin removed but it did once I reverted prior to updating nolagg.

    So what I saying is I think it MAY have corrupted the chunks doing the saves it does. You understand now ?, it was not a simple cpu eating lag but actually killed the server world.
     
  11. Offline

    bergerkiller

    @ledhead900 ok in that case it needs more work on the async save thread. Note that the same lighting issue happen when a new part of the world is generated...

    EDIT

    I'm not entirely sure, but when adding this line:
    Code:
    cps.saveChunkNOP(c);
    Right before the other saveChunk call, I don't get to see lighting issues...or as it seems.
    Weird is that both do pretty much the same...or do they? NOP stands for 'Not our problem', so why is this needed? It's not used in the saveChunk bukkit call either.
     
  12. Offline

    ledhead900

    I'm not a developer but I can only guess it a notch code issue, Lighting is notch's lighting model screwing up it usually does when u have unusual terrain so that part is notch fault on a shitty lighting model. But it is corrected by using any method of force lighting update that goes over all chunks and updates the chunk with correct lighting information.

    But yes I know it can happen while u explore that is why I needed to fully generate my terrain control modded world in test server so I could at the same time force a lighting update then I would go and explore the world after it was all fixed and generated to a size I wanted.

    Tho I am having some trouble as u can read Here! , some how and I am unsure why but some how the world does not like what I am doing and a part of it makes the client lock up when exploring only its strange coz this time its not locking up the server just the client but I do have have asyn save and chunkunload disabled on both server now until I hear word from you.

    I think you need to do more testing before releasing as stable as I would have only had the server running for a about 3 days before I noticed. I just want to find out as I as well am not sure if it is the reason I just know that reverting prior seems to have a working backup that is not locking up at least in that spot.
     
  13. Offline

    davvem

    I have a problem, everytime the server restarts, the worlds i've loaded get's unloaded and i have to load them again! What to do? :(
     
  14. Offline

    bergerkiller

    @davvem try using

    To force a world save. And of course use /stop ingame to stop the server.
     
  15. Offline

    davvem

    **EDIT** It wasent the world plugin, it is your plugin. It just says javalongnullpoint error exeption something, I'm sure you'll understand what that is. I got the latest version of craftbukkit, and of this plugin. What's wrong?
     
  16. Offline

    bergerkiller

    @davvem I can't possibly know where to look if you don't post the entire error...
     
  17. Offline

    davvem

    I ****** hate multiverse! 30 min so far trying to set it up, it says it should work for cb 1337.. IT DOSENT! screws it up, and my comp goes from 20% usage to 60%....

    **Edit**
    I'll give it another try berger killer, just felt for saying that randomly xd
    (also, i dosent mean i hate myworlds, i mean multiverse, that's why i'm trying your plugin again xd)
     
  18. Offline

    BCTsurvival

    when i start up my server and its loading the worlds its stops on world 'survival2' and then it repeats every 0.01 second [WARNING] (lots of numbers and weard words)
     
  19. Offline

    MFN

    Great plugin! I use it on my server.
    Suggestion: Different world, different inventory? Maybe add something like that.
     
  20. Offline

    davvem

    Also, the **EDIT** It wasent the world plugin, it is your plugin. It just says javalongnullpoint error exeption something, I'm sure you'll understand what that is. I got the latest version of craftbukkit, and of this plugin. What's wrong? Was me posting wrong xd Sorry about that =p
     
  21. Offline

    bergerkiller

    That's the problem, I can't know what it is if you only say 'NullPointerException', it has a stacktrace (at ...) for a reason. I need that.

    @MFN You must be the 20th person requesting this...time to add it I guess? Lol...

    @BCTsurvival could you post the log so I know what you mean? Could be misplaced chunks or misplaced entities.
     
  22. Offline

    BCTsurvival

    if i do
    /world create creative abcdefghijklmnopqrstuvwxyz (the flatland seed)
    i get a world with a random seed
    help please :D
     
  23. Offline

    bergerkiller

    @BCTsurvival are you sure? Because it converts the a-z value into a 'long' value and shows that to you.
     
  24. Offline

    BCTsurvival

    ow ok but the seed didnt work...
    do you have a flat land seed?
     
  25. Offline

    MFN

    Thanks, I'm currently using another plugin for it, but I'll be happy to switch on over to use this.
     
  26. Offline

    bergerkiller

    @BCTsurvival nope, doesn't exist. Whatever seed you pick, it will never be a flatland seed. It's simply how the random generator works; it's random whatever value you pick as initial value. For flatlands, use a chunk generator plugin.
     
  27. Offline

    ledhead900

    @bergerkiller
    With Version 1.28

    Creating a world as follows
    "world create Venus:TerrainControl -1788533190"

    Leads to a created world with the SEED as its name, Can you replicate this Its doing it every single time since the update.

    Edit:
    Yep you broke custom generation plugin support, It does not generate under the Generation mod anymore but it just errors, but it does work perfectly fine when I revert to prev version.

    This is the same command above only executed like this
    "world create Venus:TerrainControl"

    Here we go some brain juice for you.
    PHP:
    2011-11-15 23:54:43 [WARNINGUnexpected exception while parsing console command
    org
    .bukkit.command.CommandExceptionUnhandled exception executing command 'world' in plugin My Worlds v1.28
        at org
    .bukkit.command.PluginCommand.execute(PluginCommand.java:42)
        
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:163)
        
    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:355)
        
    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:351)
        
    at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:506)
        
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:485)
        
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374)
        
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    Caused byjava.lang.ArrayIndexOutOfBoundsException1
        at com
    .bergerkiller.bukkit.mw.commands.WorldCreate.execute(WorldCreate.java:26)
        
    at com.bergerkiller.bukkit.mw.commands.Command.execute(Command.java:294)
        
    at com.bergerkiller.bukkit.mw.MyWorlds.onCommand(MyWorlds.java:128)
        
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40)
        ... 
    7 more
    2011
    -11-15 23:54:46 [INFOCreating world '' (this can take a while) ...[0m
    2011
    -11-15 23:54:46 [INFOWorld seed: -1788533190[0m
    2011
    -11-15 23:54:46 [INFO] [MyWorldsLoading or creating world'' using seed -1788533190
    2011
    -11-15 23:54:46 [INFO] New max size400
    2011
    -11-15 23:54:46 [INFO] New max size784
    2011
    -11-15 23:54:46 [INFO] New max size1764
    2011
    -11-15 23:54:46 [INFO] New max size5476
    2011
    -11-15 23:54:46 [INFO] New max size18496
    2011
    -11-15 23:54:46 [INFO] New max size19044
    2011
    -11-15 23:54:47 [INFOPreparing start region for level 2 (Seed: -1788533190)
    2011-11-15 23:54:47 [INFOPreparing spawn area (0%)...[0m
    2011
    -11-15 23:54:47 [INFO] [MyWorldsPreparing spawn area (0%)...
    2011-11-15 23:54:48 [INFOPreparing spawn area (3%)...[0m
    2011
    -11-15 23:54:48 [INFO] [MyWorldsPreparing spawn area (3%)...
    2011-11-15 23:54:49 [INFOPreparing spawn area (7%)...[0m
    2011
    -11-15 23:54:49 [INFO] [MyWorldsPreparing spawn area (7%)...
    2011-11-15 23:54:50 [INFOPreparing spawn area (10%)...[0m
    2011
    -11-15 23:54:50 [INFO] [MyWorldsPreparing spawn area (10%)...
    2011-11-15 23:54:52 [INFOPreparing spawn area (14%)...[0m
    2011
    -11-15 23:54:52 [INFO] [MyWorldsPreparing spawn area (14%)...
    2011-11-15 23:54:53 [INFOPreparing spawn area (17%)...[0m
    2011
    -11-15 23:54:53 [INFO] [MyWorldsPreparing spawn area (17%)...
    2011-11-15 23:54:54 [INFOCONSOLEStopping the server..[0m
    2011
    -11-15 23:54:54 [INFOStopping server
     
  28. Offline

    bergerkiller

    Sorry was kinda concentrating on NoLagg for the moment. :)
    I'll fix the world create command (already done) and now adding chat permissions.
    Code:
        myworlds.world.chat.*:
            description: Sets if the player can chat while being in a certain world
            default: OP
        myworlds.world.globalchat:
            description: Sets if chat messages of the player are seen globally
            default: OP
     
  29. Offline

    General_Nono

    Why doesn't the plugin create the worlds.yml?
    Can I download it everywhere?
     
  30. Offline

    bergerkiller

    Updated to v1.29, fixing the world create command and fixes world settings not getting applied on startup, and added world-specific chat permissions. (to allow world-specific chat with the ability to set those that are allowed to chat globally, and those that are not allowed to chat on certain worlds at all.

    @General_Nono the download contains the world file as well. (in the folder)
    Simply load some worlds, set some settings and it will save everything. If needed, use /world config save.
     
  31. Offline

    General_Nono

    ok,the world.yml is in the folder,sorry for that...but when i want to save via /world config save
    bukkit said:"An internal error occurred while attempting to perform this command"

    and that is what the console saying:
    "[SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'world' in plugin My Worlds v1.29
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:42)
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:163)
    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:355)
    at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:757)
    at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:722)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:715)
    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 net.minecraft.server.NetworkListenThread.a(SourceFile:108)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:471)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    Caused by: java.lang.IllegalArgumentException: Cannot store null
    at org.bukkit.configuration.MemorySection.prepForStorage(MemorySection.java:526)
    at org.bukkit.configuration.MemorySection.set(MemorySection.java:189)
    at org.bukkit.configuration.MemorySection.set(MemorySection.java:191)
    at com.bergerkiller.bukkit.mw.WorldConfig.save(WorldConfig.java:256)
    at com.bergerkiller.bukkit.mw.WorldConfig.saveAll(WorldConfig.java:68)
    at com.bergerkiller.bukkit.mw.commands.WorldConfig.execute(WorldConfig.java:22)
    at com.bergerkiller.bukkit.mw.commands.Command.execute(Command.java:294)
    at com.bergerkiller.bukkit.mw.MyWorlds.onCommand(MyWorlds.java:129)
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40)
    ... 12 more"

    Please help!
     

Share This Page