Aller au contenu
  • 0

Compilation client/serveur et compatibilité


Nexooh

Question

Version des Files 2014 (Kraizy)

Hello à tous,

 

1. Description du dysfonctionnement / Question :

Nouveau dans l'émulation Metin2, je m'attaque aux sources du client et du serveur.

Après avoir suivi un tutoriel pour l'ajout des niveaux, je suis rendu à compiler :

  • mon game
  • ma db
  • mon client

 

La compilation se passe bien, le démarrage du serveur aussi, la connexion aussi, c'est au moment d'entrer en jeu (après la sélection du personnage), que le client crash.

Au vu des erreurs que je peux voir dans mon syserr côté client, il semble qu'il ne soit plus en phase avec le côté serveur (cf. partie 2), apparemment que le système des ceintures n'est pas implémenté côté client ou serveur (je pencherais ici plus pour le côté client ?).

 

Il est à noter que j'ai suivi ce tutoriel pour la compilation de mon client https://metin2.dev/board/topic/22115-compile-client-with-vs19-src/?tab=comments#comment-120315

J'en suis à supposer qu'il faut faire gaffe à une compatibilité entre le client et le serveur, mais là, je bloque, car je n'ai pas vu ce genre de mention dans les différents tutoriels que j'ai utilisés.

 

Donc, si mon intuition est bonne, avez-vous une piste que je pourrais explorer pour assurer la compatibilité entre mon client et mon serveur, et que je puisse compiler à la façon de Mali61 ? Et si je me plante, avez-vous une idée de ce qui peut bien se passer ? :)

 

2. SysErr ( Client / Server ) / SysLog ( Server )

Révélation

0427 12:22:19036 :: invalid idx 0
0427 12:22:35222 :: CPythonPlayer::SetSkillLevel(SlotIndex=1, SkillLevel=335609856)
0427 12:22:35222 :: CPythonPlayer::SetSkillLevel(SlotIndex=3, SkillLevel=335609856)
0427 12:22:35395 :: Failed to load script file : locale/fr/ui/InventoryWindow.py
0427 12:22:35396 :: 
ui.py(line:2782) LoadScriptFile
system.py(line:192) execfile
system.py(line:163) Run
locale/fr/ui/InventoryWindow.py(line:92) <module>

LoadScriptFile!!!!!!!!!!!!!! - <type 'exceptions.AttributeError'>:'module' object has no attribute 'EQUIPMENT_BELT'

0427 12:22:35396 :: ============================================================================================================
0427 12:22:35396 :: Abort!!!!


0427 12:22:35396 :: 
uiInventory.py(line:284) __LoadWindow
ui.py(line:2799) LoadScriptFile
exception.py(line:36) Abort

InventoryWindow.LoadWindow.LoadObject - <type 'exceptions.SystemExit'>:

0427 12:22:35396 :: ============================================================================================================
0427 12:22:35396 :: Abort!!!!

 

3. Comment le reproduire ?

  1. Utiliser la VDI présentée ici : 
  2. Installer les sources présentées ici
  3. Faire les modifications de ce tutoriel : 
  4. Compiler les sources client en suivant ce tutoriel : https://metin2.dev/board/topic/22115-compile-client-with-vs19-src/?tab=comments#comment-120315

 

 

 

Merci à tous,

Cordialement

Lien à poster

2 réponses à cette question

Messages recommandés

  • 0
  • Administrateur

Si je ne m'abuse, je ne pense pas que ton client crash suite à ton upgrade VS2019.

Je l'ai réalisé sans problème...

 

Je constate cette erreur dans ton syserr : Failed to load script file : locale/fr/ui/InventoryWindow.py, je dirai que ton client crash car il n'arrive pas à charger les données de ton ou tes packs...

  • J'adore 1
Lien à poster
  • 0

Merci pour ta réponse si rapide ! :)

 

Effectivement j'ai remarqué cette erreur, je me suis dit que c'était à cause de la ligne un peu en-dessous

LoadScriptFile!!!!!!!!!!!!!! - <type 'exceptions.AttributeError'>:'module' object has no attribute 'EQUIPMENT_BELT'

Cependant, en allant chercher dans le pack en question, je ne vois pas de souci particulier...

 

Dans locale/fr/inventorywindow.py, je vois "import item" , qui est utilisé ligne 92 du fichier :

{"index":item.EQUIPMENT_BELT, "x":39, "y":106, "width":32, "height":32},

Cependant, sais-tu où je peux trouver le module correspondant ?

 

EDIT :

Finalement, problème résolu.

 

J'ai trouvé la réponse ici https://metin2.dev/board/topic/979-i-compile-bin-with-mainline-and-this-syserror-accuse/

Avant de compiler le binaire, il fallait éditer le fichier client locale_inc.h et ajouter cette ligne :

#define ENABLE_NEW_EQUIPMENT_SYSTEM

 

Merci pour ton aide ASIKOO, et pardon pour le post un peu inutile finalement...

Modifié par Nexooh
Lien à poster
Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.


Shoutbox

Shoutbox

Chatroom Rules

 

Rejoignez notre Discord

Une demande d'aide = Bannissement de la Shoutbox

Soyez respectueux & Respectez les règles

 

×
×
  • Créer...

Information importante

Conditions d’utilisation / Politique de confidentialité / Règles / Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.