MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Quelle machine pour mon "gros" serveur ?

    Planifier Épinglé Verrouillé Déplacé Le salon informatique
    1.7.10
    26 Messages 4 Publieurs 1.3k Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • robin4002R Hors-ligne
      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
      dernière édition par

      Tu peux renvoyer le rapport de crash ?

      Car c’est soit en rapport avec ça : https://github.com/CyberdyneCC/Thermos/blob/master/patches/net/minecraft/entity/EntityTrackerEntry.java.patch#L263
      soit avec ça : https://github.com/CyberdyneCC/Thermos/blob/master/patches/net/minecraft/entity/EntityTrackerEntry.java.patch#L276

      1 réponse Dernière réponse Répondre Citer 0
      • Benjamin LoisonB Hors-ligne
        Benjamin Loison
        dernière édition par

        Voici pour le crash-report: http://pastebin.com/WRPAFuCb 🙂

        >! Développeur de Altis-Life (Arma III) sur Minecraft !
        >! Site web     : https://lemnoslife.com

        1 réponse Dernière réponse Répondre Citer 0
        • robin4002R Hors-ligne
          robin4002 Moddeurs confirmés Rédacteurs Administrateurs
          dernière édition par

          Donc le deuxième.
          Vu le “Report this error to mod author.” ça confirme que le problème vient du mod et non de thermos.

          Faudrait voir la fonction entière pour comprendre le souci.

          1 réponse Dernière réponse Répondre Citer 0
          • Benjamin LoisonB Hors-ligne
            Benjamin Loison
            dernière édition par

            Cette fonction, EntityTrackerEntry.java:717 ?

            >! Développeur de Altis-Life (Arma III) sur Minecraft !
            >! Site web     : https://lemnoslife.com

            1 réponse Dernière réponse Répondre Citer 0
            • robin4002R Hors-ligne
              robin4002 Moddeurs confirmés Rédacteurs Administrateurs
              dernière édition par

              Thermos force le crash car il ne sait pas quoi faire lorsqu’il reçoit le paquet de l’entité.
              Faudrait regarder en détail ce que fait la fonction func_151260_c pour comprendre comment corriger ça au niveau du mod.

              1 réponse Dernière réponse Répondre Citer 0
              • Benjamin LoisonB Hors-ligne
                Benjamin Loison
                dernière édition par

                Je suis assez hébété, parce que si je comprends bien la fonction suivante toutes les autres entités qui ne sont pas celles par défaut de Minecraft, c’est censé crasher… Pourtant le crash n’arrive que parfois 😕

                private Packet func_151260_c()
                {
                if (this.myEntity.isDead)
                {
                logger.warn("Fetching addPacket for removed entity");
                }
                
                Packet pkt = FMLNetworkHandler.getEntitySpawningPacket(this.myEntity);
                
                if (pkt != null)
                {
                return pkt;
                }
                if (this.myEntity instanceof EntityItem)
                {
                return new S0EPacketSpawnObject(this.myEntity, 2, 1);
                }
                else if (this.myEntity instanceof EntityPlayerMP)
                {
                return new S0CPacketSpawnPlayer((EntityPlayer)this.myEntity);
                }
                else if (this.myEntity instanceof EntityMinecart)
                {
                EntityMinecart entityminecart = (EntityMinecart)this.myEntity;
                return new S0EPacketSpawnObject(this.myEntity, 10, entityminecart.getMinecartType());
                }
                else if (this.myEntity instanceof EntityBoat)
                {
                return new S0EPacketSpawnObject(this.myEntity, 1);
                }
                else if (!(this.myEntity instanceof IAnimals) && !(this.myEntity instanceof EntityDragon))
                {
                if (this.myEntity instanceof EntityFishHook)
                {
                EntityPlayer entityplayer = ((EntityFishHook)this.myEntity).field_146042_b;
                return new S0EPacketSpawnObject(this.myEntity, 90, entityplayer != null ? entityplayer.getEntityId() : this.myEntity.getEntityId());
                }
                else if (this.myEntity instanceof EntityArrow)
                {
                Entity entity = ((EntityArrow)this.myEntity).shootingEntity;
                return new S0EPacketSpawnObject(this.myEntity, 60, entity != null ? entity.getEntityId() : this.myEntity.getEntityId());
                }
                else if (this.myEntity instanceof EntitySnowball)
                {
                return new S0EPacketSpawnObject(this.myEntity, 61);
                }
                else if (this.myEntity instanceof EntityPotion)
                {
                return new S0EPacketSpawnObject(this.myEntity, 73, ((EntityPotion)this.myEntity).getPotionDamage());
                }
                else if (this.myEntity instanceof EntityExpBottle)
                {
                return new S0EPacketSpawnObject(this.myEntity, 75);
                }
                else if (this.myEntity instanceof EntityEnderPearl)
                {
                return new S0EPacketSpawnObject(this.myEntity, 65);
                }
                else if (this.myEntity instanceof EntityEnderEye)
                {
                return new S0EPacketSpawnObject(this.myEntity, 72);
                }
                else if (this.myEntity instanceof EntityFireworkRocket)
                {
                return new S0EPacketSpawnObject(this.myEntity, 76);
                }
                else
                {
                S0EPacketSpawnObject s0epacketspawnobject;
                
                if (this.myEntity instanceof EntityFireball)
                {
                EntityFireball entityfireball = (EntityFireball)this.myEntity;
                s0epacketspawnobject = null;
                byte b0 = 63;
                
                if (this.myEntity instanceof EntitySmallFireball)
                {
                b0 = 64;
                }
                else if (this.myEntity instanceof EntityWitherSkull)
                {
                b0 = 66;
                }
                
                if (entityfireball.shootingEntity != null)
                {
                s0epacketspawnobject = new S0EPacketSpawnObject(this.myEntity, b0, ((EntityFireball)this.myEntity).shootingEntity.getEntityId());
                }
                else
                {
                s0epacketspawnobject = new S0EPacketSpawnObject(this.myEntity, b0, 0);
                }
                
                s0epacketspawnobject.func_149003_d((int)(entityfireball.accelerationX * 8000.0D));
                s0epacketspawnobject.func_149000_e((int)(entityfireball.accelerationY * 8000.0D));
                s0epacketspawnobject.func_149007_f((int)(entityfireball.accelerationZ * 8000.0D));
                return s0epacketspawnobject;
                }
                else if (this.myEntity instanceof EntityEgg)
                {
                return new S0EPacketSpawnObject(this.myEntity, 62);
                }
                else if (this.myEntity instanceof EntityTNTPrimed)
                {
                return new S0EPacketSpawnObject(this.myEntity, 50);
                }
                else if (this.myEntity instanceof EntityEnderCrystal)
                {
                return new S0EPacketSpawnObject(this.myEntity, 51);
                }
                else if (this.myEntity instanceof EntityFallingBlock)
                {
                EntityFallingBlock entityfallingblock = (EntityFallingBlock)this.myEntity;
                return new S0EPacketSpawnObject(this.myEntity, 70, Block.getIdFromBlock(entityfallingblock.func_145805_f()) | entityfallingblock.field_145814_a << 16);
                }
                else if (this.myEntity instanceof EntityPainting)
                {
                return new S10PacketSpawnPainting((EntityPainting)this.myEntity);
                }
                else if (this.myEntity instanceof EntityItemFrame)
                {
                EntityItemFrame entityitemframe = (EntityItemFrame)this.myEntity;
                s0epacketspawnobject = new S0EPacketSpawnObject(this.myEntity, 71, entityitemframe.hangingDirection);
                s0epacketspawnobject.func_148996_a(MathHelper.floor_float((float)(entityitemframe.field_146063_b * 32)));
                s0epacketspawnobject.func_148995_b(MathHelper.floor_float((float)(entityitemframe.field_146064_c * 32)));
                s0epacketspawnobject.func_149005_c(MathHelper.floor_float((float)(entityitemframe.field_146062_d * 32)));
                return s0epacketspawnobject;
                }
                else if (this.myEntity instanceof EntityLeashKnot)
                {
                EntityLeashKnot entityleashknot = (EntityLeashKnot)this.myEntity;
                s0epacketspawnobject = new S0EPacketSpawnObject(this.myEntity, 77);
                s0epacketspawnobject.func_148996_a(MathHelper.floor_float((float)(entityleashknot.field_146063_b * 32)));
                s0epacketspawnobject.func_148995_b(MathHelper.floor_float((float)(entityleashknot.field_146064_c * 32)));
                s0epacketspawnobject.func_149005_c(MathHelper.floor_float((float)(entityleashknot.field_146062_d * 32)));
                return s0epacketspawnobject;
                }
                else if (this.myEntity instanceof EntityXPOrb)
                {
                return new S11PacketSpawnExperienceOrb((EntityXPOrb)this.myEntity);
                }
                else
                {
                // Crash bonjour
                throw new IllegalArgumentException("Don\'t know how to add " + this.myEntity.getClass() + "!");
                }
                }
                }
                else
                {
                // Cette portion de code est lue pour les entités des mods ?
                this.lastHeadMotion = MathHelper.floor_float(this.myEntity.getRotationYawHead() * 256.0F / 360.0F);
                return new S0FPacketSpawnMob((EntityLivingBase)this.myEntity);
                }
                }
                

                De plus je commence à manier GitHub, est-ce que c’est une bonne idée de déclarer une Issue sur le projet Thermos ? 🙂 Merci

                >! Développeur de Altis-Life (Arma III) sur Minecraft !
                >! Site web     : https://lemnoslife.com

                1 réponse Dernière réponse Répondre Citer 0
                • SCAREXS Hors-ligne
                  SCAREX
                  dernière édition par

                  Tu peux mais attends toi au message "vous pouvez cordialement allez vous faire ****** " (sous-entendu)

                  Site web contenant mes scripts : http://SCAREXgaming.github.io

                  Pas de demandes de support par MP ni par skype SVP.
                  Je n'accepte sur skype que l…

                  1 réponse Dernière réponse Répondre Citer 0
                  • robin4002R Hors-ligne
                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                    dernière édition par

                    Non, cette fonction n’est pas sensé crashé pour tous les entités autre que celles de minecraft.
                    Regardes bien :

                           Packet pkt = FMLNetworkHandler.getEntitySpawningPacket(this.myEntity);
                    
                           if (pkt != null)
                           {
                               return pkt;
                           }
                    

                    Et cette fonction fait ça :

                       public static Packet getEntitySpawningPacket(Entity entity)
                       {
                           EntityRegistration er = EntityRegistry.instance().lookupModSpawn(entity.getClass(), false);
                           if (er == null)
                           {
                               return null;
                           }
                           if (er.usesVanillaSpawning())
                           {
                               return null;
                           }
                    
                           return channelPair.get(Side.SERVER).generatePacketFrom(new FMLMessage.EntitySpawnMessage(er, entity, er.getContainer()));
                       }
                    

                    Conclusion :
                    ça crash car fr.altiscraft.benjaminloison.common.guns.EntityBullet n’est pas enregistré.
                    Bref, le souci vient de ton mod et non de thermos.

                    1 réponse Dernière réponse Répondre Citer 0
                    • Benjamin LoisonB Hors-ligne
                      Benjamin Loison
                      dernière édition par

                      Et une idée de pourquoi parfois ça fonctionne et parfois ça plante ?

                      Parce que je génère l’EntityBullet pas de soucis mais une fois sur 100 ça plante… Et ce n’est pas un défaut spécifique à l’EntityBullet puisque la classe qui fait crashé change à chaque fois, EntityWheel, Entity…

                      >! Développeur de Altis-Life (Arma III) sur Minecraft !
                      >! Site web     : https://lemnoslife.com

                      1 réponse Dernière réponse Répondre Citer 0
                      • robin4002R Hors-ligne
                        robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                        dernière édition par

                        Aucune idée.
                        L’entité est-elle enregistré ?

                        1 réponse Dernière réponse Répondre Citer 0
                        • Benjamin LoisonB Hors-ligne
                          Benjamin Loison
                          dernière édition par

                          Oui, si tu veux vérifier je t’ai envoyé un message privé avec le code source (à ne pas donner), j’ai séparé mon mod en un côté client et un côté serveur et tout est bien enregistré comme il faut, comme dans le code source de Flan’s Mod (qui plante lui aussi !)

                          >! Développeur de Altis-Life (Arma III) sur Minecraft !
                          >! Site web     : https://lemnoslife.com

                          1 réponse Dernière réponse Répondre Citer 0
                          • robin4002R Hors-ligne
                            robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                            dernière édition par

                            Je ne sais pas trop d’où vient exactement le problème alors 😕

                            1 réponse Dernière réponse Répondre Citer 0
                            • Benjamin LoisonB Hors-ligne
                              Benjamin Loison
                              dernière édition par

                              Inrésolvable. Après discussions avec le staff de Thermos (Cauldron en gros) ils m’ont dit que le problème était de leur côté mais qu’ils ne peuvent rien faire non plus à cause de problème de compilation avec des codes sur des serveurs qui n’existent plus.
                              J’ai essayé de décompiler… rien à faire. J’ai réussi à mettre en place des restart automatiques quand ça plante etc mais bon j’ai donc décidé avec de nombreux bugs comme ça qu’on ne peut pas résoudre de me lancer dans l’aventure de créer un jeu vidéo semblable au gameplay disponible sur mon serveur. (Et ça avance d’enfer :))

                              >! Développeur de Altis-Life (Arma III) sur Minecraft !
                              >! Site web     : https://lemnoslife.com

                              1 réponse Dernière réponse Répondre Citer 0
                              • 1
                              • 2
                              • 1 / 2
                              • Premier message
                                Dernier message
                              Design by Woryk
                              ContactMentions Légales

                              MINECRAFT FORGE FRANCE © 2024

                              Powered by NodeBB