Megoldás a "Shared Object Lib Not Found" hibára a Putty képernyőn
Az egyik leggyakrabban előforduló hiba a Metin2 PVP szerverek Putty (SSH) segítségével történő indításakor "A "lib..." megosztott objektum nem található, a játék megköveteli" Ez egy figyelmeztetés. Ez a hiba akkor fordul elő, ha a játék fő futtatható fájljai (játék és db bináris) nem találják a 32 bites kompatibilitási könyvtárakat vagy speciális forráskód-könyvtárakat, amelyekre a FreeBSD operációs rendszerben szüksége van, és ez teljesen megakadályozza a szerver indítását. A probléma megoldásához kövesse az alábbi lépéseket.
1. módszer: A hiányzó könyvtár manuális feltöltése a szerverre
A hibaüzenet általában egyértelműen tartalmazza a hiányzó fájl nevét (pl.libmd.so.5,libssl.so.10,libstdc++.so.6stb.). Ennek a fájlnak a rendszerbe való manuális bevezetése a legmeghatározóbb megoldás:
- Először szerezze be a hibaüzenetben említett ".so" fájlt egy biztonságos internetes forrásból vagy egy másik futó Metin2 szerverről.
- Csatlakozzon a szerverhez Filezilla vagy WinSCP segítségével.
- Telepítse a hiányzó fájlt a következő könyvtárba, a FreeBSD verziójától és infrastruktúrájától függően:
/usr/lib32/
*(Ha a fájl régebbi operációs rendszeren van/usr/lib/Ellenőrizheti a könyvtárat is).* - Kattintson jobb gombbal a feltöltött fájlra, Fájlengedélyek (Chmod) írja be az értéket 777 Frissítés mint .
2. módszer: Symlink létrehozása
Néha a keresett könyvtár valóban létezik a szerveren, de csak a verziószám különbözik (pl.libmd.so.6csak a játék vanlibmd.so.5keres). Ebben az esetben a rendszer félrevezetésével szimbolikus linket hozhatunk létre:
- Csatlakozzon a Putty terminálhoz, és lépjen be a könyvtár könyvtárába:
cd /usr/lib32 - A meglévő aktuális fájl hiperhivatkozásához a régi keresett fájlnévhez futtassa a következő parancsot a maga módján:
ln -s libmd.so.6 libmd.so.5 - Ennek a parancsnak köszönhetően a játék
libmd.so.5A rendszer automatikusan a háttérben fut, amikor meghívja a fájlt.libmd.so.6futtatni fogja a fájlt.
3. módszer: FreeBSD 32 bites kompatibilitási csomagok telepítése
Ha a nulláról telepítette a szerverére, és szinte semmilyen alapkönyvtár nem áll rendelkezésre, tömegesen letöltheti a 32 bites könyvtári könyvtárakat a FreeBSD hivatalos csomagkezelőjével. Futtassa a következő parancsokat a Putty-n keresztül:
pkg update pkg install compat9x-i386 pkg install compat10x-i386 pkg install compat11x-i386
*(Megjegyzés: A kiszolgáló FreeBSD verziójához megfelelő kompatibilis csomagot kell kiválasztania. Például, ha FreeBSD 13-at használ, telepítse a `compat13x' csomagokat.*
4. módszer: Statikus linkelés a forrásösszeállítási (összeállítási) fázis során
Ha megvan a játék forráskódja, akkor a programkönyvtárakat a fordítási fázisban közvetlenül a játékfájlba ágyazhatja, külsőtől függetlenül (Statikus link). Tehát nem számít, melyik könyvtár található a szerveren:
- a játék forrás mappájában
MakefileNyissa meg a fájlt. - A fordítási lehetőségeket tartalmazó sorok (Flags)
-staticFordítsa újra a forrást a paraméter hozzáadásával (get Build).
Ez a cikk kifejezetten a PvPServer számára készült.