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

Плагин [SEC] ProtocolSupportAntiBot - базовая защита от мамкиных хакеров.

Статус
Закрыто для дальнейших ответов.

Shevchik

Старожил
Пользователь
Баллы
173
Имя в Minecraft
_Shevchik_
Дело было вечером, хавать было нечего.
В результате нескольких ударов головой об клавиатуру родилось это.
Антибот который сдержит атаки мамкиных хакеров.

Фичи:
1) Базовая проверка валидности протокола
2) Капча на карте которую надо ввести в чат
3) Задержка между реальными запусками игрока на сервер, чтобы сервер не сдох за 3 секунды, если вдруг попались слишком умные боты.
4) Не нужен банжи.

Команды:
protocolsupportantibot reload
protocolsupportantibot captcha
protocolsupportantibot lobby

Зависимости:
Последний ProtocolSupport
Последний WorldEdit
Последний ProtocolLib

Исходники:

https://github.com/ProtocolSupport/ProtocolSupportAntiBot

Скачать:
http://build.true-games.org/view/Pr...ld/artifact/target/ProtocolSupportAntiBot.jar
 
Последнее редактирование:
Хорошее описание :good:, скачивать плагин я конечно не буду....
 
Что это за бред? :D
Это - антибот прямиком из помойки. Он кстати вполне себе работает.

Не, на самом деле это результат эксперимента по созданию фейкового мира который есть только на стороне клиента, тупо чтобы можно было создавать очередь на вход как в других играх, а чтобы это всё не пропало даром я просто привинтил капчу, да и всё
 
Последнее редактирование:
Всёравно:

Код:
[18:01:48] [Netty Server IO #3/ERROR]: [NoCheatPlus] Unhandled exception occured in onPacketReceiving(PacketEvent) for NoCheatPlus
java.lang.UnsupportedOperationException: The method getWorld is not supported for temporary players.
    at com.comphenix.protocol.injector.server.TemporaryPlayerFactory$1.intercept(TemporaryPlayerFactory.java:143) ~[ProtocolLib%20(2).jar:4.1.0-b325]
    at com.comphenix.protocol.injector.server.InjectorContainer$$EnhancerByCGLIB$$b65618e.getWorld(<generated>) ~[?:?]
    at fr.neatmonster.nocheatplus.checks.net.protocollib.MovingFlying.onPacketReceiving(MovingFlying.java:95) ~[NoCheatPlus.jar:?]
    at com.comphenix.protocol.injector.SortedPacketListenerList.invokeReceivingListener(SortedPacketListenerList.java:114) [ProtocolLib%20(2).jar:4.1.0-b325]
    at com.comphenix.protocol.injector.SortedPacketListenerList.invokePacketRecieving(SortedPacketListenerList.java:67) [ProtocolLib%20(2).jar:4.1.0-b325]
    at com.comphenix.protocol.injector.PacketFilterManager.handlePacket(PacketFilterManager.java:610) [ProtocolLib%20(2).jar:4.1.0-b325]
    at com.comphenix.protocol.injector.PacketFilterManager.invokePacketRecieving(PacketFilterManager.java:577) [ProtocolLib%20(2).jar:4.1.0-b325]
    at com.comphenix.protocol.injector.netty.ProtocolInjector.packetReceived(ProtocolInjector.java:323) [ProtocolLib%20(2).jar:4.1.0-b325]
    at com.comphenix.protocol.injector.netty.ProtocolInjector.onPacketReceiving(ProtocolInjector.java:288) [ProtocolLib%20(2).jar:4.1.0-b325]
    at com.comphenix.protocol.injector.netty.ChannelInjector.decode(ChannelInjector.java:541) [ProtocolLib%20(2).jar:4.1.0-b325]
    at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:249) [Spigot.jar:git-Spigot-570526c-c1b529e]
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:149) [Spigot.jar:git-Spigot-570526c-c1b529e]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333) [Spigot.jar:git-Spigot-570526c-c1b529e]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319) [Spigot.jar:git-Spigot-570526c-c1b529e]
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:163) [Spigot.jar:git-Spigot-570526c-c1b529e]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333) [Spigot.jar:git-Spigot-570526c-c1b529e]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319) [Spigot.jar:git-Spigot-570526c-c1b529e]
    at com.comphenix.protocol.injector.netty.ChannelInjector$4.channelRead(ChannelInjector.java:273) [ProtocolLib%20(2).jar:4.1.0-b325]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333) [Spigot.jar:git-Spigot-570526c-c1b529e]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319) [Spigot.jar:git-Spigot-570526c-c1b529e]
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:163) [Spigot.jar:git-Spigot-570526c-c1b529e]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333) [Spigot.jar:git-Spigot-570526c-c1b529e]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319) [Spigot.jar:git-Spigot-570526c-c1b529e]
    at protocolsupport.protocol.pipeline.timeout.SimpleReadTimeoutHandler.channelRead(SimpleReadTimeoutHandler.java:39) [ProtocolSupport%20(1).jar:?]
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333) [Spigot.jar:git-Spigot-570526c-c1b529e]
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319) [Spigot.jar:git-Spigot-570526c-c1b529e]
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:787) [Spigot.jar:git-Spigot-570526c-c1b529e]
    at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:130) [Spigot.jar:git-Spigot-570526c-c1b529e]
    at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511) [Spigot.jar:git-Spigot-570526c-c1b529e]
    at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468) [Spigot.jar:git-Spigot-570526c-c1b529e]
    at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382) [Spigot.jar:git-Spigot-570526c-c1b529e]
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354) [Spigot.jar:git-Spigot-570526c-c1b529e]
    at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) [Spigot.jar:git-Spigot-570526c-c1b529e]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_65]
