1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Плагин [FIX] ModFixNG [#67] - фикс разнообразных багов в модах. [1.6.4-1.8]

Тема в разделе "Релизы плагинов", создана пользователем Shevchik, 18 май 2013.

  1. Автор темы
    Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    НУ походу мод использует какой-то баг при передаче данных чтобы сделать свою жизнь проше, либо просто ошибка в моде.
    Тут ничего поделать не могу.
     
  2. Linkinkov

    Linkinkov Старожил Пользователь

    Баллы:
    173
    Skype:
    linkinkov1
    Имя в Minecraft:
    linkinkov
    У меня пакеты 250 постоянно при входе игрока, этого мода нет.
    Но и лагов от этого нет.
     
  3. Sirse

    Sirse Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    Sirse
    После отката на старую версию PL ничего не лагает...
    Смотрите, чего я поймал!
    2013-10-28 18:29:28 [SEVERE] Could not pass event PlayerJoinEvent to ProtocolLib v2.7.3
    org.bukkit.event.EventException
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:363)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
    at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:47)
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:479)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:464)
    at za.co.mcportcentral.entity.CraftFakePlayer.get(CraftFakePlayer.java:108)
    at za.co.mcportcentral.entity.CraftFakePlayer.getBukkitEntity(CraftFakePlayer.java:141)
    at za.co.mcportcentral.entity.CraftFakePlayer.getPossiblyRealPlayerBukkitEntity(CraftFakePlayer.java:166)
    at buildcraft.core.utils.BukkitUtils.BlockBreakEvent(BukkitUtils.java:23)
    at buildcraft.core.EntityRobot.build(EntityRobot.java:278)
    at buildcraft.core.EntityRobot.func_70071_h_(EntityRobot.java:140)
    at net.minecraft.world.World.func_72866_a(World.java:2522)
    at net.minecraft.world.WorldServer.func_72866_a(WorldServer.java:941)
    at net.minecraft.world.World.func_72870_g(World.java:2475)
    at net.minecraft.world.World.func_72939_s(World.java:2287)
    at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:806)
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:838)
    at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:320)
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:732)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:614)
    at net.minecraft.server.ThreadMinecraftServer.run(SourceFile:573)
    Caused by: java.lang.IllegalAccessError: Unable to fetch server handler: was NUll.
    at com.comphenix.protocol.injector.player.PlayerInjector.getProxyField(PlayerInjector.java:391)
    at com.comphenix.protocol.injector.player.PlayerInjector.initializePlayer(PlayerInjector.java:194)
    at com.comphenix.protocol.injector.player.PlayerInjector.initialize(PlayerInjector.java:169)
    at com.comphenix.protocol.injector.player.ProxyPlayerInjectionHandler.injectPlayerInternal(ProxyPlayerInjectionHandler.java:340)
    at com.comphenix.protocol.injector.player.ProxyPlayerInjectionHandler.injectPlayer(ProxyPlayerInjectionHandler.java:311)
    at com.comphenix.protocol.injector.player.ProxyPlayerInjectionHandler.injectPlayer(ProxyPlayerInjectionHandler.java:278)
    at com.comphenix.protocol.injector.PacketFilterManager.onPlayerJoin(PacketFilterManager.java:906)
    at com.comphenix.protocol.injector.PacketFilterManager.access$500(PacketFilterManager.java:77)
    at com.comphenix.protocol.injector.PacketFilterManager$3.onPrePlayerJoin(PacketFilterManager.java:872)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:361)
    ... 20 more

    Собственно, код, на который материмся:

    if(owner != null){
    if(BukkitUtils.BlockBreakEvent(worldObj, target.x, target.y, target.z, owner.username)){
    worldObj.setBlock(target.x, target.y, target.z, 0, 0,3);
    } else {
    PacketDispatcher.sendPacketToPlayer(new Packet3Chat(String.format("[BuildCraft] Sorry, your robot can't work in claims owned by other player without permission.")), (Player) owner);
    this.setDead();
    return;
    }
    } else {
    if(BukkitUtils.BlockBreakEvent(worldObj, target.x, target.y, target.z, "[BuildCraft]")){
    worldObj.setBlock(target.x, target.y, target.z, 0, 0,3);
    } else {
    this.setDead();
    return;
    }
    }

    В методе BlockBreakEvent, если ник равен [BuildCraft], выдаётся параметр doLogin true, то бишь идёт принудительная авторизация фейка.
    Это несовместимость не PL и BC3, а несовместимость PL и фейков MCPC+. Шевчик, поговори с автором PL, нужен игнор для фейков.
     
  4. scrik78

    scrik78 Старожил Пользователь

    Баллы:
    123
    Не подскажите более-менее стабильную версию PL и ModFixNG ,а то просто начитался комментариев,уже не пойму,что качать :(
     
  5. Автор темы
    Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Вот aadnk специально версию склепал чтобы мы потестили.
    http://assets.comphenix.net/jenkins/job/ProtocolLib/143/
     
    Сникерсни нравится это.
  6. Sirse

    Sirse Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    Sirse
    Сообщение при входе не пропало, но высера в лог теперь нет.
    Насчёт спама из ExtraBees не уверен...
     
  7. Karfagen

    Karfagen Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    Karfagen
    Подскажите, что нужно сюда вписать:

    FreeCamInvFix:
    zeroItemsCheck:
    enabled: true
    forceCloseInvOnBreak:
    enabled: true
    BlockIDs: (что здесь указывать?)
     
  8. Aндрей_23

    Aндрей_23 Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    TheRedd356
    Все и так расписано. Надо менять значения true и false и добавлять свои ID
     
  9. Karfagen

    Karfagen Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    Karfagen
    Ты походу сам не в курсе что здесь указывать. (id чего надо вписывать? )
     
  10. Автор темы
    Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Любых блоков с инвентарём.
     
    Karfagen нравится это.
  11. Karfagen

    Karfagen Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    Karfagen
    Сундуки? Спасибо за внятный ответ.
     
  12. Aндрей_23

    Aндрей_23 Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    TheRedd356
    Я как раз знаю. Напротив
    FreeCamInvFix:
    zeroItemsCheck:
    ничего писать не надо. Лишь менять true и false и под "BlockIDs:" уже писать id
     
  13. Karfagen

    Karfagen Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    Karfagen
    Ты наркоман? Я постом выше спросил: id каких предметов указывать!
     
    zuma2 нравится это.
  14. Sirse

    Sirse Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    Sirse
    PL 2.7.3 (та тестовая с фиксом MCPC+) - через 13 часов опять начался спам логами.
    PL 2.7.0 - уже 3 суток полёт нормальный. Билд, вызывающий тормоза, лежит где-то между этими релизами.
     
  15. Автор темы
    Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Тогда пробуй билды с дженкинса по одному, так и узнаем.
     
  16. Fluber

    Fluber Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    fluber
    @Shevchik Есть проблема, когда прописываю: frameentity: 18 (Это type id рамки) и прописал так же id сумок и когда захожу в игру ставлю рамку все равно могу в рамку вставить эту сумку. Почему так происходит?
     
  17. Автор темы
    Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Потому что так и должно быть.
     
  18. MrDarked

    MrDarked Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    Darked
    А этим плагином можно пофиксить взрыв механизмов ?

    PS - в IC 2
     
  19. Автор темы
    Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Приехала ещё версия.
    http://assets.comphenix.net/jenkins/job/ProtocolLib/144/

    Пробуем.
     
  20. Sirse

    Sirse Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    Sirse
    Здрасте, я ваш лог.
    2013-10-31 13:45:20 [INFO] Geba[/62.84.250.63:51291] logged in with entity id 1633 at ([world_of_digging] -727.6963867417601, 70.0, 269.1516515192259)
    2013-10-31 13:45:20 [INFO] Error Cannot handle server packet. (java.lang.IllegalArgumentException: Unable to find a field EntityPlayer with the type net.minecraft.entity.player.EntityPlayerMP in net.minecraft.network.NetLoginHandler) occured in com.comphenix.protocol.injector.player.NetworkFieldInjector@4bad4299.
    2013-10-31 13:45:20 [SEVERE] [ProtocolLib] INTERNAL ERROR: Cannot handle server packet.
    If this problem hasn't already been reported, please open a ticket
    at http://dev.bukkit.org/server-mods/protocollib/ with the following data:
    ===== STACK TRACE =====
    java.lang.IllegalArgumentException: Unable to find a field EntityPlayer with the type net.minecraft.entity.player.EntityPlayerMP in net.minecraft.network.NetLoginHandler
    at com.comphenix.protocol.reflect.FuzzyReflection.getFieldByType(FuzzyReflection.java:287)
    at com.comphenix.protocol.injector.player.PlayerInjector.getEntityPlayer(PlayerInjector.java:478)
    at com.comphenix.protocol.injector.player.PlayerInjector.handlePacketSending(PlayerInjector.java:594)
    at com.comphenix.protocol.injector.player.InjectedArrayList.add(InjectedArrayList.java:80)
    at java.util.Collections$SynchronizedCollection.add(Collections.java:1636)
    at net.minecraft.network.TcpConnection.func_74429_a(TcpConnection.java:151)
    at net.minecraft.network.NetServerHandler.func_72567_b(NetServerHandler.java:1036)
    at net.minecraft.server.management.ServerConfigurationManager.func_72355_a(ServerConfigurationManager.java:171)
    at net.minecraft.network.NetLoginHandler.completeConnection(NetLoginHandler.java:218)
    at cpw.mods.fml.common.network.FMLNetworkHandler.handleClientConnection(FMLNetworkHandler.java:171)
    at cpw.mods.fml.common.network.FMLNetworkHandler.onConnectionReceivedFromClient(FMLNetworkHandler.java:124)
    at net.minecraft.network.NetLoginHandler.func_72529_d(NetLoginHandler.java:194)
    at net.minecraft.network.NetLoginHandler.func_72532_c(NetLoginHandler.java:81)
    at net.minecraft.server.ServerListenThread.func_71766_a(ServerListenThread.java:57)
    at net.minecraft.server.dedicated.DedicatedServerListenThread.func_71747_b(SourceFile:29)
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:865)
    at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:320)
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:732)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:614)
    at net.minecraft.server.ThreadMinecraftServer.run(SourceFile:573)
    ===== DUMP =====
    Parameters:
    net.minecraft.network.packet.Packet1Login@5aab681b[
    field_73561_a=1633
    field_73559_b=net.minecraft.world.WorldType@73724cc0
    field_73560_c=false
    field_73557_d=SURVIVAL
    field_73558_e=3
    field_73555_f=2
    field_73556_g=0
    field_73562_h=60
    vanillaCompatible=false
    field_98193_m=<null>
    field_73295_m=1383212720049
    field_73287_r=false
    packetID=1
    ]
    manager:
    com.comphenix.protocol.injector.PacketFilterManager@6cb51d0[
    unhookTask=com.comphenix.protocol.injector.DelayedSingleTask@e68322c
    packetListeners=[PacketAdapter[plugin=ModFixNG, sending=ListeningWhitelist{priority=HIGHEST, packets=[101], gamephase=PLAYING, options=[]}, receiving=EMPTY_WHITELIST], com.comphenix.protocol.async.NullPacketListener@7d402409, PacketAdapter[plugin=ModFixNG, sending=EMPTY_WHITELIST, receiving=ListeningWhitelist{priority=HIGHEST, packets=[101], gamephase=PLAYING, options=[]}], PacketAdapter[plugin=ChatGuard, sending=EMPTY_WHITELIST, receiving=ListeningWhitelist{priority=NORMAL, packets=[3], gamephase=PLAYING, options=[]}], PacketAdapter[plugin=ModFixNG, sending=EMPTY_WHITELIST, receiving=ListeningWhitelist{priority=HIGHEST, packets=[102], gamephase=PLAYING, options=[INTERCEPT_INPUT_BUFFER]}], PacketAdapter[plugin=ModFixNG, sending=ListeningWhitelist{priority=HIGHEST, packets=[101], gamephase=PLAYING, options=[]}, receiving=EMPTY_WHITELIST], PacketAdapter[plugin=ModFixNG, sending=EMPTY_WHITELIST, receiving=ListeningWhitelist{priority=HIGHEST, packets=[101], gamephase=PLAYING, options=[]}]]
    packetInjector=com.comphenix.protocol.injector.packet.ProxyPacketInjector@7c503adb
    playerInjection=com.comphenix.protocol.injector.player.ProxyPlayerInjectionHandler@77483f9f
    interceptWritePacket=com.comphenix.protocol.injector.packet.InterceptWritePacket@28491ce7
    inputBufferedPackets=com.comphenix.protocol.concurrency.IntegerSet@5808965a
    recievedListeners=com.comphenix.protocol.injector.SortedPacketListenerList@1bc71bdd
    sendingListeners=com.comphenix.protocol.injector.SortedPacketListenerList@2cf6586a
    hasClosed=false
    classLoader=org.bukkit.plugin.java.PluginClassLoader@65d90a9f
    reporter=com.comphenix.protocol.ProtocolLibrary$1@32774b67
    server=CraftServer{serverName=CraftBukkit,serverVersion=git-MCPC-Plus-jenkins-MCPC-Plus-Legacy-647,minecraftVersion=1.5.2}
    asyncFilterManager=com.comphenix.protocol.async.AsyncFilterManager@1a8b0190
    knowsServerPackets=true
    knowsClientPackets=true
    phaseLoginCount=1
    phasePlayingCount=8
    packetCreation=true
    spigotInjector=<null>
    pluginVerifier=com.comphenix.protocol.injector.PluginVerifier@25dd896b
    hasRecycleDistance=true
    minecraftVersion=(MC: 1.5.2)
    loginPackets=com.comphenix.protocol.injector.LoginPackets@7368e338
    ]
    Sender:
    com.comphenix.protocol.injector.player.NetworkFieldInjector@4bad4299[
    safeVersion=(MC: 1.4.4)
    ignoredPackets=[]
    overridenLists=[VolatileField [field=public java.util.List net.minecraft.network.TcpConnection.field_74487_p, container=net.minecraft.network.TcpConnection@4329c98a, previous=[], current=[Packet250CustomPayload]], VolatileField [field=public java.util.List net.minecraft.network.TcpConnection.field_74486_q, container=net.minecraft.network.TcpConnection@4329c98a, previous=[], current=[]]]
    syncObject=java.lang.Object@63a4592
    sendingFilters=com.comphenix.protocol.concurrency.IntegerSet@42b87c0e
    player=com.comphenix.protocol.injector.server.InjectorContainer$$EnhancerByCGLIB$$e13c0ee5@d563f65
    hasInitialized=true
    networkManagerRef=VolatileField [field=public final net.minecraft.network.TcpConnection net.minecraft.network.NetLoginHandler.field_72538_b, container=net.minecraft.network.NetLoginHandler@68bdaa57, previous=net.minecraft.network.TcpConnection@4329c98a, current=null]
    serverHandlerRef=<null>
    networkManager=net.minecraft.network.TcpConnection@4329c98a
    loginHandler=net.minecraft.network.NetLoginHandler@68bdaa57
    serverHandler=<null>
    netHandler=net.minecraft.network.NetLoginHandler@68bdaa57
    socket=Socket[addr=/62.84.250.63,port=51291,localport=25566]
    socketAddress=/62.84.250.63:51291
    invoker=com.comphenix.protocol.injector.PacketFilterManager@6cb51d0
    cachedInput=<null>
    reporter=com.comphenix.protocol.ProtocolLibrary$1@32774b67
    classLoader=org.bukkit.plugin.java.PluginClassLoader@65d90a9f
    queuedMarkers={}
    writePacketInterceptor=com.comphenix.protocol.injector.packet.InterceptWritePacket@28491ce7
    clean=false
    updateOnLogin=true
    updatedPlayer=<null>
    ]
    Version:
    ProtocolLib v2.7.4-SNAPSHOT
    Server:
    git-MCPC-Plus-jenkins-MCPC-Plus-Legacy-647 (MC: 1.5.2)

    2013-10-31 13:45:20 [INFO] 0

    Предположительно, сраться ProtocolLib начинает когда реальный игрок выходит с сервера, а от его ника начинает работать FakePlayer. Либо когда игрок входит, а за него работал фейкплеер.
     

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