AdvancedBan

Požadavky

Tento plugin slouží k trestání hráčů. Přidává warny, muty, bany, ipbany a vylepšenou, plně upravitelnou banovací obrazovku. Plugin nepodporuje háčky ani čárky. Plugin nabízí zajímavý system warnů (varování). Třetí warn vyhodí hráče, čtvrtý zabanuje a pátý zabanuje na delší dobu.
Názorná ukázka toho, co plugin dokáže:

1. Instalace pluginu

Plugin stáhneme a vložíme ho do složky /home/minecraft/plugins, pak server restartujeme.

2. Příkazy

Příkazy
  • /ban <nick> <důvod>
    Dá danému hráčovi permanentní ban.
  • /banip <nick/ip> <důvod>
    Zabanuje danou IP adresu.
  • /tempban <nick> <čas> <důvod>
    Dočasně zabanuje hráče. Čas: 1mo = 1 měsíc, 1d = 1 den, 1h = 1 hodina. 1 můžeme nahradit za jiná čísla.
  • /tempipban <nick/ip> <čas> <důvod>
    Dočasně zabanuje danou IP. Čas značíme stejně jakou u dočasného banu.
  • /mute <nick> <důvod>
    Permanentně umlčí hráče.
  • /tempmute <nick> <čas> <důvod>
    Dočasně umlčí hráče. Čas značíme stejně jako u dočasného banu.
  • /warn <nick> <důvod>
    Varuje daného hráče.
  • /tempwarn <nick> <důvod>
    Po vypršení daného času warn se odstraní.
  • /kick <nick> < důvod>
    Vyhodí hráče ze serveru.
  • /unban <nick/ip>
    Odstraní ban/ipban danému hráčovi.
  • /unmute <nick>
    Zruší umlčení hráče.
  • /unwarn clear <nick>
    Odstraní všechny warny daného hráče.
  • /change-reason <typ trestu> <nick> <nový důvod>
    Změní důvod trestu. Typ trestu je ban nebo mute.
  • /banlist <stránka>
    Zobrazí všechny probíhající tresty. Stránku značíme číslem.
  • /history <nick/ip>
    Zobrazí všechny tresty, které daný hráč dostal.
  • /warns <nick> <stránka>
    Zobrazí warny daného hráče. Stránku značíme stejně jako u banlistu.
  • /check <nick>
    Zobrazí informace o daném hráčovi. Příkaz nám ukáže IP, zemi a mnohem více.
  • /advancedban help
    Zobrazí všechny příkazy.
  • /advancedban reload
    Znovu načte config pluginu AdvandedBan.

3. Soubor messages.yml

Můžete použít tento
General:
  Prefix: "&c&lBany &8&l\xbb"
  NoPerms: "&cNa toto nemas pravo!"
  LayoutNotFound: "&cThere is no layout called %NAME%"
  # This will be the replacement for the %DURATION% variable
  TimeLayoutD: "%D%den(y) %H%h %M%minut a %S%sekund"
  TimeLayoutH: "%H%hodina(y) %M%minut a %S%sekund"
  TimeLayoutM: "%M%min a %S%sekund"
  TimeLayoutS: "%S% sekund"
  FailedFetch: "&cCould not fetch the UUID of %NAME%! See console for details."


Ban:
  Usage: "&cUsage &8\xbb &7&o/ban [Name] [Reason/@Layout]"
  Done: "&c&o%NAME% &7byl uspesne zabanovan!"
  AlreadyDone: "&c&o%NAME% &7je ale zabanovany!"
  Exempt: "&7Nelze banovat hrace: &c&o%NAME%"
  Layout:
  - '%PREFIX% &7Permanentne zabanovan!'
  - '&7'
  - '&7'
  - "&cDuvod: &8\xbb &7%REASON%"
  - '&7'
  - '&8Nepravem? Ozvi se na nasem TS nebo foru!'
  - "&eTS3 &8\xbb &c*IP TSka*"
  - "&eForum &8\xbb &c*adresa fora*"
  Notification:
  - "&c&o%NAME% &7dostal ban od: &e&o%OPERATOR%"
  - "&7Z duvodu: &o%REASON%"

Ipban:
  Usage: "&cUsage &8\xbb &7&o/banip [Name/IP] [Reason/@Layout]"
  Layout:
  - '%PREFIX% &7IP Permanentne zabanovana!'
  - '&7'
  - '&7'
  - "&cDuvod: &8\xbb &7%REASON%"
  - '&7'
  - '&8Nepravem? Ozvi se na nasem TS nebo foru!'
  - "&eTS3 &8\xbb &c*IP TSka*"
  - "&eForum &8\xbb &c*adresa fora*"
  Notification:
  - "&c&o%NAME% &7dostal IP ban od: &e&o%OPERATOR%"
  - "&7Z duvodu: &o%REASON%"
  IpNotCashed: "&cThere is no saved IP for %NAME%!"