[18:01:48] [Netty Server IO #3/ERROR]: Parameters:
  net.minecraft.server.v1_10_R1.PacketPlayInFlying$PacketPlayInPositionLook@49d0e676[
    x=8.0
    y=6.0
    z=8.0
    yaw=0.0
    pitch=33.0
    f=false
    hasPos=true
    hasLook=true
  ]
но теперь только одна ошибка, а не куча.
 
Тут конечно можно что-то сделать, но я пожалуй пока не буду, надо обдумать как всё сделать правильно.
 
Последние сообщения Shevchik напомнили:
146003929413766113.jpg

Отличное лого для плагина)
 
Сделаешь опцию, чтобы плагин не проверял игроков, если на сервер заходят не более N количества игроков?
 
Тут конечно можно что-то сделать, но я пожалуй пока не буду, надо обдумать как всё сделать правильно.
Создай что-то вроде сессии. Если игрок ввёл капчу - активируется сессия, время которой указывается в конфиге.
 
Создай что-то вроде сессии. Если игрок ввёл капчу - активируется сессия, время которой указывается в конфиге.
Игрока бывшего хоть раз на сервере капча итак беспокоить не будет.
 
*like* :good::good::good::good::good:/5
[21:12:42] [Server thread/WARN]: [ProtocolSupportAntiBot] Could not save lobby.schematic to plugins\ProtocolSupportAntiBot\lobby.schematic because lobby.schematic already exists.
[21:12:42] [Server thread/ERROR]: [ProtocolSupportAntiBot] Plugin ProtocolSupportAntiBot v4.24 has failed to register events for class protocolsupportantibot.fakespawn.FakeWorldSpawn because protocolsupport/api/events/PlayerLoginFinishEvent does not exist.
[21:12:42] [Server thread/ERROR]: [ProtocolSupportAntiBot] Plugin ProtocolSupportAntiBot v4.24 has failed to register events for class protocolsupportantibot.protocolvalidator.ClientProtocolValidator because protocolsupport/api/events/PlayerLoginFinishEvent does not exist.
[21:12:42] [Server thread/ERROR]: [ProtocolSupportAntiBot] Plugin ProtocolSupportAntiBot v4.24 has failed to register events for class protocolsupportantibot.captcha.CaptchaValidator because protocolsupport/api/events/PlayerLoginFinishEvent does not exist.
[21:12:42] [Server thread/ERROR]: [ProtocolSupportAntiBot] Plugin ProtocolSupportAntiBot v4.24 has failed to register events for class protocolsupportantibot.logininterval.LoginInterval because protocolsupport/api/events/PlayerLoginFinishEvent does not exist.
 
*like* :good::good::good::good::good:/5
[21:12:42] [Server thread/WARN]: [ProtocolSupportAntiBot] Could not save lobby.schematic to plugins\ProtocolSupportAntiBot\lobby.schematic because lobby.schematic already exists.
[21:12:42] [Server thread/ERROR]: [ProtocolSupportAntiBot] Plugin ProtocolSupportAntiBot v4.24 has failed to register events for class protocolsupportantibot.fakespawn.FakeWorldSpawn because protocolsupport/api/events/PlayerLoginFinishEvent does not exist.
[21:12:42] [Server thread/ERROR]: [ProtocolSupportAntiBot] Plugin ProtocolSupportAntiBot v4.24 has failed to register events for class protocolsupportantibot.protocolvalidator.ClientProtocolValidator because protocolsupport/api/events/PlayerLoginFinishEvent does not exist.
[21:12:42] [Server thread/ERROR]: [ProtocolSupportAntiBot] Plugin ProtocolSupportAntiBot v4.24 has failed to register events for class protocolsupportantibot.captcha.CaptchaValidator because protocolsupport/api/events/PlayerLoginFinishEvent does not exist.
[21:12:42] [Server thread/ERROR]: [ProtocolSupportAntiBot] Plugin ProtocolSupportAntiBot v4.24 has failed to register events for class protocolsupportantibot.logininterval.LoginInterval because protocolsupport/api/events/PlayerLoginFinishEvent does not exist.
потому что ProtocolSupport нужен
 
Статус
Закрыто для дальнейших ответов.

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

Назад
Верх