PerWorldPlugins: Flexible Per-World Plugin Management
Running a multi-world Minecraft server often means wrestling with a one-size-fits-all plugin setup. What works beautifully in a survival realm can break the experience in a creative build zone or clutter a minigame arena. For server administrators who want precise control, PerWorldPlugins: Flexible Per-World Plugin Management offers a straightforward yet powerful solution: the ability to activate or deactivate specific plugins on a per-world basis. This tool transforms how you architect your server, shifting from a global plugin pool to a tailored, dimension-specific configuration.
The Core Problem: Global Plugin Loading
Standard server cores like Bukkit, Spigot, and Paper load every installed plugin across all worlds. This blanket approach leads to two significant issues. First, resource waste: a plugin designed for a minigame lobby will consume CPU cycles and memory listening to events in a peaceful survival world where it is never needed. Second, functional conflicts: plugins that modify gameplay mechanics can clash when active in dimensions where their features are irrelevant or disruptive. PerWorldPlugins solves this by giving you granular command over which extensions run where.
Key Features and Advantages
The plugin provides a clean, centralized method for managing your server's plugin landscape. Its benefits extend beyond simple organization:
- Selective Plugin Loading: You decide which plugins operate in the overworld, the Nether, the End, or any custom dimension created through multiverse tools.
- Reduced Server Lag: Resource-intensive plugins, such as arena trackers that constantly monitor player movement, can be disabled in worlds where they are not required. This noticeably lowers CPU and RAM usage.
- Simplified Configuration: Instead of embedding dozens of conditional checks within each plugin's config file, all world-to-plugin mappings reside in a single, easy-to-read YAML file.
- Live Reloading: Apply configuration changes without a full server restart, minimizing downtime and disruption for your players.
Supported Versions and Loader
This updated build maintains compatibility with Minecraft versions starting from 1.7, making it a reliable choice for legacy and modern servers alike. It functions correctly on recent Paper and Purpur builds, as well as other forks that support the standard Bukkit API. The plugin is loaded as a standard JAR file placed in your server's plugins directory. If you frequently experiment with different mod and plugin setups, using a modern launcher that supports profile management can help you organize multiple configurations, complementing the per-world philosophy of this tool.
Commands and Permissions
Administration is refreshingly minimal. You only need to remember two commands to manage the plugin effectively:
/perworldplugin reload– Re-reads the configuration file and applies all changes on the fly./perworldplugin version– Displays the current plugin version, useful for verifying updates.
Permission nodes are equally concise:
perworldplugins.reload– Grants access to the reload command.perworldplugins.version– Allows viewing the version information.
It is recommended to assign these permissions only to senior staff members to prevent accidental misconfiguration of world-specific settings.
Technical Functioning
Upon server startup, PerWorldPlugins reads the world list and their associated plugin sets from the configuration YAML file. It then hooks into world load and unload events, dynamically enabling or disabling the specified extensions. The architecture is designed to prevent lag spikes or synchronization errors when players move between dimensions, ensuring a seamless transition. One known limitation is that the plugin does not handle per-world scoreboards or tab list customization. If your project requires distinct tab menus in different worlds, you will need to explore separate solutions that do not conflict with this plugin.
Practical Use Cases
Consider a typical server with three distinct worlds: survival, creative, and minigames. Here is how you might configure PerWorldPlugins:
- Survival World: Activate economy, region protection, and anti-cheat plugins. Disable all arcade mechanics and building utilities.
- Creative World: Enable WorldEdit and VoxelSniper for building. Deactivate hunger, health, and survival-oriented plugins.
- Minigame World: Run only arena, rating, and inventory restoration plugins. Exclude all construction tools to keep the gameplay focused.
This segmentation boosts performance and creates a more cohesive player experience. Users no longer encounter irrelevant commands or interfaces in worlds where they do not belong.
How to Install
The installation process is standard for Bukkit-based plugins. First, you need to download PerWorldPlugins: Flexible Per-World Plugin Management as a JAR file. Place it into the plugins folder of your server directory. On the first launch, the plugin generates a default configuration file. Open this file and specify the exact world names and plugin names as they appear in the /plugins command output. After editing, execute /perworldplugin reload to apply your changes without restarting the server. The updated version maintains this simple setup process while offering improved stability when managing a large number of worlds. The developer actively maintains the project, and community resources like Discord servers often provide ready-made configuration examples.
Conclusion
For administrators aiming to optimize and customize their Minecraft servers, PerWorldPlugins is an essential tool. The ability to distribute plugins across worlds reduces resource consumption, eliminates functional conflicts, and enables the creation of unique multi-world projects. While it does not support per-world scoreboards, this limitation is minor compared to the overall benefits. If you have not yet tried separating functionality by dimension, the updated PerWorldPlugins provides an excellent starting point for building a cleaner, faster, and more efficient server. Its straightforward commands, clear configuration, and broad version support make it a dependable addition to any serious server admin's toolkit.