Tempban:
  Usage: "&cUsage &8\xbb &7&o/tempban [Name] [Xmo/Xd/Xh/Xm/Xs/#TimeLayout] [Reason/@Layout]"
  MaxDuration: "&cNemuzes dat delsi ban nez: %MAX%sec"
  Layout:
  - '%PREFIX% &7Docasne zabanovan!'
  - '&7'
  - '&7'
  - "&cDuvod &8\xbb &7%REASON%"
  - "&cJeste zbyva: &8\xbb &7%DURATION%"
  - '&7'
  - '&8Nepravem? Ozvi se na nasem TS nebo foru!'
  - "&eTS3 &8\xbb &c*IP TSka*"
  - "&eForum &8\xbb &c*adresa fora*"
  Notification:
  - "&c&o%NAME% &7dostal ban od: &e&o%OPERATOR%"
  - "&7Z duvodu: &o%REASON%"
  - "&7&oByl zabanovan na: &e&o%DURATION%"

Tempipban:
  Usage: "&cUsage &8\xbb &7&o/tempipban [Name/IP] [Xmo/Xd/Xh/Xm/Xs/#TimeLayout] [Reason/@Layout]"
  MaxDuration: "&cNemuzes dat delsi ban nez: %MAX%sec"
  Layout:
  - '%PREFIX% &7Docasne zabanovan'
  - '&7'
  - '&7'
  - "&cZ duvodu: &8\xbb &7%REASON%"
  - "&cNa: &8\xbb &7%DURATION%"
  - '&7'
  - '&8Nepravem? Ozvi se na nasem TS nebo foru!'
  - "&eTS3 &8\xbb &c*IP TSka*"
  - "&eForum &8\xbb &c*adresa fora*"
  Notification:
  - "&c&o%NAME% &7dostal ban od: &e&o%OPERATOR%"
  - "&7Z duvodu: &o%REASON%"
  - "&7&oByl zabanovan na: &e&o%DURATION%"

Mute:
  Usage: "&cUsage &8\xbb &7&o/mute [Name] [Reason/@Layout]"
  Done: "&c&o%NAME% &7byl upesne umlcen!"
  AlreadyDone: "&c&o%NAME% &7ale je umlcen!"
  Exempt: "&7Nemuzes umlcet &c&o%NAME%"
  Layout:
  - '%PREFIX% &7Permanentne umlcen!'
  - "&cZ duvodu: &8\xbb &7%REASON%"
  Notification:
  - "&c&o%NAME% &7byl umlcen od: &e&o%OPERATOR%"
  - "&7Z duvodu: &o%REASON%"

Tempmute:
  Usage: "&cUsage &8\xbb &7&o/tempmute [Name] [Xmo/Xd/Xh/Xm/Xs/#TimeLayout] [Reason/@Layout]"
  MaxDuration: "&cNemuzes dat delsi mute nez %MAX%sec"
  Layout:
  - '%PREFIX% &7Jsi umlcen na: %DURATION%'
  - "&cZ duvodu: &8\xbb &7%REASON%"
  Notification:
  - "&c&o%NAME% &7dostal mute od: &e&o%OPERATOR%"
  - "&7Z duvodu: &o%REASON%"
  - "&7&oByl umlcen na: &e&o%DURATION%"

Warn:
  Usage: "&cUsage &8\xbb &7&o/warn [Name] [Reason/@Layout]"
  Done: "&c&o%NAME% &7byl uspesne varovan!"
  Exempt: "&7Nemuzes varovat &c&o%NAME%"
  Layout:
  - '%PREFIX% &cByl jsi varovan!'
  - "&cZ duvodu! &8\xbb &7%REASON%"
  - '&7Dohromady mas &c&o%COUNT% &7varovani'
  Notification:
  - "&c&o%NAME% &7dostal varovani od &e&o%OPERATOR%"
  - "&7Z duvodu: &o%REASON%"

Tempwarn:
  Usage: "&cUsage &8\xbb &7&o/tempwarn [Name] [Xmo/Xd/Xh/Xm/Xs/#TimeLayout] [Reason/@Layout]"
  MaxDuration: "&cYou are not able to warn more than %MAX%sec"
  Layout:
  - '%PREFIX% &cByl jsi docasne varovan!'
  - "&cZ duvodu: &8\xbb &7%REASON%"
  - "&cBude to trvat: &8\xbb &7%DURATION%"
  - '&7Nyni mas celkem &c&o%COUNT% &7varovani.'
  Notification:
  - "&c&o%NAME% &7dostal docasne varovani od: &e&o%OPERATOR%"
  - "&7Z duvodu: &o%REASON%"
  - "&7Bude to trvat: &o%DURATION%"

