Root-Times install guide
Minecraft-day clock, playtime in seconds, AFK tracking, join welcome lines, and an editable local status page — all under the shared plugins/RootMC/ folder.
Download jar bStats metrics → Install Root-Core first →
Requirements
- Paper 26.x (or compatible)
- Root-Core — shared
plugins/RootMC/, product key, and suite auto-updates - MySQL for playtime / activity harvest (credentials in
plugins/RootMC/database.yml)
What Root-Times does
- Configures a Minecraft-day clock in any IANA timezone (default UTC) and drives world daylight
- Tracks total playtime seconds (and monthly totals) in MySQL
- Hourly activity by player timezone; idle AFK detection (AFK time can be excluded from harvest)
- Two join welcome lines: total playtime + local clock; Minecraft day + ingame ticks
- Local status page (default
http://127.0.0.1:8765/)
1. Download the jar
- Use the download button above or the plugins catalog.
- Copy
root-times-<version>.jarinto your server’splugins/folder. - Delete older
root-times-*.jarfiles so Paper loads only one Times. - Keep Root-Core installed — the suite updater refreshes Times from the public manifest.
2. Configure
On first enable, Times writes plugins/RootMC/root-times.yml. Main sections: minecraft-day (set timezone to any IANA id such as UTC or America/New_York), harvest, afk, welcome, web.
Set MySQL once in plugins/RootMC/database.yml (Root-Core creates/repairs this file). Every Root plugin shares it.
3. Start Paper
- Start or restart the server.
- Confirm console lines for Root-Times enable (day sync, web URL when enabled).
- Run
/times status— day id, ticks, MySQL ready, web URL.
Join welcome
On every join (short delay), players see:
Total Playtime: … - Your Current Time: H:MM AM/PM TimezoneMinecraft day #… - Ingame time: … (phase)
Edit templates in welcome.line-playtime and welcome.line-mc-day.
Local web UI
Default bind 127.0.0.1:8765. Defaults copy once into plugins/RootMC/times/web/ and are never overwritten if you edit them. Optional web.token protects /api/*.
In-game: /times web
Files under plugins/RootMC/
| File | Purpose |
|---|---|
root-times.yml | Day clock, harvest, AFK, welcome, web |
database.yml | Shared MySQL (via Root-Core) |
times/web/ | Editable local status page |
Commands
| Command | Action |
|---|---|
/times / /times status | Day id, ticks, MySQL, Core presence |
/times reload | Reload config and restart subsystems |
/times web | Print local web URL |
/afk | Toggle AFK |
Suite updater
Root-Times is listed in the public manifest.json. With Root-Core installed and updater.enabled: true (default), Core downloads newer root-times-*.jar builds, prunes older jars, then you restart Paper to load them. Configs are never overwritten by the updater.
Manual check: /rootcore update.
MySQL
Playtime is stored as total seconds (total_playtime_seconds) plus monthly totals. Activity uses shared timezone/hourly tables. AFK history uses *_times_afk_sessions.
Set host, database, username, and password in plugins/RootMC/database.yml. Blank password will warn and MySQL harvest will fail until set.
Troubleshooting
| Symptom | What to check |
|---|---|
| MySQL / Communications link failure | database.yml host and password on the live host; upload the filled file, not a stub |
| No playtime on welcome | MySQL ready in /times status; play a short session then rejoin |
| World time not moving | minecraft-day.enabled: true; at least one player online |
| Updater never upgrades Times | Root-Core present; updater.enabled: true; jar on manifest; restart after download |
| Two Root-Times jars | Delete older root-times-*.jar from plugins/ |