Решение ошибки «Библиотека общих объектов не найдена» на экране Putty
Одна из часто встречающихся ошибок при запуске PVP-серверов Metin2 через Putty (SSH) — «Общий объект «lib...» не найден, требуется для «игры»» Это предупреждение. Эта ошибка возникает, когда основные исполняемые файлы игры (двоичные файлы игры и базы данных) не могут найти 32-битные библиотеки совместимости или специальные библиотеки исходного кода, необходимые в операционной системе FreeBSD, что полностью препятствует запуску сервера. Чтобы решить проблему, вы можете выполнить следующие действия.
Способ 1. Загрузка недостающей библиотеки на сервер вручную
В сообщении об ошибке обычно четко указывается имя отсутствующего файла (например:libmd.so.5,libssl.so.10,libstdc++.so.6и т. д.). Введение этого файла в систему вручную является наиболее окончательным решением:
- Сначала получите файл `.so`, упомянутый в сообщении об ошибке, из безопасного источника в Интернете или с другого работающего сервера Metin2.
- Подключитесь к своему серверу с помощью Filezilla или WinSCP.
- Установите недостающий файл в следующий каталог, в зависимости от вашей версии FreeBSD и инфраструктуры:
/usr/lib32/
*(Если ваш файл находится в более старой операционной системе/usr/lib/Вы также можете проверить каталог).* - Щелкните правой кнопкой мыши файл, который вы загрузили, Разрешения для файлов (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. Установка пакетов обеспечения совместимости 32-разрядной версии FreeBSD
Если вы установили его на свой сервер с нуля и базовых библиотек почти нет, вы можете массово загрузить 32-битные библиотеки с помощью официального менеджера пакетов FreeBSD. Выполните следующие команды через Putty:
pkg update pkg install compat9x-i386 pkg install compat10x-i386 pkg install compat11x-i386
*(Примечание. Вам следует выбрать пакет совместимости, подходящий для версии FreeBSD вашего сервера. Например, если вы используете FreeBSD 13, вам следует установить пакеты `compat13x`).*
Метод 4. Статическое связывание на этапе компиляции исходного кода (сборки)
Если у вас есть исходный код игры, вы можете встроить библиотеки непосредственно в файл игры на этапе компиляции, независимо от внешнего мира (Статическая ссылка). Поэтому не имеет значения, какая библиотека находится на сервере:
- в исходной папке вашей игры
MakefileОткройте файл. - Строки, содержащие параметры компиляции (Флаги)
-staticПерекомпилируйте исходный код, добавив параметр (получите сборку).
Эта статья специально подготовлена для PvPServer.