Kick:
  Usage: "&cUsage &8\xbb &7&o/kick [Name] [Reason/@Layout]"
  Done: "&c&o%NAME% &7Byl uspesne vyhozen!"
  NotOnline: "&c&o%NAME% &7neni online!"
  Exempt: "&7Nemuzes vyhodit hrace &c&o%NAME%"
  Layout:
  - '%PREFIX% &7Byl jsi vyhozen'
  - '&7'
  - "&cZ duvodu: &8\xbb &7%REASON%"
  - '&7'
  Notification:
  - "&c&o%NAME% &7bl vyhozen od: &e&o%OPERATOR%"
  - "&7Z duvodu: &o%REASON%"


UnBan:
  Usage: "&cUsage &8\xbb &7&o/unban [Name/IP]"
  NotPunished: "&c&o%NAME% neni zabanovany!"
  Done: "&a&o%NAME% &7byl uspesne odbanovany!"

UnMute:
  Usage: "&cUsage &8\xbb &7&o/unmute [Name]"
  NotPunished: "&c&o%NAME% neni umlcen!"
  Done: "&a&o%NAME% &7bylo uspesne zruseno umlceni!"

UnWarn:
  Usage: "&cUsage &8\xbb &7&o/unwarn [ID] or /unwarn clear [Name]"
  NotFound: "&cNelze najit #%ID%"
  Done: "&7Varovani: &a&o#%ID% &7bylo uspesne odstraneno!"
  Clear:
    Empty: "&c&o%NAME% &7nema zadne varovani!"
    Done: "&7Smazano &a&o%COUNT% &7varovani!"

UnPunish:
  Usage: "&cUsage &8\xbb &7&o/unpunish [ID]"
  NotFound: "&cNemohu najit: #%ID%"
  Done: "&7Trest &a&o#%ID% &7uspesne ostranen!"


Banlist:
  Usage: "&cUsage &8\xbb &7&o/banlist "
  OutOfIndex: "&cZde neni strana: %PAGE%!"
  NoEntries: "&c&oThere are no entries"
  Header:
  - "%PREFIX% &7Banlist:"
  - "&c&oHrac/IP &8| &e&oDelka &8| &7&oOD"
  - "&c&oTyp &8> &7&oDuvod"
  - "&7"
  Entry:
  - "&8[&e%DATE%&8]"
  - "&c%NAME% &8| &e%DURATION% &8| &7%OPERATOR%"
  - "&c%TYPE% &8> &7&o%REASON%"
  - "&7"
  Footer: "&7Strana &e&o%CURRENT_PAGE% &7of &e&o%TOTAL_PAGES% &8| &7Celkem banu: &e&o%COUNT%"
  PageFooter: "&7Pouzij &e&o/banlist %NEXT_PAGE% &7pro presun na dalsi stranu"

History:
  Usage: "&cUsage &8\xbb &7&o/history [Name/IP] "
  OutOfIndex: "&cZde neni strana: %PAGE%!"
  NoEntries: "&c&oNemohu najit historii trestu hrace: %NAME% :("
  Header:
  - "%PREFIX% &7Historie: %NAME%:"
  - "&c&oJmeno &8| &e&oDelka &8| &7&oOd"
  - "&c&oTyp &8> &7&oDuvod"
  - "&7"
  Entry:
  - "&8[&e%DATE%&8]"
  - "&c%NAME% &8| &e%DURATION% &8| &7%OPERATOR%"
  - "&c%TYPE% &8> &7&o%REASON%"
  - "&7"
  Footer: "&7Strana &e&o%CURRENT_PAGE% &7of &e&o%TOTAL_PAGES% &8| &7celkem: &e&o%COUNT%"
  PageFooter: "&7Pouzij: &e&o/history %NAME% %NEXT_PAGE% &7pro presun na dalsi stranu"

