PwnPvpBalance
Minecraft PvP is broken. This plugin will aim to "balance" PvP a little bit so that on your survival/pvp servers it's not a case of the strong (and hackers) survive and the weak ragequit and never come back, which eventually leads to the strong leaving too because there is no one left to kill.
PwnPvpBalance will aim to clean up some issues with PvP and make it a little more fun and balanced. We have a few ideas on how we are going to do that but welcome your ideas as well.
The primary function of PwnPvpBalance is a player matchup balancer that watches fights between players, and if one player is being dominant over another player, it initializes the killstreak balance debuff. Basically a threshold can be configured, and when the dominant player breaks that threshold of X kills in a row, his damage output starts getting nerfed. See this sample data - Killstreak nerf sample data
Current Features
- Killstreak shield: If player A kills player B too many times in a row, player B will become invulnerable to player A... OR
- Killstreak nerf: If player A kills player B too many times in a row, Player B will receive a protection buff that limits player A's damage incrementally as the killstreak grows.
- Persist killstreak stats through player disconnects, but not server restarts (optional)
- Armor weighting: Players with no armor / leather armor gain speed boosts, players with iron / diamond get speed nerfs. These are not drastic, and will eventually be configurable.
Installation
- Stop your server.
- Place the PwnPvpBalance.jar in your /plugins directory.
- Start your server, note that the /plugins/PwnPvpBalance/config.yml file has been created.
- Stop your server.
- Edit the /plugins/PwnPvpBalance/config.yml to your liking.
- Start your server.
Note: It is important to always test ANY plugin you install prior to deploying it for production, you as a server admin, should always consider this to be Rule #1 of running a server.
Configuration
See the configuration page for the latest config.yml available - Latest Config.yml
Commands
/ppb reload - reloads the config.yml for on the fly updates /ppb save - saves the in memory config back to config.yml
Permissions
pvpbal.commands - access to the reload and save commands
To-do Features / Bugs
Complete initial release- Implement permissions
- Handle OP / Creative Mode
- Add additional functionality
Instead of full invulnerability shield, create a damage buff/debuff system that can be applied with a (see next)Sliding point scaleBalance armor sets with speed boosts/nerfs- Add commands
- Use a database or flatfile storage to persist stats across plugin/server reloads
- Other balance ideas?
Links & Info
- PwnFilter - Absolutely the best and most powerful chat and command filtering plugin available. Also does aliases, scripting, sign and anvil text filtering and so much more.
- PwnPlantGrowth - Take control over plant growth, per biome configuration on all growables.
- PwnChickenLay - Configure or block how fast chickens can lay eggs, or replace eggs with other items like diamonds, bricks, anything you can think of.
- ResPwn - Player respawn options like temporary forcefield (currently in beta).
- Pwn9.com - Visit the Pwn9 Gaming Community, the place we call home. Check out our Minecraft servers, other game servers and fun gaming community.
- IRC Channel: Join #pwn9 on irc.esper.net - feel free to ask plugins questions on the channel or just come hang out with us.
Plugin Metrics
This plugin utilizes bStats plugin metrics system, which means that some information is collected and sent to bstats.org.
If you don't want that your server sends data to bStats you can disable it by setting enabled to false in the bStats config file. The config can be found in the /plugins/bStats/config.yml file. bStats has nearly no effect on your server's performance and the sent data is completely anonymous so please consider twice if you really want to disable it.
@XxDawnsusxX
That's a good idea, could put a timer on it.. I haven't been doing any plugin work lately but its because I've run out of ideas.. but this one might be handy.. thanks - i'll see if I can work on that
In reply to Pwn9_Tremor:
6 years later... I've added a timer on the noob shield.. and updated to the latest version of bukkit.
Is there a way to have it that after a certain amount of time the shield that is activated will be removed after x amount of time. So it's not always up it will go down after a specific amount of time, so that people can pvp again. It seems pretty unfair that they can hit back when the players can't do anything until either killed or the other logs out.
@mumblerit
Thanks I just released update built on spigot 1.8.1 - no new features except a /ppb reload command to reload the config.. glad you like this!
<3 this plugin
@pepper82 That's a configurable option, and you have it worked out backwards. It only applies to the "victim". If I lose to you a bunch of times, and I get extra protection against you, but then I logout, it's reset (but not the other way around). That's configurable though, you can make the data persist through login/logouts.. it currently will wipe all data if you restart the server/plugin but next version should have full data caching.
@Malachi21 Thanks!
BEST Plugin idea ever
Wait a second ...
"Player balance/handicap against other players will end if they logout"
Does it mean that player A just kills player B, then logout, then continue to kill him without any effect regarding killstreak? Logout resets killstreaks? Does not make much sense?
@Jleeevinnn
@Nickbbeezy
Think i've got that NPE all taken care of, just uploaded latest version and waiting on bukkit to approve.
@Nickbbeezy Wierd ya, I thought I tackled this one in the latest update, I thought it was being caused by arrows not reporting correctly. Thing is I can't seem to reproduce it. Can you PM me plugin list? using Spigot?
Not completely sure what's causing this NPE: http://pastebin.com/v1HDAK9n
But it triggers whenever someone kills another player it seems like. I don't have any plugins install that uses NPCs and there's no monsters enabled to shoot.
Config: http://pastebin.com/fdxq95Y9
@Jleeevinnn Try latest version, I put in a check - I think the issue was caused by skeletons shooting arrows or perhaps a plugin registering a mob or npc as a real player.. still need to test, would love yo see your plugins list so I can make this compatible with whatever was causing the issue.
@Bammerbom Thanks Bammerbom, let me know if you have any ideas for improvements or find any bugs, really just got started on this one, but I've been thinking about making it for a long time.
WOW this plugin is EPIC!
It's random, I'm using latest spigot build. http://pastebin.com/K09fn1Qm
@Jleeevinnn Plugin list? Potential plugin conflict, also I've never tested this with Spigot. Also, when is this occurring, all the time or only specific times and can you describe what is happening when it occurs.
http://pastebin.com/hHB90RRs I am using v0.5
@JleeevinnnDid you try the link to the v0.5 yet?
I did read that comment below, however my server is in online mode, and is running on a Lilypad proxy. Could this be why?
Running latest spigot 1.7.9, and once again my server is in online mode that's why I posted that.
@Jleeevinnn Should have read the previous comment on the thread.. also, shouldn't post error log in here like that.. please use a pastebin or pastie. Offline mode servers won't work with version 0.4 because it uses UUID, changing it back in version 0.5
http://pastebin.com/bFLxWWdG