I would like to have all of the chunks within, say, 200 blocks of the spawn filled in on my world, so i can make a nice map. Is there any way to do this without walking around manually? I didn't see anything in a search that looked likely.
I'm awear that hey0's server mod support plugins and I currently use. I'm also awear that some of these plugins do similar as to what your asking for example the Wordledit plugin basicly brings in basic MCedit tools into live servers.
I actually have not dewlled to far into Worldedit so so you might want to check them both out for your self, I know it allows me to say punch in //hsphere <ID> <Size> <Height> and it will generate a hollow sphere of the the givin perammeters.
The same can be done for replacing massive amonts of land or generating smooth land/Towers
I have checked both now. They look quite powerful, but neither of them lets you direct the server to generate chunks using the terrain generator, from what i can tell. MCEdit lets you build empty chunks, but that's not really what i'm after. Thanks for the ideas, though.
The ability to force the server to generate terrain would make managing a server 100x easier. No more random RAM usage and CPU usage spikes, fked up chunks from random crashes/power outtages etc.
Totaly agree, to be able to deceide upon first login as admin decide how big the map is and adjust a set of guildlines suchs as amount of trees,lakes,hills ect and then hit a generate map button,m POOF that is your map it does not get any biggger and its chunks are pre generated.
Just 200 blocks of the spawn? By default it draws about 300 already, so there's nothing you need to do.
For my own uses, I made a shell script in linux to:
1. Move the spawn 300 blocks over with mce
2. Start the server
3. Stop the server
4. goto 1
I was able to generate a 3000x3000 map after letting it run for awhile. Minecraft server will generate about 300 blocks or so in an area around the spawn when it starts up. And by default it will have save-on set, so you can safely just do a "stop" and it will write all of that out reliably.
I found this handy for making a better decision on starting new servers, I let people choose what area to "settle" on. Its like your in a spaceship crash landing, and you can steer the ship as its crashing. When they choose the area, I trim it to about 2000x2000 and prevent it from growing with a buffer of air, thats usually big enough for anybody. There's more, but I'm already getting way off topic.
I wanted to make sure I got my facts straight, it generates an area of 336x336 around the spawn. So that's 168 blocks in each direction.
Nobody even has to even connect to the server for it to do this. I'm letting it run right now to make a 6000x6000 map to see what that looks like. And there are no gaps when I move the spawn 300 blocks at a time in a grid pattern.
Note that spawn location, and locations players are while exploring are different concepts that shouldn't be confused with each other. When the server starts up, we've all seen this message:
python mce.py /home/minecraft/world spawn -300 64 -200
Here's my 6000x6000 (not exact, its a little over) I made with it, took a few hours, but I ran it on one of my slower servers. http://minecraft.nom-nom-nom.us/maps/temp/world6000.png
I could post a shell script to do it, but its really customized for my setup and would need some cleanup. Hopefully someone else just takes my idea of updating level.dat with new spawn coordinates and looping the server and makes a proper polished program to just do it for people. I'll post mine if there's interest though, it is smart but its not pretty.
Copy the level.dat to another directory, I called that world2.
Reason: If you point mce at a directory with just level.dat, it can change the spawn location without having to enumerate all the chunk files, which it will ignore anyway. It saves a lot of time.
~/data/world2 - directory with just a copy of the level.dat
~/testserver/world - world directory of our new world we're making
~/pymclevel - where mce is installed
~/testserver - install of minecraft. I recommend no mods at all. I also have multiplexer installed in this directory.
/usr/bin/python26 - that is where I have python 2.6, so if you see "python26" in my script, rename that to your python binary name.
seq -50 300 10000 > /tmp/x.txt
seq -50 300 10000 > /tmp/y.txt
for x in `cat /tmp/x.txt`
for y in `cat /tmp/y.txt`
python26 mce.py ~/data/world2 spawn $x 128 $y
cp ~/data/world2/level.dat ~/testserver/world/level.dat
echo stop | ./multiplexer.py
echo sleeping for 1
rm -f /tmp/x.txt /tmp/y.txt