⚙️ INSTALLATION
- Download the latest ServerTimes JAR file
- Place the JAR in your server's plugins/ folder
- Restart your server
- The plugin will automatically generate a default config.yml in plugins/ServerTimes/
- Configure your schedule using in-game commands or by editing the config file
- (Optional) Set up permissions for bypass access
That's it! Your server will now automatically manage opening and closing times.
CONFIGURATION
The plugin creates a config.yml file with the following structure:
yaml
schedule:
monday:
- "21:00-22:00"
tuesday: []
wednesday: []
thursday: []
friday: []
saturday: []
sunday:
- "21:00-24:00"
- "19:00-20:00"
messages:
server_closed: "§cThe server is currently closed. Please check the schedule!"
join_denied: "§cThe server is currently closed. Come back during open hours!"
server_opening: "§aThe server is now open! Welcome!"
server_closing_warning: "§eThe server will close in {minutes} minute(s)!"
settings:
warning_minutes: 5
graceful_shutdown: true
Supported Time Formats:
- 24-hour: 21:00, 9:30, 23:45
- 12-hour: 9pm, 9:30pm, 11:45am
- Compact: 2130, 930
COMMANDS
All commands require the servertimes.admin permission (OP by default).
Basic Commands:
/servertimes help - Display all available commands /servertimes status - Check if server is open/closed and view today's schedule /servertimes list [day] - View schedule for all days or a specific day /servertimes reload - Reload configuration from disk
Schedule Management:
/servertimes set <day> <start> <end> - Set server times for a day (replaces existing schedule) /servertimes add <day> <start> <end> - Add an additional session to a day /servertimes remove <day> [session] - Remove a specific session or all sessions for a day
Command Examples:
/servertimes set monday 9pm 10pm
Sets Monday to be open from 9 PM to 10 PM
/servertimes add sunday 9am 12pm
Adds a morning session on Sunday (9 AM to 12 PM)
/servertimes add sunday 7pm 8pm
Adds an evening session on Sunday (7 PM to 8 PM)
/servertimes remove sunday 1
Removes the first session on Sunday
/servertimes remove tuesday
Removes all sessions for Tuesday (closes server all day)
/servertimes status
Shows current open/closed status and today's schedule
/servertimes list
Displays schedule for all days of the week
/servertimes list friday
Shows only Friday's schedule
PERMISSIONS
&]
dd:bg-bg-500/10">Permission
Description
Default
&]

dd:bg-bg-500/10">servertimes.admin Access to all plugin commands OP
&]

dd:bg-bg-500/10">servertimes.bypass Can join and stay online when server is closed None
Setting Up Permissions:
For LuckPerms:
/lp group admin permission set servertimes.admin true
/lp user StaffMember permission set servertimes.bypass true
For PermissionsEx:
/pex group admin add servertimes.admin
/pex user VIPPlayer add servertimes.bypass
USAGE EXAMPLES
Example 1: School Server Schedule
Open during after-school hours on weekdays:
/servertimes set monday 3pm 9pm
/servertimes set tuesday 3pm 9pm
/servertimes set wednesday 3pm 9pm
/servertimes set thursday 3pm 9pm
/servertimes set friday 3pm 11pm
/servertimes set saturday 10am 11pm
/servertimes set sunday 10am 9pm
Example 2: Weekend-Only Server
Close Monday through Friday, open all weekend:
/servertimes set saturday 12am 11:59pm
/servertimes set sunday 12am 11:59pm
Example 3: Multiple Daily Sessions
Morning and evening sessions for different time zones:
/servertimes set monday 8am 12pm
/servertimes add monday 6pm 11pm
Example 4: Late Night Gaming
Friday night gaming that crosses midnight:
/servertimes set friday 10pm 2am
This keeps the server open from 10 PM Friday to 2 AM Saturday.
HOW IT WORKS
- Scheduler Check: The plugin checks every 30 seconds whether the server should be open or closed
- Warning System: Players receive configurable warnings before closure (default: 5 minutes)
- Graceful Shutdown: Players are warned, then kicked after a brief countdown
- Join Prevention: New players cannot join when the server is closed (custom kick message)
- Bypass System: Players with servertimes.bypass permission can join anytime
Server State Transitions:
- Opening: When an open time period begins, all players can join
- Closing Warning: Warnings are sent at configured intervals before closure
- Closed: Non-bypass players are kicked and cannot rejoin until next open period
CONFIGURATION TIPS
Multiple Sessions Per Day:
Perfect for accommodating different time zones or player groups:
yaml
saturday:
- "08:00-12:00" # Morning session for EU players
- "18:00-23:00" # Evening session for NA players
Midnight Crossover:
Sessions can span across midnight into the next day:
yaml
friday:
- "22:00-02:00" # 10 PM Friday to 2 AM Saturday
Closed Days:
Leave the day empty to keep the server closed all day:
yaml
tuesday: []
wednesday: []
Custom Messages:
Personalize messages in the config to match your server's style:
yaml
messages:
server_closed: "§6[§eServerName§6] §cWe're currently closed! Check §e/schedule§c for open times."
server_closing_warning: "§6[§eWarning§6] §eServer closing in {minutes} minutes! Save your progress!"
TROUBLESHOOTING
Plugin Not Loading:
- Check server logs for errors
- Ensure you're running Java 21 or higher
- Verify you're using Paper or Spigot
- Check that the JAR file isn't corrupted
Commands Not Working:
- Verify you have servertimes.admin permission
- Check if you're OP on the server
- Try /servertimes help to confirm plugin is loaded
Times Not Working Correctly:
- Use /servertimes status to see current state and active sessions
- Verify time format (try both 9pm and 21:00)
- Check server timezone matches your expectations
- Review the config.yml for syntax errors
Players Not Getting Kicked:
- Check if they have servertimes.bypass permission
- Verify graceful_shutdown is set to true in config
- Check console for error messages during shutdown process
Schedule Changes Not Applying:
- Run /servertimes reload after editing config.yml manually
- Verify YAML syntax (indentation matters!)
- Check for error messages in console after reload
DEBUG COMMANDS
- /servertimes status - Shows current server state, active sessions, and today's full schedule
- /servertimes list - Displays all configured schedules for verification
- Check server console for plugin startup and error messages
- Look for messages like "Server is now CLOSED" or "Server is now OPEN"
SUPPORT
Having issues? Here's how to get help:
- Check the troubleshooting section above
- Use /servertimes status to diagnose configuration issues
- Review server console logs for error messages
- Verify your time formats using the examples provided
- Test with /servertimes list to confirm your configuration loaded correctly
CHANGELOG
Version 1.0.0
- Initial release
- Daily schedule configuration
- Multiple sessions per day support
- Flexible time format parsing
- Graceful shutdown with warnings
- Bypass permission system
- In-game configuration commands