Solução para o erro “Shared Object Lib Not Found” no ecrã do Putty
Um dos erros frequentemente encontrados ao iniciar servidores Metin2 PVP via Putty (SSH) é "Objeto partilhado 'lib...' não encontrado, exigido pelo 'jogo'" É um aviso. Este erro ocorre quando os principais ficheiros executáveis do jogo (jogo e binário de base de dados) não conseguem encontrar as bibliotecas de compatibilidade de 32 bits ou bibliotecas de código-fonte especiais necessárias no sistema operativo FreeBSD, impedindo completamente o arranque do servidor. Pode seguir os passos abaixo para resolver o problema.
Método 1: Carregar manualmente a biblioteca em falta para o servidor
A mensagem de erro indica normalmente claramente o nome do ficheiro em falta (Ex:libmd.so.5,libssl.so.10,libstdc++.so.6etc.). Introduzir manualmente este ficheiro no sistema é a solução mais definitiva:
- Em primeiro lugar, obtenha o ficheiro `. so` mencionado na mensagem de erro de uma fonte segura na Internet ou de outro servidor Metin2 em execução.
- Ligue-se ao seu servidor com o Filezilla ou WinSCP.
- Instale o ficheiro em falta no seguinte diretório, dependendo da sua versão e infraestrutura do FreeBSD:
/usr/lib32/
*(Se o seu ficheiro estiver num sistema operativo mais antigo/usr/lib/Também pode verificar o diretório).* - Clique com o botão direito do rato no ficheiro que enviou, Permissões de ficheiros (Chmod) Introduza o valor em 777 Atualizar como .
Método 2: Criação de um link simbólico
Por vezes, a biblioteca pesquisada existe realmente no seu servidor, mas apenas o número da versão é diferente (por ex.libmd.so.6existe apenas o jogolibmd.so.5está a pesquisar). Neste caso, podemos criar um link simbólico enganando o sistema:
- Ligue-se ao terminal Putty e entre no diretório da biblioteca:
cd /usr/lib32 - Para ligar o ficheiro atual existente ao antigo nome do ficheiro 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 ficheiro.libmd.so.6irá executar o ficheiro.
Método 3: Instalação de pacotes de compatibilidade do FreeBSD de 32 bits
Se o tiver instalado de raiz no seu servidor e quase nenhuma biblioteca base estiver disponível, pode fazer o download em massa de bibliotecas de 32 bits utilizando o gestor de pacotes oficial do FreeBSD. Execute os seguintes comandos através do Putty:
pkg update pkg install compat9x-i386 pkg install compat10x-i386 pkg install compat11x-i386
*(Nota: Deve escolher o pacote de compatibilidade que seja adequado para a versão FreeBSD do seu servidor. Por exemplo, se estiver a utilizar o FreeBSD 13, deve instalar os pacotes `compat13x`).*
Método 4: ligação estática durante a fase de compilação (build) do código-fonte
Se tiver o código-fonte do jogo, pode incorporar as bibliotecas diretamente no ficheiro do jogo durante a fase de compilação, independentemente de fora (Link estático). Portanto, não importa qual a biblioteca que está no servidor:
- na pasta de origem do jogo
MakefileAbra o ficheiro. - As linhas que contêm as opções de compilação (Flags)
-staticRecompile a fonte adicionando o parâmetro (obter Build).
Este artigo foi preparado especialmente para o PvPServer.