RootMC Network

Home / Plugins / Root-Times

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.

Paper 26.x Operators Loading version…

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

  1. Use the download button above or the plugins catalog.
  2. Copy root-times-<version>.jar into your server’s plugins/ folder.
  3. Delete older root-times-*.jar files so Paper loads only one Times.
  4. 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

  1. Start or restart the server.
  2. Confirm console lines for Root-Times enable (day sync, web URL when enabled).
  3. Run /times status — day id, ticks, MySQL ready, web URL.

Join welcome

On every join (short delay), players see:

  1. Total Playtime: … - Your Current Time: H:MM AM/PM Timezone
  2. Minecraft 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/

FilePurpose
root-times.ymlDay clock, harvest, AFK, welcome, web
database.ymlShared MySQL (via Root-Core)
times/web/Editable local status page

Commands

CommandAction
/times / /times statusDay id, ticks, MySQL, Core presence
/times reloadReload config and restart subsystems
/times webPrint local web URL
/afkToggle 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

SymptomWhat 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/