Hello, This tutorial focuses on reducing lag or even fixing it and reducing the "Can't keep up!" spam. This tutorial is written for craftbukkit and Vanilla. This tutorial does not cover client lag (lag you get in single player) or latency (internet lag). I will also explain how to fix corrupted worlds. • Tweak the Java VM by using proper garbage collection. Here is a good launch line for 64bit Java users. Code: java -Xmx1024M -XX:ParallelGCThreads=8 -server -Xincgc -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSIncrementalPacing -XX:+AggressiveOpts -XX:+CMSParallelRemarkEnabled -XX:+DisableExplicitGC -XX:MaxGCPauseMillis=500 -XX:SurvivorRatio=16 -XX:TargetSurvivorRatio=90 -XX:+UseAdaptiveGCBoundary -XX:-UseGCOverheadLimit -Xnoclassgc -XX:UseSSE=3 -XX:PermSize=128m -XX:LargePageSizeInBytes=4m -jar craftbukkit-0.0.1-SNAPSHOT.jar nogui If can't get a 64bit operating system and in effect 64bit Java then you can use this: Code: java -Xmx1024M -XX:ParallelGCThreads=8 -Xincgc -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSIncrementalPacing -XX:+AggressiveOpts -XX:+CMSParallelRemarkEnabled -XX:+DisableExplicitGC -XX:MaxGCPauseMillis=500 -XX:SurvivorRatio=16 -XX:TargetSurvivorRatio=90 -XX:+UseAdaptiveGCBoundary -XX:-UseGCOverheadLimit -Xnoclassgc -XX:UseSSE=3 -XX:PermSize=128m -XX:LargePageSizeInBytes=4m -jar craftbukkit-0.0.1-SNAPSHOT.jar nogui The only thing you have to change is the amount of garbage collection threads and the amount of RAM used. 1 gigabyte of RAM is -Xmx1024M but if you have a 64bit operating system and 64bit Java then you can assign more than 4 gigabytes of RAM, for example -Xmx2560M for 3.5 gigabytes. You will also have to change the amount of garbage collection threads, if you have a quad core like me then set it to 8 threads however if you only have a dual core then set it to 4, for example -XXarallelGCThreads=4. • Install PerformanceTweaks. Do note it is not thread safe and it conflicts with SimpleSave. • You should also clear out your world of useless stuff. Use WorldGuard + WorldEdit and type /butcher and /remove drops -1 and /remove arrows -1 (do this for each world if you have a multiworld set up). You'll want to do this every 30 minutes or so and do it when there are several players online as it only kills mobs and remove drops and arrows in loaded chunks. If your server is extremely overloaded, type /stoplag (This is part of WorldGuard). • Don't use too many plugins. I think a good limit is 50 plugins. Don't double up on plugins (2 permissions plugins like Permissions and GroupManager) and also remember not to use plugins you don't really need. For example (no offence) I don't really need EatSugar, it's a cool idea but how often does a user use it? Never on my server. You also shouldn't use a poorly written plugin, an example that can cause lag is Essentials. Try temporarily removing it and if there is less lag then you need to switch to CommandBook. • Excessive water and lava flowing is expensive. If you ever get a disconnected with overflow then you definitely have this problem. You can use WorldEdit's /removenear movingwater 90 and /removenear water 90 when you get close to the area you get disconnected or start getting lag. • Redstone circuits can cause lag when it is large especially when its looped (a clock or pulser). You can stop the loop by breaking redstone wire adjacent. • Raging fire (especially when a forest is on fire) can cause a lot of lag. This isn't as prominent in 1.6 but to remove fire, use WorldEdit's /ex when you are near the fire. This will extinguish it. • Install Java 1.7. Make sure to uninstall all other versions of Java before you install 1.7. • Get a real server operating system like CentOS or Ubuntu. Windows and Mac OS X aren't good server operating systems. Corrupted regions are very annoying but luckily they can be fixed most of the time. You will need to use a utility called Chunkster (You get Chunkster from Chunkster/dist). To use it, make a new directory and put your broken world and Chunkster.jar in it. Then run java -jar Chunkster.jar <world>. Let Chunkster run through your world and if you get an error like then look at the first line, world\region\r.-1.-2.mcr that means region r.-1.-2 is corrupt. Go into your world's folder then into region and then make a back up of the corrupted region and then delete the original. Run Chunkster again and again until it doesn't crash or give errors. If you are still having issues, ask in this post (or make a new one) and if I can't help you then you'll have to make a new world.