Bounty Abuse Preventative Measures - No-Not-Jaden/NotBounties GitHub Wiki

How to Stop Players from Abusing Bounties

There are a couple of ways players will abuse the bounty system. Spending too much money on bounties, claiming friends' bounties, and bullying specific players with repeated bounties.

Spending too much Money

If players are spending too much money on bounties, the most sure way to reduce this is to increase the bounty-tax option. This will proportionally increase the amount of money required to set a bounty.

# percent extra they have to pay to set a bounty - uses a DECIMAL
# ex: bounty-tax = 0.25, a bounty set for 100 would cost 125 to be placed
# use this if players are setting too many bounties
bounty-tax: 0.0

If you have too many different bounties on your server, consider looking into the bounty-expire configuration section. The time option will cause bounties to expire after a certain amount of real days. If offline-tracking is false, the player with the bounty has to spend the time online. After the bounty expires, the money (minus tax) goes back to the player who set it unless reward-receiver is set to true, then the money is given to the player with the bounty.

# make old bounties expire after a while
bounty-expire:
  # how many real days until bounties expire | -1 to disable
  # the lowest this can go is 0.00347 which is 5 minutes
  # check auto-bounties for their expiry time
  time: -1
  # track the player while they are offline
  offline-tracking: true
  # give the bounty amount to the receiver if it expires.
  # if you change this, change the expired-bounty message in language.yml because it won't be accurate anymore
  reward-receiver: false

Claiming Friends' Bounties

This is most likely your biggest problem. Players will allow their friends to claim their bounties to get the rewards. The most common way to prevent this is to add penalties when you die with a bounty. The death-tax option is similar to the bounty-tax option except the player who dies gets taxed when they die. This is paid at the time of death. The downside of this is that depending on what you use for currency, the player may end up having negative currency or not paying the whole tax if they don't have the required amount.

# same as bounty-tax, except the player who dies has to pay this
# ex: death-tax = 0.1, a bounty set for 100 would cost the player 10 when they die
# players cannot go into debt
death-tax: 0.0

Another way to punish players dying with bounties is to use the bounty-claim-commands option. There is a wide variety of actions you can use with this option. Take a look at the Action Commands page for more information on how to use this option. Here is an example of how you can use this. The downside of this option is that it can cause negative experiences when players get punished.

bounty-claim-commands:
  - '<respawn>' # auto respawn so the effect will work
  - '>(10) <(100) minecraft:effect give {player} slowness 600 1 true` # 10-100
  - '>(99.99) <(500) jail {player} 30m' # 100-500
  - '>(499.99) <(1000) jail {player} 1h Your bounty was claimed by {killer}!' # 500-1000
  - '>(999.99) <(2000) tempban {player} 1h Your bounty was claimed by {killer}!' # 1000-2000
  - '>(1999.99) <(5000) tempban {player} 3h Your bounty was claimed by {killer}!' # 2000-5000
  - '>(4999.99) tempban {player} 6h Your bounty was claimed by {killer}!' # >5000

The final way to prevent claiming friends' bounties is to deny claiming when players are on the same team. NotBounties can check for teams in a few ways.

  1. PlaceholderAPI hook to check if players have the same placeholder value - This will allow plugins that NotBounties doesn't hook into to check the team
  2. Minecraft Scoreboard Teams checking
  3. TownyAdvanced hook to check if players are in the same town, nation, or are in allied nations
  4. BetterTeams hook to check if players are on the same team or allied with another team
  5. KingdomsX hook to check if the players are in the same town, nation, or are in allied nations
  6. Lands hook to check if the players are in the same land, nation, or are in an allied land or nation
  7. SaberFactions & FactionsUUID hook to check if the players are in the same faction or are in an allied faction
  8. SuperiorSkyblock2 hook to check if the players are island memebers
  9. SimpleClans hook to check if the players are in the same clan or are in an allied clan

Feel free to suggest additional plugins for NotBounties to hook into in the discord. Now, even if you are using one of these integrations, players can still leave and rejoin teams to claim bounties. To stop this, you can add the leave and join commands to the blocked-bounty-commands section in the config to stop players with bounties from changing their team.

# blocks commands if they start with the following text
blocked-bounty-commands:
  - 'teamPlugin leave'
  - 'teamPlugin join'

If you know that bounties are being claimed by alt accounts, then you should disable same-ip-claim in the config.

Bullying Specific Players

Bullying specific players is hard to mitigate, and the easiest solution is to have a good moderation team. NotBounties can help prevent bullying with bounties with a few config options.

Grace Period

First, the 'grace-period' option under the 'immunity' configuration section allows a grace period to be set after a bounty has been claimed. Increasing this will prevent someone from claiming too many bounties on the same person.

immunity:
  # in SECONDS how long before a player can set a bounty on a player that was just killed with a bounty
  grace-period: 10

PVP & Bounty Claiming Restrictions

Second, restricting where bounties can be claimed can give players safe places to hang around. If you have WorldGuard on your server, you can set the region flag claim-bounties to restrict bounty claiming.

Alternatively, the pvp-restrictions option goes a step further by preventing players without bounties from PVPing in certain worlds. The main feature requires players to spend money on a bounty before they can hurt anyone. There is also a combat logging feature to stop players from logging out before getting killed.

# restrict PVP
# restrict PVP
pvp-restrictions:
  # worlds to restrict PVP
  # set to the following if you want it to apply to all worlds
  #worlds: []
  worlds:
    - pvp_restriction_world
  # pvp rules
  # 0 - only combat logging is used
  # 1 - players can only damage other players with bounties
  # 2 - players can damage other players with bounties and those players can fight back
  # 3 - players can damage other players with bounties and players with bounties can damage anyone
  rule: 2
  # if rule is set to 2 - the time in seconds that players with bounties can fight back after taking damage from another player
  pvp-time: 60
  # claim bounties if players combat-log
  combat-logging:
    # time in seconds that a player must be without combat to log out without losing their bounty - 0 to disable
    time: 0
    # send the combat-tag and combat-safe messages when they are tagged
    send-message: false

Limit Bounties

Third, the max-setters option limits the amount of people who can set a bounty on a single person. This is useful if multiple people are ganging up on a single person. The downside to this option is that players can bypass this by sending currency to a single person to set a bounty, and this option limits the usage of bounties. On the other hand, you can use the maximum-bounty to limit the maximum amount of currency that can be bountied on a player.

# maximum amount of currency a bounty can be - set to -1 to disable
maximum-bounty: -1
...
# limit bounties to a max number of setters - other players can't set a bounty on a player if the maximum has been hit - (-1) to disable
max-setters: -1

Related Pages

⚠️ **GitHub.com Fallback** ⚠️