Just so I understand correctly, you mean run this on your existing map, to fill in all the gaps?
It should, yeah. The level.dat has the random seed, and doing that process will just fill out all the unfilled areas. You can even process it somewhere else, then copy in the files and do like a "skip existing files" kind of thing as not to disturb the existing chunks, in case someone explores it while you're processing.
One thing worth noting is, you can never have 2 minecraft servers point to the same world directory though, the session.lock will make the first server just halt.
If anybody thinks it would be useful for them, i can whip up a little java app to do this without the Multiplexer. But you'll still have to install Python and the required libraries.
If anybody thinks it would be useful for them, i can whip up a little java app to do this without the Multiplexer. But you'll still have to install Python and the required libraries.
If you're making code, you can skip the mce requirement and try making something edit the spawn location directly. http://www.minecraftwiki.net/wiki/Alpha ... dat_Format
And without the multiplexer, it seemed to ignore me pipeing stuff in stdin, but if you can whip up a program to fix that problem, and just update the level.dat, you're almost all the way through to having a total package people can just run.
Good idea. I was thinking about changing the spawn point manually but hadn't messed with it yet. Okay. But i don't think i understand this TAG_ notation, or it's out of date. The last the elements are a byte, a long (which i assume to be 8 bytes), and another long. Yet the 17th byte from the end is not a 1/0 for "winter mode"; it's a 0x6B. And i KNOW my spawnZ is not 1590167718. Guess i'll pick thorugh mce.py and see what it does, although i'm not familiar with Python yet.
Snowcovered is probably ignored now since its not used anymore, biomes replaced that. Even before though, you shouldn't even see the tag unless its on. I'm looking at my level.dat files from before the updates, it didn't have the tag at all. It should be like a tag, then data about that tag, then another tag and so on, its not like a fixed offset kind of thing, the wiki is just showing all the possible tags, they don't even have to be in order as far as I know.
I think if you just binary edit the int's for the 3 spawn coordinates, you can leave the other parts alone. And you can be lazy and parse for the text over the whole file, level.dat is pretty small, if you were making a program to mess with chunks, you can get in real trouble since text on signs can look like tags if you're just ignoring the NBT structure.
At this point, i have the program working great IF the x and y coords are always at the same offsets. Which, as you have described, i cannot rely on. I'll have to alter it a little to walk through the structure.
In the process of making this, though, i've been looking at my maps a little more closely, and i've noticed some of the chunks look rotated or flipped. It has nothing to do with this app; it happens even if a player walks out into new places. Take a look: viewtopic.php?f=1013&t=79772
If anyone that has the time and has their environment setup to auto-generate chunks, could you generate 4-5 4,000x4,000 block maps for me? (Assuming they don't take long, otherwise please don't bother. :x)
Unless there's an easy step-by-step guide or an application that I can run through. ^^;
Replying to Zahl's post on the mcmap thread. I'm replying here since I think more people that are interested in this stuff read this thread, the other thread is (rightly) all about mcmap and something about some biome thing.
Quote from Zahl »
Oh wow... Any idea how to open that image afterwards?
I'm too scared to try opening the raw thing!
I hope scaling it down with something like ImageMagick doesn't require to load the whole thing to RAM first...
I was worried about that too, but nope, it just uses temp files. Memory usage stayed at about 300mb when doing the convert in ImageMagick.
It filled up /tmp on me the first time, but I just changed that by changing the MAGICK_TEMPORARY_PATH environment variable. It used up at least 50G of space, so I'm sure it needed to save it uncompressed in temp files.
Combining the images should not require too much RAM actually (I hope)
It this really finishes without crashing, I'd consider mcmap quite robust.
Then consider it robust! I don't know how long it took exactly, I kept pausing it to run other jobs. But I'd say about 8 hours. I didn't catch it assembling the png files, so I don't know what the memory usage was, but it didn't kill the
server. :smile.gif:
ImageMagick? I'll have to give that a try. I can't edit a 20,000x20,000 image in gimp or acdsee on this thing. Well, maybe gimp. It's still trying to open it.
Okay, here we go, Minecraft Land Generator 1.0.0. This was just for fun for me, so don't expect too much, and don't blame me if your house burns down and/or your dog explodes. And/or your level gets corrupted. Make a backup first.
The source is included, and you may consider it public domain. The included JNLP library uses a BSD-style license that is provided inside its .jar file.
Tested on Windows 7 only. Should be platform independent as far as i can tell, but i didn't test that. I'm willing to take feedback on fixes if they're required.
This application uses the specified Minecraft server .jar to generate land within the currently configured world, within the specified range, centered on (0, 0)*. It reads the world from server.properties, and requires that the world already exist, so run the server at least once first.
It makes a backup of level.dat before changing anything, and at the end, restores the original version, so all changes that persist after running are those made by the server itself. If it detects a backed up level.dat file, it will refuse to run, to give you a chance to figure out whether you want that or the current one.
The error handling may be a little shoddy.
* note that the default spawn point is sometimes quite far from (0, 0), so you may not spawn right in the middle.
Minecraft Land Generator version 1.0.0
Usage: java -jar MinecraftLandGenerator.jar server x y [java]
server : path to the server jar
x : X range to generate
y : Y range to generate
java : java executable to use
Examples: java -jar MinecraftLandGenerator.jar C:\MinecraftServer\minecraft_server.jar 1000 1000
java -jar MinecraftLandGenerator.jar C:\MinecraftServer\minecraft_server.jar 1000 1000 "C:\Program Files\Java\jre6\bin\java.exe"
I would but its 6GB. Its probably better to just generate it yourself, try that java program out.
Sure.
I first copied an another server of mine, but that didn't worked, because it said that it couldn't find server.properties.
So I created a new world. Still didn't found the properties, therefor I changed minecraft_server.jar to .\minecraft_server.jar. Now it worked and is currently processing. How long will this take, and will there be any information in the console while processing?
It should, yeah. The level.dat has the random seed, and doing that process will just fill out all the unfilled areas. You can even process it somewhere else, then copy in the files and do like a "skip existing files" kind of thing as not to disturb the existing chunks, in case someone explores it while you're processing.
One thing worth noting is, you can never have 2 minecraft servers point to the same world directory though, the session.lock will make the first server just halt.
20kx20k is 4,00,000,000 blocks on just the surface. That is 51,200,000,000 Blocks up and down counting air lol..
I'm confused by the script setup. Anyone want to do one for me if I provide the level.dat?
Check out my Let's Play Series:
Now, to make a map the size of the earth we need a 714247114 block square map.
Anyone game?
Do what you gotta do, I'm eager.
http://www.minecraftwiki.net/wiki/Alpha ... dat_Format
And without the multiplexer, it seemed to ignore me pipeing stuff in stdin, but if you can whip up a program to fix that problem, and just update the level.dat, you're almost all the way through to having a total package people can just run.
I thought I replied to this but I must not have hit the post button. It's 6.3G of disk space, and 1.5million chunks (files).
http://www.minecraft.net/docs/NBT.txt
Snowcovered is probably ignored now since its not used anymore, biomes replaced that. Even before though, you shouldn't even see the tag unless its on. I'm looking at my level.dat files from before the updates, it didn't have the tag at all. It should be like a tag, then data about that tag, then another tag and so on, its not like a fixed offset kind of thing, the wiki is just showing all the possible tags, they don't even have to be in order as far as I know.
I think if you just binary edit the int's for the 3 spawn coordinates, you can leave the other parts alone. And you can be lazy and parse for the text over the whole file, level.dat is pretty small, if you were making a program to mess with chunks, you can get in real trouble since text on signs can look like tags if you're just ignoring the NBT structure.
In the process of making this, though, i've been looking at my maps a little more closely, and i've noticed some of the chunks look rotated or flipped. It has nothing to do with this app; it happens even if a player walks out into new places. Take a look: viewtopic.php?f=1013&t=79772
Unless there's an easy step-by-step guide or an application that I can run through. ^^;
I'm too scared to try opening the raw thing!
I was worried about that too, but nope, it just uses temp files. Memory usage stayed at about 300mb when doing the convert in ImageMagick.
It filled up /tmp on me the first time, but I just changed that by changing the MAGICK_TEMPORARY_PATH environment variable. It used up at least 50G of space, so I'm sure it needed to save it uncompressed in temp files.
Then consider it robust! I don't know how long it took exactly, I kept pausing it to run other jobs. But I'd say about 8 hours. I didn't catch it assembling the png files, so I don't know what the memory usage was, but it didn't kill the
server. :smile.gif:
$ file output.png
output.png: PNG image data, 80586 x 40554, 8-bit/color RGBA, non-interlaced
File size is 945MB.
Yeah, so who wants to view a 1GB PNG file? lol... Oh well, it speaks well for mcmap that it even worked.
And finally, here is a scaled down version, 5% of actual size. Its still huge, 4030x2028 and 12MB.
I also have a 10% scale version.
Could you possible upload the map for others to download? I need a huge map to test mappers performance.
Help me help you.
Help me help you.
The source is included, and you may consider it public domain. The included JNLP library uses a BSD-style license that is provided inside its .jar file.
Tested on Windows 7 only. Should be platform independent as far as i can tell, but i didn't test that. I'm willing to take feedback on fixes if they're required.
This application uses the specified Minecraft server .jar to generate land within the currently configured world, within the specified range, centered on (0, 0)*. It reads the world from server.properties, and requires that the world already exist, so run the server at least once first.
It makes a backup of level.dat before changing anything, and at the end, restores the original version, so all changes that persist after running are those made by the server itself. If it detects a backed up level.dat file, it will refuse to run, to give you a chance to figure out whether you want that or the current one.
The error handling may be a little shoddy.
* note that the default spawn point is sometimes quite far from (0, 0), so you may not spawn right in the middle.
I don't know where else to put it, so have a megaupload.
http://www.megaupload.com/?d=ZO9QH4B4
I would but its 6GB. Its probably better to just generate it yourself, try that java program out.
Sure.
I first copied an another server of mine, but that didn't worked, because it said that it couldn't find server.properties.
So I created a new world. Still didn't found the properties, therefor I changed minecraft_server.jar to .\minecraft_server.jar. Now it worked and is currently processing. How long will this take, and will there be any information in the console while processing?
Help me help you.