Quelle machine pour mon "gros" serveur ?



  • Salut à tous !

    J'ai un serveur 1.7.10 Cauldron avec 12 plugins et 4 mods. Le tout étant au maximum optimisé niveau code etc.

    Je fais tourner en général mon serveur avec environ 80 à 160 joueurs.

    Seulement mon serveur dédié de chez DediZones (https://dedishops.com/) qui n'est plus en vitrine à:

    Intel Xeon E31220 3.1 Ghz (64 bits)
    32 Go de RAM
    Windows Server 2012 R2 (Comme Windows 10)
    1 To de HDD

    Connexion de Paris (en utilisation très très intensive): Ping 1, Téléchargement/Upload 900 Mb/s presque 1 Go par seconde 😮 (Télécharge Arma 3 en 20 secondes x))

    Fais mal tourner le serveur, roll back et crashs à cause du crash-report (voir en bas).

    Du coup je l'héberge actuellement (mieux qu'avant) sur l'offre Ultron de Location Minecraft (https://location-minecraft.com/) mais il y a toujours le crash-report et parfois le TPS en chute libre.

    Je sais que ces hébergeurs sont médiocres. J'ai un gros budget (centaines d'euros). J'ai même monté cette machine (mais qui est chez moi donc connexion trop mauvaise pour héberger quoi que ce soit):

    I7 4790K 4.0Ghz (64 bits)
    32 Go de RAM
    Windows 10
    ~ 2 To de Stockage (dont 500 Giga de SSD)

    Voilà quels sont vos avis, sur mes engins, et sur quoi investir (sachant que j'ai compris que ceci: https://ovh.com/fr/serveurs_dedies/hosting/ était bien et encore plus précisément ça: https://ovh.com/fr/serveurs_dedies/details-servers-range-HOST-id-2016-HOST-64L.xml)

    Le crash-report en question que je n'arrive pas à comprendre que signifie Exception in server tick loop et java.lang.IllegalArgumentException:

    –-- Minecraft Crash Report ----
    // On the bright side, I bought you a teddy bear!

    Time: 26/08/16 21:13
    Description: Exception in server tick loop

    java.lang.IllegalArgumentException: Don't know how to add class fr.altiscraft.benjaminloison.common.driveables.EntityWheel!
    at net.minecraft.entity.EntityTrackerEntry.func_151260_c(EntityTrackerEntry.java:706)
    at net.minecraft.entity.EntityTrackerEntry.func_73117_b(EntityTrackerEntry.java:434)
    at net.minecraft.entity.EntityTracker.func_72788_a(EntityTracker.java:291)
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:967)
    at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:430)
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:798)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:658)
    at java.lang.Thread.run(Thread.java:745)

    A detailed walkthrough of the error, its code path and all known details is as follows:

    -- System Details --
    Details:
    Minecraft Version: 1.7.10
    Operating System: Linux (amd64) version 3.14.32-xxxx-std-ipv6-64-hz1000
    Java Version: 1.8.0_92, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 645283720 bytes (615 MB) / 1543438336 bytes (1471 MB) up to 6227755008 bytes (5939 MB)
    JVM Flags: 20 total; -Xincgc -XX:+UseParNewGC -XX:MaxPermSize=256M -XX:NewRatio=2 -XX:CMSFullGCsBeforeCompaction=1 -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=2048 -XX:+CMSParallelRemarkEnabled -XX:+DisableExplicitGC -Xnoclassgc -Xoss4M -Xss4M -XX:+UseFastAccessorMethods -XX:CMSInitiatingOccupancyFraction=90 -XX:UseSSE=4 -XX:+UseCMSCompactAtFullCollection -XX:ParallelGCThreads=4 -XX:+AggressiveOpts -Xmx6144M -Xms512M
    AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
    IntCache: cache: 0, tcache: 0, allocated: 13, tallocated: 103
    FML: MCP v9.05 FML v7.10.85.1291 Minecraft Forge 10.13.2.1291 5 mods loaded, 5 mods active
    mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
    FML{7.10.85.1291} [Forge Mod Loader] (Custom.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
    Forge{10.13.2.1291} [Minecraft Forge] (Custom.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
    altiscraft{InDev} [AltisCraft.fr] (AltisCraft.frServer.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
    gvc{0.6.1} [�aGliby's�f Voice Chat Mod] (GlibysVC-1.7.10-0.6.2a.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
    Profiler Position: N/A (disabled)
    Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
    Player Count: 52 / 250; [EntityPlayerMP['Jean_Villard'/56632, l='AltisCraft', x=-8340,14, y=49,00, z=-3645,98](Jean_Villard at -8340.13508475796,49.0,-3645.984472496337), EntityPlayerMP['Gabin_Lelievre'/58420, l='AltisCraft', x=-5322,73, y=140,00, z=-5731,67](Gabin_Lelievre at -5322.7275135526515,140.0,-5731.673397144855), EntityPlayerMP['Cyprien_Lelievre'/58593, l='AltisCraft', x=-5286,47, y=140,56, z=-5782,11](Cyprien_Lelievre at -5286.47047359068,140.5625,-5782.1050152243115), EntityPlayerMP['Louis_Bocante'/58638, l='AltisCraft', x=-7746,93, y=85,00, z=-4225,14](Louis_Bocante at -7746.928333112093,85.0,-4225.136217807907), EntityPlayerMP['Ipoo_Craft'/59128, l='AltisCraft', x=-8510,36, y=33,79, z=-3696,55](Ipoo_Craft at -8510.361314643016,33.78502770378924,-3696.5521141164054), EntityPlayerMP['Tom_Pgm'/60038, l='AltisCraft', x=-8326,21, y=57,66, z=-3913,35](Tom_Pgm at -8326.208927578695,57.65971327573061,-3913.3525445070427), EntityPlayerMP['Enzo_Belin'/60606, l='AltisCraft', x=-8487,48, y=33,74, z=-3835,61](Enzo_Belin at -8487.475889967076,33.73584067272827,-3835.6112083432413), EntityPlayerMP['Traguar_Light'/61025, l='AltisCraft', x=-8560,12, y=33,12, z=-3637,84](Traguar_Light at -8560.12373302586,33.1233476618072,-3637.8411140114395), EntityPlayerMP['Tedcraft_Poupou'/62489, l='AltisCraft', x=-8502,28, y=33,31, z=-3957,44](Tedcraft_Poupou at -8502.275871864724,33.31260311603546,-3957.4375052350774), EntityPlayerMP['Julien_Vaast'/62562, l='AltisCraft', x=-5431,09, y=15,63, z=-2973,92](Julien_Vaast at -5431.088219162564,15.6267381390499,-2973.9235803657), EntityPlayerMP['Mathieu_Griezman'/63018, l='AltisCraft', x=-8585,76, y=33,00, z=-3597,23](Mathieu_Griezman at -8585.759339292337,33.0,-3597.2316463947673), EntityPlayerMP['Valentin_Fire'/64498, l='AltisCraft', x=-8673,38, y=33,13, z=-3507,41](Valentin_Fire at -8673.382728700784,33.125251360295806,-3507.412975155261), EntityPlayerMP['Jean_Piere'/64508, l='AltisCraft', x=-8641,05, y=33,00, z=-3904,30](Jean_Piere at -8641.050000011921,33.0,-3904.300000011921), EntityPlayerMP['Adam_Kocheida'/65006, l='AltisCraft', x=-8348,58, y=39,00, z=-3690,86](Adam_Kocheida at -8348.582284632388,39.0,-3690.863912935386), EntityPlayerMP['Raphael_Denis'/65305, l='AltisCraft', x=-8636,73, y=33,00, z=-3661,64](Raphael_Denis at -8636.731600956347,33.0,-3661.6446521913667), EntityPlayerMP['Momo_Lapoule'/60589, l='AltisCraft', x=-8467,26, y=33,00, z=-3962,09](Momo_Lapoule at -8467.262355830051,33.0,-3962.087397821677), EntityPlayerMP['Tony_Marshall'/65567, l='AltisCraft', x=-8519,42, y=63,00, z=-4260,36](Tony_Marshall at -8519.421859067117,63.0,-4260.360411617972), EntityPlayerMP['Lucas_Aras'/65702, l='AltisCraft', x=-4603,55, y=138,40, z=-6171,56](Lucas_Aras at -4603.553378672451,138.4023108748058,-6171.558244312678), EntityPlayerMP['Louis_Guillemin'/65808, l='AltisCraft', x=-8345,75, y=64,12, z=-3978,27](Louis_Guillemin at -8345.745371481898,64.1241244689445,-3978.2719911677414), EntityPlayerMP['Jackson_Oshea'/65941, l='AltisCraft', x=-4028,18, y=95,13, z=-5240,88](Jackson_Oshea at -4028.184019258022,95.12532822831417,-5240.883390170755), EntityPlayerMP['Mis_Ter'/65980, l='AltisCraft', x=-4017,19, y=96,00, z=-5250,82](Mis_Ter at -4017.189984725574,96.0,-5250.8200744759315), EntityPlayerMP['Karim_Gimenese'/66003, l='AltisCraft', x=-8375,04, y=53,00, z=-3882,26](Karim_Gimenese at -8375.039552098044,53.0,-3882.25954620724), EntityPlayerMP['Ibrahim_Aras'/66100, l='AltisCraft', x=-4603,27, y=139,09, z=-6170,28](Ibrahim_Aras at -4603.269440515236,139.08770925941232,-6170.278379545297), EntityPlayerMP['Fredic_Legrand'/66654, l='AltisCraft', x=-8588,37, y=33,00, z=-3597,05](Fredic_Legrand at -8588.36624815152,33.0,-3597.0541873468055), EntityPlayerMP['Cyril_Rousseau'/66767, l='AltisCraft', x=-8517,57, y=63,00, z=-4257,33](Cyril_Rousseau at -8517.573318751614,63.0,-4257.334805364474), EntityPlayerMP['Max_Marin'/66809, l='AltisCraft', x=-8334,64, y=34,00, z=-3652,95](Max_Marin at -8334.644812924702,34.0,-3652.9490387058063), EntityPlayerMP['Soul_Stice'/66810, l='AltisCraft', x=-8148,86, y=58,31, z=-4216,18](Soul_Stice at -8148.858985001767,58.31276597082615,-4216.177549657645), EntityPlayerMP['Amine_Aziz'/67131, l='AltisCraft', x=-7757,42, y=62,00, z=-4258,70](Amine_Aziz at -7757.420661434502,62.0,-4258.699999988079), EntityPlayerMP['Ben_Jalam'/67056, l='AltisCraft', x=-8148,89, y=58,13, z=-4216,68](Ben_Jalam at -8148.888610886956,58.12632742407732,-4216.677068588557), EntityPlayerMP['Lucka_Batron'/67252, l='AltisCraft', x=-5323,63, y=140,00, z=-5734,16](Lucka_Batron at -5323.634284754988,140.0,-5734.156167199265), EntityPlayerMP['Dyle_Leveque'/68430, l='AltisCraft', x=-8489,59, y=33,00, z=-3961,14](Dyle_Leveque at -8489.590440169663,33.0,-3961.1389019713806), EntityPlayerMP['Nolan_Landelle'/68613, l='AltisCraft', x=-7757,30, y=62,00, z=-4256,69](Nolan_Landelle at -7757.300000011921,62.0,-4256.6895229653155), EntityPlayerMP['Theleboss_Banel'/68747, l='AltisCraft', x=-7768,74, y=84,00, z=-4248,69](Theleboss_Banel at -7768.7350811055585,84.0,-4248.685818549494), EntityPlayerMP['Tim_Rouesnel'/69146, l='AltisCraft', x=-8498,81, y=34,00, z=-3958,20](Tim_Rouesnel at -8498.811015991685,34.00133597911215,-3958.202390121408), EntityPlayerMP['Banane_Dupres'/69476, l='AltisCraft', x=-5315,03, y=140,00, z=-5718,36](Banane_Dupres at -5315.032424909614,140.0,-5718.363591438508), EntityPlayerMP['Guillaume_Gui'/69662, l='AltisCraft', x=-5322,70, y=140,00, z=-5729,87](Guillaume_Gui at -5322.699999988079,140.0,-5729.867915550545), EntityPlayerMP['Franck_Lidou'/69665, l='AltisCraft', x=-5315,41, y=140,00, z=-5720,12](Franck_Lidou at -5315.405947050714,140.0,-5720.117125577197), EntityPlayerMP['Jane_Batron'/69770, l='AltisCraft', x=-5309,77, y=140,00, z=-5746,42](Jane_Batron at -5309.770904838146,140.0,-5746.4195931054965), EntityPlayerMP['Antoine_Leduc'/69736, l='AltisCraft', x=-8450,63, y=34,00, z=-3934,79](Antoine_Leduc at -8450.629079414477,34.0,-3934.7919112608624), EntityPlayerMP['Vinquent_Raphael'/70003, l='AltisCraft', x=-8505,10, y=33,00, z=-3634,37](Vinquent_Raphael at -8505.097613231928,33.0,-3634.3747987395586), EntityPlayerMP['Jean_Batron'/70165, l='AltisCraft', x=-5303,39, y=141,50, z=-5693,89](Jean_Batron at -5303.39479943528,141.50041830539703,-5693.889133792707), EntityPlayerMP['Thomas_Richard'/70203, l='AltisCraft', x=-8470,45, y=36,00, z=-3765,61](Thomas_Richard at -8470.447925460137,36.0,-3765.608846925746), EntityPlayerMP['Lucas_Ibrahim'/70265, l='AltisCraft', x=-8486,62, y=33,00, z=-3630,21](Lucas_Ibrahim at -8486.615422886045,33.0,-3630.2072653907567), EntityPlayerMP['Rico_Redriges'/70433, l='AltisCraft', x=-8454,43, y=33,00, z=-3924,69](Rico_Redriges at -8454.43406003012,33.0,-3924.685696275844), EntityPlayerMP['Iweekz_Bubu'/70460, l='AltisCraft', x=-8361,25, y=50,00, z=-3644,19](Iweekz_Bubu at -8361.251359649817,50.0,-3644.1932349092467), EntityPlayerMP['Banane_Anonymous'/70474, l='AltisCraft', x=-8476,39, y=37,00, z=-3632,70](Banane_Anonymous at -8476.386117710479,37.0,-3632.699999988079), EntityPlayerMP['Florian_Demion'/70486, l='AltisCraft', x=-8499,43, y=33,00, z=-3661,19](Florian_Demion at -8499.429494588261,33.0,-3661.1947915353685), EntityPlayerMP['Wassoum_Bridou'/70521, l='AltisCraft', x=-8485,59, y=34,00, z=-3612,49](Wassoum_Bridou at -8485.590423922282,34.0,-3612.490714237977), EntityPlayerMP['Gameur_Killeur'/70531, l='AltisCraft', x=-8515,10, y=33,00, z=-3723,03](Gameur_Killeur at -8515.098329381486,33.0,-3723.034726369902), EntityPlayerMP['Allen_Walker'/70549, l='AltisCraft', x=-8488,15, y=33,00, z=-3746,25](Allen_Walker at -8488.153395446574,33.0,-3746.25246925326), EntityPlayerMP['Underwood_Joey'/70648, l='AltisCraft', x=-8509,54, y=34,00, z=-3686,85](Underwood_Joey at -8509.541470003507,34.00133597911215,-3686.8494426573443), EntityPlayerMP['Williams_Lopes'/70681, l='AltisCraft', x=-8519,00, y=33,00, z=-3733,00](Williams_Lopes at -8519.0,33.0,-3733.0)]
    Is Modded: Definitely; Server brand changed to 'cauldron,craftbukkit,mcpc,fml,forge'
    Type: Dedicated Server (map_server.txt)

    La classe visée: fr.altiscraft.benjaminloison.common.driveables.EntityWheel change parfois pour les autres du package (des entités hein ^^), je me tue en continue à comprendre ce crash-report mais rien à faire 😞 je m'en remet à vous, merci d'avance 🙂



  • J'ai comme l'impressions que passer sous un serveur forge pur ne crache pas
    essaye vite fais



  • Le problème c'est que le crash arrive quand le serveur commence à ne plus suivre (100 personnes) donc bon maintenir ce nombre de joueurs sur un serveur forge où il n'y a rien à faire x) et qu'est-ce qui te donne cette impression ?


  • Administrateurs

    Ton crash n'a rien à voir avec un manque de puissance.
    C'est un problème dans flan's mod.

    Par contre la connexion c'est surement du 900 mb/s et non mo/s.
    Et Windows serveur … Sérieusement ?



  • @'robin4002':

    Ton crash n'a rien à voir avec un manque de puissance.
    C'est un problème dans flan's mod.

    Par contre la connexion c'est surement du 900 mb/s et non mo/s.
    Et Windows serveur … Sérieusement ?

    Salut Robin,

    Je pense qu'avec l'immense quantité de savoir que tu as, tu pourrais me préciser cette erreur de Flan's Mod s'il te plaît ? L'erreur n'arrive QUE lorsqu'il y a beaucoup de joueurs et le crash-report pointe toujours "au hasard" sur toutes les classes des Entités, mêmes les miennes que j'ai codé, je suis vraiment intéressé par résoudre cette erreur et je suis complètement bloqué, si besoin est je suis prêt à t'envoyer mon code source en privé.

    Merci d'avance,

    Ps: Je ne suis pas un génie niveau hébergement de serveurs donc bon je préfère l'interface Windows pour l'instant (je commence à m'adapter à Linux) et Windows Server 2012 R2 est "complètement équivalent" à Windows 10 donc ça me suffit. Si tu as d'autres suggestions 😉 🙂


  • Administrateurs

    J'avais déjà regardé ce truc, c'est au niveau du spawn de mob de cauldron que ça plante.
    Tu devrais essayer de passer sous Thermos pour commencer : https://github.com/CyberdyneCC/Thermos



  • Ou tu refais flan's mais comme tu le dis : Plus ya de personnes plus ça crash non ?
    Regarde donc qui se connecte avanec le crash voir si il n'y a pas un rapport
    Ensuite plus il a de joueurs plus il y en d'entity plus il y a de chance de crash


  • Administrateurs

    Après c'est vrai que ton hébergeur actuelle semble moyen. Une vrai machine serait plus adapté.
    Par contre la gamme hosting d'ovh avec les Xeon D n'est pas du tout approprié pour Minecraft.



  • Qu'est-ce qui est approprié d'après toi du coup s'il te plaît ? 🙂


  • Administrateurs

    Le mieux c'est d'avoir un processeur récent avec une haute fréquence.



  • Sinon ça c'est bien que je ne me trompe pas quand même ^^

    I7 4790K 4.0Ghz (64 bits)
    32 Go de RAM
    500 Go de SSD

    ?


  • Administrateurs

    ça oui c'est pas mal.



  • J'ai mis mon serveur sous la dernière version de Thermos (dernière version de Forge 1.7.10) ainsi que mod et pourtant toujours un crash similaire, et même quand il n'y a qu'un joueur de connecté, c'est arrivé 😮 … Des conseils ? 😕


  • Administrateurs



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


  • Administrateurs

    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.



  • Cette fonction, EntityTrackerEntry.java:717 ?


  • Administrateurs

    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.



  • 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



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


Log in to reply