Warns:
  Usage: "&cUsage &8\xbb &7&o/warns [Name] "
  OutOfIndex: "&cZde neni strana: %PAGE%!"
  NoEntries: "&c&o%NAME% nema zadna varovani"
  Header:
  - "%PREFIX% &7Varovani hrace: %NAME%:"
  - "&c&oJmeno &8| &e&oDelka &8| &7&oOd"
  - "&c&o#ID &8> &7&oDuvod"
  - "&7"
  Entry:
  - "&8[&e%DATE%&8]"
  - "&c%NAME% &8| &e%DURATION% &8| &7%OPERATOR%"
  - "&c&l#%ID% &8> &7&o%REASON%"
  - "&7"
  Footer: "&7Strana &e&o%CURRENT_PAGE% &7of &e&o%TOTAL_PAGES% &8| &7Aktivi varovani: &e&o%COUNT%"
  PageFooter: "&7Pouzij: &e&o/warns %NAME% %NEXT_PAGE% &7pro presun na dalsi stranu"

ChangeReason:
  Usage: "&cUsage &8\xbb &7&o/change-reason [ID or ban/mute USER] [New reason]"
  Done: "&7Trest &a&o#%ID% &7byl uspesne zmenen!"
  NotFound: "&cNenalezeno"

Check:
  Usage: "&cUsage &8\xbb &7&o/check [Name]"
  Header: "&7Kontroluji &e&o%NAME%"
  UUID: "&cUUID &8\xbb &7%UUID%"
  IP: "&cIP &8\xbb &7%IP%"
  Geo: "&cZeme &8\xbb &7%LOCATION%"
  Mute: "&cUmlceni &8\xbb &7%DURATION%"
  Ban: "&cBan &8\xbb &7%DURATION%"
  Warn: "&cVarovani &8\xbb &7%COUNT%"
  NotFound: "&cNepodarilo se najit jmeno: %NAME%"

4. config.yml

Můžete použít tento
# AdvancedBan v2 - Coded by Leoko
# For each setting, there is a small description.
# Please read each description carefully before changing anything.
# For more information visit: https://www.spigotmc.org/resources/advancedban.8695/
# Do you want your own Plugin or Website? Check out our Dev-Page: http://dev.skamps.eu

# If set to false all bans will be saved locally in a HSQLDB-Database
UseMySQL: false

# Set to false if you want to have only short messages in the console
# On startup and on the shutdown.
DetailedEnableMessage: true
DetailedDisableMessage: true

# This will be the default reason to be displayed if none is given
DefaultReason: "neuvedeno"

# Change this if your server has a different time that your users.
# e.g.: ServerTime: 16:43 | Your Time: 13:43 | TimeDiff has to be set to -3
# You can check the server time with /systemPrefs
TimeDiff: 0

# This commands will be disabled for muted players
# A player wouldn't be able to bypass with eg "/minecraft:me"
MuteCommands:
- 'me'
- 'say'
- 'action'
- 'eaction'
- 'describe'
- 'edescribe'
- 'eme'
- 'w'
- 'm'
- 'pm'
- 'whisper'
- 'ewhisper'
- 'emsg'
- 'msg'
- 'etell'
- 'tell'
- 'er'
- 'r'
- 'reply'
- 'ereply'
- 'ac'
- 'eac'
- 'amsg'
- 'eamsg'
- 'ehelpop'

# These players will not be able to get punished in any way
# this also works if the player is offline
ExemptPlayers:
- 'Leoko'
- 'md5'
- 'dutchy1001'
- 'ItzSomebody'

# The date-format which will be used for the %DATE% variable
DateFormat: "dd.MM.yyyy-HH:mm"

# This is useful for bungeecord servers or server with permission systems which do not support *-Perms
# So if you enable this you can use ab.all instead of ab.* or ab.ban.all instead of ab.ban.*
# This does not work with negative permissions! e.g. -ab.all would not block all commands for that user.
EnableAllPermissionNodes: false

# If you use external REST-APIs they will have to respond in JSON
# The given APIs will only be used for NAME -> UUID
# For UUID -> NAME will either use the official MojangAPI or the InternFetcher
# To check if you can use the intern fetcher do /systemPerfs and compare your uuid
#   to the one you can see online on http://NamesMC.com
#   if they are similar we recommend using the InternFetcher
UUID-Fetcher:
  # If dynamic it set to true it will override the 'enabled' and 'intern' settings
  # and automatically detect the best possible uuid fetcher settings for your server.
  # Our recommendation: don't set dynamic to false if you don't have any problems.
  Dynamic: true
  Enabled: true
  Intern: false
  REST-API:
    URL: "https://api.mojang.com/users/profiles/minecraft/%NAME%?at=%TIMESTAMP%"
    Key: "id"
  BackUp-API:
    URL: "https://us.mc-api.net/v3/uuid/%NAME%"
    Key: "uuid"

