PvP Server Kiralama & Oyun Sunucuları
0 Giriş Yap Kayıt Ol

Putty屏幕上出现“Shared Object Lib Not Found”错误的解决方法

Yazdır

Putty屏幕上出现“Shared Object Lib Not Found”错误的解决方法

通过 Putty (SSH) 启动 Metin2 PVP 服务器时经常遇到的错误之一是 “未找到共享对象‘lib...’,‘游戏’需要” 这是一个警告。当游戏的主要可执行文件(game和db二进制文件)在FreeBSD操作系统中找不到所需的32位兼容库或特殊源代码库,从而完全阻止服务器启动时,就会出现此错误。您可以按照以下步骤解决问题。

方法一:手动上传缺失的库到服务器

错误消息通常会清楚地说明丢失文件的名称(例如:libmd.so.5,libssl.so.10,libstdc++.so.6等)。手动将此文件引入系统是最确定的解决方案:

  1. 首先,从互联网上的安全来源或另一个正在运行的 Metin2 服务器获取错误消息中提到的“.so”文件。
  2. 使用 Filezilla 或 WinSCP 连接到您的服务器。
  3. 根据您的 FreeBSD 版本和基础架构,在以下目录中安装缺少的文件:
    /usr/lib32/
    *(如果您的文件位于较旧的操作系统上/usr/lib/您还可以检查目录)。*
  4. 右键单击您上传的文件, 文件权限 (Chmod) 输入值 777 更新为 .

方法 2:创建符号链接

有时,搜索到的库实际上存在于您的服务器上,但只是版本号不同(例如libmd.so.6只有游戏libmd.so.5正在寻找)。在这种情况下,我们可以通过误导系统来创建符号链接:

  • 连接Putty终端并进入库目录:
    cd /usr/lib32
  • 要将现有的当前文件超链接到旧的搜索文件名,请以您自己的方式运行以下命令:
    ln -s libmd.so.6 libmd.so.5
  • 多亏了这个命令,游戏libmd.so.5系统调用该文件时自动在后台运行。libmd.so.6将运行该文件。

方法3:安装FreeBSD 32位兼容包

如果您在服务器上从头开始安装它并且几乎没有可用的基础库,则可以使用 FreeBSD 的官方包管理器批量下载 32 位库。通过 Putty 运行以下命令:

pkg update
pkg install compat9x-i386
pkg install compat10x-i386
pkg install compat11x-i386

*(注意:您应该选择适合您服务器的 FreeBSD 版本的 compat 软件包。例如,如果您使用 FreeBSD 13,则应该安装 `compat13x` 软件包)。*

方法 4:在源代码编译(构建)阶段进行静态链接

如果您有游戏的源代码,则可以在编译阶段将库直接嵌入到游戏文件中,独立于外部(静态链接)。所以服务器上哪个库并不重要:

  • 在你的游戏源文件夹中Makefile打开文件。
  • 包含编译选项(标志)的行-static通过添加参数(获取 Build)重新编译源。

本文是专门为PvPServer准备的。

Bu cevap yeterince yardımcı oldu mu?

Oyla

overlay spinner