Kyra - An Advanced Infractions System

MC Plugin Kyra - An Advanced Infractions System 1.3.3
Punish players without hesitation!

Blur_Small.png


yellowwhatskyra.png
Kyra is a punishment system intended to be used with an anti-cheat plugin (NoCheatplus, Spartan, AAC, Reflex, Horizon, Matrix, etc) as an infractions system. An infraction is a fancy word for point(s) with a negative connotation. This punishment system is not a replacement for your current ban plugin; Kyra is intended to act as a middleman between your anti-cheat and the plugin responsible for enforcing bans/kicks/muting players.

yellowwhynotbantraditionally.png
The philosophy behind this plugin is simple: I want to provide server owners with a means of fairly punishing players with no excuses for a false punishment. I have always been against letting an anti-cheat, no matter which one or how accurate it may be, ban a player over a single check.

Server owners have a configurable amount of points and actions that can be executed when a player reaches X infractions; this is intended to be automated by your anti-cheat plugin. If a player were to reach, let’s say 3 infractions, there is no excuse for them to claim they have been falsely banned when they were caught breaking rules on 3 separate occasions. These 3 points can considerably decay over time if desired.

Kyra logs every action it takes into a file for server owners to monitor in JSON. MySQL is also an option, which allows for punishment across servers if using Bungee (Feature coming soon!).
Code:
{
  "logs": [
    "2019-12-03 10:46:05 | CONSOLE has punished MarkElf for combat. Infractions: 1",
    "2019-12-03 10:46:15 | CONSOLE has punished MarkElf for combat. Infractions: 2",
    "2019-12-03 10:46:18 | CONSOLE has punished MarkElf for combat. Infractions: 3"
  ]
}
TL;DR - So, first of all, there is already a pre-configured NCP config that works with Kyra so it's a pretty effortless setup. Kyra is simply a point system that keeps track of how many times a player fails a check and after they reach enough points, by default 3 points, they are punished with a ban. Points are removed after about an hour (configurable) in the unlikely event it was a false positive. Kyra serves as a reliable tool to ensure all bans are true - there's only a slim chance someone would hard fail a movement/combat check(s) 3 times in an hour.

yellowkyracommands.png
  • /Kyra
  • /Infraction add (player) (category/alias)
  • /Infraction check (player) (category)
  • /Infraction remove (player) (category)
  • /Infraction removeall (player) (category)
  • /Infraction save
  • /Infraction set (player) (category) (amount)
  • Aliases: Inf, Infractions
yellowkyraperms.png
  • Kyra.admin
  • Kyra.infraction.add
  • Kyra.infraction.set
  • Kyra.infraction.remove
  • Kyra.infraction.check
  • Kyra.infraction.save
  • Kyra.recieve

yellowkyraconfig.png
Code:
#  _  __                  _____             __ _                       _   _
# | |/ /                 / ____|           / _(_)                     | | (_)
# | ' /_   _ _ __ __ _  | |     ___  _ __ | |_ _  __ _ _   _ _ __ __ _| |_ _  ___  _ __
# |  <| | | | '__/ _` | | |    / _ \| '_ \|  _| |/ _` | | | | '__/ _` | __| |/ _ \| '_ \
# | . \ |_| | | | (_| | | |___| (_) | | | | | | | (_| | |_| | | | (_| | |_| | (_) | | | |
# |_|\_\__, |_|  \__,_|  \_____\___/|_| |_|_| |_|\__, |\__,_|_|  \__,_|\__|_|\___/|_| |_|
#       __/ |                                     __/ |           
#      |___/                                     |___/
#
#Kyra was released by MarkElf in collaboration with Zide.
Options:
  save-task-interval: 300 #time in seconds that data is saved.
  mysql: false
  host: 'localhost'
  database: 'server'
  user: 'root'
  pass: 'password'
  port: 3306

Expire:
  active: true
  cooldown: 3600
  categories:
    - 'spam'
    - 'combat'
    - 'movement'