# These are the commands that will be performed on warns
# If you skip a number the command from before will be performed
# You can also use non-AdvancedBan-Commands like 'broadcast' or 'clear %PLAYER%
# Variables: %PLAYER%, %REASON%, %COUNT%
WarnActions:
  3: "kick %PLAYER% &c&oDostal jsi treti varovani!"
  4: "tempban %PLAYER% 30m &c&oDostal jsi ctvrte varovani!"
  5: "tempban %PLAYER% 5h &c&oDostal jsi pate varovani!"
  6: "tempban %PLAYER% 7d &c&oDostal jsi seste varovani!"
  7: "tempban %PLAYER% 1mo &c&oJiz jsi dostal: %COUNT%th varovani!"
  10: "ban %PLAYER% &c&oDostal jsi desate varovani!"

# Here you can create permission-nodes for max-punishment-duration.
# The permission "ab.tempban.dur.1" would allow the player to ban max. for 600sec = 10min
# The permission "ab.tempwarn.dur.2" would allow the player to warn max. for 3600sec = 1h
# You can only create up to 10 perms. The perms can be overridden with "ab.COMMAND.dur.max"
TempPerms:
  1: 600
  2: 3600
  3: 43200

5. Práva

Práva
Kicky:

  • ab.kick.use
    Právo na vyhazování hráčů (/kick).
  • ab.kick.exempt
    Držitele tohoto práva nelze vyhodit.
  • ab.kick.notify
    Držitel tohoto práva bude informován o vyhazování.

Bany a dočasné bany:

  • ab.ban.perma
    Právo na banování hráčů – pouze permanentní (/ban).
  • ab.ban.temp
    Právo na dočasné zabanování hráče (/tempban).
  • ab.ban.exempt
    Držitele tohoto práva nelze banovat (pouze permanentní).
  • ab.ban.notify
    Držitel tohoto práva bude informován o banech (pouze permanentních).
  • ab.tempban.exempt
    Držitele tohoto práva nelze zabanovat (pouze dočasný).

IP bany a dočasné IP bany:

  • ab.ipban.perma
    Právo na banování IP adres – pouze permanentní (/ipban).
  • ab.ipban.temp
    Právo na dočasné zabanování IP adres (/tempipban).
  • ab.ipban.exempt
    IP adresu držitele tohoto práva nelze zabanovat (pouze permanentní).
  • ab.ipban.notify
    Držitel tohoto práva bude informován o IP banech (pouze permanentní).
  • ab.tempipban.exempt
    IP adresu držitele tohoto práva nelze zabanovat (pouze dočasný).
  • ab.tempipban.notify
    Držitel tohoto práva bude informován o IP banech (pouze dočasný).

Umlčení a dočasné umlčení:

  • ab.mute.perma 
    Právo na umlčení hráče – pouze permanentní (/mute).
  • ab.mute.temp
    Právo na dočasné umlčení hráče (/tempmute).
  • ab.mute.exempt
    Držitele tohoto práva nelze umlčet (pouze permanentní).
  • ab.mute.notify
    Držitel tohoto práva bude informován o umlčení (pouze permanentní).
  • ab.mute.undo
    Právo na zrušení umlčení (/unmute).
  • ab.tempmute.exempt
    Držitel tohoto práva nemůže být umlčen (pouze dočasný).
  • ab.tempmute.notify
    Držitel tohoto práva bude informován o umlčení (pouze dočasný).

Varování:

  • ab.warn.perma
    Právo na varování hráče (/warn).
  • ab.warn.temp
    Dočasně varuje hráče (/tempwarn).
  • ab.warn.exempt 
    Držitele tohoto práva nelze varovat (pouze permanentní).
  • ab.warn.notify
    Držitel tohoto práva bude informován o varování (pouze dočasný).
  • ab.warn.undo 
    Právo na zrušení varování (/unwarn)
  • ab.tempwarn.exempt
    Držitel tohoto práva nelze varovat (pouze dočasný).
  • ab.tempwarn.notify
    Držitel tohoto práva bude informován o umlčení (pouze dočasný).

Ostatní:

  • ab.warns.own 
    Zobrazení varování – pouze své (/warns).
  • ab.warns.other 
    Zobrazení varování – ostatních (/warns).
  • ab.check
    Zobrazí informace o hráčovi – nezobrazí IP (/check).
  • ab.check.ip 
    V příkazu /check zobrazí IP.
  • ab.changeReason
    Změna důvodu trestu (/change-reason).
  • ab.banlist
    Zobrazí probíhající tresty (/banlist).
  • ab.history
    Zobrazí historii trestů daného hráče (/history).
  • ab.reload
    Znovu načtení configu (/advancedban reload)
  • ab.help
    Zobrazení příkazů – ingame (/advancedban help)
  • ab.systemprefs
    (/systemprefs)