NoTime
NoTime is a lightweight, server-side Minecraft plugin for scheduled commands and time-based login control.
It supports Bukkit-family servers and Folia-aware scheduling, allowing one configuration to handle nightly maintenance windows, recurring announcements, weekly rewards, restart countdowns, and player login restrictions.
- Server-side only
- Folia supported
- PlaceholderAPI optional
- No database required
Looking for Chinese documentation? Read the Chinese README.
Features
Login time limits
Block selected players from joining during a configured time window. NoTime can also kick affected players who are already online when that window begins.
- Whitelist mode lets selected players bypass the restriction.
- Adding a player to the blacklist switches to blacklist mode, where only listed players are restricted.
opposite: truereverses the rule, allowing affected players to join only inside the configured window.- Kick messages support
%start%,%end%, legacy&color codes, and escaped&&characters.
This can be used for playtime limits, school-night schedules, private server opening hours, or planned maintenance windows.
Scheduled commands
Tasks can run once per day at HH:mm or HH:mm:ss, at several times per day, or repeatedly at a fixed interval.
run:
"morning-message":
enable: true
time: "08:00"
command:
- "@m &aGood morning! The server is ready."
For several times in one day, every time is paired with the command at the same list position:
run:
"restart-countdown":
enable: false
time:
- "02:55"
- "02:59"
- "03:00"
command:
- "@m &eServer restart in 5 minutes."
- "@m &eServer restart in 1 minute."
- "@k &cServer restarting now;@s"
Restart countdown preview
The following screenshot shows a scheduled restart countdown followed by the server shutdown message:

Interval tasks use fortime. Units can be combined using s for seconds, m for minutes, h for hours, and d for days.
run:
"tips":
enable: true
fortime: "30m"
command:
- "@m &bTip: use /spawn whenever you get lost."
Weekday and day-of-month conditions
Place a condition at the beginning of a semicolon-separated command chain. If the current date does not match, NoTime skips the rest of that chain.
run:
"weekly-reward":
enable: true
time: "12:30"
command:
- "week=1;@m &eMonday rewards are live!"
- "week=1;@all give @name@ cooked_chicken"
"monthly-reward":
enable: true
time: "12:30"
command:
- "month=1;@m &eA fresh month means a fresh reward."
- "month=1;@all give @name@ diamond 1"
week=1throughweek=7represent Monday through Sunday. The Chinese alias周=is also supported.month=1throughmonth=31match the day of the month. The Chinese alias月=is also supported.- These are conditions inside a command string, not separate YAML keys.
Weekly leaderboard settlement
NoTime can work with leaderboard and reward plugins by running their commands at a configured weekly settlement time.
NoTime schedules the settlement and reward commands; it does not provide the leaderboard itself.

Command actions
| Prefix | Action | Example |
|---|---|---|
@m |
Broadcasts a message to all online players | @m &aWelcome back! |
@all |
Runs a console command once for every online player, replacing @name@ with the player's name |
@all give @name@ apple |
@all_command |
Makes every online player execute the command | @all_command spawn |
@k |
Kicks affected online players with the supplied message | @k &cMaintenance time |
@s |
Shuts down the server | @s |
@papi |
Keeps PlaceholderAPI tokens as literal text for the command | @papi papi parse me %player_name% |
Commands without an @ action prefix are executed from the console. Use ; to chain several actions in one entry.
When PlaceholderAPI is installed, NoTime normally resolves placeholders before executing a command. Prefixing a subcommand with @papi disables this behavior when another plugin needs to receive the raw %placeholder% text.
PlaceholderAPI countdowns
NoTime registers placeholders for the time remaining until the next scheduled execution:
%notime_<task-name>_s%
%notime_<task-name>_m%
%notime_<task-name>_h%
%notime_<task-name>_d%
The final letter selects seconds, minutes, hours, or days. Avoid underscores in task names when using these placeholders because underscores separate the placeholder fields.
Installation
- Download the latest file from the Versions tab on this page.
- Place the JAR in your server's
pluginsfolder. - Start or fully restart the server to generate
plugins/NoTime/config.yml. - Edit the configuration and run
/notime reload.
The generated configuration is bilingual: every Chinese comment is followed by an English explanation.
You can also download previous releases from GitHub Releases.
Commands and permissions
| Command | Permission | Purpose |
|---|---|---|
/notime |
notime.admin |
Displays the available subcommands |
/notime reload |
notime.admin |
Reloads the configuration and rebuilds scheduled tasks |
/notime test <task> |
notime.admin |
Immediately runs a configured task for testing |
The notime.admin permission defaults to server operators.
The test command still evaluates week= and month= conditions. A date-restricted task only continues when the current date matches its condition.
Configuration notes
- Task times use the server machine's local time.
- A task with one
timevalue runs once per day. - A list of
timevalues pairs each time with the command in the same list position. - A
fortimeinterval begins when the plugin loads and is not tied to a wall-clock time. /notime reloadrestarts the schedulers, causing interval countdowns to begin again.startcommandentries run shortly after the plugin starts and run again after a full server restart.- PlaceholderAPI is optional. Scheduling and login controls work without it.
See the complete bilingual configuration for restart countdowns, weekly and monthly tasks, interval tasks, and startup commands.
Optional dependency
PlaceholderAPI is optional. Install it only if you want NoTime to resolve placeholders in scheduled commands or provide NoTime countdown placeholders to other plugins.
Anonymous metrics
NoTime uses bStats to collect anonymous usage statistics, such as the server software version and player count.
Server owners can disable bStats by setting enabled: false in:
plugins/bStats/config.yml
Support and source code
- Source code
- Issue tracker
- GitHub releases
- MineBBS resource page
- KLPBBS resource page
- QQ group:
620224543
If NoTime saves you some server administration work, consider giving the project a star on GitHub.

