MFF

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

    & [1.9] Synchronisation client/Server des id d'entité pour un joueurs

    Planifier Épinglé Verrouillé Déplacé Résolu 1.9.x et 1.10.x
    1.10.x
    21 Messages 5 Publieurs 3.0k 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.
    • J Hors-ligne
      Jodge
      dernière édition par

      Bon… Alors c’est très étrange…

      Après avoir galérer à cause d’un stupide bug (la limite max pour le nom d’un “SimpleNetworkWrapper” est de 20 caractères. En mode serveur à part, cela déconnecte le joueurs systématiquement si la valeur dépasse), j’ai pus tester en mode serveur à part et 2 clients.
      J’ai pus grâce à cela remarqué quelque point… Étrange…

      Coté serveur, tous fonctionne, pas de problème.
      coté client, tan que je me fait frapper, et/ou que je frappe un joueurs, cela ne crash pas (bien qu’aucun system.out.print ne se fasse de ce coté, donc je n’ai pas de donnée…)

      Le crash à systématiquement lieu dès que j’attaque une entité qui n’est pas une instance de player (allez savoir pourquoi…). La raison est simple : l’entité player SP n’est pas initialisé, et donc null pointer exception (le problème d’id)

      [font=Ubuntu, sans-serifSCAREX] : J’ai pas vraiment compris ce que tu me dis en faite
      [font=Ubuntu, sans-serifAymericRed ] : j’ai fait un petit test, affichez toute les entités du monde de 0 à X +10 (x étant l’id de l’entité player) coté serveur, puis coté client…

      Et bien c’est problématique : seul l’instance EntityPlayerSP existe coté client (id 235). Son équivalent coté serveur est null. Coté serveur, il semblerai qu’il n’existe aucune entité player… Alors qu’elle devrai existé…
      pour l’affichage j’ai utilisé :

      for(int i = 0; i < target.getEntityId() + 10; i++)
      {
      JLog.write("CLIENT - Entity " + i + " : " + target.worldObj.getEntityByID(i));
      }
      

      (JLog.write = system.out.println custom sur fenêtre à part de debug. Changer CLIENT par SERVER sur le side.server)

      :::

      […] + 200 (aucun *Player*)
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 200 : EntityPig['Pig'/200, l='New World', x=408,43, y=64,00, z=417,77]
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 201 : EntityChicken['Chicken'/201, l='New World', x=428,55, y=72,00, z=243,19]
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 202 : EntitySheep['Sheep'/202, l='New World', x=421,25, y=70,00, z=346,37]
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 203 : EntitySheep['Sheep'/203, l='New World', x=418,73, y=70,00, z=347,69]
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 204 : EntityItem['item.tile.torch'/204, l='New World', x=420,39, y=35,00, z=378,73]
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 205 : EntityMinecartChest['Minecart with Chest'/205, l='New World', x=423,50, y=35,06, z=411,50]
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 206 : EntityMinecartChest['Minecart with Chest'/206, l='New World', x=427,50, y=35,06, z=415,50]
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 207 : EntityItem['item.tile.torch'/207, l='New World', x=426,96, y=35,00, z=417,13]
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 208 : EntityPig['Pig'/208, l='New World', x=417,64, y=63,00, z=420,36]
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 209 : EntityChicken['Chicken'/209, l='New World', x=442,15, y=71,00, z=270,68]
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 210 : EntityChicken['Chicken'/210, l='New World', x=437,50, y=70,00, z=270,80]
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 211 : EntityItem['item.item.string'/211, l='New World', x=445,87, y=27,00, z=379,69]
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 212 : EntityItem['item.item.string'/212, l='New World', x=447,25, y=27,00, z=380,88]
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 213 : EntityItem['item.tile.torch'/213, l='New World', x=446,18, y=37,00, z=397,69]
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 214 : EntityItem['item.tile.torch'/214, l='New World', x=446,02, y=33,00, z=399,45]
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 215 : EntityItem['item.tile.torch'/215, l='New World', x=435,13, y=35,00, z=412,08]
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 216 : EntityChicken['Chicken'/216, l='New World', x=452,50, y=72,00, z=246,50]
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 217 : EntityChicken['Chicken'/217, l='New World', x=451,50, y=73,00, z=242,50]
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 218 : EntityChicken['Chicken'/218, l='New World', x=450,50, y=71,00, z=246,50]
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 219 : EntityChicken['Chicken'/219, l='New World', x=453,20, y=72,00, z=266,51]
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 220 : EntityChicken['Chicken'/220, l='New World', x=459,07, y=74,00, z=256,14]
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 221 : EntityMinecartChest['Minecart with Chest'/221, l='New World', x=454,50, y=37,06, z=351,50]
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 222 : EntityItem['item.tile.torch'/222, l='New World', x=451,29, y=27,00, z=352,36]
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 223 : EntityItem['item.tile.rail'/223, l='New World', x=450,05, y=27,00, z=372,94]
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 224 : EntityItem['item.tile.rail'/224, l='New World', x=449,13, y=27,00, z=374,78]
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 225 : EntityItem['item.tile.rail'/225, l='New World', x=449,75, y=27,00, z=380,64]
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 226 : EntityItem['item.tile.torch'/226, l='New World', x=453,73, y=38,00, z=381,70]
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 227 : EntityItem['item.tile.rail'/227, l='New World', x=449,13, y=27,00, z=384,24]
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 228 : EntityMinecartChest['Minecart with Chest'/228, l='New World', x=453,50, y=37,06, z=401,50]
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 229 : EntityItem['item.tile.torch'/229, l='New World', x=462,60, y=33,00, z=417,88]
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 230 : null
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 231 : null
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 232 : null
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 233 : null
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 234 : null
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 235 : null
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 236 : null
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 237 : null
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 238 : null
      [22:12:54] [Server thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: SERVER - Entity 239 : null
      
      […] + 200 (null)
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 200 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 201 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 202 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 203 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 204 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 205 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 206 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 207 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 208 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 209 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 210 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 211 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 212 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 213 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 214 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 215 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 216 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 217 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 218 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 219 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 220 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 221 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 222 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 223 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 224 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 225 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 226 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 227 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 228 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 229 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 230 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 231 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 232 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 233 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 234 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 235 : EntityPlayerSP['Jodge'/235, l='MpServer', x=8,50, y=65,00, z=8,50]
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 236 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 237 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 238 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 239 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 240 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 241 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 242 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 243 : null
      [22:12:54] [Client thread/INFO] [STDOUT]: [fr.Jodge.elementalLibrary.common.function.JLog:write:53]: CLIENT - Entity 244 : null
      
      

      :::

      Y a un truc qui m’échappe totalement dans cette logique client/server…

      EDIT : concernant le problème d’id, cela viens peu être de :

      Entity player = ctx.getServerHandler().playerEntity.worldObj.getEntityByID(id);
      

      sur AskPlayerStatsPacket. L’id reçu me retourne null systématiquement…

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

        
        for(int i = 0; i < target.getEntityWorld().getLoadedEntityList().size(); i++)
        {
        JLog.write((target.getEntityWorld().isRemote ? "CLIENT" : "SERVER" ) + " - Entity number " + i + " : " + target.getEntityWorld().getLoadedEntityList().get(i).getUniqueID());
        }
        
        

        Oui je sais on peut l’optimiser, blablabla, c’est du debug on s’en fout

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

          Si tu comptais localisé l’entité, c’est râpe…

          SERVER - Entity number 0 : 6fc5d0e1-0f18-47e2-a3ee-8491912028fb
          SERVER - Entity number 1 : 1764933d-5944-4de5-b490-f110f52191ae
          SERVER - Entity number 2 : 96c13214-512d-486a-8626-962213c08ba4
          SERVER - Entity number 3 : 7c58fbcf-646a-4d68-a6ff-9024f5b44f55
          SERVER - Entity number 4 : 75fa2899-550a-4a19-b7c1-22d9f50b4506
          SERVER - Entity number 5 : 594ee251-86a5-437a-a657-92be8b127239
          SERVER - Entity number 6 : b7addd37-7d5f-46c4-b2f7-cd2e3a78b97e
          SERVER - Entity number 7 : aae4ddc6-1eff-4374-bfae-fc3ec55150b3
          SERVER - Entity number 8 : 9fcbb0d1-194d-426a-af3e-ff22d35812cd
          SERVER - Entity number 9 : d323f931-e9bc-4296-9c65-748357d2fbc4
          SERVER - Entity number 10 : ea46b989-ea21-4fa3-963d-3ac300a4f99b
          SERVER - Entity number 11 : d115cae6-69da-46a4-9046-38a7d84a0489
          SERVER - Entity number 12 : fe0a6fab-af37-45a3-a3da-27036c545049
          SERVER - Entity number 13 : c8e3c4b9-796a-41de-baa9-08061b100273
          SERVER - Entity number 14 : b7bf5633-f01e-4411-b654-a16ba4ecb99d
          SERVER - Entity number 15 : 5fcb5d6e-13f4-443f-bc70-63d20887d2c0
          SERVER - Entity number 16 : 3c040038-2aff-441d-bad5-260497b2281d
          SERVER - Entity number 17 : 923d39d6-4a80-4ea6-a59d-e72afc0259d1
          SERVER - Entity number 18 : 3cf4810e-d8d0-4e6e-83d6-e1ebb9a5a5cb
          SERVER - Entity number 19 : 6b9ac193-840a-4e61-8f48-4566f09e99bd
          SERVER - Entity number 20 : 262c18ea-982b-49ac-89fa-bccb38f841e9
          SERVER - Entity number 21 : 039b4b93-51d2-4350-b12a-148c75f64df4
          SERVER - Entity number 22 : e7029e5b-5166-4fc3-bdd2-a04d6ffcbdfd
          SERVER - Entity number 23 : c2e9cf8d-9907-4d81-867c-e879e9f4fcea
          SERVER - Entity number 24 : 2f998a87-34c7-41a0-8ceb-7eece990025a
          SERVER - Entity number 25 : acdb4b4a-b4e9-466f-9ceb-de713598bbdc
          SERVER - Entity number 26 : 05af388a-b141-4ce7-902e-2ae08fc44812
          SERVER - Entity number 27 : 451db472-b10f-432a-bed5-3f466217de30
          SERVER - Entity number 28 : d454d983-1389-4cee-8c78-9969f145ca99
          SERVER - Entity number 29 : 09664172-6928-4004-b4df-47531b203236
          SERVER - Entity number 30 : 53423b43-c47e-4fe5-a8e8-7fa81bcfba82
          SERVER - Entity number 31 : 94522912-b929-4f69-a92b-c4e5a24f6e6b
          SERVER - Entity number 32 : 0070e6b7-7585-4fae-95b9-ffdb6205702a
          SERVER - Entity number 33 : e77f550d-f739-451f-9223-5ae2b995afb0
          SERVER - Entity number 34 : a0a41d0d-346f-4780-8af0-cc189296518f
          SERVER - Entity number 35 : a65b0edd-df3c-4dd1-824c-6d2c77655be3
          SERVER - Entity number 36 : 078e3ed0-0d64-44d8-96fc-b7216ce3f5ad
          SERVER - Entity number 37 : f0ad1b38-ff43-4878-9795-0875b852076b
          SERVER - Entity number 38 : 55194e51-2977-471e-b49c-28ce3ab233a3
          SERVER - Entity number 39 : 524285a8-de0f-42cc-b7f3-6e0de56e8329
          SERVER - Entity number 40 : ec97021c-40d5-4bbd-85fa-e79aed59cdae
          SERVER - Entity number 41 : 0e1f497e-2ee1-4dc8-85ab-76d628214bd0
          SERVER - Entity number 42 : 9ceea860-e0f4-4084-9a6f-8b55cbfa99b5
          SERVER - Entity number 43 : 1cd99531-0dfd-44d4-a33c-1122708f45d2
          SERVER - Entity number 44 : 738bad7a-cc3a-468f-81cb-591762db6e70
          SERVER - Entity number 45 : f8258888-41e0-4fda-8302-706fa4a68d21
          SERVER - Entity number 46 : c2518c62-72ca-4e64-afdf-89e60a37128f
          SERVER - Entity number 47 : b818d538-8903-467b-bc3a-a96e50be7b65
          SERVER - Entity number 48 : c63acf4c-16a3-4b35-b081-f4237f96250e
          SERVER - Entity number 49 : 463165cb-d344-419d-9cbf-2a538e045fd3
          SERVER - Entity number 50 : 6a97060f-04e9-4e7f-b817-b861cc84dc92
          SERVER - Entity number 51 : 061a35c9-0163-4b4e-9ed6-544f6442cead
          SERVER - Entity number 52 : 5882b12a-1c6d-4cce-8893-8c558da6dcf1
          SERVER - Entity number 53 : 5235c341-40b2-405b-bede-701b31782e63
          SERVER - Entity number 54 : 2909104e-95e8-4db6-9607-42ae6048b562
          SERVER - Entity number 55 : 87f628a6-d1c2-4d76-a887-5d7bf1a58c6f
          SERVER - Entity number 56 : 84ecbd45-d643-4068-a079-ec70329cbd9e
          SERVER - Entity number 57 : d597da4d-af91-4cf3-afc1-4667c6ef6220
          SERVER - Entity number 58 : 1afa0248-2cba-4ed0-9bc9-aa0bc4ace2f5
          SERVER - Entity number 59 : 09858c9d-e482-4ff8-8017-2a58e3c93098
          SERVER - Entity number 60 : caa7e03d-0322-4c68-9c06-500a1f94e3ac
          SERVER - Entity number 61 : 2472179e-62b9-498d-82f1-58f20bdc18d5
          SERVER - Entity number 62 : 472c8243-6f1d-4e0d-8172-1cf0d523ac27
          SERVER - Entity number 63 : 492a70de-638d-4476-8ba1-237cf47fe449
          SERVER - Entity number 64 : edfb4410-3a31-43c1-b3a0-3c608122d354
          SERVER - Entity number 65 : 11508610-8903-4360-baac-a90ca138e42b
          SERVER - Entity number 66 : 5651ef85-b77f-4bc8-a9ff-170185d60523
          SERVER - Entity number 67 : bd032f28-3ecf-405c-a5e5-6359f50241ff
          SERVER - Entity number 68 : e75476cc-ec97-450c-8bf3-b9509d51aa48
          SERVER - Entity number 69 : 8fed845f-291e-4c98-bea2-2b510eff607f
          SERVER - Entity number 70 : 495e79bb-f623-4dd7-9d8e-ff8b9e7af708
          SERVER - Entity number 71 : 2d2c294e-a3e8-4e65-a85d-c6e67c2e5a2d
          SERVER - Entity number 72 : 9af04ab7-48e5-4780-aa2e-25ac0da9d50f
          SERVER - Entity number 73 : 908b6087-c1dd-40c4-83db-a85e7c12f7b3
          SERVER - Entity number 74 : 8dc259e6-17af-4c9a-80c1-124310cc34c4
          SERVER - Entity number 75 : 099947a7-d5a8-4052-a3f1-78f8e0600314
          SERVER - Entity number 76 : 20015476-ee6c-4e2c-b95d-db6443cf07a0
          SERVER - Entity number 77 : 171280f7-aa32-42e2-aea5-0e9a7aeb8f06
          SERVER - Entity number 78 : 2ce2e47e-f6e6-4608-8fdd-159d09c63c08
          SERVER - Entity number 79 : 0c0495a4-8165-425b-956a-81c1333b20ca
          SERVER - Entity number 80 : a2d33f8b-0a6b-4322-ba61-df5a76221adb
          SERVER - Entity number 81 : 358e47f7-34f2-4c8b-abbf-5d6a41a2de46
          SERVER - Entity number 82 : 3f9b9ac3-baad-43b4-bfde-e3dedf551360
          SERVER - Entity number 83 : a8022ed0-e261-435b-b193-e7bdc10c2fdc
          SERVER - Entity number 84 : 355b42b6-f907-4fd3-a284-d136fcbd5dd2
          SERVER - Entity number 85 : f92a74df-6a9b-404d-9226-9e3f5fdf2966
          SERVER - Entity number 86 : 485ff555-83ef-4f7f-bc6c-1282a8b4b779
          SERVER - Entity number 87 : 4752d33d-3b0f-4426-b4b4-3955c3c8ff11
          SERVER - Entity number 88 : 91c687d6-912a-442d-a7f8-dd63c08627e2
          SERVER - Entity number 89 : b455f0d9-7156-4c50-b55f-41bf6ead22eb
          SERVER - Entity number 90 : 741bb8e9-c355-4032-a0c9-f96d0bc5ad15
          SERVER - Entity number 91 : 0c0f970f-a40c-431f-88d2-95bfef47a4e8
          SERVER - Entity number 92 : ab571904-39c1-41c9-96f0-3fc2029f6508
          SERVER - Entity number 93 : daeee534-6323-43a1-af71-74823f861bc6
          SERVER - Entity number 94 : f3e75335-92c7-4e0b-8658-919f9460120d
          SERVER - Entity number 95 : 297b4828-89d7-401a-bc60-35dbb61b6040
          SERVER - Entity number 96 : a2ef49c3-2e6f-4c00-a67f-457ae3ead8be
          SERVER - Entity number 97 : 9bed1c9f-7e9e-47fe-b162-daf07ab2e90f
          SERVER - Entity number 98 : 79acc796-9ae8-4457-89d8-a19813794836
          SERVER - Entity number 99 : fb4e1766-a8a7-48db-8a66-f16fe23e3b12
          SERVER - Entity number 100 : 97721702-8ab6-49cf-9855-3935fd93a82e
          SERVER - Entity number 101 : f9711169-d5cc-4be0-b062-1f8612ef95f7
          SERVER - Entity number 102 : 9fb6c8cf-1ad3-4424-b7f5-8204a9c68040
          SERVER - Entity number 103 : 54ed038a-9477-4dde-b925-efa20819fb7b
          SERVER - Entity number 104 : e27cafc8-aee6-48b5-9fcb-f8b50da664d0
          SERVER - Entity number 105 : 768b4da7-c2c7-46c0-bf88-89bf287c6005
          SERVER - Entity number 106 : fc56a1b4-e151-4546-ad01-e67393f30d2a
          SERVER - Entity number 107 : 11d2d57d-5064-4861-a2fd-b0844fe1db56
          SERVER - Entity number 108 : 10336963-a530-4685-9bef-db59604cd3a1
          SERVER - Entity number 109 : 04b2d18b-b929-4cba-b1c5-edcccc29eb6d
          SERVER - Entity number 110 : 1d94d850-31ae-480c-b5ec-2c02998594c7
          SERVER - Entity number 111 : e39ecb74-8544-45ed-8d16-44fafa06a8ee
          SERVER - Entity number 112 : fe9ceba3-e70c-4e79-ae2e-6103907f96a4
          SERVER - Entity number 113 : 0e7ca5aa-aea2-420b-99b3-5d3732d3ad72
          SERVER - Entity number 114 : 411bbaff-ddf2-423b-aa79-62717db22b78
          SERVER - Entity number 115 : 1ce1a5dd-5bd0-4d22-bcf6-00c4da83193b
          SERVER - Entity number 116 : 22539983-0375-47d9-9b9d-c6ed47cdba60
          SERVER - Entity number 117 : e56f9759-9da2-40ae-b155-cf825acd9146
          SERVER - Entity number 118 : 4e6a2a32-87e5-421f-b53a-c6f4fad68be3
          SERVER - Entity number 119 : 47732a73-6951-4fb9-b871-d623e7416cd6
          SERVER - Entity number 120 : 04480663-65b4-4110-87bc-b8c7131184a0
          SERVER - Entity number 121 : 02cf6e91-def8-4a96-bf8e-a3ddba4d7a0a
          SERVER - Entity number 122 : f8d7b161-7b04-4b90-992a-72aae4b639dd
          SERVER - Entity number 123 : dda5dbee-3efe-4d2d-a7be-b48fc8b47c93
          SERVER - Entity number 124 : d210f21b-3fd7-4e93-baca-1082682a9fea
          SERVER - Entity number 125 : a468a2a8-ada0-44ce-ab94-a6053c4bd60f
          SERVER - Entity number 126 : ea83ca03-91b9-4def-a131-f2ac82896d9d
          SERVER - Entity number 127 : 7911c00d-c948-4205-9444-0b23fbc023ae
          SERVER - Entity number 128 : 10136a6b-cf51-4b3d-8ce4-0e10d6081446
          SERVER - Entity number 129 : 65348acb-ef2a-42e3-8ae1-fd71e228b0db
          SERVER - Entity number 130 : cf3e10df-86ae-48c1-99a5-eb10a106183f
          SERVER - Entity number 131 : 38275708-c29b-43c5-8f4f-b55e2e67e6bb
          SERVER - Entity number 132 : 8f4142f0-3c91-43e2-8deb-2a02be23f773
          SERVER - Entity number 133 : 8b1c9b3c-84f6-4480-ba04-dc65670d7829
          SERVER - Entity number 134 : 3e945e9f-f08c-445b-be2b-164a03c31bee
          SERVER - Entity number 135 : 3f3afea0-b64c-4000-bc7c-e592a23ec5f8
          SERVER - Entity number 136 : 9293dcaf-20ef-4760-99f4-0d841e0e9408
          SERVER - Entity number 137 : d4e46384-bc0a-4b16-863d-e6a9d971ab18
          SERVER - Entity number 138 : 4672cc23-76a1-4f72-9430-866e8806a3b8
          SERVER - Entity number 139 : 28217084-2dff-430a-9ef7-b481a353e56c
          SERVER - Entity number 140 : dbd61f24-7b11-43d6-b5df-129d600c3e4b
          SERVER - Entity number 141 : 6c7a4ea9-8b99-4f80-9393-eed88b9f8431
          SERVER - Entity number 142 : dd13da1d-129b-4cb9-bc71-58a99ad129c0
          SERVER - Entity number 143 : 82e7e72d-dc81-46b8-9f20-7a64770ec185
          SERVER - Entity number 144 : 086ca9b1-2c78-4cbd-81cd-4be0d6ec894d
          SERVER - Entity number 145 : d1086c71-b02c-4541-a202-5de2a4aac69a
          SERVER - Entity number 146 : af906826-d7ec-4198-b31a-f7fbc018a264
          SERVER - Entity number 147 : 7e041dfb-0b5a-464f-9092-e1e1f0da3b8c
          SERVER - Entity number 148 : 1618f777-c93d-41dd-bffb-b764e900e5cc
          SERVER - Entity number 149 : e2c54be5-0609-4c17-9469-671d752adef7
          SERVER - Entity number 150 : 5a350af6-883e-402f-a99d-5a46ee9ffa2c
          SERVER - Entity number 151 : 01230b83-3f26-4977-ad1c-168b0708290f
          SERVER - Entity number 152 : 7aeb3de5-b8e1-4b40-adf3-605b2a16ec24
          SERVER - Entity number 153 : 29fdd5b4-616b-4f4d-8ee5-250a78437ad9
          SERVER - Entity number 154 : c6f12ccb-8ab3-4f8c-ac70-fa4176cdb8cc
          SERVER - Entity number 155 : ba1d0bde-fb78-4ae0-9cb5-8b7427ba374a
          SERVER - Entity number 156 : f940a64a-9ffd-4d85-b1e2-58582311cf98
          SERVER - Entity number 157 : d52bfb91-e091-478c-bbed-54cd248c61c6
          SERVER - Entity number 158 : 53e40f29-667d-4616-a9ae-80d181607476
          SERVER - Entity number 159 : e8030c74-76dc-4962-9e5c-c5fb8cad2e2c
          SERVER - Entity number 160 : cb982fb0-c16d-44c7-ae08-d848321231f5
          SERVER - Entity number 161 : 2ea25bad-14f3-4fd1-9132-dae306a557e1
          SERVER - Entity number 162 : ff15ae0e-29be-4893-bb4f-ab5035518f86
          SERVER - Entity number 163 : adc801dd-76b0-4f3a-baf3-2973755526f1
          SERVER - Entity number 164 : ed562e3b-7a9c-4459-affa-cbe800403f73
          SERVER - Entity number 165 : 9d81bed1-ffe9-4a54-a9a1-fa17b225a77b
          SERVER - Entity number 166 : 3e9c1455-29fe-4f27-abf9-b3466e6088d3
          SERVER - Entity number 167 : 76e09217-c856-4236-950b-fd28b736f2d6
          SERVER - Entity number 168 : a948d0bd-0185-4f2f-a668-9bbb6e8ce318
          SERVER - Entity number 169 : 9ccc52d5-8bfa-4edd-9f94-d333bf90da3f
          SERVER - Entity number 170 : b31eff58-2ea0-4682-8bd8-0a87ff393113
          SERVER - Entity number 171 : 0689ff42-8570-4bc9-9837-243de5135276
          SERVER - Entity number 172 : f9319fb1-4422-423b-88ec-136a47114865
          SERVER - Entity number 173 : 6bc8533e-1e59-454f-b248-3a5e403e2b88
          SERVER - Entity number 174 : 678be949-1220-462b-a9cf-8fb5ef53be9a
          SERVER - Entity number 175 : ebe812a1-2fa1-43ec-bb99-7db38328cc23
          SERVER - Entity number 176 : 21e9d345-50f5-49f1-9b93-43277770e647
          SERVER - Entity number 177 : d9767cd5-25c4-4578-8c7a-1ac9c14f42f7
          SERVER - Entity number 179 : 7b24f9a0-dbd7-477c-8c3a-660e0cddf3e0
          SERVER - Entity number 180 : fd0c2bc7-0e0a-417b-a4bd-493d80b26da4
          SERVER - Entity number 181 : 995ad7b0-bad6-446b-8051-5d893e8b08d4
          SERVER - Entity number 182 : 610359c3-9781-42fe-b9c3-d7ea555d87af
          SERVER - Entity number 183 : 649473b3-afc4-4cbe-b65c-767e4288b2a7
          SERVER - Entity number 184 : b96258f8-0da6-427d-bf18-3f77d4c96b03
          SERVER - Entity number 185 : 10bf1963-ca17-4726-8330-03023c5a3463
          SERVER - Entity number 186 : 8c0e2f06-1aec-485b-96d7-672b336dc387
          SERVER - Entity number 187 : a81d8d4a-4c38-4f15-a0f3-6f6532b9f221
          SERVER - Entity number 188 : c642a8c5-6cc4-43bb-838e-7935afc38eff
          SERVER - Entity number 189 : e098f011-4c0a-43a6-94a8-5902af266d63
          SERVER - Entity number 190 : 8fbb0a07-baa7-4fda-b8cd-0b5f41802f59
          SERVER - Entity number 191 : a51b4c16-e035-4b87-9bab-e037220a0c64
          SERVER - Entity number 192 : 1c4a178a-c530-42c1-922f-dfefbc81926f
          SERVER - Entity number 193 : 3801f20f-330b-4214-abb1-85d7939b60ef
          SERVER - Entity number 194 : 678842cc-8309-410c-a924-dc711babe129
          SERVER - Entity number 195 : 87e28dd3-bd48-478e-8667-87ac55cf06b4
          SERVER - Entity number 196 : f12de114-9969-4ca7-aad8-4e93dea0f836
          SERVER - Entity number 197 : 78cc2ceb-4c50-42a9-9187-714fdd8b29cb
          SERVER - Entity number 198 : 32c6a107-576a-4a87-9ed7-f62bd5fb7b08
          SERVER - Entity number 199 : 6aea7013-23d5-4c99-bbc9-0867c8c71758
          SERVER - Entity number 200 : ef820cd1-d15e-4bc7-9be2-fe86bfed3bd5
          SERVER - Entity number 201 : ab243a2c-009c-462b-9a4d-235cc550ff57
          SERVER - Entity number 202 : f871008e-8727-4104-ad37-a4090e10fc75
          SERVER - Entity number 203 : 2453547a-825f-4a4d-aa9e-ffdcbbb3657f
          SERVER - Entity number 204 : 9933aa95-0860-4ef2-97fa-f196b5d20462
          SERVER - Entity number 205 : a23e498e-8dd7-4afd-b6c9-bbdb0ba0f8f0
          SERVER - Entity number 206 : 5f670fcd-4def-4dbb-b26a-17b3aad45dff
          SERVER - Entity number 207 : a421e422-1aae-4e50-ab2f-cefb2f54f9cc
          SERVER - Entity number 208 : 7210d7e4-9f34-4ac3-af6b-52abb840099a
          MESSAGE RECEIVE : 210:null
          [INFO] Succefuly save data for player a2831e23-8b0f-3ec4-8539-58e8d4db780a
          

          Tu as la liste complète des entités, suivit d’un débug que j’ai rajouté sur la demande d’envoie (j’envoie l’ID de l’entité coté client, donc ici 210, et j’affiche l’entité trouvé coté serveur… null), et de la ligne indiquant le fichier du joueurs (et donc son UUID).
          Étrangement, je ne vois aucun affichage coté client alors qu’il devrai y avoir au moins l’entité 210…

          J’ai trouvé, comme ligne pouvant aidé :

          [09:42:28] [Server thread/INFO]: Player61[local:E:7663f223] logged in with entity id 209 at (367.15746874187994, 77.84756070766807, 255.4728582784921)
          
          1 réponse Dernière réponse Répondre Citer 0
          • BrokenSwingB Hors-ligne
            BrokenSwing Moddeurs confirmés Rédacteurs
            dernière édition par

            Oh ! My bad ! C’était pas ça que tu voulais

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

              Dans la série “fuck la logique”, je bats des records T-T

              J’ai afficher toute les entités vivantes qui apparaissent, puis bidouillé un affichage sur notepad++. J’ai alors pus constaté les chose suivante :

              • Toute les entités vivante, hors joueur sont synchronisé.
              • L’entité joueurs server apparaît comme toute les entités (####### SERVER - Player Player769 join world whit id : 205)
              • L’entité joueurs client apparaît en premier, mais avec le dernier ID disponible sur le serveur (####### CLIENT - Player Player769 join world whit id : 227)
              • L’entité coté client, correspondant a l’id de l’entité coté serveur, n’apparaît jamais (même avec un affichage complet des entités incluant les entités non vivante)

              il semble y avoir une dé-synchronisation des entité Player (peu être dus au faite que ce ne sont pas la même instance de classe ?) sur une version vanilla de forge… J’en ai jamais entendu parler, mais j’ai eu ce “problème” sur 2 versions forge différentes (une en 1.9 et une en 1.10)

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

                Dans la série “fuck la logique”, je bats des records T-T

                J’ai afficher toute les entités vivantes qui apparaissent, puis bidouillé un affichage sur notepad++. J’ai alors pus constaté les chose suivante :

                • Toute les entités vivante, hors joueur sont synchronisé.
                • L’entité joueurs server apparaît comme toute les entités (####### SERVER - Player Player769 join world whit id : 205)
                • L’entité joueurs client apparaît en premier, mais avec le dernier ID disponible sur le serveur (####### CLIENT - Player Player769 join world whit id : 227)
                • L’entité coté client, correspondant a l’id de l’entité coté serveur, n’apparaît jamais (même avec un affichage complet des entités incluant les entités non vivante)

                il semble y avoir une dé-synchronisation des entité Player (peu être dus au faite que ce ne sont pas la même instance de classe ?) sur une version vanilla de forge… J’en ai jamais entendu parler, mais j’ai eu ce “problème” sur 2 versions forge différentes (une en 1.9 et une en 1.10)

                EDIT : J’ai eu une illumination ! Concernant le problème de synchronisation de l’id des player, je n’ai pas de réponse au pourquoi du comment… Par contre, il existe une fonction sur la variable world : getPlayerEntityByUUID. Cette fonction de sert que pour les entité joueurs, mais étant donné que c’est ce que je cherche a manipulé, cela fonctionne. Seul hic, je serai obliger de créer une autre version du packet si je souhaite faire fonctionner avec n’importe qu’elle entité.

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

                  “Seul hic”, un paquet ~2min à mettre en place surtout pour faire circuler un UUID, et passer par les UUID c’est le mieux à faire, avec l’UUID d’un joueur tu peut récupérer son instance si il est connecté, tu peux récupéré son nom si il s’est déjà connecté sur le serveur, etc … Et en cas de rename, le joueur conserve son UUID donc pas de problème en cas de rename

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

                    Je suis pas sur d’avoir compris le “hic”…
                    Un UUID est certe plus long qu’un simple integer, mais je ne vois aucune autre solution… Et les entité sont initialisé durant l’événement EntityJoinWorldEvent avec une priorité haute (et non pas la plus haute). Il y a donc un risque à utilisé le nom (qui est certainement plus court que l’UUID), justement à cause du temps de latence.

                    Par contre ton

                    un paquet ~2min à mettre en place

                    tu le sort d’ou ? Parce que 2 minutes pour un transfert de 36 caractères, même les modem 54k faisais mieux…

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

                      C’est toi qui a parlé du “hic” dans ton edit, et les 2 minutes c’est le temps d’adapter le packet aux UUID.

                      Envoyé de mon RAINBOW LITE 4G en utilisant Tapatalk

                      Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                      AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                      Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                      Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

                        Haaaa ! nan mais ce que je voulais dire par seul hic, c’est que j’aurai 2 méthodes presques identiques pour gérer les entités (par id) et les joueurs (par UUID), alors que les messages précédents préconisé de ne pas utilisé les UUID, et qu’il vaut toujours mieux minimisé la duplication de code.

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

                          Sinon tu peux aussi utiliser les UUID pour les entités autres que les joueurs, mais c’est plus compliqué pour récupérer l’entité à partir de l’UUID

                          Envoyé de mon RAINBOW LITE 4G en utilisant Tapatalk

                          Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                          AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                          Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                          Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

                            et surtout totalement con puisque pas du tous optimisé…

                            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