If this is more appropriate in support, please move it. I am unsure if this is a technical (rather than behavioral) issue, per se.
Once updating to 1.14, my world has started repopulating many chunks. The chunks doing this seem to be ones that have either not been visited often, not been visited recently, and/or not been visited for a minimum certain amount of time. I'm not sure which, but the pattern observed is "chunks not gone to often are resetting, but ones in regularly visited locations are staying safe".
Some additional information in case any of it is pertinent.
The world is an older world, created in version 1.2.5.
I used a method/program called "Minecraft Land Generator" to generate a portion of the world roughly 20,000 x 20,000 blocks around spawn. The reason this was done was because when 1.7 released, it changed terrain generation. This method was used to allow updating without dealing with unsightly borders all over (and a nether tunnel was created to extend to a region beyond these borders, for new things). For those unfamiliar, the way this works is the program basically starts and stops a Minecraft server repeatedly, moving the spawn location between. When a server is started, all chunks within a radius are generated. This allows you to pre-generate chunks of a desired radius.
The world does not do this in 1.10.2. It starts once updating to 1.14.
Perhaps somewhat related, but water temples that were introduced in 1.8 sometimes randomly show up (no matter what biome, often in the middle of land...) when going on adventures to some of these pre-generated chunks that may not have been often, or ever, visited before.
What I THINK is happening, is the chunks I have NOT spent a minimum amount of time in, are, for whatever reason, being flagged as ungenerated, and the game is re-generating them. The game does the same thing to determine whether it is safe to generate water temples. This is a problem! With the water temples, it was an annoyance, but a rare one with a good chance of working around it (after the water temples was introduced into a new, unwelcome place, visit it for some minutes, and later overwrite said region files with the original ones, and this has limited applications as it is). With this, though, unlike water temples being a rare event, it is happening in ALL chunks not visited enough. Because of the terrain generation differences of pre 1.7 and post 1.7 versions, this is causing a swiss cheese-like network or terrain transitions all over the core part of the world.
How can I stop this? Can I somehow flag my existing chunks as "leave these alone, they are already generated, do not touch" to the game? If someone has a workaround that doubles as a fix for the water temple issue, too, that'd be fantastic, but the core issue is the important one. This will prevent me entirely from updating to 1.14 for the foreseeable future, which is a shame, as I lost a weekend of progress due to this.
If I had to guess, both issues have to do with the chunk "InhabitedTime" flag being less than a certain value; certainly, this explains ocean monuments, which can generate in existing chunks as long as the inhabited time is less than a few minutes, wherever there would be a deep ocean biome in 1.7+ (presumably, the generator uses the game's internal biome generator, as other structures do, since the chunks may not exist yet when a structure is being placed, which is normally done piece-by-piece as each individual chunk is populated, so it can't read chunks to check the biomes around the entire structure). Note that inhabited time was only added in 1.6; any chunks generated before then will start out at 0 when first loaded in 1.6 or later (this means that loading a pre-1.6 world in 1.8+ will have ocean monuments generating in chunks regardless of how long they were loaded).
Also, did you try "optimizing" the world in 1.13 first? This will convert all chunks to the new save format used by 1.13+; another optimization should then be done in 1.14.4 (the converter should be able to handle chunks generated as early as 1.2 since that was the last time the save format changed enough to require converting to a new format, which was mandatory and complete, unlike 1.13, which can convert chunks on-the-fly; the "optimize" feature was added to avoid performance issues caused by this. Any world created/upgraded since then could have such old chunks since versions in between only converted/updated any data as chunks were loaded while playing, hence they should have accounted for this (it is often advised to load a world in each intermediate version when upgrading across multiple versions but this only loads chunks around the player and world spawn - you'd have to completely re-explore the world to ensure that every chunk was loaded, which obviously becomes impractical for any sizable world).
Otherwise, I looked for reports of this on the bug tracker but I couldn't find anything; you could try making a report, including part of the world that is affected (one or two of the affected regions should be enough), which should help confirm if this is a bug or not (in the latter case Mojang presumably never considered the possibility of players using tools to pregenerate worlds, or assumed that few players would still have worlds old enough to not have inhabited time data).
Thank you for answering, and no, I updated to 1.14.4. from 1.10.2.
Loading all of the chunks of the central region of my world would be wildly impractical. The water temples are indeed showing up in spots where there would be one generated in that spot of the seed under 1.7+ generation, and only if the chunk hadn't been visited (or loaded?) before.
I am not sure the chunk repopulating is even limiting itself to that though, because I had to update UnMined when updating to 1.14, and that is when I noticed this...
I'm not sure what the Red areas are that never load mean, but I'm taking it as though UnMined is detecting something is amiss and can't load them. It seems as though those are the ones that have the potential to have the chunks repopulate. When first visiting the ocean in the first map, the repopulating started (that is when I stopped playing), and then the area behind it now shows as "no blocks".
For reference, here's the same world at those same spots in 1.10.2.
Going to bump this in the dire hopes that someone has a possible answer for this chunk re-population. This is preventing me from playing this world with 1.14, which I'd really like to do!
I’m sorry to say I don’t have an answer for you. Nevertheless may I ask how you generated the beautiful maps? I would love to have such a map of my world. I never got the hang of using the in-game maps, so if they are in-game ones I will have to figure them out.
Thank you for answering, and no, I updated to 1.14.4. from 1.10.2.
Unfortunately, as far as I know, this is not supported. I hope you have a backup, because the correct way to do this is upgrade from a 1.10.x to a 1.11.x, then to a 1.12.x and so on (usually you keep installing the latest available, meaning for instance 1.12.2 for the 1.12.x series).
In your case, it seems that older chunk generated in older version get marked as invalid and deleted instead of converted to the new format, so they can be regenerated by the world generation code.
But, the “optimize world” option, which converts all the chunks without being visited once you change version, is available from 1.13 onwards so even if you did the right sequence, from 1.10 to 1.12 you risk having chunks that don't get converted. Still as far that I know, from 1.10 to 1.12 the chunk format was quite similar, so probably the critical point is from 1.12.2 to 1.13 (in which not only world generation changed, buy every block information changed due to the flattening of block ids).
I would try, if you have a backup, to load it in 1.12, change to creative or spectator and visit every single chunk. Then load it in 1.13.x and try to “optimize“ the world before loading it, and finally do the same with 1.14.4.
I would try, if you have a backup, to load it in 1.12, change to creative or spectator and visit every single chunk. Then load it in 1.13.x and try to “optimize“ the world before loading it, and finally do the same with 1.14.4.
This is simply not practical in their case, at least not manually:
I used a method/program called "Minecraft Land Generator" to generate a portion of the world roughly 20,000 x 20,000 blocks around spawn.
It also sounds like they have explored further out to get new biomes/features so the overall world isn't a neat square (otherwise, they could try using MLG on 1.12 to generate the same area but using the existing world so it just loads all the chunks. This could also work for irregularly-sized worlds as long as you cover the maximum extent and don't mind a possibly significant increase in save size and/or using multiple passes with different areas since new chunks will be generated to fill in the entire region).
As I mentioned before, the game has to be able to load/convert chunks from versions as old as 1.2 for this very reason - there is simply no way to ensure that every chunk ever generated has been loaded in every version since it was created (worlds generated prior to 1.2 had to undergo a mandatory total conversion to the Anvil format so there should not be any chunks older than this; I'm not even sure if modern versions are still able to convert pre-Anvil worlds at all). The storage of blocks themselves or the basic chunk format only saw very minimal changes between 1.2 and 1.12 (e.g. each section used 4096 bytes for block IDs, 2048 bytes each for metadata, sky light, and block light. 1.6 added "InhabitedTime", 1.7 added "LightPopulated", and 1.9 added "DataVersion" but in any case the lack of these tags shouldn't cause any issues; any chunk without a version tag can safely be assumed to have the same block format, with the only major difference in NBT being the change to named item IDs in 1.8).
Even the ancient version of MCEdit that I still use, released in 2013, is able to open and edit 1.12.2 worlds with no issues as long as I don't try to edit tile entities (as their NBT format was changed, but this didn't affect the actual chunk data; by contrast, it completely fails on 1.13+ worlds), and such invalid data is/was usually deleted without affecting the entire chunk (e.g. as an experiment I loaded a modded world in vanilla and only one chunk regenerated, due to 1.6.4 not having proper handling for invalid items in item frames (1.7 had a similar bug which affected invalid items in general and was fixed so this shouldn't happen anymore), otherwise, only unknown items/blocks/entities/NBT data disappeared and unknown biomes turned into plains. Even blocks with unknown metadata but valid IDs, like the 1.8 stones that I added, just appeared as the default block; of course, such blocks would now be deleted since metadata no longer exists).
I've suggested that they file a bug report on the bug tracker, including a world download (with at least one affected region, not the entire world) so Mojang can determine what is causing the issue. The only other thing I can think of is that 1.13+ uses the inhabited time of a chunk to determine if it should be kept (similar to the criteria for retrogenerating ocean monuments; inhabited time was only added in 1.6 so any older chunks will default to 0 when upgraded; for example, on this map of one of my worlds the area that was generated prior to 1.6 stands out as a region of low inhabited time). Even then, this sounds like a very poor decision on Mojang's part if this is indeed what they did (note that using MLG to load chunks won't work if this is the case since increasing inhabited time requires that a player be present and MLG simply changes the spawn area).
I’m sorry to say I don’t have an answer for you. Nevertheless may I ask how you generated the beautiful maps? I would love to have such a map of my world. I never got the hang of using the in-game maps, so if they are in-game ones I will have to figure them out.
I use UnMined.
Also, I didn't think to mention it, and I doubt it's causing it, but I probably should add it in case it is pertinent also. This actually didn't START occuring UNTIL I went to open the save in the map program, found out the outdated version I had didn't work with 1.13+, and had to downlad the updated versin. It was then that I noticed chunks with Red circles (don't know what this denotes) not filling in, as well as some with nothing at all (denotes essentially "no chunk information" as far as I know). I doubt this caused it, as the play sessions that weekend were mostly in newly generated chunks (getting new things), and on the final day I returned and after some time noticed this. So, the timing of the use of UnMined and the problem starting is likely coincidental.
Unfortunately, as far as I know, this is not supported. I hope you have a backup, because the correct way to do this is upgrade from a 1.10.x to a 1.11.x, then to a 1.12.x and so on (usually you keep installing the latest available, meaning for instance 1.12.2 for the 1.12.x series).
In your case, it seems that older chunk generated in older version get marked as invalid and deleted instead of converted to the new format, so they can be regenerated by the world generation code.
That's where my guess was; that something was causing the game to flag chunks as "able to be regenerated". Why and/or how to stop it, if it is the case, is what I'd like to figure out and do.
Thankfully, I do have a backup, and am safely back on 1.10.2 for now (I lost that weekend of progress though).
The storage of blocks themselves or the basic chunk format only saw very minimal changes between 1.2 and 1.12 (e.g. each section used 4096 bytes for block IDs, 2048 bytes each for metadata, sky light, and block light. 1.6 added "InhabitedTime", 1.7 added "LightPopulated", and 1.9 added "DataVersion" but in any case the lack of these tags shouldn't cause any issues; any chunk without a version tag can safely be assumed to have the same block format, with the only major difference in NBT being the change to named item IDs in 1.8).
The only other thing I can think of is that 1.13+ uses the inhabited time of a chunk to determine if it should be kept (similar to the criteria for retrogenerating ocean monuments; inhabited time was only added in 1.6 so any older chunks will default to 0 when upgraded; for example, on this map of one of my worlds the area that was generated prior to 1.6 stands out as a region of low inhabited time). Even then, this sounds like a very poor decision on Mojang's part if this is indeed what they did (note that using MLG to load chunks won't work if this is the case since increasing inhabited time requires that a player be present and MLG simply changes the spawn area).
Yeah, that is what I was, and am more so now, fearing/thinking, unfortunately. I've seen many others with old worlds mentioning playing in 1.14 and not mentioning such an issue, but... I must've in a very small percent that used this method (or similar) in which I have chunks with low or zero time spent in that might be leading to this happening. I think it may be why precisely, though. They did this with water temples when 1.8 came, which worked fine with 1.7 since it had the same terrain generation, but not with 1.6, which was a mere two versions prior, so it seems Mojang's "backwards compatibility" concern isn't that high and doesn't consider for any worlds with actual age to them (or, again, I'm a rare case due to not having time spent in many chunks). Is there any practical, easy way to adjust and/or edit in some form the "InhabitedTime" information? I feel like there should be but I'm not sure.
Oh, and if that method of using MLG again WOULD work, I WOULD be willing to rid myself of the areas beyond my central area; one was already gotten rid of, another was essentially new (used that weekend to get new stuff, and used before that only once for the then-new as of 1.8 stone types), and the last does have some builds, but it's not much, and I would be willing to reset/lose it if it was the difference between staying on 1.12 at the most, or going beyond it.
Right now, I guess my next attempt is to update one version at a time, and maybe not use UnMined too, and see what happens.
I gave this another go around since some months have passed, and the same is occurring. I guess I'm set to give up and accept that I'm never updating past 1.12 at the highest. It just seems like if you have a very large world, that this is impossible to avoid? Not sure how others with old, large, multi-year worlds have avoided this.
(repeated image from earlier in the post, but I went South-east from the city in the bottom Left and the same eventually occurred.)
What is strange is this "I'm going to ignore the already generated chunks and re-generate them" only seems to happen in thin lines, but beyond them it goes back to acknowledging the already existing chunks.
I'm not very technically inclined in the deeper workings of Mincraft, world generation, or chunk loading (another issue 1.13+ seems to have), but at this point, I do think the amount of time the chunk has been loaded is related (is this the same as the "TimeInhabited" flag?), as that's been the one loose variable I've noticed in connection with this. The areas I've been in frequently since this parameter was added (around 1.7?) are completely, consistently unaffected by this issue, and roughly at the border of areas I've spent a lot of time in and areas I may not have are where this chunk re-population issue occurs (and again, beyond that it appears to go back to normal).
If this is correct, I can avoid the issue by making sure each chunk has spent the minimum amount of time loaded as the game wants so the game doesn't discard it because it's decided it's not worthy and repopulate it from scratch (bad, bad practice if this is the case, Mojang!). So, my question is this.
Is there a relatively fast and practical way to set a value for the "TimeInhabited" flag for every chunk in a world, at roughly the size of 20k x 20k chunks, BESIDES the obvious manual way of going around the entire world in-game?
What is strange is this "I'm going to ignore the already generated chunks and re-generate them" only seems to happen in thin lines, but beyond them it goes back to acknowledging the already existing chunks.
I found a bug report which appears to perfectly describe your issue, down to an example map showing a ring of chunks regenerated around a region loaded in 1.12.2 with chunks beyond that last loaded in 1.6.4 or earlier; it has to do with the "LightPopulated" flag that was added in 1.7 (apparently, if it is false the game will regenerate the chunks, but chunks that don't have the flag will be untouched, so a world upgraded straight from 1.6.4 should be fine, but not one that was loaded in 1.7 to 1.12.2):
Unfortunately, Mojang has decided that this isn't an issue; "just switch to Spectator to load all chunks before upgrading" is their answer (even worlds created in 1.7-1.12.2 will have chunk deletions because LightPopulated is false for chunks at the edge of the world, so they will have odd lines of cut-off trees and the like).
However, there is one other thing you could try - set up a Spigot server for 1.13 and use it to convert the world (apparently, Spigot itself had a bug which set LightPopulated to false, thus loading the world in vanilla would delete all the chunks):
Oh, now that sounds hopeful, because while it isn't quite the flag I thought it was, it is still along the idea of "the areas I've been in are fine, and the borders between the areas I have and the areas I have not, are not fine". I'm hopeful, although I'll have to research how to set up a Spigot server, whatever that is, and convert a world using it. I don't care if I have to let something go overnight; it'd be worth it if it works (I had to let Minecraft Land Generator go a few nights anyway, technically it should have finished in one but it took like three since it had a habit of becoming slower and then stopping at some point, but I digress).
So maybe and hopefully this light thing is it. Goodness bless that person in that other thread that was seeking help, got no replies, and found a solution AND updated it. And thank you too for helping so far, it's been a lot of help. I'll look at trying this in the coming days, tomorrow maybe and give results when I have them.
It worked! So far, anyway, haha. While it's a little early still, I've gone to many areas I haven't been to in forever, including those that had the issue before, and everything seems fine.
Now I still have plenty to do, like making more changes to a resource pack I use, trying to get Better Foliage working (seems it doesn't use Forge anymore but something else, and Forge kills my performance now), and also dealing with lag I didn't before, but it's... strange. Frame rate and responsiveness? Wayyyy up in 1.14. Responsiveness when changing dimensions? Wayyyy up in 1.14. So it'd seem performance is better, except for the fact that it's now somewhat regular during LAN play that everything stops reacting for ~3 seconds (block placement stops, entities stop moving, etc.), and then it rewinds when it catches up, and this never happened before. I'm getting...
[13:21:37] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 12941ms or 258 ticks behind
[13:22:06] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 13902ms or 278 ticks behind
[13:22:34] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 13663ms or 273 ticks behind
[13:23:03] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 13874ms or 277 ticks behind
[13:23:32] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 14195ms or 283 ticks behind
[13:24:01] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 13973ms or 279 ticks behind
[13:24:31] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 14956ms or 299 ticks behind
[13:25:02] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 15539ms or 310 ticks behind
[13:25:33] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 16057ms or 321 ticks behind
[13:26:11] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 23572ms or 471 ticks behind
[13:26:42] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 16123ms or 322 ticks behind
[13:27:14] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 16240ms or 324 ticks behind
[13:27:44] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 15443ms or 308 ticks behind
[13:28:16] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 16642ms or 332 ticks behind
...somewhere over 100 times in an hour and a half play session too (the ~3 second pauses don't occur anywhere near as frequently, however; I'd say maybe half a dozen times in a few play sessions the entire weekend). Not sure yet if this'll happen during single-player when not open to LAN yet or not. It's not bad enough to put me off from it and keep me on 1.12 or prior but it's disappointing. At least chunk loading and rendering (if incomplete) and dimension changing is much more responsive even if the internal server seems to be way worse.
You may have solved the issue with a spigot server, but in case you still need a viable way to generate chunks, watch this video from Xisuma about a way to generate a world.
Though he uses it to pre-generate a world for a server, it may be adapted to what you need to do without running a spigot server. Depends if the version you're running has command block or not, I don't recall when those were added. The teleport might also be too fast for the proper settings to be saved to the chunks, but there's probably a way to set that so you spend enough time in each area so the proper settings are saved.
But that all may be moot by now if the spigot server is working for you, just thought I'd mention it in case another solution was needed.
The lag you're getting is probably from your computer not being beefy enough to run the server and play the game at the same time, my guess anyway. I would think normal single player performance should return once you're not running an extra server.
Rollback Post to RevisionRollBack
D_B
To tell them how to live is to prevent them living.
Normally I don't use a server and prefer not to, but I did for this moment as it got me around the issue. I did pre-generate my world, but with a different method, and I'm not sure if the method the video used would have avoided me this issue (but I think command blocks didn't exist during the 1.6 times when i needed to do this initially).
The lag is probably just modern Minecraft being Minecraft; it's been getting worse with a few particular updates (1.7, 1.8, 1.13 notably) but I personally never had had the issue of the server becoming unresponsive for seconds at a time (client is fine during this time, so you can walk around, but anything that needs feedback from the server, lick block placement, opening a door/chest, movement of entities, etc., just pause). I do run a pretty large render distance (32) but I did with 1.7 through 1.10 as well and this never happened, and I'm only playing for two people.
I actually DID have this entities stop and go issue before (and it was with 1.6, funny enough) but it was ONLY when running a server (not LAN but server), not the vanilla single-player client, and I tracked that down to being caused by the mineshaft.dat file. Once it grew to a certain size, it increased the lag. Deleting the file fixed it. So, no clue if Spigot made some changes that may have caused this because the first time I tried updating to 1.14 (when I made this thread) and did so using the vanilla converter, I don't recall these mini-pauses, but I only had less than two days worth of play time (but that's about the same time frame I have this time too).
The server freezing for several seconds is likely due to autosaving, which occurs every 45 seconds (at least, it does in 1.6.4, regardless of Optifine's "autosave" setting, which actually does nothing, likely since 1.3 split singleplayer into an internal server and client. Chunks are also saved as soon as they are unloaded if they were modified). I'm not sure why it would only happen on a dedicated server though, especially Spigot, which is supposed to be much more optimized than vanilla (the Mineshaft.dat issue shouldn't happen anymore either since 1.13+ saves structures directly into region files, so I assume it now loads them region by region, not all at once. Whether it flushes the data as regions are unloaded in unknown, as this could still cause issues if you explore a lot within one session).
However, the log indicates continuous general lag since it is running behind by around half the time elapsed, far in excess of what a 3 second pause would cause, averaging around 10 TPS or 100 ms per tick (for comparison, I get around 2 ms ticks in 1.6.4, a factor of 50 times less, and I doubt newer versions are THAT unoptimized so it may have something to do with the world itself). You could try running a debug session (/debug command) to see what is taking up so much time, although I'm not sure how to interpret the results unless something stands out (e.g. ticking entities).
Also check if you have launched the server at least with the same options as the client, I mean java options as you could be using an inefficient garbage collection algorithm. These are the default settings for a client 1.14.2:
I'm not playing using a dedicated server; I play a single-player world, and open it to LAN. I'll have to check the arguments but they should be the defaults, as all I did was change the amount of memory in the first bit from 2 GB to 4 GB.
Are you certain the autosave option with OptiFine is nonfunctional? It defaults to 6 minutes for 1.14 (it was 3 minutes in 1.10), and I wonder if that could be the rough time frame.
Alternatively, something causing that general lag may be piling up until something causes it to finally pause, and then it restarts and repeats.
I wonder if something happened to the world during the conversion because during my last failed attempt to migrate to 1.14, I don't recall this. Server tick time is around 90 to 100+ MS and I'm certain it wasn't that high before. I'm actually referencing some screenshots from that time period and they show between 6 MS (but probably not normal numbers since I was in the nether in a tunnel) and around ~30 MS for a better average. So it appears like something is causing between 3 and 4 times the tick times
Are you certain the autosave option with OptiFine is nonfunctional? It defaults to 6 minutes for 1.14 (it was 3 minutes in 1.10), and I wonder if that could be the rough time frame.
I have no idea about more recent versions but I've decompiled the 1.6.4 version and the only references to the "autosave" variable were in the game settings and GUI classes, and Unmined updates the player position every 45 seconds regardless of what it was set to (corresponding to a hardcoded autosave interval of 900 ticks in the server class, which is not touched by Optifine), which lead me to believe that the SSP-SMP merge in 1.3 caused this setting to lose functionality (Optifine can and does modify server-side logic (e.g. Clear Water, server-side view distance, and some server-side optimizations). Either way, I've never experienced lag due to autosaves (MC-33134 could cause issues on large worlds due to long saving times as well as memory/CPU/GC usage but I disabled structure-saving for mineshafts), and it wouldn't cause general lag.
That said, one thing that I noticed in the screenshot is the number of chunks cached server-side - 16471, far in excess of what it should be (32 chunks should load 4225 chunks, or (32 * 2 + 1)^2 so this means the server is loading 4 times more chunks than it should, making me wonder if there is a huge memory leak in newer versions since other screenshots have shown the same thing; for comparison, 1.6.4 always loads exactly the number expected client-side (server-side may include spawn chunks), as seen in this modded screenshot which shows the client and server chunk caches (view distance 10 = 441 chunks loaded) - this may also partly explain why newer versions use so much more memory, which drags performance down).
Interesting, I wonder if it's maybe loading all dimension at once? That would explain the lack of lag when changing dimensions?
Still, I don't recall having some of these issues before, even when I tried 1.14 before (at least the somewhat infrequent few seconds on internal server-side unresponsiveness wasn't there I think). I did also notice certain things, like redstone buttons to open iron doors, I seem to have a longer time window to get through before it closes.
I don't know how to dissect all the information on the F3 screen, and since 1.14 seems to have issues loading chunks (or at least, rendering them, one or the other), I wouldn't know what to think. You bringing that up made me look back at older screenshots to see what they were for reference, and... I am shocked.
It's loading more than 64 render distance... what the heck...
Here's another two, this time from 1.14, but from the first time I tried migrating to it (this is not the same world in question either).
Wonderful chunk loading too, and while the problem of more chunks loaded seems present here too, it's not as bad, and tick time MS seems more normal. Maybe my world is cursed and getting an older world to play well with newer versions is just too much hassle...
If this is more appropriate in support, please move it. I am unsure if this is a technical (rather than behavioral) issue, per se.
Once updating to 1.14, my world has started repopulating many chunks. The chunks doing this seem to be ones that have either not been visited often, not been visited recently, and/or not been visited for a minimum certain amount of time. I'm not sure which, but the pattern observed is "chunks not gone to often are resetting, but ones in regularly visited locations are staying safe".
Some additional information in case any of it is pertinent.
What I THINK is happening, is the chunks I have NOT spent a minimum amount of time in, are, for whatever reason, being flagged as ungenerated, and the game is re-generating them. The game does the same thing to determine whether it is safe to generate water temples. This is a problem! With the water temples, it was an annoyance, but a rare one with a good chance of working around it (after the water temples was introduced into a new, unwelcome place, visit it for some minutes, and later overwrite said region files with the original ones, and this has limited applications as it is). With this, though, unlike water temples being a rare event, it is happening in ALL chunks not visited enough. Because of the terrain generation differences of pre 1.7 and post 1.7 versions, this is causing a swiss cheese-like network or terrain transitions all over the core part of the world.
How can I stop this? Can I somehow flag my existing chunks as "leave these alone, they are already generated, do not touch" to the game? If someone has a workaround that doubles as a fix for the water temple issue, too, that'd be fantastic, but the core issue is the important one. This will prevent me entirely from updating to 1.14 for the foreseeable future, which is a shame, as I lost a weekend of progress due to this.
If I had to guess, both issues have to do with the chunk "InhabitedTime" flag being less than a certain value; certainly, this explains ocean monuments, which can generate in existing chunks as long as the inhabited time is less than a few minutes, wherever there would be a deep ocean biome in 1.7+ (presumably, the generator uses the game's internal biome generator, as other structures do, since the chunks may not exist yet when a structure is being placed, which is normally done piece-by-piece as each individual chunk is populated, so it can't read chunks to check the biomes around the entire structure). Note that inhabited time was only added in 1.6; any chunks generated before then will start out at 0 when first loaded in 1.6 or later (this means that loading a pre-1.6 world in 1.8+ will have ocean monuments generating in chunks regardless of how long they were loaded).
Also, did you try "optimizing" the world in 1.13 first? This will convert all chunks to the new save format used by 1.13+; another optimization should then be done in 1.14.4 (the converter should be able to handle chunks generated as early as 1.2 since that was the last time the save format changed enough to require converting to a new format, which was mandatory and complete, unlike 1.13, which can convert chunks on-the-fly; the "optimize" feature was added to avoid performance issues caused by this. Any world created/upgraded since then could have such old chunks since versions in between only converted/updated any data as chunks were loaded while playing, hence they should have accounted for this (it is often advised to load a world in each intermediate version when upgrading across multiple versions but this only loads chunks around the player and world spawn - you'd have to completely re-explore the world to ensure that every chunk was loaded, which obviously becomes impractical for any sizable world).
Otherwise, I looked for reports of this on the bug tracker but I couldn't find anything; you could try making a report, including part of the world that is affected (one or two of the affected regions should be enough), which should help confirm if this is a bug or not (in the latter case Mojang presumably never considered the possibility of players using tools to pregenerate worlds, or assumed that few players would still have worlds old enough to not have inhabited time data).
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
Thank you for answering, and no, I updated to 1.14.4. from 1.10.2.
Loading all of the chunks of the central region of my world would be wildly impractical. The water temples are indeed showing up in spots where there would be one generated in that spot of the seed under 1.7+ generation, and only if the chunk hadn't been visited (or loaded?) before.
I am not sure the chunk repopulating is even limiting itself to that though, because I had to update UnMined when updating to 1.14, and that is when I noticed this...
I'm not sure what the Red areas are that never load mean, but I'm taking it as though UnMined is detecting something is amiss and can't load them. It seems as though those are the ones that have the potential to have the chunks repopulate. When first visiting the ocean in the first map, the repopulating started (that is when I stopped playing), and then the area behind it now shows as "no blocks".
For reference, here's the same world at those same spots in 1.10.2.
Going to bump this in the dire hopes that someone has a possible answer for this chunk re-population. This is preventing me from playing this world with 1.14, which I'd really like to do!
I’m sorry to say I don’t have an answer for you. Nevertheless may I ask how you generated the beautiful maps? I would love to have such a map of my world. I never got the hang of using the in-game maps, so if they are in-game ones I will have to figure them out.
Unfortunately, as far as I know, this is not supported. I hope you have a backup, because the correct way to do this is upgrade from a 1.10.x to a 1.11.x, then to a 1.12.x and so on (usually you keep installing the latest available, meaning for instance 1.12.2 for the 1.12.x series).
In your case, it seems that older chunk generated in older version get marked as invalid and deleted instead of converted to the new format, so they can be regenerated by the world generation code.
But, the “optimize world” option, which converts all the chunks without being visited once you change version, is available from 1.13 onwards so even if you did the right sequence, from 1.10 to 1.12 you risk having chunks that don't get converted. Still as far that I know, from 1.10 to 1.12 the chunk format was quite similar, so probably the critical point is from 1.12.2 to 1.13 (in which not only world generation changed, buy every block information changed due to the flattening of block ids).
I would try, if you have a backup, to load it in 1.12, change to creative or spectator and visit every single chunk. Then load it in 1.13.x and try to “optimize“ the world before loading it, and finally do the same with 1.14.4.
This is simply not practical in their case, at least not manually:
It also sounds like they have explored further out to get new biomes/features so the overall world isn't a neat square (otherwise, they could try using MLG on 1.12 to generate the same area but using the existing world so it just loads all the chunks. This could also work for irregularly-sized worlds as long as you cover the maximum extent and don't mind a possibly significant increase in save size and/or using multiple passes with different areas since new chunks will be generated to fill in the entire region).
As I mentioned before, the game has to be able to load/convert chunks from versions as old as 1.2 for this very reason - there is simply no way to ensure that every chunk ever generated has been loaded in every version since it was created (worlds generated prior to 1.2 had to undergo a mandatory total conversion to the Anvil format so there should not be any chunks older than this; I'm not even sure if modern versions are still able to convert pre-Anvil worlds at all). The storage of blocks themselves or the basic chunk format only saw very minimal changes between 1.2 and 1.12 (e.g. each section used 4096 bytes for block IDs, 2048 bytes each for metadata, sky light, and block light. 1.6 added "InhabitedTime", 1.7 added "LightPopulated", and 1.9 added "DataVersion" but in any case the lack of these tags shouldn't cause any issues; any chunk without a version tag can safely be assumed to have the same block format, with the only major difference in NBT being the change to named item IDs in 1.8).
Even the ancient version of MCEdit that I still use, released in 2013, is able to open and edit 1.12.2 worlds with no issues as long as I don't try to edit tile entities (as their NBT format was changed, but this didn't affect the actual chunk data; by contrast, it completely fails on 1.13+ worlds), and such invalid data is/was usually deleted without affecting the entire chunk (e.g. as an experiment I loaded a modded world in vanilla and only one chunk regenerated, due to 1.6.4 not having proper handling for invalid items in item frames (1.7 had a similar bug which affected invalid items in general and was fixed so this shouldn't happen anymore), otherwise, only unknown items/blocks/entities/NBT data disappeared and unknown biomes turned into plains. Even blocks with unknown metadata but valid IDs, like the 1.8 stones that I added, just appeared as the default block; of course, such blocks would now be deleted since metadata no longer exists).
I've suggested that they file a bug report on the bug tracker, including a world download (with at least one affected region, not the entire world) so Mojang can determine what is causing the issue. The only other thing I can think of is that 1.13+ uses the inhabited time of a chunk to determine if it should be kept (similar to the criteria for retrogenerating ocean monuments; inhabited time was only added in 1.6 so any older chunks will default to 0 when upgraded; for example, on this map of one of my worlds the area that was generated prior to 1.6 stands out as a region of low inhabited time). Even then, this sounds like a very poor decision on Mojang's part if this is indeed what they did (note that using MLG to load chunks won't work if this is the case since increasing inhabited time requires that a player be present and MLG simply changes the spawn area).
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
I use UnMined.
Also, I didn't think to mention it, and I doubt it's causing it, but I probably should add it in case it is pertinent also. This actually didn't START occuring UNTIL I went to open the save in the map program, found out the outdated version I had didn't work with 1.13+, and had to downlad the updated versin. It was then that I noticed chunks with Red circles (don't know what this denotes) not filling in, as well as some with nothing at all (denotes essentially "no chunk information" as far as I know). I doubt this caused it, as the play sessions that weekend were mostly in newly generated chunks (getting new things), and on the final day I returned and after some time noticed this. So, the timing of the use of UnMined and the problem starting is likely coincidental.
That's where my guess was; that something was causing the game to flag chunks as "able to be regenerated". Why and/or how to stop it, if it is the case, is what I'd like to figure out and do.
Thankfully, I do have a backup, and am safely back on 1.10.2 for now (I lost that weekend of progress though).
Yeah, that is what I was, and am more so now, fearing/thinking, unfortunately. I've seen many others with old worlds mentioning playing in 1.14 and not mentioning such an issue, but... I must've in a very small percent that used this method (or similar) in which I have chunks with low or zero time spent in that might be leading to this happening. I think it may be why precisely, though. They did this with water temples when 1.8 came, which worked fine with 1.7 since it had the same terrain generation, but not with 1.6, which was a mere two versions prior, so it seems Mojang's "backwards compatibility" concern isn't that high and doesn't consider for any worlds with actual age to them (or, again, I'm a rare case due to not having time spent in many chunks). Is there any practical, easy way to adjust and/or edit in some form the "InhabitedTime" information? I feel like there should be but I'm not sure.
Oh, and if that method of using MLG again WOULD work, I WOULD be willing to rid myself of the areas beyond my central area; one was already gotten rid of, another was essentially new (used that weekend to get new stuff, and used before that only once for the then-new as of 1.8 stone types), and the last does have some builds, but it's not much, and I would be willing to reset/lose it if it was the difference between staying on 1.12 at the most, or going beyond it.
Right now, I guess my next attempt is to update one version at a time, and maybe not use UnMined too, and see what happens.
I gave this another go around since some months have passed, and the same is occurring. I guess I'm set to give up and accept that I'm never updating past 1.12 at the highest. It just seems like if you have a very large world, that this is impossible to avoid? Not sure how others with old, large, multi-year worlds have avoided this.
(repeated image from earlier in the post, but I went South-east from the city in the bottom Left and the same eventually occurred.)
What is strange is this "I'm going to ignore the already generated chunks and re-generate them" only seems to happen in thin lines, but beyond them it goes back to acknowledging the already existing chunks.
I'm not very technically inclined in the deeper workings of Mincraft, world generation, or chunk loading (another issue 1.13+ seems to have), but at this point, I do think the amount of time the chunk has been loaded is related (is this the same as the "TimeInhabited" flag?), as that's been the one loose variable I've noticed in connection with this. The areas I've been in frequently since this parameter was added (around 1.7?) are completely, consistently unaffected by this issue, and roughly at the border of areas I've spent a lot of time in and areas I may not have are where this chunk re-population issue occurs (and again, beyond that it appears to go back to normal).
If this is correct, I can avoid the issue by making sure each chunk has spent the minimum amount of time loaded as the game wants so the game doesn't discard it because it's decided it's not worthy and repopulate it from scratch (bad, bad practice if this is the case, Mojang!). So, my question is this.
Is there a relatively fast and practical way to set a value for the "TimeInhabited" flag for every chunk in a world, at roughly the size of 20k x 20k chunks, BESIDES the obvious manual way of going around the entire world in-game?
I found a bug report which appears to perfectly describe your issue, down to an example map showing a ring of chunks regenerated around a region loaded in 1.12.2 with chunks beyond that last loaded in 1.6.4 or earlier; it has to do with the "LightPopulated" flag that was added in 1.7 (apparently, if it is false the game will regenerate the chunks, but chunks that don't have the flag will be untouched, so a world upgraded straight from 1.6.4 should be fine, but not one that was loaded in 1.7 to 1.12.2):
MC-134639 Worlds from 1.12.2 optimized to 1.13 gets dozens of chunks deleted
(note the regenerated and missing chunks)
Unfortunately, Mojang has decided that this isn't an issue; "just switch to Spectator to load all chunks before upgrading" is their answer (even worlds created in 1.7-1.12.2 will have chunk deletions because LightPopulated is false for chunks at the edge of the world, so they will have odd lines of cut-off trees and the like).
However, there is one other thing you could try - set up a Spigot server for 1.13 and use it to convert the world (apparently, Spigot itself had a bug which set LightPopulated to false, thus loading the world in vanilla would delete all the chunks):
https://www.minecraftforum.net/forums/support/java-edition-support/2952169-chunk-corruption-when-converting-world-to-1-13-2?comment=7
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
Oh, now that sounds hopeful, because while it isn't quite the flag I thought it was, it is still along the idea of "the areas I've been in are fine, and the borders between the areas I have and the areas I have not, are not fine". I'm hopeful, although I'll have to research how to set up a Spigot server, whatever that is, and convert a world using it. I don't care if I have to let something go overnight; it'd be worth it if it works (I had to let Minecraft Land Generator go a few nights anyway, technically it should have finished in one but it took like three since it had a habit of becoming slower and then stopping at some point, but I digress).
So maybe and hopefully this light thing is it. Goodness bless that person in that other thread that was seeking help, got no replies, and found a solution AND updated it. And thank you too for helping so far, it's been a lot of help. I'll look at trying this in the coming days, tomorrow maybe and give results when I have them.
It worked! So far, anyway, haha. While it's a little early still, I've gone to many areas I haven't been to in forever, including those that had the issue before, and everything seems fine.
Now I still have plenty to do, like making more changes to a resource pack I use, trying to get Better Foliage working (seems it doesn't use Forge anymore but something else, and Forge kills my performance now), and also dealing with lag I didn't before, but it's... strange. Frame rate and responsiveness? Wayyyy up in 1.14. Responsiveness when changing dimensions? Wayyyy up in 1.14. So it'd seem performance is better, except for the fact that it's now somewhat regular during LAN play that everything stops reacting for ~3 seconds (block placement stops, entities stop moving, etc.), and then it rewinds when it catches up, and this never happened before. I'm getting...
[13:21:37] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 12941ms or 258 ticks behind
[13:22:06] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 13902ms or 278 ticks behind
[13:22:34] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 13663ms or 273 ticks behind
[13:23:03] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 13874ms or 277 ticks behind
[13:23:32] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 14195ms or 283 ticks behind
[13:24:01] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 13973ms or 279 ticks behind
[13:24:31] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 14956ms or 299 ticks behind
[13:25:02] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 15539ms or 310 ticks behind
[13:25:33] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 16057ms or 321 ticks behind
[13:26:11] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 23572ms or 471 ticks behind
[13:26:42] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 16123ms or 322 ticks behind
[13:27:14] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 16240ms or 324 ticks behind
[13:27:44] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 15443ms or 308 ticks behind
[13:28:16] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 16642ms or 332 ticks behind
...somewhere over 100 times in an hour and a half play session too (the ~3 second pauses don't occur anywhere near as frequently, however; I'd say maybe half a dozen times in a few play sessions the entire weekend). Not sure yet if this'll happen during single-player when not open to LAN yet or not. It's not bad enough to put me off from it and keep me on 1.12 or prior but it's disappointing. At least chunk loading and rendering (if incomplete) and dimension changing is much more responsive even if the internal server seems to be way worse.
You may have solved the issue with a spigot server, but in case you still need a viable way to generate chunks, watch this video from Xisuma about a way to generate a world.
Though he uses it to pre-generate a world for a server, it may be adapted to what you need to do without running a spigot server. Depends if the version you're running has command block or not, I don't recall when those were added. The teleport might also be too fast for the proper settings to be saved to the chunks, but there's probably a way to set that so you spend enough time in each area so the proper settings are saved.
But that all may be moot by now if the spigot server is working for you, just thought I'd mention it in case another solution was needed.
The lag you're getting is probably from your computer not being beefy enough to run the server and play the game at the same time, my guess anyway. I would think normal single player performance should return once you're not running an extra server.
D_B
To tell them how to live is to prevent them living.
Normally I don't use a server and prefer not to, but I did for this moment as it got me around the issue. I did pre-generate my world, but with a different method, and I'm not sure if the method the video used would have avoided me this issue (but I think command blocks didn't exist during the 1.6 times when i needed to do this initially).
The lag is probably just modern Minecraft being Minecraft; it's been getting worse with a few particular updates (1.7, 1.8, 1.13 notably) but I personally never had had the issue of the server becoming unresponsive for seconds at a time (client is fine during this time, so you can walk around, but anything that needs feedback from the server, lick block placement, opening a door/chest, movement of entities, etc., just pause). I do run a pretty large render distance (32) but I did with 1.7 through 1.10 as well and this never happened, and I'm only playing for two people.
I actually DID have this entities stop and go issue before (and it was with 1.6, funny enough) but it was ONLY when running a server (not LAN but server), not the vanilla single-player client, and I tracked that down to being caused by the mineshaft.dat file. Once it grew to a certain size, it increased the lag. Deleting the file fixed it. So, no clue if Spigot made some changes that may have caused this because the first time I tried updating to 1.14 (when I made this thread) and did so using the vanilla converter, I don't recall these mini-pauses, but I only had less than two days worth of play time (but that's about the same time frame I have this time too).
The server freezing for several seconds is likely due to autosaving, which occurs every 45 seconds (at least, it does in 1.6.4, regardless of Optifine's "autosave" setting, which actually does nothing, likely since 1.3 split singleplayer into an internal server and client. Chunks are also saved as soon as they are unloaded if they were modified). I'm not sure why it would only happen on a dedicated server though, especially Spigot, which is supposed to be much more optimized than vanilla (the Mineshaft.dat issue shouldn't happen anymore either since 1.13+ saves structures directly into region files, so I assume it now loads them region by region, not all at once. Whether it flushes the data as regions are unloaded in unknown, as this could still cause issues if you explore a lot within one session).
However, the log indicates continuous general lag since it is running behind by around half the time elapsed, far in excess of what a 3 second pause would cause, averaging around 10 TPS or 100 ms per tick (for comparison, I get around 2 ms ticks in 1.6.4, a factor of 50 times less, and I doubt newer versions are THAT unoptimized so it may have something to do with the world itself). You could try running a debug session (/debug command) to see what is taking up so much time, although I'm not sure how to interpret the results unless something stands out (e.g. ticking entities).
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
Also check if you have launched the server at least with the same options as the client, I mean java options as you could be using an inefficient garbage collection algorithm. These are the default settings for a client 1.14.2:
They should be more than enough for a server, lacking the graphical and sound part.
I'm not playing using a dedicated server; I play a single-player world, and open it to LAN. I'll have to check the arguments but they should be the defaults, as all I did was change the amount of memory in the first bit from 2 GB to 4 GB.
Are you certain the autosave option with OptiFine is nonfunctional? It defaults to 6 minutes for 1.14 (it was 3 minutes in 1.10), and I wonder if that could be the rough time frame.
Alternatively, something causing that general lag may be piling up until something causes it to finally pause, and then it restarts and repeats.
I wonder if something happened to the world during the conversion because during my last failed attempt to migrate to 1.14, I don't recall this. Server tick time is around 90 to 100+ MS and I'm certain it wasn't that high before. I'm actually referencing some screenshots from that time period and they show between 6 MS (but probably not normal numbers since I was in the nether in a tunnel) and around ~30 MS for a better average. So it appears like something is causing between 3 and 4 times the tick times
I have no idea about more recent versions but I've decompiled the 1.6.4 version and the only references to the "autosave" variable were in the game settings and GUI classes, and Unmined updates the player position every 45 seconds regardless of what it was set to (corresponding to a hardcoded autosave interval of 900 ticks in the server class, which is not touched by Optifine), which lead me to believe that the SSP-SMP merge in 1.3 caused this setting to lose functionality (Optifine can and does modify server-side logic (e.g. Clear Water, server-side view distance, and some server-side optimizations). Either way, I've never experienced lag due to autosaves (MC-33134 could cause issues on large worlds due to long saving times as well as memory/CPU/GC usage but I disabled structure-saving for mineshafts), and it wouldn't cause general lag.
That said, one thing that I noticed in the screenshot is the number of chunks cached server-side - 16471, far in excess of what it should be (32 chunks should load 4225 chunks, or (32 * 2 + 1)^2 so this means the server is loading 4 times more chunks than it should, making me wonder if there is a huge memory leak in newer versions since other screenshots have shown the same thing; for comparison, 1.6.4 always loads exactly the number expected client-side (server-side may include spawn chunks), as seen in this modded screenshot which shows the client and server chunk caches (view distance 10 = 441 chunks loaded) - this may also partly explain why newer versions use so much more memory, which drags performance down).
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
Interesting, I wonder if it's maybe loading all dimension at once? That would explain the lack of lag when changing dimensions?
Still, I don't recall having some of these issues before, even when I tried 1.14 before (at least the somewhat infrequent few seconds on internal server-side unresponsiveness wasn't there I think). I did also notice certain things, like redstone buttons to open iron doors, I seem to have a longer time window to get through before it closes.
I don't know how to dissect all the information on the F3 screen, and since 1.14 seems to have issues loading chunks (or at least, rendering them, one or the other), I wouldn't know what to think. You bringing that up made me look back at older screenshots to see what they were for reference, and... I am shocked.
It's loading more than 64 render distance... what the heck...
Here's another two, this time from 1.14, but from the first time I tried migrating to it (this is not the same world in question either).
Wonderful chunk loading too, and while the problem of more chunks loaded seems present here too, it's not as bad, and tick time MS seems more normal. Maybe my world is cursed and getting an older world to play well with newer versions is just too much hassle...