BattleTracker 2.0
NOTE: This project has moved to Modrinth. All future updates will be posted there and this page will no longer receive updates.
A standalone plugin that tracks PVP & PVE statistics along with a suite of additional combat features to enhance server gameplay.
BattleTracker tracks player statistics for both PVP and PVE combat. It also comes with a full suite of customizable features, such as death messages, combat logging, damage indicators and more. It also serves as the companion to BattleArena, and handles keeping track of arena and competition statistics. This makes BattleTracker an essential plugin for any PVP or PVE server.
Features
PVP and PVE Records
One of the core features of BattleTracker is its robust tracking system for PVP and PVE statistics. BattleTracker tracks a variety of statistics including kills, deaths, killstreaks, and more. These statistics are saved in MySQL or SQLite, allowing them to be shared across Minecraft servers, or accessed by web applications.
Death Messages
BattleTracker provides customizable death messages that can be displayed to players when they are killed in PVP or PVE combat. These are easily configurable for each tracker type, and can be customized to fit the theme of your server.
Damage Recap
BattleTracker also includes a damage recap feature that displays a summary of the damage dealt and received by a player during combat. This can be summarized in multiple ways, such as which item dealt the most damage, a breakdown of players that dealt damage, or all the types of damage a player received.
Combat Logging
BattleTracker includes a configurable combat logging feature that places players "in combat" when they attack another player. If they log out, they will be killed and their attacker will receive credit for the kill.
Damage Indicators
Inside BattleTracker, there is also toggleable damage indicators, which show to a player how much damage they inflicted on another player or entity.
Additional Features
BattleTracker also includes the following features:
- Killstreak Messages
- When a player kills a number of players before dying, a message will be broadcasted in chat notifying others of their killstreak
- Rampage Messages
- When a player kills multiple players consecutively in a very short duration, a message will be broadcasted notifying other players that this player is on a rampage
- Fully configurable in-game messages
- MySQL & SQLite database support
Additional Plugins
BattleTracker also serves as a companion to BattleArena, which lets you track all arena-related data such as wins, losses or draws. BattleArena requires BattleTracker in order to process and save this information.
User Guide
Most all of the configurable features in BattleTracker will be in YML files located in plugins/BattleTracker/features. Trackers can be configured in their respective YML file located in plugins/BattleTracker/trackers.
The full user guide for BattleTracker can be found at the User Guide on the BattleDocs.
Permissions
Permission | Description |
---|---|
battletracker.command.top | Permission for the /<tracker> top command. |
battletracker.command.rank | Permission for the /<tracker> rank command. |
battletracker.command.versus | Permission for the /<tracker> versus command. |
battletracker.command.recap | Permission for the /<tracker> recap command. |
battletracker.combatlog.bypass | Whether a player will bypass the combat log (if enabled). Requires that allow-permission-bypass is enabled in the Combat Log config. |
Links
- Website: https://www.battleplugins.org
- Discord: BattlePlugins Discord
- Donate: BattlePlugins Patreon
Important Mentions
Special thanks to alkarin_v for writing the original BattleTracker plugin back in 2011. While very little of the original code survives today, this laid the foundation of what would eventually become the BattlePlugins suite and the innovations that followed.
For anyone who still views these pages, despite previous comments both here and on the BattleArena page, none of these plugins are abandoned anymore. Work picked up on both BattleArena, BattleTracker and VirtualPlayers last year around this time after a few years of inactivity.
BattleTracker is currently undergoing a rewrite (thus the lack of updates) and should be completed soon. BattleArena is also going through a rewrite, but the current version will remain maintained until the rewrite is closer to release. With the release of 1.15 in just two days, all plugins will receive updates as soon as a Spigot version is out for 1.15.
I assume with abandoning BattleArena you are also abandoning BattleTracker? There are bugs in 1.11. Are you guys going to open source the code? Is the code on alkarinv's Github the latest? It hasn't been updated since 2014 so I'm guessing you have a newer codebase somewhere.
http://pastebin.com/pS5UQ7eL when we kill player via hand
@Europia79
Hmm, I tried it but it still seems to happen.
Do you have a empty database with the correct settings ?
@ZwPxBerserk
Yes, i posted the solution for this problem. It involves changing the datatype for ID & ID2 from VARCHAR(32) to VARCHAR(64)
https://www.sqlite.org/lang_altertable.html
// Open command prompt:
cd server/plugins/BattleTracker
sqlite3 tracker.sqlite
// See & remember the value for foreign_keys:
PRAGMA foreign_keys;
// Set the value to 0, FALSE, or OFF if necessary:
PRAGMA foreign_keys = 0;
BEGIN TRANSACTION;
.tables
.schema bt_PvE_overall
CREATE TABLE bt_PvE_overall_NEW (ID VARCHAR(64) NOT NULL ,Name VARCHAR(48) ,Wins INTEGER UNSIGNED ,Losses INTEGER UNSIGNED,Ties INTEGER UNSIGNED,Streak INTEGER UNSIGNED,maxStreak INTEGER UNSIGNED,Elo INTEGER UNSIGNED DEFAULT 1250,maxElo INTEGER UNSIGNED DEFAULT 1250,Count INTEGER UNSIGNED DEFAULT 1,Flags INTEGER UNSIGNED DEFAULT 0,PRIMARY KEY (ID));
INSERT INTO bt_PvE_overall_NEW SELECT * FROM bt_PvE_overall;
DROP TABLE bt_PvE_overall;
ALTER TABLE bt_PvE_overall_NEW RENAME TO bt_PvE_overall;
PRAGMA foreign_key_check(bt_PvE_overall);
END TRANSACTION;
BEGIN TRANSACTION;
.schema bt_PvE_versus
CREATE TABLE bt_PvE_versus_new (ID1 VARCHAR(32) NOT NULL ,ID2 VARCHAR(64) NOT NULL ,
Wins INTEGER UNSIGNED ,Losses INTEGER UNSIGNED,Ties INTEGER UNSIGNED,PRIMARY KEY
(ID1, ID2));
INSERT INTO bt_PvE_versus_new SELECT * FROM bt_PvE_versus;
DROP TABLE bt_PvE_versus;
ALTER TABLE bt_PvE_versus_new RENAME TO bt_PvE_versus;
CREATE UNIQUE INDEX bt_PvE_versus_idx ON bt_PvE_versus (ID1);
PRAGMA foreign_key_check(bt_PvE_versus);
END TRANSACTION;
// Set foreign_keys back to the original value:
PRAGMA foreign_keys = ...;
Hi, Im using sqlite.. and im getting the same error as LordKainzo with custom MythicMobs (or maybe long custom names for mobs?)
Is there a fix for this ??
Lord Kainzo , the author of herochat, are you able to use battletracker with herochat on 1.9+ ? Because I cannot !
https://github.com/BattlePlugins/BattleTracker/issues/15
@Europia79
Thanks !
@LordKainzo
http://pastie.org/10863643
The quickest fix is to alter your MySQL tables:
Here's the SQL command syntax:
ALTER TABLE table_name MODIFY column_name VARCHAR(64);
Here's what will fix your problem:
ALTER TABLE bt_PvE_overall MODIFY ID VARCHAR(64);
ALTER TABLE bt_PvE_versus MODIFY ID2 VARCHAR(64);
And if you want to be safe:
ALTER TABLE bt_PvE_versus MODIFY ID1 VARCHAR(64);
The underlying problem appears to be two-fold: The Bukkit API returning "ukkit.craftbukkit.v1_9_R2.entity.CraftSkeleton" which is 46 characters long while the max length of the MySQL column is 32. And the other problem is that BattleTracker isn't limiting the sizes of what it's trying to put into the database.
http://pastie.org/10863643
happens a bit ^ 1.9.4
Hi !
Another one after click on sign : http://pastebin.com/SUSczW9K
Thanks !
Hello
I have some issues when i am fragged like this : http://pastebin.com/ZJ1eiGLV
thanks
@c0wg0d
That doesn't sound right. Message me on Skype so that I can some more details from you & investigate. Nicodemis79
@c0wg0d
The ranking numbers that I believe you are talking about (the ones that start at 1250) use a system called ELO. It is a common system used in many games.
As for that CTF issue... Unless people leave, those uneven teams should not be happening in the first place.
Can we get the formulas you guys are using to calculate stats? Some of our players are confused as to how their ranking can change by over 1000 points in the short time they don't play any arena games. You don't seem to mention it anywhere on the wiki that I can see.
Also, one of my players wanted to share this with you guys, stating that the scoring in ArenaCTF needs to be changed because it "makes no sense". Perhaps you can comment on whether or not you agree and why so I can inform them.
alright ill give an example for this. This is how i think the coding works. Listen because this could get confusing. 1. If you have only 1 player on your team(you) then if you win or lose your rating and win and loss ratio will be effected. Even if the other team has 3 or 2 players you will still get a loss for losing. You will get a win as well but its still unfair. If both team score nothing nobody gets anything and if you tie at 1 you all get a win if you have 1 player on each team.
2. If you have 2 or more players on your team (you and someone else) you will never get a win or loss on your ratio. This is where i think this needs to be changed. 2v1. A 2v1 is where you are against 2 players. If they win: You get a loss they get nothing. if you win: you get a win and they get nothing.
Chances are unless your a really good ctfer your gonna lose. That means you will get a lot of loses for losing that which makes no sense.
An update for full 1.9 support would honestly be amazing :) Thanks for reading!
it using 20 sql thread, and sometimes is not updating the signs
I suggest changing battletracker to announce the mob-display name as the killer? or have a variable %mobname% instead of using the mob-type ?
Playing with Mythicmobs, sucks to see it say "soandso has been slain by zombie" when it was a boss of sorts
It could be nice to have command, so some people could disable deathmessages :)