After the last crash, I began thinking about the server's performance a little more:
I began stripping it of plugins trying to find the source of the problem, but all I ended up doing was screwing things up even more. After messing with the configs and swearing at my computer left and right, I came up with the conclusion that it was time for a server rebuild.
So, I backed up the worlds and server files and started messing with a local server I hosted on my PC. The results were actually very nice:
I looked through the plugins and decided what was REALLY necessary. I threw out iConomy, MobBounty, WolfSpawn, Multiverse, Tele++, and other plugins that don't involve making sure the world doesn't break.
After the removal of these plugins, I launched the server. Sure enough, it ran just fine, even under lower specs than that of the server it's hosted on. Pleased with the server's performance, I went to the Bukkit website to look for plugins that were both functional and lightweight so I could at least restore some functionality to the server. Thanks to my findings, we now have the following plugins:
BananaChunk - Fixes chunk errors
BigBrother - Logs block changes
BlueTelePads - Lightweight teleportation. Supplement for WorldManager and partial replacement for MultiVerse
CommandBook - Useful and necessary commands
Craftbook - Extra mechanics and redstone functionality
iChat - Chat colors and tags
Jail - Jail bad players
LWC - Block protection
MultiInv - World specific inventories
MyHome - allows the creation and use of homes
MyWarp - allows the creation and use of warps
NoCheat - Prevents flying, speedhacks, and spoofed block placement
Permissions - Plugin dependency that controls users and groups
Rawcritics Ore Obfuscation Plugin - Obfuscates hidden ores to thwart X-Ray mods
SimpleSave - Automatically saves and backs up the world
Tele++ - Allows advanced teleportation
WorldEdit - Powerful world editing tools and dependency for WorldGuard
WorldGuard - World protection system. Prevents explosions, fire spread, creeper damage, etc.
WorldManager - Lightweight replacement for MultiVerse
I put this together to be lightweight.
Now, allow me to introduce the new plugins:
MultiInv is a plugin that gives you a separate inventory for each group of shared worlds. At the moment, I have Nethers shared to their parent worlds so they share inventories which means you go into World's Nether, you retain World's inventory. Unfortunately, there's not really an easy way to convert inventories from other worlds into the MultiInv format so entering the Survival world, when it's open, may leave you with an empty inventory while you're there. Do note that this doesn't affect the existing vanilla inventory and your main world inventories are unchanged.
The Ore Obfuscation plugin is a plugin that uses an actual server modification to provide a lightweight solution to the X-Ray mod problem. It works like this:
When a player walks into an area and their game requests the chunks for that area, before the server sends the chunks, it takes the chunk data and changes any hidden stone or ore above layer 20 to iron and anything 20 and below to diamond. This DOES NOT mean the ore is actually changed. This just means that the Minecraft Client doesn't know what it actually is. When the ore or stone is revealed (meaning a non-solid block like air, glass, or stairs is nearby), a chunk update with the real now exposed ore is sent to the players in the area. Please note that the plugin is still a little buggy and may display iron or diamond in places where it really isn't. Lag may also cause false ores to show.
Worldmanager is a lightweight plugin for world management. It's only purpose for us is the creation and loading of worlds.
Blue Telepads is a replacement plugin for the portals (portals now all lead to the Nether as Mojang intended). When you create the telepads and link them together, standing on them for a few seconds teleports you between them. Their construction is simple and can be done by anyone:
Specops343 (Plugin Author) wrote:Step 1 - Setup two telepads; fourth line of each sign should be the name for that telepad. (Note, the direction of the sign determines which way players will land when they teleport to that telepad!)
Step 2 - While holding redstone, click one telepad's pressure plate, then click the other one.
Step 3 - When you step on one Telepad, you will be sent to the other!
(Right click on a telepad sign to remove your stored location)
In game, it looks something like this: