Mineuniverse
Log in Register
Plugins

Oracle

Detailed playtime & join statistics tracking, and many more helpful features.
by viveleroi0
Download Claim this project
2,454 downloads
0 likes
Updated Jun 30, 2026
0 hypes
Admin Tools Informational

Oracle

Oracle is a bukkit-based plugin with a wide range of administrative information-management - including detailed playtime tracking, IP tracking, BungeeCord support, cross-server ban/unban management, player warning system, and more!

Oracle is based on dhmcStats, a custom/private plugin that formerly ran DHMC.us. Most of that functionality has been rewritten and polished for release as Oracle.

Features Overview

  • Detailed playtime tracking: Tracks join/quit timestamps, IPs, with checks for uncaught disconnects, and more.
  • Supports servers behind BungeeCord
  • Use /played to view the total playtime for a player
  • /seen command for viewing first join and most recent playtime
  • Easily check if a player /ison
  • Cross-server ban/unban - Full record of previous bans
  • Player warning system. /warn players for rule violation. They're shown a highlighted message of the warning, and staff are alerted if a player gets more than three.
  • Log commands and world/coordinates of their use to console (turn off if using Prism)
  • Scheduled broadcast announcements (in-dev)
  • New-player guide book - Give new players a guide book with rules and helpful info for your server
  • Attempt to kick Minechat users if configured.

(Coming soon: Better reports, stats, player history, in-game way to control announcements)

Installation

Throw into plugins directory. Start server once to generate config.

This plugin requires mysql, so you'll need to configure the connection settings in the config.

Configuration

Most of the configuration nodes are self-explanatory - with mysql connection properties, debug mode, and enabling/disabling specific features of Oracle.

Some clarifications:

  • Disabling a feature will turn off any feature that relies on it. i.e. turning off join tracking turns of alt ip warnings, etc.
  • oracle.joins.use-bungeecord should be true if you use a BungeeCord proxy, otherwise every IP you record will be incorrect.
  • The guidebook is a book given to a players on first join (if enabled) and has the title/author/contents configured. Each sub-node to the content is a different page of the book. Use "\n" character to make new lines in the content.

Notes

Oracle does not have any type of AFK (away-from-keyboard) features and will not (yet) pause tracking if a user is AFK. Please use a plugin like Essentials to track if players are AFK - it's highly recommended you set it to auto-kick after a length of time AFK.

Minechat logins are treated by bukkit as if the actual player has logged in, and playtime will be tracked. We can attempt to detect Minechat and kick the player, but it can be overridden and for now, isn't 100% effective.

Permissions / Commands

Ban-related

  • oracle.ban - /ban [player] [reason] - Ban a player.
  • oracle.unban - /unban [player] - Unban a player.
  • oracle.lookup - /lookup [player] - Check if a player has been banned.

Joins-related

  • oracle.alts - /alts [player] - View all alternate possible accounts for this player
  • oracle.alerts.alts - Alerts player with this permission when a first-time user joins who has alts
  • oracle.seen - /seen [player] - View the date a player joined and was last here
  • oracle.played - /played [player] - View the total playtime of a player.

Warnings-related

  • oracle.warn - /warn [player] [message] - File a warning for a player
  • oracle.warnings - /warnings [player] - View warnings for a player

Other

  • oracle.ison - /ison [player] - Check if a player is online. Supports partial usernames.
  • oracle.reload - /oracle reload - Reloads the config

Commands that only accept a single [player] argument may be left blank, and will default to the current user.

Events & API

Oracle contains a ton of useful information, so we'll work on evolving these events and the API over time.

  • OracleFirstTimePlayerEvent - Fired the first time a player joins with a Player getPlayer() method.

There's a basic internal API you can use by including the plugin in your project.

Get Help

IRC: irc.esper.net #prism

Bug tracker

Source

Credits

This plugin was custom designed by viveleroi for the amazing s.dhmc.us Minecraft server.

Authors

  • viveleroi (Creator, Lead Developer)
  • nasonfish (Contributor to dhmcStats)

Metrics

This plugin utilizes Hidendra's plugin metrics system, which, if enabled, anonymously tracks the following about your server at mcstats.org: A unique identifier, server java version, online mode, plugin & server versions, OS version/name and architecture, cpu core count, player counts.

This information is used purely to help inform our technical decisions and boost our egos with how many people are enjoying our work.

Opting out of this service can be done by editing plugins/Plugin Metrics/config.yml and changing opt-out to true.

Oracle-v1.0
MC CB 1.7.9-R0.2
Release 2014-07-26 Get
Oracle-1.0-Beta2
MC CB 1.7.2-R0.3
Beta 2014-03-02 Get
Oracle-1.0-Beta1-7
MC CB 1.6.4-R2.0
Beta 2013-11-11 Get
Oracle-v1.0-Beta1-2
MC CB 1.6.2-R0.1
Beta 2013-08-09 Get

More from viveleroi0

Darmok
2,607
RealStockMarket
2,105
dhmcDeath
15,490
Prism
107,115

You Might Also Like

Craftipedia
Craftipedia - View crafting recipes in-game!
97,126
Dynmap-AdminCmd
Show homes/warps from AdminCmd on Dynmap maps
9,912
ClockSign
Create signs that show the time of your world(s), or real-life timezones
9,789
PingNachricht
A easy to use PlayerCounter edit-plugin
9,687
VillageInfo
Displays info about current village
9,596
Askyblock-holostats
Display the top10 players from Askyblock plugin as a hologram
9,538