[MECH] WorldBorder v1.7.2 - feature-rich world size limiting plugin [BukkitDev]

Discussion in 'Archived: Plugin Releases' started by Brettflan, Apr 4, 2011.

  1. Offline

    Brettflan

  2. Offline

    maxsteele

    Greetings,

    Thanks for the great plugin!

    Will this plugin have bPermissions support? Permissions from yeti is dead, and from what I've tested with bPermissions tonight, WorldBorder is not working with it.

    I set myself up as a default user, with no WorldBorder permissions in bPermissions, and removed my OP status. I was able to get a full list of WorldBorder commands and use them.

    Code:
      maxsteele:
        permissions: []
        groups:
        - default
    groups:
      default:
        permissions:
        - bPermissions.build
        - bukkit.broadcast.user
        groups: []
    
    EDIT:

    To give you a bit more information, I am using the 1.01 RB of Bukkit, and I'm using the 2.04A version of bPermissions.

    I just noticed the plugin developer is releasing versions very quickly right now, and he's up to 2.0.8.A
     
  3. Offline

    EnzoFX

    Sweet, just found this! I can trim my map which was made too large by a single person lol. Hmm, 1600 a nice "avg" size? =P
     
  4. Offline

    ConstructionBoy

    Great plugin, fixed my memory issue :D
     
  5. Offline

    rmb938

    Any update on fixing the fill command issue? Would like to generate the whole map because I put it on my new server in a ram drive.
     
  6. Offline

    Brettflan

    WorldBorder will not be directly supporting any further particular permission plugins in future since the addition of Bukkit's built-in superperms system. Doesn't bPermissions directly support superperms like all other newer permission plugins? I'm guessing you still are in fact an Op (listed in the ops.txt file) or have some other permission issue.

    You've read this post on this same page, right? There's still very little chance of me coming up with a workaround for that CraftBukkit issue.

    Couldn't find anything on the "fill" speed issue. That aside:

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

    Zeroth

    Very nice and streamlined plugin. Top notch!
     
  8. Offline

    CubieX

    @Brettflan
    I noticed that LogBlock obviously does "something" while WorldBoarder fills the world with chunks.
    Every time I used this fill command, logblock gave out messages that the "queue is overloaded xxxxxx"
    and the number after the message is always increasing whyle WorldBoarder is generating chunks.

    Seems like LB tracks changes in new generated chunks or so and cannot entry these changes in the MySQL database fast enough, while WB is running the generation proccess.
    Perharps it's a good idea to unload LogBlock while generation is running?

    I allredy tried that to see if it makes a diffenence in speed but it slowed down anyway.
     
  9. Offline

    OkinKun

    Could have sworn I posted this already, but anyway..
    I'm running into an odd issue when I try to do the Trim or Fill commands, (with or without frequency/padding specified, default or not) it returns in chat with an error along the lines of "Frequency and Padding values must be integers." (not exact wording, but close enough) I know what an integer is, and by my logic it should be working, so there must be an underlying bug causing this, I'd guess. =/ No console errors are given either. I don't believe I have anything that could be conflicting..

    Anyway, I love this plugin so far! All the features of the older border plugins I used to rely on, and more. I especially LOVE that border effect, the little puff of black smoke and sizzle sound effect. GREAT use of that! I wonder if that could be more customized, but it doesn't really need to be, it's awesome as it is! ^_^; Thanks for a great plugin!
     
  10. Offline

    Brettflan

    1. What is the exact command you are entering, and are you sending it from the console or from in-game?
    2. I wasn't entirely happy with the effect, which is why I disabled it by default. It was the best that could be done at the time I coded it, at which time the effects were extremely limited. There may well be some newer sound and particle effects with the 1.0 release which would work better, so I'll probably revisit that feature for potential improvement at some point.
     
  11. Offline

    OkinKun

    1. Nevermind, I just realized the stupid of my mistake. I believe I typed "/wb trim worldname" instead of "/wb worldname trim". Or if that wasn't what I did, it's working now either way. Sorry for buggin you with that.

    2. Well don't worry, I love the effect as is, BUT adding maybe a few options, if there are some nifty new particle effects to use, might be a fun way to customize the server border, per user-preference. Maybe could use those swirly potion particle effects, not sure how that would work. It'd be better if there was a sound effect that could play with it tho.. Oh well.
     
  12. Offline

    bullshitninja

    Understandably. would probably be alot easier, math wise, on a square world rather than a round world, but can you think of a way in which i can trick the renderer into looping back, so as to do such? working on a diagram, to better explain myself, but perhaps your comprehension will win the race against my paltry pixel art skill? haha.
     
  13. Offline

    ~Poke~

    Bug: after starting a fill operation, and restarting the server to give more memory, it will not give progress reports. It is still running and can be paused/unpaused, but will not give the report every 5 seconds which it usually does.
     
  14. Offline

    Valdiralita

    Does this mean anything serious?
    Code:
    17:04:12 [INFO] [WorldBorder] [Trim] Error! Region file which is outside the border could not be deleted: r.-1.-5.mcr 
     
  15. Offline

    lacross

    hey brettflan,

    i am experiencing one problem with the trimming command. i just set a border with 850 radius and performed the fill command. as far as i can see that worked fine. the next command was trim. but it always tells me " an internal error occurred while attempting to perform this command. i cannot figure it out on my own. this is what the console tells me so far:

    21:38:31 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'wb' in plugin WorldBorder v1.5.0
    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.NoSuchMethodError: org.bukkit.World.getWorldFolder()Ljava/io/File;
    at com.wimbli.WorldBorder.WorldTrimTask.<init>(WorldTrimTask.java:70)
    at com.wimbli.WorldBorder.WBCommand.cmdTrim(WBCommand.java:817)
    at com.wimbli.WorldBorder.WBCommand.onCommand(WBCommand.java:556)
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40)
    ... 12 more
    >

    any tipps for me how to proceed. thanks for help in advance
    lacross

    edit: since this is for 1.0, i still run a 1.8.1 server. may that be the problem?
     
  16. Offline

    Brettflan

    Have you tried your original idea again in 1.5.0? There has been a change which might make that work better, namely that it will try to make sure the target chunk is loaded before looking for a safe spot to deposit the player.

    Hmm, I'll look into it. Thanks for the report.


    It means that that region (512x512 area) will not be trimmed off, because the file was locked by your OS. You could try restarting the server and running the trim process again, or you could look in your world region folder and manually try to delete the file it's indicating.

    Exactly, the trim process now uses an improved world folder location method provided by newer CraftBukkit builds. You'll need to revert back to 1.4.4 until you update your CraftBukkit.
     
  17. Offline

    ~Poke~

    @Brettflan
    I just checked, and it IS going into the log still, so not too major.
    Just nowhere to be seen in-game.
     
  18. Offline

    Connor

    It would be nice if you added support for PermissionsEx...
     
  19. Offline

    Brettflan

    Pardon? PermissionsEx supports Bukkit's built-in superperms system like every other up-to-date permission plugin, right? Then it should work fine.
     
  20. Offline

    Connor

    Yet I get this message on startup: "Permissions plugin not found. Defaulting to bukkit's..."
     
  21. Offline

    Brettflan

    "Defaulting to Bukkit's built-in superperms system" or very close to that? All newer permission plugins worth their salt (including PermissionsEx I'd think) interface with Bukkit's built-in superperms system. Clear enough?
     
  22. Offline

    bullshitninja

    ill have to try that. thanks for the heads up. ill set up a test world later tonight, and see what happens.
     
  23. Offline

    ~Poke~

    While filling the world, this error appeared in my log.
    Something about chunk generation and placing a sand block? And biomes.
    It says it's an out of memory error, but the operation above this claimed it had 222mb free.

    To be fair, I am driving this thing pretty hard. Trying to fill a circle radius 2400 blocks.

    Code:
    2011-12-21 01:26:29 [WARNING] Task of 'WorldBorder' generated an exception
    java.lang.OutOfMemoryError: Java heap space
        at java.util.HashMap.resize(HashMap.java:462)
        at java.util.HashMap.addEntry(HashMap.java:755)
        at java.util.HashMap.put(HashMap.java:385)
        at java.util.HashSet.add(HashSet.java:200)
        at net.minecraft.server.World.c(World.java:1068)
        at net.minecraft.server.BlockSand.onPlace(BlockSand.java:14)
        at net.minecraft.server.Chunk.a(Chunk.java:403)
        at net.minecraft.server.World.setRawTypeId(World.java:367)
        at net.minecraft.server.WorldGenMinable.a(SourceFile:57)
        at net.minecraft.server.BiomeDecorator.a(SourceFile:238)
        at net.minecraft.server.BiomeDecorator.b(SourceFile:253)
        at net.minecraft.server.BiomeDecorator.a(SourceFile:69)
        at net.minecraft.server.BiomeDecorator.a(SourceFile:28)
        at net.minecraft.server.BiomeBase.a(SourceFile:190)
        at net.minecraft.server.ChunkProviderGenerate.getChunkAt(SourceFile:480)
        at org.bukkit.craftbukkit.generator.NormalChunkGenerator.getChunkAt(NormalChunkGenerator.java:47)
        at net.minecraft.server.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:165)
        at org.bukkit.craftbukkit.CraftWorld.chunkLoadPostProcess(CraftWorld.java:263)
        at org.bukkit.craftbukkit.CraftWorld.loadChunk(CraftWorld.java:248)
        at com.wimbli.WorldBorder.WorldFillTask.run(WorldFillTask.java:165)
        at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:137)
        at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:493)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
    2011-12-21 01:26:32 [SEVERE] java.lang.IllegalStateException: TickNextTick list out of synch
    2011-12-21 01:26:32 [SEVERE]     at net.minecraft.server.World.a(World.java:2300)
    2011-12-21 01:26:32 [SEVERE]     at net.minecraft.server.World.doTick(World.java:1740)
    2011-12-21 01:26:32 [SEVERE]     at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:514)
    2011-12-21 01:26:32 [SEVERE]     at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425)
    2011-12-21 01:26:32 [SEVERE]     at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
    2011-12-21 01:26:32 [SEVERE] Unexpected exception
    java.lang.IllegalStateException: TickNextTick list out of synch
        at net.minecraft.server.World.a(World.java:2300)
        at net.minecraft.server.World.doTick(World.java:1740)
        at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:514)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
     
  24. Offline

    Brettflan

    Did you specify a custom frequency for the fill process which was really high?
     
  25. Offline

    Connor

    If I'm right, a square border will have more blocks within it than a round border of the same radius will?
    Just making sure...
     
  26. Offline

    Brettflan

    Correct.
     
  27. Offline

    bullshitninja

    just out of curiosity, what pattern is there to chunk generation when using the fill command? is it graphical/radial depending on border shape, or is it simply alphanumeric based on chunk file name?
     
  28. Offline

    Brettflan

    It spirals out from the centerpoint of the border, loading/generating the chunks if they are inside the border + padding zone, along with handling extra chunks along the way to make Bukkit do a full generation pass for each chunk including ice, bushes, trees, strongholds, etc.. The reason the extra chunks are necessary is that chunks can only fully generate when at least 2 adjacent chunks which have already been full generated are also loaded. Otherwise you get pretty much just bare landscape. So, for each new chunk, it keeps the last couple of chunks loaded (which will be adjacent to the new one and cover the "corner" chunks), and then loads the adjacent chunk closest to the center of the border next to the target chunk (which will have already been generated in the previous pass, thus loading back up quickly).
    The spiral continues until it has finally completed a full circuit which was entirely outside your border.
     
  29. Offline

    ~Poke~

    I had it set to 200, rather than the default 20. Sounded safe, considering the plugin recommends setting it to 1000 if you want it finished quickly.
     
  30. Offline

    Connor

    What do you think about adding an option to keep chunks, even the ENTIRE map loaded into memory? This would be a neat add-on to go with a set border... might even reduce lag by a decent margin.
     
  31. Offline

    bullshitninja

    Ah, so thus the need for the 176 padding?

    What size map? Would be nice on some bigger servers, especially in the case of porting and /tp. Selectively keeping a defined area in memory would be awesome for spawns/markets/etc. I like this idea more as i think about it.

    EDIT: Also, made a water world, round, 100 block radius, knockback 98. It appears to have problems finding the other side, or something. Idk. kept ending up at the spawn. tried approaching the edge in both a boat and swimming. same results.
     

Share This Page