Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Плагин [ADMN] DarkBans v2.1 - баны ;) [1.5.2+]

TheEfwio

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
TheEfwio
DarkBans v2.1 - баны:
Версия: v2.1

Данный плагин позволяет администраторам сервера выдавать баны, муты, варны.

Команды:
  • /dban <Ник игрока> <Причина> - вечный бан
  • /dtempban <Ник игрока> <Время в секундах> <Причина> - временный бан
  • /dunban <Ник игрока> - разбанить игрока
  • /dmute <Ник игрока> <Причина> - вечная блокировка чата
  • /dtempmute <Ник игрока> <Время в секундах> <Причина> - временная блокировка чата
  • /dglobalmute - включить/выключить глобальную блокировку чата
  • /dunmute <Ник игрока> - снять блокировку чата
  • /dwarn <Ник игрока> <Причина> - предупредить игрока
  • /dresetwarns <Ник игрока> - убрать все предупреждения
  • /dcheck <Ник игрока> - выдаёт информацию об игроке

Permissions:
  • darkbans.ban - право на вечную блокировку игрока(/dban)
  • darkbans.tempban - право на временную блокировку игрока(/dtempban)
  • darkbans.unban - право на снятие блокировки(/dunban)
  • darkbans.mute - право на выдачу вечной блокировки чата(/dmute)
  • darkbans.tempmute - право на выдачу временной блокировки чата(/dtempmute)
  • darkbans.globalmute - право на глобальную блокировку чата(/dglobalmute)
  • darkbans.unmute - право на снятие блокировки чата(/dunmute)
  • darkbans.warn - право на выдачу предупреждений(/dwarn)
  • darkbans.resetwarns - право на очистку игрока от предупреждений(/dresetwarns)
  • darkbans.check - право на выдачу информации об игроке
  • darkbans.ban.bypass - никто вас не забанит
  • darkbans.mute.bypass - никто вам не заблокирует чат
  • darkbans.warn.bypass - никто не выдаст вам предупреждения
API:
Внимание:
player - это ник игрока(переменная String)
В причине можно использовать знаки &!
Ах да, после выполнения данных методов игроку не посылаются сообщения и его не кикает.

Код:
DBAPI.ban(player, reason) - выдаёт вечный бан игроку player с причиной reason
DBAPI.tempban(player, reason, DBAPI.getTime() + time) - выдаёт временный бан игроку player с причиной reason
DBAPI.unban(player) - снимает бан у игрока player
DBAPI.mute(player, reason) - выдаёт вечную блокировку чата игроку player с причиной reason
DBAPI.tempmute(player, reason, DBAPI.getTime() + time) - выдаёт временную блокировку чата игроку player с причиной reason
DBAPI.unmute(player) - снимает блокировку чата у игрока player
DBAPI.warn(player) - выдать предупреждение игроку
DBAPI.resetWarns(player) - очищает у игрока player все предупреждения
DBAPI.getWarns(player) - получить кол-во предупреждений у игрока player(переменная int)
DBAPI.checkActiveBan(player) - проверяет есть ли у игрока блокировки(переменная boolean)
DBAPI.checkActiveMute(player) - проверяет есть ли у игрока блокировка чата(переменная boolean)
DBAPI.getBanReason(player) - возвращает причину блокировки(переменная String)
DBAPI.getMuteReason(player) - возвращает причину блокировки чата(переменная String)
DBAPI.globalmute(true/false) - включает или отключает глобальную блокировку чата

Пример:
Если я хочу получить причину бана, то использую:
Код:
if(DBAPI.checkActiveBan(player)){
    String reason = DBAPI.getBanReason(player);
}

Скачать плагин

Лог изменений:
- Не мелкий фикс багов
- Новая функция API
- Глобальная блокировка чата;)
- Полностью переписан плагин
- Фикс бага с API
- Добавлен Permission darkbans.ban.bypass
- Добавлен Permission darkbans.mute.bypass
- Добавлен Permission darkbans.warn.bypass
- Релиз моего крутого плагина
 
Последнее редактирование:
Добавил версию в название. Забыл.
 
Поддержка mysql будет ?
 
Будет время, реализую. Сейчас занят другими проектами.
 
Как понять вечный бан???
Если забанил игрока,а у него сменный IP он опять подключится?
 
Как понять вечный бан???
Если забанил игрока,а у него сменный IP он опять подключится?
Вечный бан, это когда игрок никогда не сможет зайти под забаненным ником, если он айпи сменит, то он не сможет зайти на забаненный ник.
 
Тогда напиши вечная блокировка аккаунта.
 
