AriinPHD
- AriinPHD
- ariinphd
- Europe/Stockholm
- Yes
- No
Just to let everyone know.. This post might be considered a bit of topic, since it is neither containing any solution to this problem, nor give any new information regarding it. However, it might be something interesting to read for some of you and the reason I will even bother to write it is that I beleve that the more knowledge people have about anything, the easier it will be to figure out a solution on their own. (I dont know) If you dont like that, stop reading now! (You might learn something)
Test Tux I am a regular user and Minecraft player like anyone else here, so I would not say that I am familiar with the Minecraft software specifically. (Even if I have read most of the code) However this issue is not specific to Minecraft. All I have is a general knowledge of computers and the stuff that I have learned both as a Java programmer and from courses available to anyone at the university. You should consider me as any other user and all I can do regarding this is to try to give you some hints.
Regarding what you have written here. It is good that you give information like this, since it is easier to troubleshoot the more information you have.
The question your have about what happens when you go through to the nether might not help you so much to solve your problem (as AriinPHD mentioned), but it might help you get some enlightenment or atleast give you some answers to what you are thinking about.
First thing that might be of interest is that the server will have to send you all the information about the area in question, but this will be done when the server got "time" to do so. It can not send anything that it havnen't loaded or calculated itself yet. So if the server can't handle getting anything done, then it wont be able to send you anything in the same way that there is no point in sending an e-mail before you are done writing it.
Anyway.. Back to the question about the nether. Basically what happens is, (to simplify it a lot) that the server loads everything for the chunks close to you in the nether from disk to the memory. Depending a bit on where exactly that is it might need to read from as much as 4 different files (each containing stored chunks). The server will then try to check the state of everything there (so that nothing is wrong basically). If the mobcap is not met, the server will at some point after this start trying to spawn mobs during available gameticks. If the area in the nether is not explored it will, instead of loading it from disk, start generating it so that you have somewhere to stand when you get there. Somethin important to note is that this is NOT what is shown on your screen. It wont load any graphics or anything like that. Only data that tells the server what is where.
During this time the server might not be able to keep up with producing 20 ticks/second, but will instead que up some of what is happening for when the server have resources again. (This is one of the reasons why things might seem to speed up right after it have lagged a lot) If it takes to long, the ticks will be skipped.
After a while (usually around a minute), the server will start unloading your chunks in the overworld. This also uses a lot resources, but not as much as loading them.
Since the mob cap will change on each load/unload of chunks that contain mobs, new mobs will be generated as often as it can when the mob cap is not met.
Since the memory needed for having both the data from the old chunks and the new chunks loaded in memory at the same time is more than just having one area loaded, this might cause a garbage collection from your memory. If this happens a total stop usually happens (depending on what garbage collector you use). If a full collection happens this might take quite a long time. (To have a garbage collection here is not something desired and in most cases preventable in one way or another.)
When the server have resources to do so, it will start sending information to your computer, and if it have been unable to send information to anyone else online during the loading, this will happen at the same time. The information sent to the other players are probably tiny in comparison to what the person going through the portal needs to get. (For other players, this might lead to symptoms like blocks mined reappearing and so on if the server is behind.)
When the client gets the new data it will first be put in to memory, and then the client will start processing the data and then try to render everything for you.
If you are really unlucky, this might also cause a garbage collection, but this time on the client. (Basically: Lots of changes and new stuff to put in to memory --> Space needed --> garbage collection if memory is not sufficient.)
The explanation above is a bit simplified and probably not 100% correct, but will give you a general Idea of what is happening.
I will try to go on to talk a bit about memory in general. (Nothing to do with your question about Minecraft or portals) The memory you have available to use is not the same as the amount of "RAM" you have. That is just one part of the memory that your computer can use. There are several stages of "memory" for a computer, and it is in theory possible to tell a program that it can use lets say 8GB on a (64 bit) computer even if it only got 4GB ram without the program crashing. This is due to the way VM works. ( http://en.wikipedia.org/wiki/Virtual_memory ) The memory however will behave differently depending on how much you use. There are a lot of things that comes in to play, with page tables, pages and so on, but to understand this, you should probably take a course in computer architecture or something like that at the university and not read about it here.
But basically there are several different places where stuff can be stored: Cache (small and super fast), Ram (Large and somewhat slow), Physical storage (Super large and super slow). So if your computer tries to use the disk as ram, I guess you can imagine how slow that is?
Another thing that is important to understand is that the processor of a computer often needs to "wait" for other things before it can go on. Processors now days will try to go on doing "as much as it can" while waiting, but in general, if something needs to be gotten from disk for example, this will take a LOOOONG time and the processor will not be able to do much in the meanwhile.
Knowing all this, you might understand that following the advice: "Give Minecraft more RAM" might not be the best thing to do always, since it can actually slow everything down for you.
Not only by using the disk, but also the garbage collections will take longer, since the garbage collector needs to deal with more data when this happens.
Giving minecraft the "right amount of RAM" is probably a better advice.
Enough about this now..
I sugest that if you want to understand stuff like this for real, you should take a course. To make it easy for you I went ahead and found a youtube channel with lectures if you are interested: https://www.youtube.com/channel/UCzf_XjIoKSf4Ve2fH7xn-3A That channel should probably cover the basics about VM, how processors work and so on.
Before ending this post I feel that I should give you something real. There are things that might give you some information to go forward in your quest:
- While being in the area that causes you to get the time out: Force a crash.
- On the server: log when full garbage collections are happening. (See java switches documentation)
- If you can't understand the logs yourself, post crash and server logs somewhere and ask someone to help you.

Addnig my own comment here. I hope this becomes popular enough for Mojang to look into a resolution soon.
This issue is present in the (as of date) latest snapshot 14w29b. This issue can be experienced by loading the seed 1122334455 where the player spawns on a tiny island surrounded by two Underwater Temples. They are quite a few blocks away, but visible from the island. The Guardian laser-beam sound is extremely loud from anywhere on the island.
If this is intended, it is the most annoying new addition to the game. I'll consider it a bug.
You need to run the server and client in a debug environment to see what breaks. Looking for signs "in-game" won't solve the issue.