Request: New Worlds for lag free game play.

  • Today, on my server being in the nether we noticed one thing... Lag, Well of course because the Nether is more taxing then the main world but then again the end is way way less laggy then the main world. I thought how cool would it be to have a blank, dark, looking world where you can take maybe special high tech portal or something that takes you to this new world. This of course could be adjusted for servers who want to work their way to getting there or who want to be there right away.


    I really would love something like that like mystcraft void world but of course that mods a bit taxing for that kind of use I find.


    Thanks!

    Check out Our Brand New GT New Horizons Server .:Here:.
    Check out Our Brand New GT New Horizons Let's Play Series .:Here:.

  • Lag...The bane of everyone's existence and typically the end for most modded minecraft worlds. Nether isn't really laggier than the main world; the opposite should be true (on a virgin untouched nether; one that hasn't been ravaged by pumps and all the other technological goodies that screw with lava flows and create all kinds of CPU overhead for all the block updating required). Nether has more spawn checking to be sure due to how mobs there (outside of fortresses) spawn; but typically less overall spawning space than the overworld.


    On a server even in a void age you will still notice server tick lag and all that other happy stuff since worlds are still being kept loaded versus the listen server that's created in single player.


    You could use mystcraft effectively for a void type age if you really wanted, however. You could even disable (via config) whatever you didn't want in mystcraft (examples being the crystals (one portal to one world only); age books themselves; hell even age symbols or the benches to create them).

  • The world isn't lagging, the code is. Even if you create a flat plains world it will still eventually lag even though there is nothing out there.


    Identifying what causes the lag is however extremely difficult. It could be anything from a single block, a specific addon or a combination of addons that only occurs under very special circumstances. Even your server could be lagging form outside influence (unless you happen to have an expensive true root server with exclusive access, but then it could still be network). The only real way to figure out the lag would be to have the server run with a special performance measurement tool that will then tell you which part of the code is actually taking how much time. But then someone still has to fix that. ;)

  • I though this might be a little related:


    forums.bukkit.org/threads/info-admn-performance-monitor-v1-7-1-1-4-5-r0-3.86916/


    Of course you can only indentify some problems but still usefull.

  • Lag...The bane of everyone's existence and typically the end for most modded minecraft worlds. Nether isn't really laggier than the main world; the opposite should be true (on a virgin untouched nether; one that hasn't been ravaged by pumps and all the other technological goodies that screw with lava flows and create all kinds of CPU overhead for all the block updating required). Nether has more spawn checking to be sure due to how mobs there (outside of fortresses) spawn; but typically less overall spawning space than the overworld.


    On a server even in a void age you will still notice server tick lag and all that other happy stuff since worlds are still being kept loaded versus the listen server that's created in single player.


    You could use mystcraft effectively for a void type age if you really wanted, however. You could even disable (via config) whatever you didn't want in mystcraft (examples being the crystals (one portal to one world only); age books themselves; hell even age symbols or the benches to create them).

    I was told Mystcraft was not suitable just for a void age due to some bugs and issues that tend to come with the mod. Though I do thank you for the info I did hear about being able to create and lock I guess its called worlds on SMP.

    The world isn't lagging, the code is. Even if you create a flat plains world it will still eventually lag even though there is nothing out there.


    Identifying what causes the lag is however extremely difficult. It could be anything from a single block, a specific addon or a combination of addons that only occurs under very special circumstances. Even your server could be lagging form outside influence (unless you happen to have an expensive true root server with exclusive access, but then it could still be network). The only real way to figure out the lag would be to have the server run with a special performance measurement tool that will then tell you which part of the code is actually taking how much time. But then someone still has to fix that. ;)

    I know the world is not lagging. This is not Server TPS but rather Client FPS I'm pointing out. Being a admin of a semi large community, we tend to have a lot of players on lower spec computers. Being able provide a more building area that is more lag free say 1 layer of grass and nothing else clearly offers superior client fps boost as their is less things to render and I think that's mainly due to lighting? I do run jvisual vm on my server often to see what related is causing some issues.

    I though this might be a little related:


    forums.bukkit.org/threads/info-admn-performance-monitor-v1-7-1-1-4-5-r0-3.86916/


    Of course you can only indentify some problems but still usefull.

    Downside is the bukkit. Good side there is an actual tps mod tell you the TPS per world. Letting you know at least what world might be failing.



    Overall guys this was not about lowering the TPS though it would help when it comes to loading and unloading chunks as there is none to load really but was related to client FPS for larger and bigger and more complex builds and squeezing that extra fps!

    Check out Our Brand New GT New Horizons Server .:Here:.
    Check out Our Brand New GT New Horizons Let's Play Series .:Here:.

  • Overall guys this was not about lowering the TPS though it would help when it comes to loading and unloading chunks as there is none to load really but was related to client FPS for larger and bigger and more complex builds and squeezing that extra fps!

    Not only tps anymore with 1.4.6 it shows your memory usage and cpu threads etc. :)

  • I know the world is not lagging. This is not Server TPS but rather Client FPS I'm pointing out. Being a admin of a semi large community, we tend to have a lot of players on lower spec computers. Being able provide a more building area that is more lag free say 1 layer of grass and nothing else clearly offers superior client fps boost as their is less things to render and I think that's mainly due to lighting?


    Lighting costs a lot, I once lightened up cave system through a single hole in the ceiling and then repeatedly covered and uncovered that hole with a piston. That alone brought my server to its knees. In addition the current MC version seems to be extra laggy in many situations. While I had like 300 fps on earlier versions, I am now lucky if I get more than 100 on the same machine. As all calculations of the world are done in a single frame, I often experience these micro-lags, that are not visible in the fps, but definitely noticeable for me. All of this however doesn't seem to be world related but caused by some single blocks or special combinations.


    On the other hand, as already suggested, Mystcraft could be a solution for you. For once it allows everyone to have his private world (anti-griefing) and for second it allows to create flat plains worlds without any features like caves, villages and so on if you want to. That could be a solution for those with slower machines. The only downside is that each world takes up a bit of disk space (~2mb for each unexplored world on my machine), and of course creates the option for infinite resources as you can just create another world if you strip-mined your current one. Certain worlds are as well excellent for mob towers (permanent daylight, no caves), you should forbid chunk-loaders in such worlds. And you should be prepared to rescue a few people that got stuck in their worlds. ;)

  • Also remember the Server also has to have enough power to drive the Server Instance inside a Java Virtual Machine. Normally you would want to avoid using any virtual machine for any application, running it as native as possible. Maybe your Server just isn't up to that task.

    Intel i7 990X @ 4,60 GHZ, Asus Rampage III Black Edition, 24GB Corsair Dominator GT DDR3,
    2x Zotac Nvidia Geforce 580AMP 1,5gb, OCZ Revodrive 3 X2 240GB 1GBps,
    1TB Western Digital Cavier Black, 2x Hitachi HDS723030BLE640 3TB, 3x BenQ XL2410T LCD-Monitors


    Hosting Minecraft Servers on an Octo Core 32GB Ram Server: http://two66.com/
    Free Space available! If you need a Server let me know!

  • Java nowadays with all it's features is fast enough to run on most machines properly. If done right you barely notice the difference between Java and a highly optimized native code, what you however notice is badly written code. And I can assure you: from 1000 programmers maybe 1 is able to write good code in the language he is using. And with all those hobby-modders in Minecraft that numbers get a lot worse.


    The worst of all is however that many of those at Mojang fall under the 999 part. ;)
    An experienced programmer with appropriate skill could easily make Minecraft 10 or 100 times faster.

  • 100 times faster? I call bullshit right there. Also, your going on about how an experience coder could do so, yet how do you know? How did you get this "expertise" on coding in Java? I know there are some major problems with code behind the scenes, but not enough to boost performance that much when they get fixed. Cause what your really saying in theory is that my crap laptop that I play Minecraft on while traveling should start getting 150fps, compared to 15, just based on who is coding the game. Also, that would be a 10x boost, not the "100 times faster", you claimed. Who in hell would need a game that could render somthing at 15k fps? At that point I would want more flashly nice stuff in the game bogging it down lol.

  • Simple Example: Minecraft always renders all blocks that are in loaded chunks. You can easily try for your own by using a cheat-see-through texture pack. Now ask yourself: how many blocks are actually required to render? Actually only those that you can see.


    The algorithm required to sort out the not required blocks (known as Oct-tree) was already commonly known and used 2002, yet not in Minecraft, but could easily reduce the time to render by a lot giving a massive FPS boost especially on smaller systems. More modern approaches using shaders could exploit the fact that Minecraft-blocks are almost always square and have most of the calculation being done in the graphics card, which could easily boost the FPS by another factor of 10.


    And this is just what you can do graphics-wise. There are a lot more code parts that can easily - and I am talking about 2-3 days of work for an experienced programmer - be improved to give a massive boost to the speed of the game. Just alone the way networking is handled is stupidly crazy: network packages and chunk updates can only be handled in the rendering-loop, so if your network is slow, your fps automatically drop. I once prototyped this and with about 4h of work I had a complete lag-free networking code that did not at all bring down the rendering. And that was been done by just using the Java tools right.

    The post was edited 1 time, last by Two ().

  • 4 hours work for a semi functioning prototype eh? Mind posting some proof, right now all I have is your word which is worthless to me on the internet.


    2 - 3 days for an experienced programmer? If anyone knows 1 of those, hook us up. I will personally encourage the whole community to donate enough to pay for a weeks worth of work if what you say is true.

  • The prototype wasn't semi-functioning, it was a full replacement of the network code and it was working fine. The big problem about doing that however is that you can throw it away each time Minecraft updates, or nowadays if forge updates, therefore the time spent on this is wasted, unless you plan to never update Minecraft again.


    For the donation part: a good programmer can be hired at many companies, expect about 500€ (660$) per day (2500€ a week). I think that is rather excessive for a one-time change, regarding the non-update part.

  • 4 hours to do this from scratch? And your talking about taking to long to update for each update? Ugh.. And if done right and well I can be you anything people would end up adding to forge forever... IDK what to say I have to call bullshit on this. I am sorry but there is just to much not adding up to this.


    Back to what I want. I want really just a void naked world ;)

    Check out Our Brand New GT New Horizons Server .:Here:.
    Check out Our Brand New GT New Horizons Let's Play Series .:Here:.

  • The good thing is that I don't need anyones believe for having done that a long time ago. ;)


    For your world: again, try Mystcraft. You can spawn even void worlds that contain nothing but the initial 4x4 spawn platform. If that one still lags, you can safely blame it on the client. ;)

  • What version of Minecraft did you make your fix for then? I personally think that I could stay on 1.46 forever, mods can easily add in any new vanilla content that would get added.

  • 1.8, so that ancient version long time ago. But if anyone want to repeat that, it is pretty easy to do (just a lot of tedious coding). The main reason for lag is that Minecraft does handle all chunk updates during the rendering step, thus the more chunk updates you get, the lower your fps will be. On slow machines this not only causes lag but a lot of "missing" chunks or even chunk errors, as the game will only process one chunk per frame or worse.


    One major mistake is that after 20 block updates the game just sends the entire chunk at once, while at the same time considers chunks to be heavy-weight packages, so only a few of them are send per frame to not slow down the game too much. This causes a strong bottleneck with things that cause a lot of block changes. It is a heavy performance boost to increase that number by a lot, because the multi-block change package is much more light-weight and does not (noticeably) reduce fps, but the issue is that the package is hard-coded to not have more than 20 block-id entries ever. So this package needs to be modified on server and client, which make the resulting server/client incompatible with vanilla.


    The other step was to just use the Java NIO packages instead of the very primitive Mojang networking code and to remove every instance of System.GC() which is just plain stupid to call on every frame (~10% fps boost just from removing that).