2022-05-31 23:47:21 +02:00
|
|
|
<p align="center">
|
2022-06-14 12:30:15 +02:00
|
|
|
<img src="src/main/resources/images/logo_gray_rounded.png">
|
2022-05-31 23:47:21 +02:00
|
|
|
</p>
|
|
|
|
|
|
|
|
|
2022-05-31 18:35:00 +02:00
|
|
|
## About
|
2022-05-31 21:00:45 +02:00
|
|
|
PlayerStats is a Minecraft server plugin that adds a command to view player statistics in
|
2022-06-14 12:34:53 +02:00
|
|
|
top-10 format or individually. Currently tested on all versions between **1.18** and **1.19** on platforms:
|
2022-05-31 21:00:45 +02:00
|
|
|
- Bukkit
|
|
|
|
- Spigot
|
|
|
|
- Paper
|
|
|
|
- Purpur
|
2022-05-31 18:35:00 +02:00
|
|
|
|
2022-05-31 20:08:09 +02:00
|
|
|
## Features
|
|
|
|
* **Easy to use**
|
|
|
|
- One central command that can:
|
2022-05-31 21:37:38 +02:00
|
|
|
- Explain **how to use** the plugin with `/statistic`
|
2022-05-31 21:42:50 +02:00
|
|
|
![Usage](src/main/resources/images/usage.png)
|
2022-05-31 21:45:30 +02:00
|
|
|
- Show you the **top 10** on your server for all possible statistics with `/statistic ... top`
|
2022-05-31 21:42:50 +02:00
|
|
|
![Top_10](src/main/resources/images/top_10_4.png)
|
2022-05-31 21:45:30 +02:00
|
|
|
- See those same statistics for any **individual player** with `/statistic ... player`
|
2022-06-14 12:34:53 +02:00
|
|
|
![Individual_Stat](src/main/resources/images/individual_stat.png)
|
|
|
|
- Or look up the **combined total** of everyone on your server!
|
|
|
|
![Server_Stat](src/main/resources/images/server_stat.png)
|
2022-05-31 20:08:09 +02:00
|
|
|
- Guide you through the available options while you type with an extensive **tab-complete** feature
|
2022-05-31 21:42:50 +02:00
|
|
|
![Tab_Complete](src/main/resources/images/tab_complete.png)
|
2022-05-31 20:08:09 +02:00
|
|
|
|
|
|
|
* **No set-up required**
|
|
|
|
- PlayerStats will work correctly regardless of how long your server has already existed - it doesn't
|
|
|
|
have to be present when you start a new world
|
|
|
|
- Data is retrieved directly from already existing playerfiles, so you don't have to
|
|
|
|
set up a database, use scoreboards, or anything of the sort
|
|
|
|
|
|
|
|
* **Safe**
|
|
|
|
- PlayerStats uses **multi-threading** to ensure server performance does not suffer and
|
2022-05-31 21:00:45 +02:00
|
|
|
players cannot crash the server by spamming its commands
|
2022-05-31 21:48:08 +02:00
|
|
|
- This also means that for small to medium-sized servers, calculating statistics will be very **fast**
|
2022-06-14 12:34:53 +02:00
|
|
|
**For large servers (10.000+ players), please read the disclaimer below**
|
2022-05-31 20:08:09 +02:00
|
|
|
|
2022-05-31 21:37:38 +02:00
|
|
|
* **Customizable**
|
2022-06-14 12:34:53 +02:00
|
|
|
- You can customize the following (and more!):
|
2022-05-31 21:09:58 +02:00
|
|
|
- Only show statistics for **whitelisted** players
|
|
|
|
- Exclude statistics from **banned** players
|
2022-05-31 21:37:38 +02:00
|
|
|
- Limit statistics based on when a player **last joined**.
|
2022-05-31 21:00:45 +02:00
|
|
|
This option can be particularly useful if you have had a lot of players join your server in the past
|
|
|
|
whose statistics aren't of particular interest to your current player-base.
|
|
|
|
On top of that, limiting the amount of players shown in the top 10 will greatly increase performance speed.
|
2022-05-31 21:09:58 +02:00
|
|
|
- The **colors** you want the output to be
|
2022-06-01 01:28:15 +02:00
|
|
|
- You can go for default Minecraft chat colors, or use **hex colors**
|
2022-05-31 21:09:58 +02:00
|
|
|
- Whether you want the output to have additional **style**, such as italics
|
|
|
|
- You can configure the following **permissions**:
|
|
|
|
- `playerstats.stat` for using the general command (true for everyone by default)
|
|
|
|
- `playerstats.reload` for reloading the config (only for OP players by default)
|
2022-05-31 20:08:09 +02:00
|
|
|
|
|
|
|
## Disclaimer
|
2022-05-31 21:00:45 +02:00
|
|
|
How PlayerStats performs, will heavily depend on the amount of unique players that have joined
|
|
|
|
your server, and on the specs of the machine it is running on. I have done elaborate testing on
|
2022-05-31 21:49:00 +02:00
|
|
|
my local server, and it is currently also running on the SMP I play on. Looking up an individual
|
2022-06-14 12:34:53 +02:00
|
|
|
statistic is always nearly instant, but for a **top statistic** it can vary.
|
2022-05-31 21:00:45 +02:00
|
|
|
|
2022-06-14 12:34:53 +02:00
|
|
|
If you have a large amount of unique players (10.000+), you could run into performance issues.
|
2022-06-01 01:28:15 +02:00
|
|
|
If you notice it takes a long time to calculate top statistics, I recommend limiting
|
|
|
|
the amount of included players by setting a `number-of-days-since-last-joined` limit in the config.
|
|
|
|
Additionally, if you run into issues, you could revoke the permission `playerstats.stat`
|
|
|
|
for most players, and only allow selected players (such as staff, for example) to use it.
|
2022-05-31 21:00:45 +02:00
|
|
|
|
2022-06-01 00:11:52 +02:00
|
|
|
I am working to improve performance for larger servers in the future,
|
|
|
|
and I'd love to hear feedback on how the plugin is performing!
|
2022-05-31 18:35:00 +02:00
|
|
|
|
|
|
|
## Author Info
|
|
|
|
I am a relatively new programmer, and this is one of my first projects. I greatly enjoyed making it,
|
|
|
|
and I tried to make it as efficient as I could. If you have any questions, remarks, or suggestions,
|
2022-06-01 00:13:05 +02:00
|
|
|
please let me know! You can find me [here](https://github.com/Artemis-the-gr8) on GitHub.
|
2022-05-31 18:35:00 +02:00
|
|
|
|
|
|
|
## Licence
|
2022-05-31 20:08:09 +02:00
|
|
|
PlayerStats is licenced under the MIT licence. Please see [LICENCE](LICENSE) for more information.
|