BusyIzi
Membre-
Compteur de contenus
25 -
Inscription
-
Dernière visite
-
Jours gagnés
1
Type de contenu
Profils
Forums
Boutique
Calendrier
Tout ce qui a été posté par BusyIzi
-
Ah ce n'est pas normal tu penses ? J'me suis dit que load 20 maps avec tous les mobs ça mangeait beaucoup
-
Bon problème résolu, maintenant ça me semble tellement évident... J'ai donc essayé en modifiant le CONFIG du core4 an mettant seulement les 10 premières map et en les ajoutant une a une jusqu'à ce que ça plante. Sauf que c'était complètement aléatoire, parfois ça plantait pour la map 72, parfois 70, je ne comprenais rien ! J'ai ouvert un terminal avec la commande Top pour monitorer un peu la machine, voir les consommations de ram. Effectivement l'OS faisait sauter le core4 au lancement car il bouffait toute la ram ! A lui tout seul c'est quasiment 500Mo de disparus, sur une machine de 1Go de Ram forcément ça n'a pas plu à l'OS qui s'empressait de virer ce process trop lourd. (C'est aussi pour ça qu'il n'y a rien dans les logs, le process se faisait simplement kill) Seule solution : Monter la ram de la machine. Je l'ai lu 15 fois en faisant mes recherches mais je ne comprenais pas du tout le rapport avec mes déconnexions sur certaines maps donc j'ai mis ça de côté. Leçon du jour : Si on se fait déconnecter à la sélection du personnage c'est soit que l'IP est mal configurée, soit c'est un problème de ports, soit c'est que la machine n'est pas bien dimensionnée et vire quelques cores au passage ! Désolé d'avoir posté pour ça du coup, la question avait déjà été posée et la réponse déjà apportée (bon par contre c'était pas du tout expliqué ) Merci Galet
-
Voilà les maps du core4 MAP_ALLOW: 61 62 63 65 66 67 68 69 70 71 72 73 74 75 76 77
-
Merci pour cette piste Galet, ça aurait pu carrément être ça je n'y avais pas pensé ! Mais après vérification tous les cores sont pourvus d'un lien symbolique vers le game, le game n'est pas en dur. J'ai regardé un peu du côté des ports avec la commande netstat. En fait, tous les cores tournent sur les ports configurés sauf le core4 (qui contient toutes les maps qui sautent). Donc impossible de se connecter sur une socket qui n'est pas ouverte alors ça fait tout sauter ! Le truc bizarre c'est qu'il n'y a rien dans le syserr Là j'ai essayé en chargeant une seule map dans le core4 et ça marche ! Ça veut dire qu'il y a une des 20 map chargées initialement qui fait tout sauter, j'ai juste à les essayer une à une et voir les syslog au passage pour voir ce qui provoque tout ce bordel dans un silence le plus total. Je posterai les résultats de mon enquête Merci de ton aide en tout cas
-
Non et je pense avoir compris pourquoi ! Je comprends mieux le chargement des maps, donc chaque core est responsable de charger plusieurs maps grâce à une liste d'index de map données dans la clé MAP_ALLOW. Dans mon core1, on charge les map1 et map2 des trois royaumes, ça passe nikel. La map orc par exemple est chargée dans le core4 (id 64), si je la retire du fichier CONFIG du core4 pour l'ajouter dans le core1 je peux me connecter dessus ! Le problème doit venir des ports encore une fois, le core4 démarre sur le port 13003 tandis que le core1 sur le 13000 dans mon cas. C'est plutôt de ce côté là qu'il faut que je creuse je pense. PS : Dommage que le client ne log pas les erreurs de connexion aux sockets, ça aiderait beaucoup à débugger Toutes les idées sont bonnes, envoyez ! :happy:
-
Me revoilà pour de nouveaux problèmes de déconnexion ! Après avoir résolu les problèmes de déco à la sélection des personnages j'ai un problème étrange. En effet cela arrive selon où se trouve le personnage. Exemple : Un perso qui est map 1, map 2 (bleu/jaune/rouge) aucun problème, je me connecte sans soucis. Dès que je me téléporte (orcs, cave2, tour) je me fait déconnecter. Peu importe la manière dont je me TP le perso se fait déconnecter (téléporteur, item, TP GM) Une fois que le perso est téléporté il m'est impossible de me connecter sur ce perso, sauf si je le remet map 1 manuellement dans la base de données. Des idées ? Bien évidemment rien dans les logs... :@ Version des files : 2014 Domaine (Base de données, Core, etc.) : Téléportation Ingame Votre niveau (débutant, intermédiaire, avancé) : intermédiaire Description du problème : Déconnexion à la téléportation sur une map commune (orcs, cave, etc) Comment reproduire le problème : Se téléporter Ingame Recherches et tests effectué : Seulement certaines map sont soumises au problème ce qui complexifie le diagnostic. A noter que les files sont un copié collé d'une version de mon serveur local qui marchait très bien avec ces maps... J'ai regardé s'il n'y avait pas de problèmes de droit j'ai tout passé en 777 pour tester et rien n'y fait Résultat des recherches et tests : J'ai vu que d'autres personnes ont rencontré le même problème mais ils n'ont pas mis la solution dans leur topic... Message d'erreur, capture d'écran : Nada !
-
Déconnexion sélection personnages
BusyIzi a répondu à un(e) question de BusyIzi dans Questions & Réponses
Merci ! Je compte faire plusieurs tutos oui après tous les problèmes que j'ai eu et ce n'est pas fini ! -
Déconnexion sélection personnages
BusyIzi a répondu à un(e) question de BusyIzi dans Questions & Réponses
EUREKA ! C'était bien cela... Foutu maxi firewall d'Amazon. Bon ça m'étonnerait que ça arrive à quelqu'un d'autre mais on se sait jamais alors voici ma solution : Le problème c'est que l'instance d'Amazon ne sait pas créer de socket tcp sur l'ip publique car elle n'y a pas accès directement. En effet quand on tape ifconfig on voit que les interfaces réseau configurées possèdent toutes des IP privées. Impossible d'y accéder de l'extérieur, c'est une sécurité. Sauf que si on met une IP privée dans le BIND_IP des Config des cores, le client ne pourra jamais s'y connecter (déco à la sélection des personnages). Pour contourner cela, il faut que le serveur Metin2 créé des sockets sur l'IP privée mais transmette l'IP publique au client. Amazon se charge de la correspondance IP privée/publique, donc une socket ouverte sur une IP privée sera transmise sur l'IP publique et vice-versa. Pour se faire il faut modifier les fichiers config.cpp et main.cpp des sources Dans le fichier de config.cpp, on va récupérer les valeurs des IP publique/privée TOKEN("bind_private_ip") { strlcpy(g_szInternalIP, value_string, sizeof(g_szInternalIP)); fprintf(stderr, "Reading private IP : %s\n", value_string); strlcpy(g_szIPInterne, value_string, sizeof(g_szIPInterne)); } TOKEN("bind_public_ip") { strlcpy(g_szPublicIP, value_string, sizeof(g_szPublicIP)); fprintf(stderr, "Reading public IP : %s\n", value_string); strlcpy(g_szIPExterne, value_string, sizeof(g_szIPExterne)); } Il faut bien sur configurer vos IP publiques/privées dans les fichier CONFIG des cores de chaque channel BIND_PRIVATE_IP: XXX.XXX.XXX.XXX BIND_PUBLIC_IP: XXX.XXX.XXX.XXX Ici pour arrivez à récupérer les données des fichiers CONFIG. Le main.cpp va pouvoir y avoir accès quand il appelera le config_init. Dans le main.cpp il faut créer les socket tcp sur les IP privées (si elles existent) Cherchez la ligne if ((tcp_socket = socket_tcp_bind(g_szPublicIP, mother_port)) == INVALID_SOCKET) Et remplacez l'intégralité de la condition comme suit if ((tcp_socket = socket_tcp_bind(*g_szInternalIP ? g_szInternalIP : g_szPublicIP, mother_port)) == INVALID_SOCKET) { fprintf(stderr, "Invalid IP %s", *g_szInternalIP ? g_szInternalIP : g_szPublicIP, mother_port); perror("socket_tcp_bind: tcp_socket"); return 0; } Même chose avec la ligne if ((p2p_socket = socket_tcp_bind(g_szPublicIP, p2p_port)) == INVALID_SOCKET) Remplacez comme suit if ((p2p_socket = socket_tcp_bind(*g_szInternalIP ? g_szInternalIP : g_szPublicIP, p2p_port)) == INVALID_SOCKET) { perror("socket_tcp_bind: p2p_socket"); return 0; } Compilez, remplacez le game et on est bon ! -
Déconnexion sélection personnages
BusyIzi a répondu à un(e) question de BusyIzi dans Questions & Réponses
Non c'est un game mainline compilé sur mon serveur avec quelques ajouts des tutos de ce forum, idem pour les files 2014. Le client est un compilé oui je n'ai pas les sources de celui-ci en revanche. Mais je pense savoir d'où vient tout ce bazar en fait... Mon serveur (hardware) est dans le cloud, chez Amazon. Amazon utilise un VPC (Virtual Private Cloud), un réseau privé virtuel avec ses propres IP privées. Je dois mettre l'IP privée dans le BIND_IP pour que cela marche. Côté client dans le sysinfoserver j'ai l'IP publique. C'est pour cela que la connexion au compte fonctionne. Sauf que après c'est le client qui récupère l'IP privée configurée dans le BIND_IP (pour se connecter aux sockets ouvertes par le game côté serveur) lors de la phase du choix des personnages (j'ai bon ?) et forcément c'est une IP privée donc impossible d'y accéder depuis le client, alors la connexion est fermée et retour à la page du choix de serveur. Du coup je regarde pour modifier le config.cpp pour prendre en compte ces deux IP différentes plutôt qu'une seule IP publique. Je vous tiens au courant :angel: -
Bonjour, J'ai un peu traîné dans la création de mon serveur dédié donc j'ouvre un nouveau sujet, l'ancien ayant été fermé. Après avoir bieeeeen galéré pour installer le serveur Metin2 sur le dédié, j'ai enfin réussi à me connecter au serveur à partir de mon client. Simplement maintenant je me fait déco à la sélection des personnages. J'ai bien sûr lu les 5 pages de résultats de la recherche avec le mot clé "Déconnexion", tous les sujets abordent des solutions différentes, on parle aussi de laucher by danger et dans un autre sujet j'ai lu qu'il n'était plus compatible avec les files 2012. Enfin bref aucune info tangible. J'ai suivi ce tuto (/topic/18028-thread/) pour configurer les attributs BIND_IP des fichiers Config et modifié mon config.cpp Aucune erreur lors du lancement du serveur, aucune trace dans les syserr (tous vierges), rien de croustillant dans les sysinfo, rien dans les logs du client.... Frustrant ! Version des files : 2014 Domaine (Base de données, Core, etc.) :Client Votre niveau (débutant, intermédiaire, avancé) :intermédiaire Description du problème : Déconnexion sélection des personnages Comment reproduire le problème : A chaque fois que l'on tente de sélectionner un personnage Recherches et tests effectué : Lecture de tous les sujets à ce propos, j'ai refais le tuto de Calypso 3 fois pour être sur de ne pas m'être planté quelque part Résultat des recherches et tests : Que nenni ! C'est très frustrant de n'avoir aucune log, il n'y a pas de mode verbose pour faire parler un peu le serveur ? Merci de m'avoir lu !
-
Problème déconnexion serveur en local
BusyIzi a répondu à un(e) question de BusyIzi dans Questions & Réponses
Verdict, Hamachi n'a rien résolu :huh: Je ne comprends vraiment pas ce qui justifie ces déconnexions. La VM est bien dimensionnée, je n'ai pas de problème particulier concernant mon réseau local. Vraiment je ne vois pas -
Problème déconnexion serveur en local
BusyIzi a répondu à un(e) question de BusyIzi dans Questions & Réponses
D'accord j'essayerai demain avec Hamachi. Je laisse le topic ouvert, je posterai les résultats. Merci une fois de plus -
Problème déconnexion serveur en local
BusyIzi a répondu à un(e) question de BusyIzi dans Questions & Réponses
Je suis en IP locale, c'est à dire que pour le moment j'ai configuré le client avec l'ip locale de mon réseau (192.168.0.X), donc ni hamachi ni no_ip. De ce fait seulement les pc du même réseau local (mon réseau wifi) peuvent s'y connecter. Et cela fonctionne très bien ! C'est à dire que depuis un autre pc je peux jouer tranquillement jusqu'à me faire déconnecter brutalement au bout de 5, 10 minutes ou même une heure c'est très aléatoire. En revanche si le jeu est lancé depuis la machine sur laquelle se trouve la VM je ne me fais jamais déconnecter, c'est uniquement d'un autre ordi du même réseau. Effectivement je comprends mieux ton tuto dans le cas où la deconnexion arrive dès la sélection du personnage -
Problème déconnexion serveur en local
BusyIzi a répondu à un(e) question de BusyIzi dans Questions & Réponses
Merci Calypso je vais modifier les sources et voir si ça change quelque chose. Mais si j'ai bien compris, si c'est une histoire d'adresse IP alors l'autre pc ne pourrait pas se connecter du tout non ? -
Problème déconnexion serveur en local
BusyIzi a répondu à un(e) question de BusyIzi dans Questions & Réponses
Visiblement non... :huh: Quelle est la modification à apporter ? (j'ai bien les sources) -
Bonjour, c'est à nouveau moi avec un soucis cette fois-ci concernant des problèmes de déconnexion du serveur. Version des files : 2014 Domaine (Base de données, Core, etc.) : Ingame Votre niveau (débutant, intermédiaire, avancé) : Intermédiaire Description du problème : La VM hébergeant le jeu est sur mon pc, je peux ouvrir un client et jouer sans problème sans jamais être déconnecté. En revanche lorsque quelqu'un d'autre joue avec moi (sur un pc différent mais sur le réseau local 192.160.0.XX), il peut se connecter et jouer normalement mais se fait déconnecter très fréquemment,parfois au bout de 10 secondes parfois au bout de 10 minutes. Là où je sèche complètement c'est qu'il n'y a rien dans les syserr (Auth, db, game99, core1 2 3 4 5, ...) qui pourrait expliquer cette déconnexion momentanée. Et cela arrive en faisant des choses complètement différentes (en ne bougeant pas, en xp, en bougeant à cheval, a pied, avec ou sans skills, ..) Comment reproduire le problème : Impossible à reproduire consciemment, ça arrive n'importe quand sans prévenir Recherches et tests effectué : Recherche dans les syserr, mise en réseau du PC par câble plutôt que wifi Résultat des recherches et tests : Rien ne change, les déconnexions sont toujours aussi fréquentes Des pistes vers lesquelles je pourrai me diriger ? Mon réseau wifi est assez performant pour supporter deux connexions simultanées... Et la VM est suffisamment dimensionnée avec 2GO de ram
-
Ah d'accord ! Du coup la conf est chargée depuis les fichiers TXT en DB et ensuite le serveur de Metin2 tape dans la DB directement... Je ne savais pas, merci beaucoup PS : Dès que je maîtriserai correctement mon environnement je posterai des tutos à mon tour
-
Merci de ta réponse, justement je valide bien et je vois que les données sont mises à jour côté serveur lorsque je les regarde par la commande mysql. Sauf que quand je le redémarre ça me reprend les anciennes données
-
Bonjour, Je souhaite mettre à jour les rates de mon serveur en suivant ce tuto : /topic/3324-files-2012-bien-calculer-vos-rates/ J'exécute la requête SQL, mob_proto se met bien à jour avec les nouvelles xp de chaque mob mais le serveur de metin2 ne les prend jamais en compte. En effet dès que je redémarre le serveur pour que les modifications soient prises en compte les données que j'ai modifié sont écrasées par les anciennes à chaque fois. Je dois louper quelque chose... Version des files : 2014 Domaine (Base de données, Core, etc.) : Base de données Votre niveau (débutant, intermédiaire, avancé) : Intermédiaire Description du problème : Exp des mobs jamais mise a jour et écrasée par les anciennes valeurs Comment reproduire le problème : Mettre à jour la table mob_proto et redémarrer le serveur Recherches et tests effectué : Suivi des tutos Résultat des recherches et tests : Dans les tutos ça parait aussi simple que de modifier les valeurs directement dans Navicat et relancer le serveur. En pratique la relance du serveur écrase les données que j'ai modifié manuellement dans Navicat. Je sens que c'est un problème tout bête surement rencontré des dizaines de fois, j'ai recherché dans la catégorie Aide pendant plusieurs jours des problèmes similaires sans jamais rien trouver... Soit je cherche comme une tanche, soit il y a quelque chose d'évident que je n'ai pas fait ! Merci d'avoir lu jusqu'ici
-
Lib libanticpxsvr pour compilation des sources
BusyIzi a répondu à un(e) question de BusyIzi dans Questions & Réponses
Bon ben résolu, après des heures de recherche j'ai réussi à tomber dessus par hasard. Pour ceux qui en ont besoin : [Hidden Content] -
Lib libanticpxsvr pour compilation des sources
BusyIzi a posté une question dans Questions & Réponses
J'avance tout doucement dans la création from scratch de mon serveur, encore merci à Calypso & Galet pour vos tutos Dans les sources que j'ai téléchargé, impossible de mettre la main sur la lib libanticpxsvr.a, je ne l'ai pas dans mes sources malgré l'arborescence du dossier libhackshield que j'ai bien. Où puis-je trouver cette lib ? Je n'ai pas les sources pour la compiler et générer le .a ou .so Version des files : 2012 Domaine (Base de données, Core, etc.) : Sources Votre niveau (débutant, intermédiaire, avancé) : Débutant Description du problème : Lib libanticpxsvr.a Message d'erreur, capture d'écran : /usr/local/bin/ld: cannot find -lanticpxsvr collect2: error: ld returned 1 exit status Makefile:135: recipe for target '../game_r40250_32' failed Merci de votre aide -
Entendu je ferai la montée de version au passage, j'ai vu ton tuto là-dessus. Merci !
-
C'est pour le moins complet ! Je vais éplucher tout cela Merci merci merci
-
1 / En effet je l'ai installé et le téléchargement s'est bien lancé ! 2 / Ok donc il faut ajouter les sources directement sur le FreeBSD via WinSCP afin de pouvoir compiler dessus, je dois prendre absolument les sources de 2.60go ou celles contenant uniquement les dossiers common/game/libmysql suffiront ? (2.60Go pour des fichiers textes je trouve ça énorme j'imagine qu'il n'y a pas que cela !) 3 / Novaline exact ! D'accord très bien je retiens ces précieuses informations Merci beaucoup, je clôture le sujet dès que j'en sais un peu plus sur les fichiers sources à utiliser
-
Bonjour, Nouveau sur ce forum je tiens tout d'abord à remercier tous les protagonistes pour la foule de tuto, aides et partages en tout genre, c'est un sacré travail ! Je suis développeur java depuis 5 ans et je m'essaie à monter un serveur metin2 en local pour jouer un peu avec le C++ et apprendre plein de choses au passage. Simplement voilà, je n'ai malheureusement pas trouvé de maxi tuto où tout est expliqué de A à Z, tout est un peu dispersé par ci par là et j'avoue avoir du mal à m'y retrouver. Les étapes que j'ai réalisées : - Téléchargement et installation d'un vdi, émulation avec Microsoft Virtual PC - Installation des files 2012 (je souhaite y rester si possible !) - Changement de l'IP du client pour matcher celle du serveur local En somme, tout roule ! Je suis capable de me connecter au serveur et jouer sans problème (mise à part des déconnexions intempestives mais ce n'est pas mon problème principal). J'ai trouvé sur le forum les sources du jeu : /topic/14719-thread/ et /topic/16630-thread/&highlight=mainline Il m'est impossible de télécharger les sources du premier lien avec Mega, le téléchargement bloque en initialisation.. Je me suis rabattu sur le deuxième lien, avec succès. Mais pourquoi de tels écarts au niveau de la taille ? 2,6Go pour le premier lien et 40Mo pour le deuxième ? Si je comprends bien globalement il faut ouvrir les sources avec Visual Studio, compiler le code et placer le fichier game généré dans le /usr/metin2/share côté serveur c'est bien cela ? Les dossiers common, game et libmysql suffisent pour avoir mes propres sources ou faut-il absolument trouver les 2,60go de sources ? Accessoirement, j'ai lu le terme plusieurs fois, que signifie mainline ? Et l'autre terme je ne me souviens plus exactement, quelque chose que Vodaline ou un truc dans le genre :angel: Merci de m'éclairer de vos lanternes Version des files : 2012 Domaine (Base de données, Core, etc.) : Serveur / Sources Votre niveau (débutant, intermédiaire, avancé) : débutant En postant ma demande d'aide, j'affirme avoir lu et accepté le règlement des demandes d'aides.[Message d'introduction] Version des files : Domaine (Base de données, Core, etc.) : Votre niveau (débutant, intermédiaire, avancé) : Description du problème : Comment reproduire le problème : Recherches et tests effectué : Résultat des recherches et tests : Message d'erreur, capture d'écran : En postant ma demande d'aide, j'affirme avoir lu et accepté le règlement des demandes d'aides.
