SpookySeason: Turn Your Minecraft Server Into a Halloween Siege
Most seasonal plugins stop at cosmetic changes. SpookySeason goes further. It transforms your Minecraft world into a full Halloween event for a few weeks each year, then escalates into a coordinated undead raid that your players have to defend against. If you run a Paper or Folia server and want an event that actually changes how people play, this add-on deserves a serious look.
What SpookySeason Adds to Your Server
The add-on layers several systems on top of each other, all configurable and all optional. You can run a light seasonal flavor pass, or you can build a full event around the raid mechanics. Nothing is forced on your players either, since per-player opt-out and individual sound volume controls are built in.
Trick-or-Treat and Seasonal Atmosphere
Players right-click doors and villagers for treats, with a chance of a nasty surprise instead. Per-door and global per-player cooldowns keep the leaderboard fair, and sneaking always opens the trade menu instead. The season also brings blood moons with their own bossbar, ambient sound, soul particles, and drifting ghosts. A fog pulse fires at a configurable interval, bat swarms and jumpscares trigger when you break blocks in the dark, and naturally spawning zombies and skeletons start wearing carved pumpkins.
The Headless Horseman
A skeleton horse and wither skeleton share a single health pool, so hitting the mount hurts the rider. The boss brings armour, a weapon, abilities, and a loot table that you can edit live through the /spookyboss command without restarting the server. Wither on hit, fire resistance, and a periodic charge are each toggleable, so you can tune the difficulty to your player count.
Undead Raids: The Centrepiece
This is where SpookySeason stops being a seasonal decoration and becomes a real event. Waves of undead march toward a target your players defend. Hold every wave and you win. Let the target fall and the raid is lost.
You can set one or several targets with /spookyraid target add, and each one carries its own floating health readout. Prefer defending an area instead of an object? Mark out a zone in game with /spookyraid zone pos1, pos2, and save, no other plugin required. Every attacker that gets inside counts as a breach, and too many breaches lose the raid. Servers already using WorldGuard can point the raid at a named region instead.
Attackers are archetypes rather than a flat mob list. Each one gets equipment it actually fights with, a size, its own stats, the wave it first appears in, upper and lower bounds per wave, and even its own spawn distance. Archers shoot the target from range instead of walking up to it. Damage against players and damage against the target are separate values, because player damage has to stay survivable while target damage does not. Attackers go for the objective rather than chasing players across the map, they never hurt each other, and nothing they do breaks blocks, withers included. Only the wave leader gets a bossbar, so you avoid screen clutter.
Supported Versions and Installation
SpookySeason targets Paper 1.21.x and 26.x, and works on forks like Purpur. Folia is fully supported, with region-correct spawns and clean task cancellation. Java 21 is required.
To install, drop the plugin file into your server's plugins folder and restart. Before a real event, add your event world to enabledWorlds, set the objective, and size maxAlive and target health to match your player count. The config ships with rough starting points, so you are not guessing from scratch. If you would rather skip manual file handling entirely, the foxygame.net launcher offers a one-click install path that places SpookySeason straight into your modpack or server profile with matching version compatibility.
Once running, the quickstart commands cover almost everything:
- /spooky menu opens the GUI for status, opt-out, volumes, and the leaderboard
- /spookyraid start launches a raid, with /spookyraid status showing waves, attackers, and target integrity
- /pumpkinrain start makes it rain pumpkins independently of the season window
- /spookyboss spawn brings out the Headless Horseman
Permissions and Integrations
Only spooky.admin and spooky.pumpkinrain require permissions, both defaulting to op. Player subcommands like optout, top, and menu need no permission at all. Integrations are entirely optional: WorldGuard keeps spawns out of protected regions and lets a raid defend a named region, GriefPrevention keeps spawns out of claims, PlaceholderAPI exposes season state and treat counts, and CustomJukebox lets you play your own music during haunted nights.
Season End and Rewards
When the calendar window closes, SpookySeason distributes treat leaderboard rewards automatically or by hand through /spooky rewards. Winners who were offline receive their rewards on next join, and nothing is lost if the server was down. Separate reward sets exist for holding the line and for losing it, so even a failed raid feels worthwhile.
Final Thoughts
SpookySeason is one of the few seasonal plugins that gives players something to do rather than something to look at. The raid system alone justifies the install, and the trick-or-treat, blood moon, and Headless Horseman content fills out the rest of the event calendar. If you want a Halloween that your community talks about afterward, this is the add-on to build it around.