Вечный бан, это когда игрок никогда не сможет зайти под забаненным ником, если он айпи сменит, то он не сможет зайти на забаненный ник.
ООО,это хорошая вещь,а то есть один чел я его баню,а он заходит с друих ников и пиарит свой сервер
 
Т.к. я решил написать все плагины с одного сервера, я скоро выложу лотерею(джекпот).
 
Когда список станет большим, начнутся проблемы с производительностью...
Я плагин этот проверяю. В базе 100 игроков забаненых, пока что нормально. Если будут проблемы, то перепишу систему.
 
Можно еще добавить пермы на иммунитет от банов, киков, мутов
Например вот таких:
Код:
darkbans.kick.immune
darkbans.ban.immune
darkbans.mute.immune
Во многих плагинах такой штуки не хватает.
 
О таких пермах думал, сейчас сделаю и запилю апдейт. Только на русском языке. Лень переводить ;)
 
Можно еще добавить пермы на иммунитет от банов, киков, мутов
Например вот таких:
Код:
darkbans.kick.immune
darkbans.ban.immune
darkbans.mute.immune
Во многих плагинах такой штуки не хватает.
Реализовал ;)

Update! Т.к. просрал часть исходников, а декомпиляторы работают через **** мне пришлось переписать плагина.
- Добавлены права darkbans.ban.bypass, darkbans.mute.bypass и darkbans.warn.bypass
- Фикс бага с API
 
Ты только плпгины пишешь ?
Ещё софт на C# и всё.
З.Ы. плагины ;)
При вводе команды /dunban выдаёт ошибку.
Код:
[19:54:27] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'dunban' in plugin DarkBans v1.0
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[Spigot.jar:git-Spigot-db6de12-07c3001]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[Spigot.jar:git-Spigot-db6de12-07c3001]
    at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:641) ~[Spigot.jar:git-Spigot-db6de12-07c3001]
    at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerConnection.java:1162) [Spigot.jar:git-Spigot-db6de12-07c3001]
    at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:997) [Spigot.jar:git-Spigot-db6de12-07c3001]
    at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:45) [Spigot.jar:git-Spigot-db6de12-07c3001]
    at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:1) [Spigot.jar:git-Spigot-db6de12-07c3001]
    at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [Spigot.jar:git-Spigot-db6de12-07c3001]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_51]
    at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_51]
    at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [Spigot.jar:git-Spigot-db6de12-07c3001]
    at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:715) [Spigot.jar:git-Spigot-db6de12-07c3001]
    at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [Spigot.jar:git-Spigot-db6de12-07c3001]
    at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [Spigot.jar:git-Spigot-db6de12-07c3001]
    at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [Spigot.jar:git-Spigot-db6de12-07c3001]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_51]
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
    at ru.theefwio.darkbans.commands.CommandUnban.onCommand(CommandUnban.java:16) ~[?:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[Spigot.jar:git-Spigot-db6de12-07c3001]
    ... 15 more

При попытке бана так-же выдаёт ошибку
Код:
[19:58:39] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'dban' in plugin DarkBans v1.0
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[Spigot.jar:git-Spigot-db6de12-07c3001]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[Spigot.jar:git-Spigot-db6de12-07c3001]
    at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:641) ~[Spigot.jar:git-Spigot-db6de12-07c3001]
    at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerConnection.java:1162) [Spigot.jar:git-Spigot-db6de12-07c3001]
    at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:997) [Spigot.jar:git-Spigot-db6de12-07c3001]
    at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:45) [Spigot.jar:git-Spigot-db6de12-07c3001]
    at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:1) [Spigot.jar:git-Spigot-db6de12-07c3001]
    at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [Spigot.jar:git-Spigot-db6de12-07c3001]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_51]
    at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_51]
    at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [Spigot.jar:git-Spigot-db6de12-07c3001]
    at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:715) [Spigot.jar:git-Spigot-db6de12-07c3001]
    at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [Spigot.jar:git-Spigot-db6de12-07c3001]
    at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [Spigot.jar:git-Spigot-db6de12-07c3001]
    at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [Spigot.jar:git-Spigot-db6de12-07c3001]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_51]
Caused by: java.lang.NullPointerException
    at ru.theefwio.darkbans.commands.CommandBan.onCommand(CommandBan.java:27) ~[?:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[Spigot.jar:git-Spigot-db6de12-07c3001]
    ... 15 more
***
Последний патч Spigot.
Тут явно косяк автора плагина.

Сегодня фикс.
Update v2.1
- Не мелкий фикс багов
- Новая функция API
- Глобальная блокировка чата;)
Up!
 
Последнее редактирование:

Поделиться этой страницей

Назад
Верх