Bukkit Packete Manipulieren

Dieses Thema im Forum "Programmierung" wurde erstellt von Funzocker1, 23. Juli 2013.

  1. Funzocker1
    Offline

    Funzocker1

    Registriert seit:
    21. Oktober 2012
    Beiträge:
    127
    Heyho liebe Coder ^^.
    Ich möchte gerne wissen wie man Packete abfangen und Manipulieren kann.
    Also wie z.B das man ein Packet Abfängt. Es manipuliert und dadurch sehen alle User am Server keine Tnt Blöcke mehr sondern stadessen Steine oder sowas. Also einfach wie man Packete Abfängt und damit Blöcke nach anderen Blöcke aussehen lässt oder wie man die Packete die von Schildern ausgehen abfangen kann und diese so zu Manipulieren das jeder dort seinen eigenen Namen sieht etc.
    Also wie funktioniert das Abfangen und Verändern von Packeten ?
    Eine kleine Einführung oder sowas wäre nett ^^
     
    #1
  2. games6471
    Online

    games6471

    Siehe hier:

    http://dev.bukkit.org/bukkit-plugins/protocollib/

    und hier:

    http://wiki.vg/Protocol

    Beispiel:
    Code (Text):
    1.  
    2. PacketContainer fakeExplosion = protocolManager.createPacket(
    3.     Packets.Server.EXPLOSION);
    4.  
    5. fakeExplosion.getDoubles().
    6.     write(0, player.getLocation().getX()).
    7.     write(1, player.getLocation().getY()).
    8.     write(2, player.getLocation().getZ());
    9. fakeExplosion.getFloat().
    10.     write(0, 3.0F);
    11.  
    12. protocolManager.sendServerPacket(player, fakeExplosion)
    Code (Text):
    1.  
    2. // Disable all sound effects
    3. protocolManager.addPacketListener(
    4.   new PacketAdapter(this, ConnectionSide.SERVER_SIDE,
    5.   ListenerPriority.NORMAL, Packets.Server.NAMED_SOUND_EFFECT) {
    6.     @Override
    7.     public void onPacketSending(PacketEvent event) {
    8.         // Item packets
    9.         switch (event.getPacketID()) {
    10.         case Packets.Server.NAMED_SOUND_EFFECT: // 0x3E
    11.             event.setCancelled(true);
    12.             break;
    13.         }
    14.     }
    15. });
     
    #2
  3. Funzocker1
    Offline

    Funzocker1

    Registriert seit:
    21. Oktober 2012
    Beiträge:
    127
    Ok Danke dann werd ich mich da mal durch wühlen ^.
    LG
     
    #3
  4. games6471
    Online

    games6471

    Du kannst dir auch einmal das hier anschauen, das ist ein Beispiel vom Entwickler von ProtocolLib.


    BlockPatcher

     
    #4
  5. Funzocker1
    Offline

    Funzocker1

    Registriert seit:
    21. Oktober 2012
    Beiträge:
    127
    Ok werd ich mir anschauen.
    Ps: Wenn ich schonmal ein Thema habe:
    Wie kann ich einen Spieler dazu bringen etwas wegzudroppen wie wenn er das Item mit q Wegschleudert.
    Ich weis das es getWorld().dropItemNaturally etc. gibt aber ich möchte das das Item einfach so weggeschleudert wird.
    Geht das?
     
    #5