Solución al error "Libración de objeto compartido no encontrada" en la pantalla Putty
Uno de los errores más frecuentes al iniciar servidores PVP de Metin2 a través de Putty (SSH) es "Objeto compartido 'lib...' no encontrado, requerido por 'juego'" Es una advertencia. Este error ocurre cuando los archivos ejecutables principales del juego (juego y binario db) no pueden encontrar las bibliotecas de compatibilidad de 32 bits o las bibliotecas de código fuente especiales que necesita en el sistema operativo FreeBSD, impidiendo por completo que el servidor se inicie. Puede seguir los pasos a continuación para resolver el problema.
Método 1: cargar manualmente la biblioteca que falta en el servidor
El mensaje de error suele indicar claramente el nombre del archivo que falta (por ejemplo:libmd.so.5,libssl.so.10,libstdc++.so.6etc.). Introducir manualmente este archivo en el sistema es la solución más definitiva:
- Primero, obtenga el archivo `.so` mencionado en el mensaje de error de una fuente segura en Internet o de otro servidor Metin2 en ejecución.
- Conéctese a su servidor con Filezilla o WinSCP.
- Instale el archivo que falta en el siguiente directorio, según su versión e infraestructura de FreeBSD:
/usr/lib32/
*(Si su archivo está en un sistema operativo más antiguo/usr/lib/También puedes consultar el directorio).* - Haga clic derecho en el archivo que cargó, Permisos de archivos (Chmod) introduzca el valor en 777 Actualizar como .
Método 2: crear un enlace simbólico
A veces, la biblioteca buscada realmente existe en su servidor, pero solo el número de versión es diferente (p. ej.libmd.so.6solo queda el juegolibmd.so.5está buscando). En este caso, podemos crear un enlace simbólico engañando al sistema:
- Conéctese a la terminal Putty e ingrese al directorio de la biblioteca:
cd /usr/lib32 - Para vincular el archivo actual existente con el nombre del archivo antiguo buscado, ejecute el siguiente comando a su manera:
ln -s libmd.so.6 libmd.so.5 - Gracias a este comando, el juego
libmd.so.5El sistema se ejecuta automáticamente en segundo plano cuando llama al archivo.libmd.so.6ejecutará el archivo.
Método 3: instalar paquetes de compatibilidad de FreeBSD de 32 bits
Si lo ha instalado desde cero en su servidor y casi no hay bibliotecas base disponibles, puede descargar bibliotecas de 32 bits de forma masiva utilizando el administrador de paquetes oficial de FreeBSD. Ejecute los siguientes comandos a través de Putty:
pkg update pkg install compat9x-i386 pkg install compat10x-i386 pkg install compat11x-i386
*(Nota: debe elegir el paquete de compatibilidad que sea adecuado para la versión FreeBSD de su servidor. Por ejemplo, si está utilizando FreeBSD 13, debe instalar los paquetes `compat13x`).*
Método 4: Enlace estático durante la fase de compilación (compilación) del código fuente
Si tienes el código fuente del juego, puedes incrustar las bibliotecas directamente en el archivo del juego durante la fase de compilación, independientemente del exterior (enlace estático). Entonces no importa qué biblioteca esté en el servidor:
- en la carpeta fuente de tu juego
MakefileAbra el archivo. - Las líneas que contienen las opciones de compilación (Flags)
-staticVuelva a compilar el código fuente agregando el parámetro (obtener compilación).
Este artículo está especialmente preparado para PvPServer.