I have experienced this problem several times now and I have decided to post the problem and one possible way to fix it in the suggestions section.
The Problem:
I run minecraft in a standalone linux server. We started this server back in Beta with just me and 3 other friends. After hours of playing several updates came out so I updated the server. Now however, some of the "new world creation" ideas wouldn't exist in any already explored chunks.
Our solution was simple... start over. After beating the ender dragon we restarted the server with a brand new map. I invited more people this time! We had as many as 10 players in Skype together building and exploring the same world. After several months of this I am sure a VERY large area of the world has been discovered. Then new items that are randomly generated came out with some new patches (carrots and potatoes for example). There is almost no way for me to find these without walking an unknown number of chunks in a random direction and hoping to stumble on one. With this conclusion I might as well just restart the server... again :-/.
So, this is the predicament I have been pondering. How to allow updates to take affect while still preserving the already explored world.
Possible solution:
My first thought is to program the updated jar file to retroactively change explored but unaltered chunks of an outdated (or previous versioned) map data. This would work by having the new jar file recalculate the map using the current seed with the current update and doing basically a map merge where altered chunks take precedence or (if possible) altered tiles take precedence.
The Good
This would allow older servers to have new spawned items in chunks that have already been dynamically generated and saved.
Random exploration after an update would feel meaningful again.
The Bad
Quite frankly, I do not know if this solution is possible with the current data structure used by minecraft. I am a programmer but I have not programmed mods for this game.
This could potentially cause corruption of a map so a backup procedure would need to be coded for the update process.
Some people may not want a new update to change any of the thousands of already created chunks; not even a little.
Perhaps this features could be added as an extension to the jar file with say... an "--update" tag that would then check to see if it needs updating, download the new one, perform an update (basically mv command) and map merge to the new update. Currently I wrote my own bash script (with cron) to achieve auto updates daily. If it needed to be an optional feature (don't hate me for saying option; this is the way linux option commands work :-P) then something like "minecraft_server.jar --update --merge" would suffice.
Conclusion:
I know some minecrafters out there may not be dealing with this issue or prefer to start their servers new frequently. If however you are in the same boat as me please put your two cents in on a solution or if you think there is one.
If you think I am insane and this is all stupid gibberish, let me know with reasons why. I enjoy constructive criticism :-D.
Um just walk further out. This isn't possible without destroying houses, buildings etc.
Walking further out in most scenarios is equivalent to making a new server and starting over. You must realize that with 10 people over the course of a few months there probably is thousands of chunks discovered. I've walked for many ingame days to find carrots and ended up finding a building somebody had made :-/...
Thank you for the support. I know this may be difficult or challenging to implement but I was hoping someone smarter than I could devise a better solution. This is just the best I have come up with so far.
This would create an awful mess. build a rail line, and now that rail line will stick out amongst the new chunks. Leave a trail of torches while exploring the wilderness and now those chunks will remain while the others are regenerated. Have a few untouched chunks near your home and how you've got some random extreme hills chunks sticking out of your map. Oh, and Endermans. A forest which you left untouched will have half of it's chunks randomly changed. This idea would create white noise all over your world.
I would suggest using McEdit to delete unused sections of the world manually. Trim the fat before each patch.
This would create an awful mess. build a rail line, and now that rail line will stick out amongst the new chunks. Leave a trail of torches while exploring the wilderness and now those chunks will remain while the others are regenerated. Have a few untouched chunks near your home and how you've got some random extreme hills chunks sticking out of your map. Oh, and Endermans. A forest which you left untouched will have half of it's chunks randomly changed. This idea would create white noise all over your world.
I would suggest using McEdit to delete unused sections of the world manually. Trim the fat before each patch.
Interesting suggestion. Maybe if there were a feature of minecraft that could delete unused chunks for you? I am against using MCEdit or any 3rd party solutions for personal reasons...
And although I do agree to an extent about "white noise all over the map" I don't see it being as drastic. If you built a railway then those chunks wouldn't get a new item spawn. Chunks around it may. As long as the update didn't cause EVERY chunk in a world to have a feature then you wouldn't notice the difference between an altered chunk from the past and a chunk next to it that may or may not have gotten a random spawn of an item.
Also, I do not know what you mean by "Oh and Enderman".
A forest which you left untouched will have half of it's chunks randomly changed.
It wouldn't really be "randomly changed" unless the update changed the way seeds were parsed. The recalculation of untouched chunks would use the original seed so the only "random" changes would be weather or not new items from the update should spawn on that chunk with this seed.
The Problem:
I run minecraft in a standalone linux server. We started this server back in Beta with just me and 3 other friends. After hours of playing several updates came out so I updated the server. Now however, some of the "new world creation" ideas wouldn't exist in any already explored chunks.
Our solution was simple... start over. After beating the ender dragon we restarted the server with a brand new map. I invited more people this time! We had as many as 10 players in Skype together building and exploring the same world. After several months of this I am sure a VERY large area of the world has been discovered. Then new items that are randomly generated came out with some new patches (carrots and potatoes for example). There is almost no way for me to find these without walking an unknown number of chunks in a random direction and hoping to stumble on one. With this conclusion I might as well just restart the server... again :-/.
So, this is the predicament I have been pondering. How to allow updates to take affect while still preserving the already explored world.
Possible solution:
My first thought is to program the updated jar file to retroactively change explored but unaltered chunks of an outdated (or previous versioned) map data. This would work by having the new jar file recalculate the map using the current seed with the current update and doing basically a map merge where altered chunks take precedence or (if possible) altered tiles take precedence.
The Good
- This would allow older servers to have new spawned items in chunks that have already been dynamically generated and saved.
- Random exploration after an update would feel meaningful again.
The Bad- Quite frankly, I do not know if this solution is possible with the current data structure used by minecraft. I am a programmer but I have not programmed mods for this game.
- This could potentially cause corruption of a map so a backup procedure would need to be coded for the update process.
- Some people may not want a new update to change any of the thousands of already created chunks; not even a little.
Perhaps this features could be added as an extension to the jar file with say... an "--update" tag that would then check to see if it needs updating, download the new one, perform an update (basically mv command) and map merge to the new update. Currently I wrote my own bash script (with cron) to achieve auto updates daily. If it needed to be an optional feature (don't hate me for saying option; this is the way linux option commands work :-P) then something like "minecraft_server.jar --update --merge" would suffice.Conclusion:
I know some minecrafters out there may not be dealing with this issue or prefer to start their servers new frequently. If however you are in the same boat as me please put your two cents in on a solution or if you think there is one.
If you think I am insane and this is all stupid gibberish, let me know with reasons why. I enjoy constructive criticism :-D.
Thank You!
-
View User Profile
-
View Posts
-
Send Message
Curse Premiumworths checking out
Walking further out in most scenarios is equivalent to making a new server and starting over. You must realize that with 10 people over the course of a few months there probably is thousands of chunks discovered. I've walked for many ingame days to find carrots and ended up finding a building somebody had made :-/...
Interesting idea, but I do not understand how this would work or what improvements it could be used to implement.
Thank you for the support. I know this may be difficult or challenging to implement but I was hoping someone smarter than I could devise a better solution. This is just the best I have come up with so far.
In what ways would this not be practical? Please elaborate.
I would suggest using McEdit to delete unused sections of the world manually. Trim the fat before each patch.
Interesting suggestion. Maybe if there were a feature of minecraft that could delete unused chunks for you? I am against using MCEdit or any 3rd party solutions for personal reasons...
And although I do agree to an extent about "white noise all over the map" I don't see it being as drastic. If you built a railway then those chunks wouldn't get a new item spawn. Chunks around it may. As long as the update didn't cause EVERY chunk in a world to have a feature then you wouldn't notice the difference between an altered chunk from the past and a chunk next to it that may or may not have gotten a random spawn of an item.
Also, I do not know what you mean by "Oh and Enderman".
It wouldn't really be "randomly changed" unless the update changed the way seeds were parsed. The recalculation of untouched chunks would use the original seed so the only "random" changes would be weather or not new items from the update should spawn on that chunk with this seed.