Highscores
Highscores - by Lolmewn
What does it do?
This plugin allows a server owner to view highscores based on Stats from the stats plugin.
Configuring the plugin
The config
Please check out this page to see what the config values mean.
The highscores.yml file
For this, I'm going to redirect you to my Achievements page. Why? Because it's exactly the same layout and markup as the achievements.yml.
Two exceptions. Don't add the amount (BLOCK_BREAK 10 TOTAL would become BLOCK_BREAK TOTAL), and the onComplete section has been renamed to onGet.
Commands and Permissions
Currently, there's only one command, and no permissions. Everyone can use all commands.
Command | Description |
---|---|
/highscores (alias is /hs) | Lists your highscores |
/highscores page <page> | Lists your highscores on page <page> |
/highscores top <highscore> | Lists the top players for Highscore <highscore>. <highscore> can either be the ID of the start of the highscore name. |
Signs
You can create Highscore signs too with the plugin. Grab a sign, place it and put the following on it:
[Highscore]
<statName>
This will create a sign and will automatically scroll through the top of the highscore.
Web-end?
If the demand is high, a web-end might be created for this plugin (possibly hooking into the Stats web-end, providing you with an integrated version).
Questions
Any questions can go in the comment section. If you are looking for support on how to use this plugin, you can ask me on IRC (#Lolmewn on irc.esper.net). If you have issues or have an awesome idea for the plugin, you can create a ticket.
Development builds
Development builds of this project can be acquired at the provided continuous integration server.
These builds have not been approved by the BukkitDev staff. Use them at your own risk, they may or may not work at all.
Development builds for Stats can be found at my CI, over at http://ci.lolmewn.nl/job/Highscores/. Note that these builds are pre-alpha, and might not work at all. Therefore, they are not supported. Barely any testing has been done on them, and they should soley be used for (for example) making your configuration file ready.
Developers
If for some reason you want to build against this plugin, you can find the source, javadocs and jar over at http://centrility.nl:8081/nexus/.
There currently is no API, if requested I can always add one (or events).
Metrics
This plugin utilises Hidendra's plugin metrics system, which means that the following information is collected and sent to mcstats.org:
- A unique identifier
- The server's version of Java
- Whether the server is in offline or online mode
- The plugin's version
- The server's version
- The OS version/name and architecture
- The core count for the CPU
- The number of players online
- The Metrics version If you wish to disable this feature (/me cries), you can do so by opt-ing out, which you can do in the config file under /plugins/PluginMetrics/
Auto-updater
This plugin has a built-in auto-updater, which connects to BukkitDev to check for updates. If you, for some reason, wish to disable this process, you can do so by setting 'update' to false in the plugins' settings file.
How do we set the time period for a highscore and/or globally?
I suspect in highscores.yml, but this page just tells me to reference achievements, which don't seem to have a time period config.
A web-end for this would be amazing
@LHammonds
That show the highscore in the chat, not on the sign. But I agree that it's a great solution.
Server Signs is awesome for things like this.
@Lolmewn
Agree that would be super!
@sanegaming
Working on it. Sorta.
Can you make Achievements and High scores built into the web-end please?
@GodsDead
Should be good. It's basically version 1.37, including a fix to the updater and a downgrader if it finds that 1.38 was used. I'll check out why it's giving that error.
@Lolmewn
I installed R: Stats v1.38->1.37-FIX for 1.7.4 Jan 13, 2014 It's a little unclear what a new use should install with that title...
@GodsDead
Which version of Stats? Might be that stuff broke recently.
Fresh install of Stats, Added this just now and got:
@Nickbbeezy
You can do this right now with a plugin called ServerSigns. On my server, I have a building (looks like a big bookcase) that contains a bunch of signs that you can right-click and it will show you the various highscores (as well as the syntax for how to do it yourself if you wish)
@Nickbbeezy
Just started on this - Should be available soon.
Is there a way to display highscores on signs kind of how the Stats signs work?
@Lolmewn
Hmm...you're probably right if players are entered into the stats as "0" if they login, look around and decide to leave immediately after. If that's the case, it would require pruning empty accounts or potentially messing it up by stripping out anyone with a "0" value. Now that I think about it, I don't see a good solution for it. :\ I guess a better way to get the data I'm thinking about is to match ratios such as kill to death ratio. Those that are inactive will not hardly register but those that successfully pray on others can rise to the top as well as victims in their own list (reverse ratio of deaths to kills).
Would be nice to see ratios between related events such as "killed player / killed by player" and "killed mob / killed by mob" if that's possible.
@LHammonds
All the good ideas :) Pagination is certainly a good thing, I'll get on that. As for the bottom of the highscores, those would probably just be zero a lot, not sure if that's useful. Is it?
@Lolmewn
Sounds great. I'm not using the web app. I'm doing it all in-game using the ServerSigns plugin to create signs for all the various highscores. If you want to check out how I'm implementing it, I'll PM you the address of my test server.
I'd also like to see a reverse list. For example: "/highscores bottom death", or "/highscores top -death" so we can see the scores at the opposite end of the spectrum.
Page numbers so we can scroll through the list would also be great...for example: "/highscores top kill 2" would show 11-20 (I'm guess pagination is not there since I did not see it in syntax nor examples...I don't have that many in my database yet)
Thanks,
LHammonds
@LHammonds
Already working on this :) if you enable snapshots in the stats config (note, the webend has no clue this exists so it might give really weird stats), you can get ready for this!
Is it possible to have highscores such as playtime with variable timeframes? For example, being able to show who has been online the most today, the most yesterday, the most this week, last week, this month, last month, etc.?
I just evaluated Stats, Achievements and Highscores plugins and have decided to scrap what I am using in favor of these due to how awesome they are right now (plus, I like the author)
Thanks,
LHammonds
Nice, but I'm probably going to download it first when Web-End is added.
Webend would be great. Also, is there a way to use stats signs for this?