HoneySpawn - Folia-Compatible Multi-Spawn Manager
HoneySpawn is a lightweight, high-performance multi-spawn manager designed specifically for Paper and Folia servers running on versions 1.21.1 through 1.21.11. Built with modern server architectures in mind, it provides smart player distribution, robust administrative controls, and optimization features that prevent chunk crowding and lag.Key Features
- Multi-World Spawn Pools: Create and manage multiple spawn points across different worlds, treating them as a single, cohesive pool.
- First-Join Load Balancing: New players are automatically routed to the least crowded spawn point, preventing chunk-loading lag and player piling.
- Smart /spawn Routing: Teleports players to the emptiest spawn point (lowest fill ratio) that is still under its configured hard cap. Once all spawns reach their limit, the system prevents overfilling and notifies the player.
- Random Respawn on Death: Configurable death respawn behavior that randomly selects a spawn from your pool while fully respecting active beds and anchor points.
- Specific Teleports: Allows players or admins to bypass the pool and teleport directly to a specific spawn point, such as "/spawn nether-hub" or "/spawn 2".
- Permission-Based Cooldowns: Easily configure tiered cooldowns. Players with multiple ranks will automatically receive the lowest cooldown matching their permissions, with support for a complete bypass.
- Highly Customizable: Nearly 95% of the plugin's messages and behaviors can be modified directly within the config.yml and messages.yml files.
- Advanced Color Support: Supports MiniMessage, legacy "&" codes, and custom HEX colors (&#RRGGBB). All formats can be mixed and matched within the same configuration line.
- Highly Optimized: Population counting is calculated on-demand during routing (no resource-heavy per-tick scans), utilizing lock-free cooldowns and asynchronous, region-safe teleports.
Commands and Permissions
| Command | Description | Permission |
| /spawn | Teleport to the default spawn | honeyspawn.spawn |
| /spawn <id> | Teleport to a specific spawn | honeyspawn.spawn.id |
| /spawn random | Smart, least-loaded teleport | honeyspawn.spawn.random |
| /spawn <id|random> <player> | Teleport another player | honeyspawn.spawn.others |
| /setspawn <id> | Create or update a spawn at your location | honeyspawn.setspawn |
| /honeyspawn reload | Reload the configuration files | honeyspawn.admin |
| /honeyspawn list | List all configured spawn points | honeyspawn.admin |
| /honeyspawn info | View details about spawn configurations | honeyspawn.admin |
| /honeyspawn delete <id> | Delete a specific spawn point | honeyspawn.admin |
Cooldown Permissions
Cooldowns are determined by the lowest matching duration found in the player's permissions. Default values (fully editable in config.yml) include:- honeyspawn.cooldown.vip -> 3 second cooldown
- honeyspawn.cooldown.mvp -> 1 second cooldown
- Default (everyone else) -> 5 second cooldown (configured via cooldowns.default)
- honeyspawn.cooldown.bypass -> No cooldown
Folia Implementation Details
HoneySpawn was built from the ground up to support multi-threaded server environments like Folia:- Asynchronous Teleports: All teleportation logic utilizes the async, region-safe teleportAsync API to ensure thread safety.
- Smart Population Measurements: Per-spawn population is measured by mapping online players to the nearest spawn point in their current world (utilizing a Voronoi partition). This keeps multiple spawns in the same world distinct, and gracefully simplifies to a whole-world count when a world contains only one spawn.
- Thread Safety: Cross-region location checks on Folia are handled with a best-effort approach; any racing player is skipped safely for that snapshot to avoid locking issues.
Installation and Setup
- Place the HoneySpawn.jar file into your server's plugins/ directory.
- Start the server to generate the default configuration files.
- Configure your spawn points in-game using /setspawn <id>.
- Customize messages and cooldown tiers inside the generated configuration files.
- Run /honeyspawn reload to apply your changess
