Getting Started
Table of contents
Requirements
| Requirement | Minimum version |
|---|---|
| Server software | Paper 26.1 (or a compatible fork) |
| Java | 25 |
EzSeasons does not require EzLifesteal. It is fully standalone.
Installation
- Stop your server.
- Download
EzSeasons-2.1.2.jarfrom Modrinth. - Copy the jar into your
plugins/folder. - (Optional) Install EzLifesteal if you want Lifesteal heart-reset behavior on each season reset.
- Start the server once. EzSeasons generates
plugins/EzSeasons/config.ymland themessages/folder. - Stop the server again and edit
config.yml(see below). - Start the server.
Basic configuration
Open plugins/EzSeasons/config.yml. The minimum required change is enabling the plugin and choosing a scheduling mode.
Duration-based schedule (recommended for most servers)
The plugin calculates the next reset by adding length-days to the last recorded reset. This is the simplest approach.
season:
enabled: true
length-days: 30 # Season lasts 30 days
check-interval-minutes: 60
broadcast-message: "&7A new season has begun!"
reminder-minutes:
- 1440 # 24 hours before
- 60 # 1 hour before
- 10 # 10 minutes before
reminder-message: "&7The season will reset in &c%time%&7."
Leave start, end, and recurring at their defaults (0 / false).
Fixed-window schedule
Use start and end (Unix millisecond timestamps) for a precise one-time or recurring window.
season:
enabled: true
start: 1735689600000 # Window opens 2025-01-01 00:00 UTC
end: 1738368000000 # Window closes 2025-02-01 00:00 UTC
recurring: true # Repeat the same window length each period
check-interval-minutes: 60
To get a Unix millisecond timestamp:
- Visit epochconverter.com and multiply the displayed value by
1000. - Or use
/season admin setnextat runtime (see Commands).
Verify the setup
After starting the server with a valid config:
- Run
/seasonin-game or in the console — you should see a countdown. - Run
/season admin statusto inspect the raw timestamps.
If you see Season resets are currently disabled, confirm season.enabled: true is in your config and that you have reloaded (/season admin reload).
Choosing a language
Edit messages.language in config.yml:
messages:
language: "en" # Supported: en, es, fr, zh, ru, nl
The corresponding file in plugins/EzSeasons/messages/ is loaded automatically on startup and reload.
Next steps
- Read the full Configuration reference for every available option.
- See Commands for admin operations like forcing a reset or adjusting the next reset time.
- See Permissions to lock down admin commands on your server.
- If you are a developer, read the API guide to integrate with EzSeasons from your own plugin.