Inactive [ADMIN] Chunkster

Discussion in 'Bukkit Tools' started by XeonProductions, Mar 12, 2011.

Thread Status:
Not open for further replies.
  1. Offline


    Chunkster v0.3

    Chunk pointer/map repair utility for region files.

    • I am not responsible for any files corrupted/destroyed by this software.
    • It's up to you to MAKE A BACKUP OF YOUR WORLD FILES FIRST before running this utility.

    • Use this utility if you are encountering frequent chunk errors in the error log. This utility salvages the good chunks and rebuilds the region files from scratch.
    Have a world Chunkster can't fix?
    • Upload the error log somewhere like pastebin, i'm not fixing anyones maps anymore though because of the large volume of people who send me their broken maps without even first attempting to use Chunkster.
    Update Log:
    • 0.1
      • Initial release
    • 0.2
      • Major changes to the code.
      • Chunkster now rebuilds the region files rather than then attempting to salvage the existing file. I'm hoping this will help resolve some of the nastier chunk errors with regards to incomplete/corrupted chunks.
      • Added the ability to remove various entities from the chunks that could be causing problems (mobs, projectiles, vehicles, dropped items, and experience orbs).
      • If you fail to include the world path Chunkster will attempt to scan the local directory for worlds. It will then ask you if you want to scan that world.
      • Hopefully fixed that pesky command-line problem.
    • 0.3
      • Found a bug that kind of made Chunkster worthless... hopefully it finds misplaced chunks like its supposed to now. Pretend Chunkster 0.2 never happened... :(

    • Using the region file format.
    • Java Runtime Environment installed.
    • Have some basic knowledge of how to use the command-line or shell.


    • The compiled jar is in the "dist/" folder, simply put Chunkster in your
      server folder and specify the path to your world name, then run the following.

      Usage: java -jar Chunkster.jar [options ..] <world directory>
                     --remove-mobs: removes mobs, monsters, creepers, skeletons, spiders, etc.
                     --remove-projectiles: removes arrows, snowballs, eggs, etc.
                     --remove-dropped-items: removes dropped items.
                     --remove-experience-orbs: removes experience orbs.
                     --remove-vehicles: removes boats and minecarts
      You might need to put the path to the world directory in quotes

      If all goes well, you should see it rebuilding the region files and weeding out the bad chunks/region files.
  2. Offline


    I'm not sure if i'm doing this correctly but i had to use "java -jar Chunkster.jar <filler> <world directory>" to get this program to run.

    If I use "java -jar Chunkster.jar <world directory>" your exitUsage() method gets called.

    I am running Mac OS 10.6 if that helps.

    Thanks for all the hard work you put into this.
  3. Offline


    Hmmm, I thought the jar file name was part of the arguments. I'm not the best with java. I'll fix that now.
  4. Offline



    Can you add a print at the end of the check that says how many bad chunks it found


    Also if the program doesn't find a regions directory could it look for a <world directory>/DIM-1/regions folder? I think that the nether is stored in that directory instead of the normal regions one.
  5. Offline


    Right not it doesn't check the nether for duplicate pointers because I think this problem is localized to converted maps. However I did have plans to make this a multifunctional utility for maps, so i might add that in.
  6. Offline


    Got an odd exception with it:
    [Chunkster] Bad chunk pointer found! expected chunk at [x=3 z=22] got [x=17 z=-16]
    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -495
            at chunkster.RegionFile.getOffset(
            at chunkster.Chunkster.scanRegionPointers(
            at chunkster.Chunkster.scan(
            at chunkster.Chunkster.main(
  7. Offline


    Would you be able to upload the region file that error occurred in?
  8. Offline


    does this fix the problem where chunks regenerate?
  9. Offline


    I'm not sure how do identify the exact region file so I've uploaded the whole world — <Edit by Moderator: Redacted mediafire url>
    Last edited by a moderator: Dec 14, 2016
  10. Offline


    Last edited by a moderator: Dec 14, 2016
  11. Offline


    If this works, i love you. Thanks.

    Will post results later!
  12. Offline


    Well, it did something:
    [Chunkster] Scanning region file x=0 z=0 file=r.0.0.mcr
    [Chunkster] Bad chunk pointer found! expected chunk at [x=3 z=22] got [x=17 z=-16]
    [Chunkster] Chunk is out of bounds.
    [Chunkster] Setting bad chunk pointer to null (it should regenerate a new chunk in its place).
    I'll see how that affected the problem a bit later.
  13. Offline


    well, i am runing bukkit with ubuntu.
    i am getting the following error in masses.

    18:36:35 [INFO] Chunk (-1, 4) stored at  (-7, 8)
    18:36:35 [INFO] net.minecraft.server.Chunk
    18:36:35 [SCHWERWIEGEND] java.lang.Throwable
    18:36:35 [SCHWERWIEGEND]     at net.minecraft.server.ChunkProviderServer.b(
    18:36:35 [SCHWERWIEGEND]     at net.minecraft.server.World.c(
    18:36:35 [SCHWERWIEGEND]     at net.minecraft.server.ChunkCache.<init>(SourceFile:28)
    18:36:35 [SCHWERWIEGEND]     at net.minecraft.server.World.a(
    18:36:35 [SCHWERWIEGEND]     at net.minecraft.server.EntityCreature.c_(
    18:36:35 [SCHWERWIEGEND]     at net.minecraft.server.EntityLiving.q(
    18:36:35 [SCHWERWIEGEND]     at net.minecraft.server.EntityMonster.q(
    18:36:35 [SCHWERWIEGEND]     at net.minecraft.server.EntityZombie.q(
    18:36:35 [SCHWERWIEGEND]     at net.minecraft.server.EntityPigZombie.q(
    18:36:35 [SCHWERWIEGEND]     at net.minecraft.server.EntityLiving.f_(
    18:36:35 [SCHWERWIEGEND]     at net.minecraft.server.EntityMonster.f_(
    18:36:35 [SCHWERWIEGEND]     at net.minecraft.server.EntityPigZombie.f_(
    18:36:35 [SCHWERWIEGEND]     at net.minecraft.server.World.a(
    18:36:35 [SCHWERWIEGEND]     at net.minecraft.server.WorldServer.a(
    18:36:35 [SCHWERWIEGEND]     at net.minecraft.server.World.f(
    18:36:35 [SCHWERWIEGEND]     at net.minecraft.server.World.d(
    18:36:35 [SCHWERWIEGEND]     at net.minecraft.server.MinecraftServer.h(
    18:36:35 [SCHWERWIEGEND]     at
    18:36:35 [SCHWERWIEGEND]     at
    when i start your tool, i get the following output

    [Chunkster] Starting scan...
    [Chunkster] REGION LOAD /home/yannik/Server/mcs/19723/region/r.-1.0.mcr
    [Chunkster] Scanning region file x=-1 z=0 file=r.-1.0.mcr
    [Chunkster] REGION LOAD /home/yannik/Server/mcs/19723/region/r.-1.-1.mcr
    [Chunkster] Scanning region file x=-1 z=-1 file=r.-1.-1.mcr
    [Chunkster] REGION LOAD /home/yannik/Server/mcs/19723/region/r.-2.-1.mcr
    [Chunkster] Scanning region file x=-2 z=-1 file=r.-2.-1.mcr
    [Chunkster] REGION LOAD /home/yannik/Server/mcs/19723/region/r.1.0.mcr
    [Chunkster] Scanning region file x=1 z=0 file=r.1.0.mcr
    [Chunkster] REGION LOAD /home/yannik/Server/mcs/19723/region/r.0.-2.mcr
    [Chunkster] Scanning region file x=0 z=-2 file=r.0.-2.mcr
    [Chunkster] REGION LOAD /home/yannik/Server/mcs/19723/region/r.-2.0.mcr
    [Chunkster] Scanning region file x=-2 z=0 file=r.-2.0.mcr
    [Chunkster] REGION LOAD /home/yannik/Server/mcs/19723/region/r.0.0.mcr
    [Chunkster] Scanning region file x=0 z=0 file=r.0.0.mcr
    [Chunkster] REGION LOAD /home/yannik/Server/mcs/19723/region/r.1.-1.mcr
    [Chunkster] Scanning region file x=1 z=-1 file=r.1.-1.mcr
    [Chunkster] REGION LOAD /home/yannik/Server/mcs/19723/region/r.0.-1.mcr
    [Chunkster] Scanning region file x=0 z=-1 file=r.0.-1.mcr
    [Chunkster] REGION LOAD /home/yannik/Server/mcs/19723/region/r.-1.-2.mcr
    [Chunkster] Scanning region file x=-1 z=-2 file=r.-1.-2.mcr
    and nothing changed.
  14. Offline


    OMG it worked!
    Thank you so much!!

    My map got corrupted when I got a blue screen yesterday and got a corrupted chunk.
    Wasted my whole evening trying to find a fix and thanks to you I did!

    Got a funny scene though, when i started the server up again with the map, a LOT of black sheep spawned at the same chunk. I lol'd.


    Thank you so much!
  15. Offline


    We love you -
    From UMC Server u saved our world from certain doom :D

  16. Offline


    As sk8r has rightly said, thanks a bunch for this utility. Managed to save our server world from a 6 hour rollback! [​IMG] Much appreciated!
  17. Offline


    UMC member thank you :)
  18. Offline


    I'm glad this tool could be of some use to other people. I'm planning on adding some more header verification, data verification, and maybe some chunk deleting/importing/exporting options.
  19. Offline


    Looks promising ! Added this to my favorites, I'll be trying it tomorrow, I'll tell you how it goes ! :)
  20. Offline


    I will try it tomorrow :)
  21. Offline


    My Server Log got spammed with one wrong Chunk error Message over and over. After using Chunkster the bad chunk got replaced with a new generated one which i replaced afterwards with the chunk out of an older backup and its working like a charm.

    Thanks a lot for making that fantastic tool :)
  22. Offline


    Worked a wonder, this deserves to be bumped ! Fantastic tool !
  23. I wanna make love to you - you saved one day of work of my players, thanks in their name!
    TruffleDucks likes this.
  24. Offline


    i am just going to repeat what i posted before:
    i am getting the "Chunk (*,*) stored at (*,*)" -error
    and this tool does not change anything about it.
    please help me, my server.log file is about 1gb, and it is imposible to see anything in the console besides anoying errors.
    i have postet the error before ^
    and i have posted the output ouf your tool
    but, as i said, noting changes.
    can you help me?
    i can send you my world files, if you want them.

    ps: i hate .mcr, it makes it nearly imposible to delete an single chunk manualy.
  25. Offline


    Are you sure you're even running it on the correct world? Do you have nether enabled?
  26. Offline


    Thanks you so much! You just saved my server from certain doom. :)
  27. Offline


    [Chunkster] Scanning region file x=-1 z=0 file=r.-1.0.mcr incorrect data check
            at chunkster.NBTTagByteArray.readTagContents(
            at chunkster.NBTBase.readTag(
            at chunkster.NBTTagCompound.readTagContents(
            at chunkster.NBTBase.readTag(
            at chunkster.NBTTagCompound.readTagContents(
            at chunkster.NBTBase.readTag(
            at chunkster.NBTCompressionUtility.readRootTagCompound(
            at chunkster.Chunkster.scanRegionPointers(
            at chunkster.Chunkster.scan(
            at chunkster.Chunkster.main(
    I get this when I run chunkster.

    A few details..
    I was originally getting loads of bad chunk error spam, and the server "hung" a few seconds after I started
    the world. After running chunkster, this was resolved, but there are a few that it was unable to fix due to
    the above error. Now when somebody enters the remaining bad chunks that chunkster couldn't
    fix, it hangs again.

    Hope you can help, I am facing the loss of a lot of progress if this cannot be resolved :\

    There was also one chunk that chunkster reported "unknown version" for.

    The error I get on the console when somebody enters those areas is:

    01:13:39 [SEVERE] java.lang.ArrayIndexOutOfBoundsException: -71
    01:13:39 [SEVERE]       at net.minecraft.server.World.h(
    01:13:39 [SEVERE]       at net.minecraft.server.World.g(
    01:13:39 [SEVERE]       at net.minecraft.server.MinecraftServer.h(
    01:13:39 [SEVERE]       at
    01:13:39 [SEVERE]       at
    01:13:39 [SEVERE] Unexpected exception
    java.lang.ArrayIndexOutOfBoundsException: -71
            at net.minecraft.server.World.h(
            at net.minecraft.server.World.g(
            at net.minecraft.server.MinecraftServer.h(
  28. Offline


    yes and yes, but this isn't the netherworld
  29. Offline


    Just wanted to express my gratitude for this program. It saved me so much frustration and lines and lines of errors, and overall saved my precious world.
    lloyd menzies likes this.
  30. Offline


    ^^ what he said, you have my thanks!
Thread Status:
Not open for further replies.

Share This Page