LOA's Custom Plugins

Discussion in 'General Information' started by crispy1989, Jun 6, 2012.

  1. crispy1989

    crispy1989 Donor VIP Donor

    Likes Received:
    Trophy Points:
    Apr 1, 2012
    Minecraft UUID:
    I've had a lot of people ask, so here are a list of custom plugins and modifications we made for LOA:

    EntityEnhancer is a plugin primarily aimed at drastically decreasing the processing time required for entities on the server. In its standalone mode, it replaces Minecraft's native despawning algorithm, and heavily modifies its spawning algorithm, with the aim to drastically reduce the raw number of entities on a server. It tries to detect structures like mob grinders using efficient heuristics to preserve the functionality of these. In EntityEnhancer's enhanced mode, it works with some of our custom modifications to CraftBukkit to drastically increase the efficiency of existing entities, without modifying spawning or despawning. EntityEnhancer was written by crispy1989.

    CommandPortals is a CraftRegions extension that allows arbitrary commands to be executed when a user enters a region (ie, a portal). It's used to warp users places, and to implement various other functionality. CommandPortals was written by JacobiCarter.

    ChatManager is the chat plugin we use. It was written because none of the existing chat plugins were flexible or fully featured enough. ChatManager supports a number of options and functions. See the relevant forum post for details. ChatManager was written by JacobiCarter.

    ChestManager is a plugin that we use for refilling chests, and to give users private chests. It was written because the existing chest plugins with similar functionality were buggy and/or slow. It currently is only used for chooseinv battles with BattleManager for the armory chests. ChestManager was written by JacobiCarter.

    DeathTpMinus is a rewrite of a few parts of DeathTpPlus. It's named DeathTpMinus because it only implements the parts we need (death signs and death messages) without the bloat and brokenness of DeathTpPlus. It also hooks into CraftRegions to prevent creating death signs in protected regions - previously a major problem. DeathTpMinus was written by SnoFox.

    StatWatchActions hooks into BasicStats to poll various stats and perform actions when certain goals are reached. It is used for the VIP system. StatWatchActions was written by crispy1989.

    BattleManager2 is our plugin that hosts battles. If you've ever been on the server, you'll know what it is. It's still under development, but already supports many more options than existing battle plugins, and utilizes CraftRegions and CraftRegionIsolation for additional features. See the relevant forum post for details. BattleManager2 was written by crispy1989.

    ItemClaimTracker is a plugin that allows admins to give users items and allows players to claim the items at their convenience. It features a complete internal API for easily hooking into other plugin. It's currently used for donations, battle prizes, and manually by admins. ItemClaimTracker was written by crispy1989.

    BasicStats is a plugin that records some basic statistics about players, and is designed to be simple, FAST, and with a complete internal API. It's used by StatWatchActions for the VIP system. BasicStats was written by crispy1989.

    BukkitFixes is a plugin that aims to fix several severe problems in bukkit/minecraft until they're fixed in bukkit itself. Most notably, it fixes the recent duplication glitches that plague most servers. BukkitFixes was written by crispy1989.

    BasicLogger is a plugin that exhaustively logs certain actions, primarily centered around items. It allows us to track chest xrayers, trace certain items through the system, and is what gave us the necessary information to discover and fix the recent dup glitches. BasicLogger was written by JacobiCarter.

    CraftRegionExtras provides some extra functionality to CraftRegions that isn't common enough to be included in the CraftRegions core. For example, it provides the compass functionality during battles, and the limited spawn protection. CraftRegionExtras was written by crispy1989.

    InviteReward is the plugin we use to track invites and reward users for inviting others. It supports direct rewards for invites, as well as an internal API. InviteReward was written by crispy1989.

    CraftRegionIsolation provides isolation support for CraftRegions. It can be thought of a Multiverse-Inventories kind of plugin that applies to individual CraftRegions regions, instead of whole worlds. It also has an internal API, and additional features designed to be used by other plugins that need isolation. It's currently primarily used for BattleManager2, and to separate several of our worlds. CraftRegionIsolation was written by crispy1989.

    CraftRegions is essentially an improved WorldGuard. WorldGuard can be good if you need to do one specific thing on one specific way, but in general is inflexible, bloated, and slow. Its internal API is also very difficult to use by other plugins. CraftRegions is a lightweight region tracker designed to be flexible and fast above all else. At its core, it provides facilities for setting arbitrary properties on arbitrary regions. The main CraftRegions package also includes commands to manipulate regions (in addition to the API) and some common protection features typically provided by WorldGuard. We use it as a complete replacement for WorldGuard and as a base for a number of other custom plugins. CraftRegions was written by crispy1989.

    An enhanced mute plugin that mutes players in chat, and prevents certain other spam while muted (like /msg spam, /me spam, and /afk spam). Also provides several other useful commands related to mutes. SimpleSilence was written by SnoFox.

    TinyTeleports was written to overcome some deficiencies we found in Essentials' teleport suite. Specifically, it allows splitting up warmup/cooldown settings for different teleport commands, and maintains a stack for /back instead of a single "last location". Both of these behaviors are only used by staff on the server when required. TinyTeleports was written by SnoFox.

    CProfiler is a plugin written to intensively profile the internal workings of CraftBukkit. We use it for our custom CraftBukkit build, LOABukkit. It's written to be much more efficient than the built-in method profiler, and as such, we can profile minute details of CraftBukkit under high user load, on the live server. The plugin is a thin shell on top of the actual profiler, which is part of LOABukkit. CProfiler also has the ability to generate alerts if a particular section of code is taking significantly longer than average to execute. This has proved invaluable in quickly finding the cause of derpy ticks. CProfiler was written by crispy1989, with many internal hooks added by Cobi.

    DProfiler is another profiling plugin that we use for the development of LOABukkit. It uses an entirely different method than CProfiler. Using this method, it is able to generate much more detailed results. However, these results are not as accurate as those generated by CProfiler, and it doesn't have some of the single-code-section monitoring that CProfiler does. CProfiler and DProfiler are both very useful, and are complementary. DProfiler was written by crispy1989.

    This isn't a plugin, but rather a Votifier listener. It gives random prizes for voting, read from a config file, with various probabilities. RandomItemVoteListener was written by crispy1989.

    LOABukkit is a modified version of CraftBukkit similar (in concept) to CraftBukkit++ and Spigot. We've written an extensive, but efficient, profiler for use inside of CraftBukkit itself, and run this on our live server, so we get an accurate idea of what parts need to be tuned under high user load (profiling under loads of just a few users is not representative). Using CProfiler and DProfiler, we found that many of the modifications made by these other performance branches are unnecessary, and the parts of the code they affect don't use large amounts of processing time to begin with. Additionally, a few of the modifications made by CraftBukkit++ result in behavior that seems odd or abnormal to users. Spigot has a few interesting performance enhancements, but the large improvements have been integrated into CraftBukkit. LOABukkit makes some fundamental changes to the most efficiency-critical parts of CraftBukkit, determined using profiling on a live server under high user load. The more advanced changes require companion plugins to do most of the intensive processing (like EntityEnhancer). LOABukkit is maintained by crispy1989 and JacobiCarter.
  2. jl70l7u

    jl70l7u Guest

    Its says it gives users private chests. How does one do that?
  3. JacobiCarter

    JacobiCarter Administrator Staff Member Administrator Moderator VIP Donor LOF Whitelisted

    Likes Received:
    Trophy Points:
    Mar 31, 2012
    It is only active in the battle staging world (where chooseinv battles let you choose your inventory). It is what allows the chests to never run out of items, and what allows the chest right outside the entrance to the armory to contain your favorite items. You cannot use this in the main world.

Share This Page