Welcome to Bukkit France

Inscrivez-vous maintenant pour profiter d'un accès total à tout le contenu offert par la meilleur communauté Bukkit française ! Une fois inscrit et connecté, vous pourrez contribuez à la communauté en postant vos propres sujets et questions ou en répondant à ceux existants. Vous pourrez aussi customiser votre profil, recevoir des points de réputations, communiquer avec les autres membres via le chat, et plus encore! 

LaPiMoNsTeR

Membres
  • Compteur de contenus

    255
  • Inscription

  • Dernière visite

Réputation sur la communauté

24 Neutre

1 abonné

À propos de LaPiMoNsTeR

  • Rang
    développeur
  • Date de naissance 08/06/99

Me contacter

  • Discord lapimonster#9390
  • GitHub LaPiMoNsTeR
  • Minecraft LaPiMoNsTeR
  • Site Web http://lapimonster.ovh/
  • Skype haunui06.08.99
  • Steam lapimonster
  • Twitter http://twitter.com/haunuiii

Informations de profil

  • Sexe Homme

Visiteurs récents du profil

622 visualisations du profil
  1. Erreur -> String index out of range: -1

    Est-ce que tu sais à quoi sert la ligne suivante : this.data = str.toString().split("§");   Si tu ne sais pas je vais t'expliquer : Elle coupe ta chaîne de caractères à chaque "§". Admettant qu'on a String str = "data1§data2"; String[] data = str.split("§"); Ici : data[0] = data1 data[1] = data2   Maintenant, tu split ta chaîne de caractères avec § alors que ta chaîne de caractères ne contient aucun '§'. Ce que tu devrais faire c'est : this.data = str.toString().split(", "); Comme ça : this.data[0] = motd this.data[1] = online this.data[2] = max   Mais l'exception n'est pas levée à cause de ça. Elle est censé être levée à cause du contenu de 'str.toString()' mais vu que tu nous dis que tu reçois bien tes données donc là je sais pas.
  2. Erreur -> String index out of range: -1

    Donc le problème vient de ton split
  3. Erreur -> String index out of range: -1

    Quand je parle de renvoyer, je parle de ce que contient this.data[0]. C'est à dire qu'il faut que tu vérifies si this.data[0] contient vraiment ce qu'il est censé contenir. C'est pour ça que je t'ai dis de faire un  System.out.println(str.toString()); Fait le et envoies nous ce qu'il y a marqué dans la console.
  4. Erreur -> String index out of range: -1

    Bah je ne vois que ça comme erreur. Ton exception est levée parce-que ton this.data[0] est vide.
  5. Erreur -> String index out of range: -1

    oui mais as-tu vérifié que ça te renvoie bien ça ?
  6. Erreur -> String index out of range: -1

    Avant ces lignes : this.data = str.toString().split("§"); this.data[0] = this.data[0].substring(1, this.data[0].length());   fait un : System.out.println(str.toString()); pour pouvoir voir la chaîne de caractères avant qu'elle ne soit splité et coupé. A partir de là, tu pourras peut-être voir d'où vient le problème.
  7. Erreur -> String index out of range: -1

    avant d'utiliser substring, affiche les données que tu as reçu pour voir si c'est bien ce que tu es censé recevoir.
  8. [Socket] Optimiser l'envoie / la réception

    J'ai beaucoup avancé depuis, et j'ai pratiquement réglé tous mes problèmes. Pour l'InputStream qui se bloquait j'ai découvert que quand j'envoyais des shorts ça ne les lisez pas, c'était comme si je n'avais rien envoyé. J'ai pas cherché plus j'ai envoyé des integers et ça a réglé mon problème. Pour la réception de données je procède de cette façon : Je reçois les données en asynchrone, ensuite si les données reçu doivent servir pour le serveur je lance une tâche dans le thread principal directement après la réception des données.   Merci pour vos réponses.
  9. [Socket] Optimiser l'envoie / la réception

    Yop, J'ai beaucoup avancé et j'ai encore un problème : Dans mon programme, quand j'échange des données entre le client et le serveur, au bout d'un moment le client ne reçoit plus les données, et il les reçoit qu'à la fermeture du socket. J'ai fais quelque recherche : j'ai essayé 'setTcpNoDelay()', j'ai essayé aussi d'ajouter '\n' à la fin de chaque données, mais rien.
  10. Inventaire Personnelle / Coffre virtuel [Bukkit 1.7.X]

    Yo, Il faut que tu stocks les inventaires. Là à chaque fois que le joueur tape la commande /nc, ça créé un nouvel inventaire.   Ce que tu peux faire : A la connexion du joueur, tu lui créé un inventaire que tu stocks quelque part (dans une Map par exemple), et ensuite quand il tape la commande /nc tu ouvres  l'inventaire que tu as stocké à la connexion du joueur.
  11. [Socket] Optimiser l'envoie / la réception

    Je pense avoir trouvé le problème, je fais quelque test. Par contre j'aurais une question : Si je fais la réception de données en asynchrone, mais qu'avec ces données j'ai besoin d'exécuter une tâche dans le thread principal, est-ce que y'a moyen de lancer une tâche dans le thread principal à partir de la tâche asynchrone ? est-ce que c'est "propre" ?   Exemple :     Et cette tâche est lancé dans onEnable()
  12. [Socket] Optimiser l'envoie / la réception

    oui j'en ai entendu parler mais je préfère rester dans les sockets.   Mais déjà est-ce que c'est normal que si on envoie 2 données à la suite y'en a une qui pratiquement "perdu" ? Où c'est pas censé faire ça ?
  13. Version (serveur) : 1.7.10 API utilisée : bungeecord / bukkit IDE utilisé : Eclipse Explications du problème rencontré : Donc voilà, j'ai eu besoin d'un moyen de communication entre serveur. Je n'ai pas pris le système de pluginmessage de bungeecord car il faut un joueur connecté pour pouvoir envoyer un message, j'ai donc opté pour les sockets. J'ai fais quelque test et j'ai remarqué quelque truc : Si j'envoie 2 fois d'affilés des données, les données qui on été envoyé en 2e sont réceptionné une fois sur deux. Donc pour y remédier, j'ai trouvé 2 solutions :  J'ajoute les données écrite à une liste avec un runnable qui check et envoie toutes les 500ms une série de données, et la retire ensuite de la liste. Comme ça, ça laisse un laps de temps à la série de données précédente d'attendre le serveur socket et d'être interprété.      Ma 2e solutions aurait été de faire un accusé de réception : quand le client envoie des données, le serveur les valides en ré envoyant un message. Mais quand on y réfléchie bien, ça ramène au problème, Il faudra ré envoyer un accusé de réception pour l'accusé de réception envoyé par le serveur, donc bon ..   Je cherche le meilleur moyen de procéder et surtout pour ne perdre aucune données.   Merci d'avance.
  14. Problème lors de la suppression d'un monde

    Je pense que le problème vient de windows, j'ai essayé le plugin sur une machine linux, il n'y a pas d'erreur. Je suis encore entrain de faire quelque test pour être sûr
  15. Version (serveur) : 1.7.10 API utilisée : spigot IDE utilisé : Eclipse Explications du problème rencontré : Lors de la suppression des fichiers d'un monde, le plugin coince au niveau des fichiers .mca (les chunks). Pourtant j'ai déchargé le monde, j'ai même déchargé tout les chunks, mais toujours la même erreur. Je pense que les fichiers sont toujours utilisés, car quand j'essaye de les supprimés à la main, ça me marque qu'ils sont utilisés par un programme Java (donc le serveur). Recherches effectuées : bukkit.org, minecraft forum Code d'erreur : Code :    RestoreWorld class   Exemple   Informations supplémentaires : Au debut j'essayais de restaurer le monde world, mais j'ai lu quand ne pouvait pas le décharger, du coups j'ai essayé avec un monde que je créé moi même, mais toujours pareil.   Merci d'avance.