Navigation

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    SOLVED Problème avec les packets

    1.7.x
    1.7.10
    2
    5
    1241
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Sevening
      Sevening last edited by

      Salut Salut !

      Hier j’ai voulu faire un mod qui détécte si le joueur utilise le launcher custom ou pas ( je sais que les launchers custom ne son plus en support )
      J’ai fait de nombreuses recherches et j’ai fini par tomber sur un topic qui disait que j’avais besoin de faire appel aux packets custom !
      La encore après de nombreuses recherches je me suis retrouvé avec des tutoriels datant du 27 avril 2013 utilisant le Packet270CustomPayload x)

      C’est alors que j’ai trouvé le tutoriel qui a été posté ici même >>>celui-ci<<<

      J’ai bien lu et tout compris .

      Mais je me retoruve avec le problème que (2 possibilités)

      La plus probable : Le packet ne s’envoye pas

      Alors pour faire simple je doute que le packet soit envoyé vu que je ne reçois aucun message de retour !

      Mon code
      Class ModCustomMenu

      @Mod(modid = "ChaosPVP", name = "ChaosPVP", version = "1.0.0")
      public class ModCustomMenu {
      public static SimpleNetworkWrapper network;
      
      @EventHandler
      public void preinit(FMLPreInitializationEvent e){
      
      }
      @EventHandler
      public void init(FMLInitializationEvent e) {
      if (e.getSide().isClient()) {
      network = NetworkRegistry.INSTANCE.newSimpleChannel("ChaosPVP");
            network.registerMessage(Launcher.Handler.class, Launcher.class, 84, Side.SERVER);
      FMLCommonHandler.instance().bus().register(this);
      MinecraftForge.EVENT_BUS.register(new EventsHandler());
      }
      }
      
      @SubscribeEvent
      @SideOnly(Side.CLIENT)
      public void onTick(TickEvent.ClientTickEvent event) {
      Minecraft mc = FMLClientHandler.instance().getClient();
      if (mc.currentScreen != null
      && mc.currentScreen.getClass().equals(GuiMainMenu.class)) {
      // mc.displayGuiScreen(new GuiCustomMainMenu());
      } else if (mc.currentScreen != null
      && mc.currentScreen.getClass().equals(GuiMultiplayer.class)) {
      //mc.displayGuiScreen(new GuiCustomMainMenu());
      }
      }
      @SubscribeEvent
      public void playerLoggedInEvent(ClientConnectedToServerEvent event) {
      Minecraft mc = FMLClientHandler.instance().getClient();
      network.sendToServer(new Launcher("Launcher") );
      
      }
      

      Class Launcher

      public class Launcher implements IMessage {
      
         private String text;
      
         public Launcher() { }
      
         public Launcher(String text) {
             this.text = text;
         }
      
         @Override
         public void fromBytes(ByteBuf buf) {
             text = ByteBufUtils.readUTF8String(buf); // this class is very useful in general for writing more complex objects
         }
      
         @Override
         public void toBytes(ByteBuf buf) {
             ByteBufUtils.writeUTF8String(buf, text);
         }
      
         public static class Handler implements IMessageHandler <launcher, imessage="">{
      
             @Override
             public IMessage onMessage(Launcher message, MessageContext ctx) {
             if(message.text.equals("Launcher")){
              System.out.println("You have the launcher ! You're now prefixed !");
             }
             System.out.println(String.format("Received %s from %s", message.text, ctx.getServerHandler().playerEntity.getDisplayName()));
                 return null; // no response in this case
             }
         }
      }
      

      2ème possibilité : Le serveur ne recoit pas le packet

      Mais bon je ne pense pas que celui ci soit le vrai problème !

      Merci d’avance :)</launcher,>

      1 Reply Last reply Reply Quote 0
      • robin4002
        robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

        Salut,
        Déjà tu n’enregistres que les paquets côté client, donc c’est pour ça que ça ne fonctionne pas.
        Deuxièmement, ce que tu fais est inutile, comme tu as fait un mod pour ton serveur, n’importe quel personne qui veut se connecter devra avoir le mod, sinon il ne pourra pas se connecter.

        1 Reply Last reply Reply Quote 0
        • Sevening
          Sevening last edited by

          Alors comment est-ce qu’un serveur ( je ne dirai pas le nom pour éviter toute pub ) a réussi à faire en sorte que certains joueurs ne puissent se connecter qu’avec le launcher pour éviter Nodus , WeepCraft , etc. ?

          1 Reply Last reply Reply Quote 0
          • robin4002
            robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

            Si se sont des serveurs non Forge il ont juste à faire les modif sur les sources de MC.
            Si c’est un serveur Forge tu évites directement tous les mods de cheat qui ne sont pas compatible avec Forge.
            Et de toute façon si la personne n’a pas ton mod d’installé il ne pourra pas se co. Donc Forge + ton mod fait déjà office de protection. C’est ce que je t’ai déjà dit sur mon premier message.

            1 Reply Last reply Reply Quote 0
            • Sevening
              Sevening last edited by

              Ok , Merci !

              1 Reply Last reply Reply Quote 0
              • 1 / 1
              • First post
                Last post
              Design by Woryk
              Contact / Mentions Légales / Faire un don

              MINECRAFT FORGE FRANCE © 2018

              Powered by NodeBB