pTweaks
Hello,
Unfortunately, I have long lost interest in Minecraft and have no plans to update this plugin any further, so I highly suggest finding a replacement. It was a good run, but I think it's time to call it quits. We appreciate all the support over the years, and are truly grateful for it. Best of luck,
Cheers.
-
-
-
-
-
pTweaks is a server optimization tool. This plugin will redefine how your server loads, stores and manages chunks. pTweaks will prioritize chunk loading so the ones that need loaded get done first. When a large number of chunks are being loaded consecutively the plugin will start to unload unused chunks at a higher rate to keep performance on the server higher. pTweaks has a smart chunk loading algorithm so that chunks in a players surroundings stay loaded while under normal use so never again will you take a few steps and all the chunks start to unload behind you. pTweaks stops your server from using resources it doesn't have to use. pTweaks also adds mob handling. You are able to set limits of Monsters and Animals in each world. When things get out of hand pTweaks also offers a kill command to kill all living entities. pTweaks also offers a command to check your ram limits, performance, and allocations. pTweaks is an anti lag plugin.
Your server will be able to run longer, and smoother without the need of a restart. This being pTweaks already clears all unused data that would normally be removed with a server restart. Java dumps are already cleared and Chunks have a longer life span, meaning ram usage and CPU intensity will drop. Mob handling is now a possibility, enable or set the amount of mobs/animals spawning in your world(s) to massively drop resource usage, Limiting mobs is like turning down view distance improvement wise. Helps reduce performance therefor stopping lag.
The lifetime is how long the chunk is loaded into memory, and the prune is the cycle rate. Depending on your server size and CPU power you may want to customize these settings. Larger servers with more free ram may want to make prune higher to keep chunk loading and unloading from happening less often, while smaller servers may want to keep the default settings or make prune lower. The prune is the cycle of when all the unused chunks get unloaded. So having this higher makes more chunks stay loaded longer, while having it lower makes them unload faster. Both have benefits but generally i don't suggest editing it. SpawnChunkRadius is the static (initial) loading of chunks when a player joins your server, so the amount of chunks loaded around him, don't suggest editing this.
ChunkEdits:
ChunkEdits is a 100% customized chunk loading algorithm to enable quicker loading of chunks, and priority packets. So chunks load in a fashion better fitted for the player and the server. This algorithm isn't perfect, and currently being recoded.
<><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Monster Limiter:
This is a fully custom feature. You can enable or disable this in the config. Limit the amount of Mobs or Animals spawning in your world, or disable spawning all together. Change if you want spawning in one world and not the other, you can also simply use the kill command to butcher all living mobs/animals in the current or all worlds. You can see all commands by typing /pTweaks in game.
<><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Chunk Persistance:
This is a fully custom feature, that can be turned off in the config. This does a whole lot and is the main backbone of the plugin. Change how many chunks are loaded on player join or how long chunks stay loaded after people leave them. Makes chunks with no activity loaded at certain intervals to save tons of CPU power. The clear cycle is changed to make less disc writing. Chunks with lots of visitors will stay loaded longer, and not have to render again and again. This adding lots of performance to your server.
<><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Ram Check:
Check the amount of ram being used, the free ram, and currently loaded ram. This gives you the ability to check server performance and debug bad plugins by seeing which are taking up the most resources by adding one and testing, adding another and using the command again. This command will soon also have TPS and other performance tracking abilities.
<><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Packet Auto Save:
Instead of writing every chunk to the disc every 2 seconds. This changes it to a custom time that you want, Default is 50ms This saves the server from writing about 14KBps to the disc (10 writes, 3 reads per chunk, on a 3 person server). As well as saves about 2 calls to deflate every 2 seconds. (per chunk)
<><><><><><><><><><><><><><><><><><><><><><><><><><><><>
TNT Edit: (Suggested)
Basically all this does is after the first explosion, shadows the rest of them by duplicating the same explosion so the effects of say 500 TNT are the same as the effects of a single tnt block going off. This is not bullet proof, and it will still be possible to cause server lag by making the server render too many packets, but this is not possible unless doing thousands of blocks with a plugin like WorldEdit.
- Download pTweaks
- Stop your server
- Put pTweaks.jar in your Plugins directory
- Start Your Server
- Edit Config's to your liking or leave default
- Reload
- Done!
/pTweaks
Permission: pTweaks.pTweaks
This command will bring up most ingame settings, and information. You can also enable or disable mob spawning from ingame.
/ram
Permission: pTweaks.ram
This will show current ram usable, and information
VIDEOS:
Thanks too @Torrent for the video
Thanks too @BrandonHopkins for the video
Lag Test 3,000 TNT / With and Without pTweaks (356MB server)
Please consider donating to help support development of this plugin!
Everything helps.
1) Cyberpwn $5
Version 5.7 and all 1.4.6 Development builds removed. There were issues with chunks not unloading, So please be patient and wait for an official update to come resolving this error. Huge 6.0 update soon.
@mrchasez
Yay thanks :)
@micahdg @janie177
Development builds aren't always stable. All i can say is they are there for testing. This will be looked into today, and updates will be coming out tomorrow hopefully.
@mrchasez
The server memory usage is 90% :/ But that is mostly the case... I hoped this could fix that issue :c
@janie177
Still the same here, with the latest dev release. It gets up to 70,000 chunks loaded, refuses to unload anything, and we have to restart before the ram runs out. We had to remove ptweaks again yesterday due to the severe TPS hit while keeping all those chunks loaded.
@janie177
That is interesting. How is server performance? Ill take a look at unloading.
@janie177
Uh, ill add enable or disable methods for the whole classes soon.
hey, I'm using the latest dev build and something strange is happening. I installed this plugin because 4k chunks were loaded with only 11 people online. After installing your plugin, this is now 11k chunks with 15 people online. Is this supposed to happen?
For some reason on your latest dev2 build mobs and animals spawning is being limited. I've disabled monster limiter and it still happens. I've downloaded 2x and disabled monsterlimiter both times and still occuring. Once I remove ptweaks all animals and mobs reappear.
@VCarnelion
The prune is the cycle of when all the unused chunks get unloaded. So having this higher makes more chunks stay loaded longer, while having it lower makes them unload faster. Both have benefits but generally i don't suggest editing it.
@fede1608
/reload ^-^
Not a dedicated command.
Hi I want to know if there is a reload command, thanks.
Question, is there anyway to keep the chunks loaded? (At least an hour or so) and could you explain more about "prune" option in ChunkPersistance config?
This is my config atm: lifetime=500000 prune=3000 enable=True
Thank you :) (I have enough RAM for it, so don't worry :))
@PEZA0
Saying "it don't work" don't help. I have tested it thoroughly. Pastie.org errors.
@mrchasez
I'm using your last dev build. PtweaksDEV2.jar . Dont work on Craftbukkit last dev build.
@ThiagoSchulz @PEZA0 @LosTxDream
You are all using the wrong build. Click "Latest Dev" and download one of those. I even highlighed the text in orange.
@kahlilnc
There are already 2 1.4.6 builds out. Click the "Latest Dev" Tab.
@LosTxDream
Just needs to recompile for 1.4.6 shouldnt be to long :D
work in 1.4.6 ?
@xXSshadowXx
Yeah that is totally normal. Each section of the plugin that is controlled by the user, is in its own config. This may change though as the config manager was rewritten.
Trying this for the first time(on a test server). In the dev version is there no main config? All I see is AutoSaveStopper.yml, ChunkPersistance.yml, and MonsterLimiter.yml. Or is that normal for this plugin?
@Slaand
You are using V5.5 which is for 1.4.5.
Click "Latest dev" at the top and download a beta build for 1.4.6.
Error on server startup, Spigot 1.4.6 R0.1
2012-12-23 15:59:21 [SEVERE] Error occurred while enabling PTweaks v5.5 (Is it up to date?) java.lang.NoClassDefFoundError: net/minecraft/server/v1_4_5/World at me.plugin.ptweaks.PerformanceTweaks.onEnable(PerformanceTweaks.java:20) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) at org.bukkit.craftbukkit.v1_4_6.CraftServer.loadPlugin(CraftServer.java:315) at org.bukkit.craftbukkit.v1_4_6.CraftServer.enablePlugins(CraftServer.java:297) at net.minecraft.server.v1_4_6.MinecraftServer.j(MinecraftServer.java:326) at net.minecraft.server.v1_4_6.MinecraftServer.e(MinecraftServer.java:305) at net.minecraft.server.v1_4_6.MinecraftServer.a(MinecraftServer.java:264) at net.minecraft.server.v1_4_6.DedicatedServer.init(DedicatedServer.java:149) at net.minecraft.server.v1_4_6.MinecraftServer.run(MinecraftServer.java:404) at net.minecraft.server.v1_4_6.ThreadServerApplication.run(SourceFile:849) Caused by: java.lang.ClassNotFoundException: net.minecraft.server.v1_4_5.World at org.bukkit.plugin.java.PluginClassLoader.findClass0(PluginClassLoader.java:70) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:53) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 12 more