راه حل برای خطای "Shared Object Lib Not Found" در صفحه Putty
یکی از خطاهایی که اغلب هنگام راه اندازی سرورهای متین 2 PVP از طریق Putty (SSH) با آن مواجه می شود این است. "شیء مشترک "lib..." یافت نشد، توسط "بازی" مورد نیاز است" یک هشدار است. این خطا زمانی رخ می دهد که فایل های اجرایی اصلی بازی (بازی و db باینری) نمی توانند کتابخانه های سازگاری 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
*(توجه: باید بسته compat را انتخاب کنید که برای نسخه FreeBSD سرور شما مناسب است. به عنوان مثال، اگر از FreeBSD 13 استفاده می کنید، باید بسته های 'compat13x' را نصب کنید).*
روش 4: پیوند استاتیک در مرحله کامپایل منبع (ساخت).
اگر کد منبع بازی را دارید، میتوانید کتابخانهها را مستقیماً در مرحله کامپایل، مستقل از خارج (لینک استاتیک) در فایل بازی جاسازی کنید. بنابراین مهم نیست که کدام کتابخانه روی سرور باشد:
- در پوشه منبع بازی شما
Makefileفایل را باز کنید. - خطوط حاوی گزینه های کامپایل (پرچم ها)
-staticمنبع را با اضافه کردن پارامتر (دریافت Build) دوباره کامپایل کنید.
این مقاله به طور ویژه برای PvPServer تهیه شده است.