Content generated with AI — it may contain mistakes.

Kills

Kill rewards

The kill-abuse checks that keep farmed kills out of stats and rewards, and what a PvP kill pays: money, experience, rewards, permission groups, streak milestones and bounties.

Every PvP kill is first judged by kill-abuse, then counted by stats and paid by kill-rewards, each only when the verdict lets it.

Kill abuse

The kill-abuse module flags kill farming. Three checks run on every kill by a player, in this order:

CheckFlags a kill when
repeat-killsThe killer killed the same victim more than max-kills times within window.
same-addressKiller and victim are online from the same address now, or, with check-history, both used one address within history-window (ExyliaLib's account history, network wide when every server shares the database).
low-playtimeThe victim has played less than minimum on this server.

Each check has its own response. A flagged kill can be kept out of the stats, out of the rewards, or both, and the plugin can tell the killer, the victim and staff, run commands and lock the pair out.

modules/kill-abuse/config.yml:

KeyDefaultWhat it does
repeat-kills.enabledtrue
repeat-kills.max-kills1Kills of the same victim that still count within the window. The next one is flagged.
repeat-kills.window5mHow far back kills of the same victim are counted. 0s turns this check off.
same-address.enabledtrue
same-address.check-historytrueAlso flag accounts that joined from one address in the past. false: only players online from the same address now.
same-address.history-window30dHow recently both accounts must have used the address.
low-playtime.enabledfalse
low-playtime.minimum15mA victim who has played less than this is flagged.
notify-permissionexyliacombat.notify.killabuseWho is told about detections with notify-staff on. The console is told too.
bypass-permissionemptyKills by or of a player with this permission are never checked. Empty: nobody skips the checks.

Every check's response:

Keyrepeat-killssame-addresslow-playtimeWhat it does
deny-statstruetruefalseThe kill is not counted in the stats.
deny-rewardstruetruetrueThe kill gives no rewards and takes nothing from the victim.
warn-killertruetruetrueTells the killer why it did not count.
warn-victimfalsefalsefalseTells the victim too.
notify-stafffalsetruefalseTells every player with notify-permission.
lockout0s0s0sAfter a detection, every kill between the two is treated the same way for this long, whichever check would have caught it.
commands[][][]Commands run for the killer on a detection, not again during the lockout. %player_name%, %victim%, %reason%; prefixes console: (default), player:, player-proxy: or console-proxy:. Example: console:kick %player_name% Kill farming.

Text in lang/<language>/modules/kill-abuse/messages.yml: warn-killer, warn-victim, staff-notice, and the name of each check under reasons (same victim too often, same address, victim is too new).

Kill rewards

The kill-rewards module pays for PvP kills that kill-abuse lets through. Kills in disabled-worlds or in a region of disabled-regions (WorldGuard or ExyliaLib region ids) give and take nothing.

Money

Moved through the economy chosen in ExyliaLib's economy.yml. Off by default.

KeyDefaultWhat it does
money.enabledfalse
money.currencyemptyCurrency id from ExyliaLib's economy.yml. Empty: the default currency.
money.killer-reward50Paid to the killer out of nowhere on every kill, scaled by their group multiplier.
money.steal-percent0Percent of the victim's balance moved to the killer. 0: nothing is stolen.
money.max-steal0Most a single kill can steal. 0: no limit.
money.victim-loss0Taken from the victim on every kill and given to nobody, never more than they have left.

The killer is sent money-gained and the victim money-lost, with %amount% in the currency's format.

Experience

KeyDefaultWhat it does
experience.steal-percent0Percent of the experience the victim drops that goes straight to the killer instead of falling as orbs. 0: orbs drop as usual. On a flagged kill the orbs fall where the victim died.

Rewards and commands

KeyDefaultWhat it does
killer-rewards[]Rewards given to the killer on every kill. Money and experience in it scale with the group multiplier.
killer-commands[]Commands run for the killer on every kill.
victim-commands[]Commands run for the victim on every kill.

Reward lists use ExyliaLib's reward format: each entry is a bare command run by the console (give %player_name% diamond 1), or a block with type (COMMAND, ITEM, MESSAGE, ECONOMY, EXPERIENCE, POTION) and command, itemSnapshot, message or value, plus optional chance, permission, condition, minAmount/maxAmount, currency and deliveryMessage. Command lists take %player_name% (the player they run for), %killer%, %victim% and %streak%, with the prefixes console: (default), player:, player-proxy: or console-proxy:.

Permission groups

groups:
  vip:
    permission: exyliacombat.rewards.vip
    multiplier: 1.5
    rewards: []

A killer with a group's permission gets that group's rewards on top. The highest multiplier of their groups scales money.killer-reward, the bounty and the money and experience in killer-rewards; what is stolen from the victim is not scaled.

Kill streak milestones

killstreaks:
  '5':
    broadcast: true
    rewards: []
    commands: []

When a kill takes the killer's streak to a listed number, its rewards and commands are given, and with broadcast the whole server reads streak-broadcast. The default file lists 5, 10 and 25. Streaks are counted by the stats module, which must be on, and a kill kept out of the stats does not raise the streak.

Bounty for ending a streak

KeyDefaultWhat it does
shutdown.enabledtrue
shutdown.minimum-streak5The victim's streak needed for a bounty.
shutdown.money-per-streak0Money paid to the killer per kill of the ended streak, scaled by the multiplier. Needs money.enabled.
shutdown.broadcasttrueAnnounces it to the whole server with shutdown-broadcast.
shutdown.rewards, shutdown.commands[]Given to the killer.

Text in lang/<language>/modules/kill-rewards/messages.yml: money-gained, money-lost, experience-gained, streak-broadcast (%player%, %streak%), shutdown-broadcast (%killer%, %victim%, %streak%) and shutdown-bounty.

Something missing on this page? Tell us on Discord