Solution à l'erreur « Shared Object Lib Not Found » sur l'écran Putty
L'une des erreurs fréquemment rencontrées lors du démarrage des serveurs Metin2 PVP via Putty (SSH) est "Objet partagé 'lib...' introuvable, requis par 'jeu'" C'est un avertissement. Cette erreur se produit lorsque les principaux fichiers exécutables du jeu (binaire du jeu et de la base de données) ne trouvent pas les bibliothèques de compatibilité 32 bits ou les bibliothèques de code source spéciales dont ils ont besoin dans le système d'exploitation FreeBSD, empêchant complètement le démarrage du serveur. Vous pouvez suivre les étapes ci-dessous pour résoudre le problème.
Méthode 1 : téléchargement manuel de la bibliothèque manquante sur le serveur
Le message d'erreur indique généralement clairement le nom du fichier manquant (Ex :libmd.so.5,libssl.so.10,libstdc++.so.6etc). L'introduction manuelle de ce fichier dans le système est la solution la plus définitive :
- Tout d'abord, obtenez le fichier « .so » mentionné dans le message d'erreur à partir d'une source sécurisée sur Internet ou à partir d'un autre serveur Metin2 en cours d'exécution.
- Connectez-vous à votre serveur avec Filezilla ou WinSCP.
- Installez le fichier manquant dans le répertoire suivant, en fonction de votre version et de votre infrastructure FreeBSD :
/usr/lib32/
*(Si votre fichier est sur un système d'exploitation plus ancien/usr/lib/Vous pouvez également consulter l'annuaire).* - Faites un clic droit sur le fichier que vous avez téléchargé, Autorisations de fichiers (Chmod) entrez la valeur dans 777 Mettre à jour en tant que .
Méthode 2 : créer un lien symbolique
Parfois, la bibliothèque recherchée existe réellement sur votre serveur, mais seul le numéro de version est différent (par ex.libmd.so.6il n'y a que le jeulibmd.so.5recherche). Dans ce cas, on peut créer un lien symbolique en trompant le système :
- Connectez-vous au terminal Putty et entrez dans le répertoire de la bibliothèque :
cd /usr/lib32 - Pour créer un lien hypertexte entre le fichier actuel existant et l'ancien nom de fichier recherché, exécutez la commande suivante à votre manière :
ln -s libmd.so.6 libmd.so.5 - Grâce à cette commande, le jeu
libmd.so.5Le système s'exécute automatiquement en arrière-plan lorsqu'il appelle le fichier.libmd.so.6exécutera le fichier.
Méthode 3 : Installation des packs de compatibilité FreeBSD 32 bits
Si vous l'avez installé à partir de zéro sur votre serveur et que presque aucune bibliothèque de base n'est disponible, vous pouvez télécharger en masse des bibliothèques de bibliothèques 32 bits à l'aide du gestionnaire de paquets officiel de FreeBSD. Exécutez les commandes suivantes via Putty :
pkg update pkg install compat9x-i386 pkg install compat10x-i386 pkg install compat11x-i386
*(Remarque : vous devez choisir le package compat qui convient à la version FreeBSD de votre serveur. Par exemple, si vous utilisez FreeBSD 13, vous devez installer les packages `compat13x`).*
Méthode 4 : liaison statique pendant la phase de compilation des sources (construction)
Si vous disposez du code source du jeu, vous pouvez embarquer les librairies directement dans le fichier du jeu lors de la phase de compilation, indépendamment de l'extérieur (Lien statique). Peu importe donc quelle bibliothèque se trouve sur le serveur :
- dans le dossier source du jeu
MakefileOuvrez le fichier. - Les lignes contenant les options de compilation (Flags)
-staticRecompilez la source en ajoutant le paramètre (obtenez Build).
Cet article est spécialement préparé pour PvPServer.