Messages:
  bc_msg: "&2&lKyra &a>> &2%player% &ahas been punished for &2%reason%&a." #Broadcast message requires permission node! (kyra.receive)
  punished_msg: '&2&lKyra &a>> &2%player% &ahas been punished for &2%reason%&a. Infractions: %infractions%'
  forgive_msg: "&2&lKyra &a>>&b &2%player% &ahas been forgiven for &2%reason%&a. Infractions: %infractions%"
  set_msg: "&2&lKyra &a>> &2%player% &avl for &2%reason%&a has been set to: %infractions%"
  no_type: "&2&lError &a>>&a There is no type for &2%reason%&a."
  no_player: '&2&lError &a>> &2%player%&a does not exist'
  no_perm: '&2&lKyra &a>> You do not have access to that command.'
  check_points: '&2&lKyra &a>> &2%player% &ais at &2%infractions%&a for &2%reason%&a.'
  data_saved: '&2&lKyra &a>> &aAll data and logs saved successfully.'
Log:
  addition: "%time% | %sender% has punished %player% for %reason%. Infractions: %infractions%"
  removal: '%time% | %sender% has forgiven %player% for %reason%. Infractions: %infractions%'
  set: '%time% | %sender% has set the infractions of %player% for %reason% %infractions%'
Categories:
  spam:
    identifiers:
      - ad
      - ads
      - advertising
      - caps
      - spambot
    addition:
      1:
        - 'tellraw %player% {"text":"You have been warned for spam."}'
      2:
        - 'mute %player% 1 hour'
      3:
        - 'mute %player% 6 hours'
      4:
        - 'mute %player% 24 hours'
      5:
        - 'mute %player% 48 hours'
      6:
        - 'mute %player% 72 hours'
    removal:
      0:
        - 'unmute %player%'
      1:
        - 'unmute %player%'
      2:
        - 'unmute %player%'
      3:
        - 'unmute %player%'
      4:
        - 'unmute %player%'
      5:
        - 'unmute %player%'
  combat:
    identifiers:
      - aimbot
      - angle
      - attackfrequency
      - aimbot
      - aimassist
      - antiknockback
      - autoclicker
      - aura
      - clickaura
      - clickpattern
      - criticals
      - cps
      - crits
      - direction
      - fastbow
      - improbable
      - instantbow
      - inventoryhit
      - killaura
      - legitaura
      - noswing
      - pitchpattern
      - reach
      - regen
      - tpaura
    addition:
      1: []
      2:
        - 'kick %player% Using combat cheats'
      3:
        - 'ban %player% Combat cheats'
    removal:
      0:
        - 'unban %player%'
      2:
        - 'unban %player%'
  movement:
    identifiers:
      - airjump
      - blink
      - boatfly
      - bhop
      - bunnyhop
      - elytrafly
      - extraelytra
      - fastfall
      - fastladder
      - fly
      - flyingfrequency
      - glide
      - hclip
      - jesus
      - longjump
      - lowhop
      - morepackets
      - nofall
      - noslow
      - omnisprint
      - packetsneak
      - passable
      - phase
      - selfhit
      - speed
      - spider
      - step
      - vclip
      - yclip
    addition:
      1: []
      2:
        - 'kick %player% Using movement cheats'
      3:
        - 'ban %player% Movement cheats'
    removal:
      0:
        - 'unban %player%'
      2:
        - 'unban %player%'
  world:
    identifiers:
      - bedfucker
      - cheststeal
      - chestesp
      - civbreak
      - derp
      - fastplace
      - fastbreak
      - fasteat
      - freecam
      - ghosthand
      - headless
      - inventorymove
      - keepalive
      - noweb
      - nuker
      - packetsneak
      - playeresp
      - scaffold
      - tower
    addition:
      1: []
      2:
        - 'kick %player% Using world cheats'
      3:
        - 'ban %player% world cheats'
    removal:
      0:
        - 'unban %player%'
      2:
        - 'unban %player%'
  banavoid:
    identifiers:
      - alt
      - alts
    addition:
      1:
        - 'banip %player% &cYou have been banned for ban avoiding.'
    removal:
      0:
        - 'unban %player%'
shanruto
Author shanruto
Level
10
5,175 pts
1.3.3 Version
23 Downloads
1,400 Views
Published
Updated
0.00 star(s) 0 ratings Average Rating (0)
No Tags

More files from shanruto

Top Bottom