Solução para o erro “Shared Object Lib Not Found” na tela do Putty
Um dos erros frequentemente encontrados ao iniciar servidores Metin2 PVP via Putty (SSH) é "Objeto compartilhado 'lib...' não encontrado, exigido pelo 'jogo'" É um aviso. Este erro ocorre quando os principais arquivos executáveis do jogo (jogo e binário de banco de dados) não conseguem encontrar as bibliotecas de compatibilidade de 32 bits ou bibliotecas de código-fonte especiais necessárias no sistema operacional FreeBSD, impedindo completamente a inicialização do servidor. Você pode seguir as etapas abaixo para resolver o problema.
Método 1: Carregar manualmente a biblioteca ausente para o servidor
A mensagem de erro geralmente indica claramente o nome do arquivo ausente (Ex:libmd.so.5,libssl.so.10,libstdc++.so.6etc.). Introduzir manualmente este arquivo no sistema é a solução mais definitiva:
- Primeiro, obtenha o arquivo `.so` mencionado na mensagem de erro de uma fonte segura na Internet ou de outro servidor Metin2 em execução.
- Conecte-se ao seu servidor com Filezilla ou WinSCP.
- Instale o arquivo ausente no seguinte diretório, dependendo da sua versão e infraestrutura do FreeBSD:
/usr/lib32/
*(Se o seu arquivo estiver em um sistema operacional mais antigo/usr/lib/Você também pode verificar o diretório).* - Clique com o botão direito no arquivo que você enviou, Permissões de arquivo (Chmod) insira o valor em 777 Atualizar como .
Método 2: Criando um link simbólico
Às vezes, a biblioteca pesquisada realmente existe no seu servidor, mas apenas o número da versão é diferente (por exemplo,libmd.so.6existe apenas o jogolibmd.so.5está pesquisando). Neste caso, podemos criar um link simbólico enganando o sistema:
- Conecte-se ao terminal Putty e entre no diretório da biblioteca:
cd /usr/lib32 - Para vincular o arquivo atual existente ao antigo nome do arquivo pesquisado, execute o seguinte comando à sua maneira:
ln -s libmd.so.6 libmd.so.5 - Graças a este comando, o jogo
libmd.so.5O sistema é executado automaticamente em segundo plano quando chama o arquivo.libmd.so.6irá executar o arquivo.
Método 3: Instalando pacotes de compatibilidade do FreeBSD de 32 bits
Se você o instalou do zero em seu servidor e quase nenhuma biblioteca base está disponível, você pode fazer download em massa de bibliotecas de 32 bits usando o gerenciador de pacotes oficial do FreeBSD. Execute os seguintes comandos via Putty:
pkg update pkg install compat9x-i386 pkg install compat10x-i386 pkg install compat11x-i386
*(Nota: Você deve escolher o pacote de compatibilidade que seja adequado para a versão FreeBSD do seu servidor. Por exemplo, se você estiver usando o FreeBSD 13, você deve instalar os pacotes `compat13x`).*
Método 4: vinculação estática durante a fase de compilação (construção) do código-fonte
Se você tiver o código-fonte do jogo, poderá incorporar as bibliotecas diretamente no arquivo do jogo durante a fase de compilação, independente de fora (Link estático). Portanto, não importa qual biblioteca está no servidor:
- na pasta de origem do jogo
MakefileAbra o arquivo. - As linhas contendo as opções de compilação (Flags)
-staticRecompile a fonte adicionando o parâmetro (obtenha Build).
Este artigo foi preparado especialmente para PvPServer.