Oplossing voor de fout 'Gedeelde objectlib niet gevonden' op het stopverfscherm
Een van de vaak voorkomende fouten bij het starten van Metin2 PVP-servers via Putty (SSH) is "Gedeeld object 'lib...' niet gevonden, vereist door 'game'" Het is een waarschuwing. Deze fout treedt op wanneer de belangrijkste uitvoerbare bestanden van het spel (game en db binair) de 32-bit compatibiliteitsbibliotheken of speciale broncodebibliotheken die het nodig heeft in het FreeBSD-besturingssysteem niet kunnen vinden, waardoor de server volledig niet kan opstarten. U kunt de onderstaande stappen volgen om het probleem op te lossen.
Methode 1: Handmatig de ontbrekende bibliotheek naar de server uploaden
Het foutbericht vermeldt meestal duidelijk de naam van het ontbrekende bestand (bijvoorbeeld:libmd.so.5,libssl.so.10,libstdc++.so.6enz.). Het handmatig invoeren van dit bestand in het systeem is de meest definitieve oplossing:
- Haal eerst het `.so`-bestand dat in de foutmelding wordt genoemd op van een beveiligde bron op internet of van een andere actieve Metin2-server.
- Maak verbinding met uw server met Filezilla of WinSCP.
- Installeer het ontbrekende bestand in de volgende map, afhankelijk van uw FreeBSD-versie en infrastructuur:
/usr/lib32/
*(Als uw bestand zich op een ouder besturingssysteem bevindt/usr/lib/U kunt ook de directory raadplegen).* - Klik met de rechtermuisknop op het bestand dat u hebt geüpload, Bestandsrechten (Chmod) voer de waarde in 777 Bijwerken als .
Methode 2: Een Symlink maken
Soms bestaat de doorzochte bibliotheek daadwerkelijk op uw server, maar is alleen het versienummer anders (bijv.libmd.so.6er is alleen maar het spellibmd.so.5is aan het zoeken). In dit geval kunnen we een symbolische link creëren door het systeem te misleiden:
- Maak verbinding met de Putty-terminal en voer de bibliotheekmap in:
cd /usr/lib32 - Om het bestaande huidige bestand te hyperlinken naar de oude gezochte bestandsnaam, voert u de volgende opdracht op uw eigen manier uit:
ln -s libmd.so.6 libmd.so.5 - Dankzij dit commando wordt het spel
libmd.so.5Het systeem wordt automatisch op de achtergrond uitgevoerd wanneer het het bestand aanroept.libmd.so.6zal het bestand uitvoeren.
Methode 3: FreeBSD 32-bits compatibiliteitspakketten installeren
Als u het helemaal opnieuw op uw server hebt geïnstalleerd en er bijna geen basisbibliotheken beschikbaar zijn, kunt u 32-bits bibliotheekbibliotheken in bulk downloaden met behulp van de officiële pakketbeheerder van FreeBSD. Voer de volgende opdrachten uit via Putty:
pkg update pkg install compat9x-i386 pkg install compat10x-i386 pkg install compat11x-i386
*(Opmerking: u moet het compat-pakket kiezen dat geschikt is voor de FreeBSD-versie van uw server. Als u bijvoorbeeld FreeBSD 13 gebruikt, moet u de `compat13x`-pakketten installeren.*
Methode 4: Statische koppeling tijdens de broncompilatiefase (bouwfase).
Als u over de broncode van het spel beschikt, kunt u tijdens de compilatiefase de bibliotheken rechtstreeks in het spelbestand insluiten, onafhankelijk van de buitenkant (Statische link). Het maakt dus niet uit welke bibliotheek op de server staat:
- in de bronmap van uw spel
MakefileOpen het bestand. - De regels met de compilatieopties (vlaggen)
-staticCompileer de broncode opnieuw door de parameter toe te voegen (get Build).
Dit artikel is speciaal opgesteld voor PvPServer.