PVP Stats

You want to keep track of your users' PVP actions? There you go. Drop the jar into your plugin folder, restart the server, change the config, restart - done!

 

>> download for 1.8 through 1.12 <<

>> download for 1.7 and earlier <<

 

This plugin features saving of kills, deaths and killstreaks to a MySQL database, simple as that:

Table name: pvpstats
Colums:

  • name
  • kills
  • deaths
  • streak
  • currentstreak
  • ELO
  • time

Since v0.6 it also supports more detailed stats, so you can check the kill / death count by time

Table name: pvpkillstats
Colums:

  • name
  • kill
  • time

That's the basic equipment you need to display the PVP experience of your players. PVP Stats will create the databases for you! You just need to setup the database connection/settings in the config

Commands:

/pvpstats - show your pvp stats /pvpstats [player] - show player's pvp stats
/pvpstats [amount] - show the top [amount] players (K-D)
/pvpstats top [amount] - show the top [amount] players (K-D)
/pvpstats top [type] - show the top 10 players of the type
/pvpstats top [type] [amount] - show the top [amount] players of the type
/pvpstats cleanup - clean the database of multi entries
/pvpstats debugkill [attacker] [victim] - manually insert a kill for debug purposes
/pvpstats migrate [from/to] [yml/sqlite/mysql] - migrate from/to a different database implementation
/pvpstats purge [amount] - purge KILLSTATS entries older than [amount] days
/pvpstats reload - reload the config
/pvpstats wipe [player] - wipe the stats [for a player]

Permission nodes:

 pvpstats.cleanup:
description: Ability to cleanup (remove entries with the same player name)
  default: op
pvpstats.count:
description: Permission to be counted
default: true
pvpstats.debug:
description: Ability to debug
default: op
pvpstats.debugkill:
description: Ability to add a debug kill
default: op
pvpstats.migrate:
description: Ability to migrate
default: op
pvpstats.purge:
description: Ability to purge entries older than X days
default: op
pvpstats.reload:
description: Ability to reload
default: op
pvpstats.top:
description: Permission to get global stats
default: true
pvpstats.wipe:
description: Ability to wipe the stats
default: op
pvpstats.newbie:
description: Permission to block being killed to be counted
default: false


FAQ:

Q: How do I change the placeholder colors?

A: You can change the formatting of player outputs, including placeholders, in the lang.yml, look for "format:", by default it is red (&c) and gray (&7).

Q: How do I change the numbered output?

A: In the same file, lang.yml, look for "numbers:" it contains only two things, the number area (%0%) and the values (%1%), if you don't like the colon, or want different formatting here, you can change this.

Q: I kill someone and the kill is not counted!

A: Did you just kill the same player earlier? There is an abuse check to prevent this. Set checkAbuse to false if you do not want that.

Q: I died by myself and it reset my kill streak!

A: You can disable this by setting preventRegularDeaths to false


Configuration:

> Commented config < (GitHub)

Database options:

  • a MySQL database
    OR
  • SQLite installed
    FALLBACK:
  • YML Files (probably slow)

Recommended Holographic Leaderboard Setup:

I recommend using Holographic Displays and Holographic Scoreboards (I fixed a small startup issue for MC 1.13: download).

With these plugins, you can set up holographic displays for example /pvpstats top kills 10 - if you only want a representation of a top-(or flop-)leaderboard, I suggest you use this setup.

Example for top 6 kills scoreboard:

/hgs create YourBoardName 1m console pvpstats top kills 6
(Thanks to RafaelAuler for pointing me in this direction!)‚Äč

Alternative Setup with Placeholders:

You need

Then you can create more detailed holograms with the following placeholders:

Placeholder API Player Placeholders:

  • Player based stats:
    • slipcorpvpstats_kills
    • slipcorpvpstats_deaths
    • slipcorpvpstats_streak
    • slipcorpvpstats_maxstreak
    • slipcorpvpstats_elo - the ELO score
    • slipcorpvpstats_ratio - the kill/death ratio
  • Top list stats:
    • slipcorpvpstats_top_kills_head_5 - heading ("Top 5 Kills")
    • slipcorpvpstats_top_kills_1 - Top player entry ("1. SLiPCoR: 100")
    • slipcorpvpstats_top_kills_2 - Second player entry ("2. garbagemule: 70")
    • slipcorpvpstats_top_kills_3 - ...
    • slipcorpvpstats_top_kills_4
    • slipcorpvpstats_top_kills_5
  • Worst list stats:
    • slipcorpvpstats_flop_kills_head_5 - heading ("Least 5 Kills")
    • slipcorpvpstats_flop_kills_1 - First player entry ("1. SLiPCoR: 5")
    • slipcorpvpstats_flop_kills_2 - Second player entry ("2. garbagemule: 10")
    • slipcorpvpstats_flop_kills_3 - ...
    • slipcorpvpstats_flop_kills_4
    • slipcorpvpstats_flop_kills_5

Valid list statistics are:

  • kills
  • deaths (top is sorted ascending!)
  • streak (maximum streak)
  • elo
  • k-d (kill/death ratio as defined in the config)

Credits:

  • pandapipino for the idea :)

Source: GitHub

Phoning home

To determine popularity and usage of PVP Stats, the server contacts my private server for information purposes. It sends your port, IP (for proper server counting), and the plugin version. That's it! If you want to disable that, set "tracker" to false in the config!

 


Comments

Posts Quoted:
Reply
Clear All Quotes

About This Project

Categories

Members

Recent Files

Bukkit