[GUIDE]Game Core (r2019 unstripped) auf FreeBSD8 / 64bit
Discussion on [GUIDE]Game Core (r2019 unstripped) auf FreeBSD8 / 64bit within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.
A few months ago, rumors and discussions started about FreeBSD 8 and newer.
Today, this topic still is of importance: Many hosters have stopped offering FreeBSD 7 (which is now by long officially outdated).
Also, 64bit technology is important, because many servers run with more than 4 GB RAM today, which 32bit operating systems cannot handle natively.
This drove me to write this guide.
Preamble
Before going off compiling and installing things randomly, you should know how to work around both mentioned issues the correct way:
First of all, you will want to work around the 64bit problem:
When you try to start your game server or compile quests on a 64bit system, you will probably get this error message:
Code:
ELF interpreter /libexec/ld-elf.so.1not found
Abort trap
However, the file in question does exist.
This error occurs because the game server is compiled for the 32bit architecture and therefore requires 32bit shared libraries ("libs"). Now, here is how to solve this:
FreeBSD 7.* and 8.*:
Enter "sysinstall" to open the system's installation tool.
Navigate to "Configure">>"Distributions"
With your arrow keys, choose "lib32" - select this with [SPACE].
Press [TAB] to focus on "OK" and submit the form with [ENTER].
In the next window, choose "FTP", then "Main Site" and confirm the following window "User Confirmation Requested" with "Yes".
Thereafter, the tool will download and install the 32bit libraries from an official site to your system. This may take a few minutes.
When you are done, exit sysinstall ("Exit", "Exit","Exit Install").
FreeBSD 9.*:
In FreeBSD 9, sysinstall has been deprecated, hence cannot be used to install the lib32 distribution any more - instead do it by hand:
Code:
fetch ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/<<RELEASE>>/lib32.txz
tar Jxpvf lib32.txz -C /
rm lib32.txz
Notes:
Make sure to replace <<RELEASE>> with your release level (e.g. '9.1-RELEASE', '9.2-RELEASE').
=> Can be found out with uname -r - ignore the patch level suffix if present (e.g. '-p3', '-p7', etc.).
Find a list of supported releases here (FreeBSD ftp server)
You will notice that several releases do not appear (e.g. '9.0-RELEASE'). This means they are deprecated and you should upgrade. Since installing lib32 comes early when deploying a game server, you should ask your hosting provider to reinstall the system with a recent release. (9.2-RELEASE is recommended - 11/13/2013).
You could also use the freebsd-upgrade utility to upgrade yourself, use Google to learn more about it.
Now, if you did everything right, the 64bit problem should be solved.
The newer versions of FreeBSD are shipped with some updated libraries ("libs"). Because their file names are incremented (e.g. "libz.so.4"->"libz.so.5"), the Metin2 server will have no chance to load them.
When trying to start the server or compiling quests at that time, you should get an output like this:
However, since the newer FreeBSD ships with an updated version of "GCC" (the "GNU Compiler Collection"), there is one lib you cannot just link: "libstdc++.so.4"
To work around that, simply upload the file to your library path ("/lib" or "/usr/lib32", see above).
You can use the file attached to this thread (unpack the .zip archive before uploading) or search for it yourself on a FreeBSD 7.* system.
When you are done with these steps, your game server should work properly as on FreeBSD 7 32bit.
Also, the quest compiler should do fine.
Final comment If there are any issues which pop up even after exactly following this guide, do not hesitate to contact me right here in this thread.
This guide has been tested with following game revisions/editions: Kay331's Serverfiles v6(game r2019 unstripped)
Kay331's GameCore rev2089 unstripped
packed GameCore (tested by .Xero)
any newer game revision should work
I do not take responsibility for any damage caused on your system or data. Using information provided in this guide happens on your own risk.
Vor einigen Monaten gab es manchen Trubel um FreeBSD 8/9 - vor allem weil viele Hoster FreeBSD 7 nicht mehr oder nur noch ausnahmsweise anbieten (es ist seit langem offiziell veraltet).
Auch 64bit war schon einmal ein Thema und es gab große Gerüchte über "non-Public-Libs" und die, die sie angeblich hatten gaben groß damit an.
Doch alles in allem ist es gar kein alzu großes Geheimnis - alles was man braucht bietet FreeBSD selber!
Nun habe ich mir ein Testsystem in VirtualBox eingerichtet (FreeBSD 8.2 64bit) und habe mal untersucht warum und was nicht funktionieren soll...
Vorwort
Bevor man anfängt, planlos zu kompilieren und Symlinks anlegt sollte man die nötige Reihenfolge kennen:
Man muss sich zuerst um das 64bit-Problem kümmern, danach kann man sich mit FreeBSD 8/9 beschäftigen.
Das 64bit-Problem
Versucht man den Metin2-Server auf einem 64bit-System zu starten erhält man etwa folgende Fehlermeldung:
Code:
ELF interpreter /libexec/ld-elf.so.1not found
Abort trap
Jedoch existiert diese Datei...
Problem (wie schon oft erwähnt) ist, dass die Game-Binary nicht auf 64bit ausgelegt ist.
Nun unterstützt aber nunmal fast jedes 64bit-System 32bit-Anwendungen - Windows kann das standardmäßig, FreeBSD nicht.
Dafür gibt es allerdings das Paket "lib32" - und das zu installieren ist Inhalt dieses ersten Teils meines Guides!
FreeBSD 7.*und 8.*
gebt "sysinstall" ein, damit öffnet ihr das Installationsfenster
navigiert durch das Menü: "Configure">>"Distributions"
wählt mit den Pfeiltasten "lib32" aus, drückt die Tab-Taste, um "OK" zu markieren und drückt ENTER.
Wählt im nächsten Fenster "FTP" (eine CD sollte nicht vorhanden sein...), dann "Main Site" und bestätigt die Abfrage "User Confirmation Requested" mit "Yes".
Daraufhin lädt er das Paket vom FreeBSD-FTP herunter und installiert es auf eurem Server (Das könnte ein Paar Minuten dauern).
Ist der Vorgang abgeschlossen, verlasst ihr sysinstall wieder ("Exit", "Exit","Exit Install").
FreeBSD 9.*:
Bei FreeBSD 9.* kann sysinstall nicht mehr verwendet werden, um das lib32-Paket zu installieren - erledigt dies stattdessen per Hand:
Code:
fetch ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/<<RELEASE>>/lib32.txz
tar Jxpvf lib32.txz -C /
rm lib32.txz
Hinweise:
ersetzt <<RELEASE>> durch euer Release Level (z.B. '9.1-RELEASE')
=> lässt sich ermitteln mit uname -r - wenn am Ende etwas wie '-p3', '-p7', etc. steht (das Patch Level), das einfach ignorieren.
Eine Liste aller unterstützen Release Level gibt es hier (FreeBSD ftp).
Einige Release Level findet man dort nicht mehr - diese gelten als veraltet. Am Besten in diesem Fall durch den Hoster einen aktuellen Release installieren lassen (derzeit '9.2-RELEASE', Stand 13.11.2013).
Alternativ gibt es das Werkzeug freebsd-upgrade - Informationen findet man über Google.
Damit ist das 64bit-Problem behoben - nun folgt die Anleitung für FreeBSD > 7
Mit dem Upgrade zu FreeBSD 8.x/9.x wurden diverse Systembibliotheken ("libs" = "libraries" = "Bibliotheken") erneuert. Bei einer solchen Erneuerung erhalten die Dateien auch neue Namen.
So wird aus "libmd.so.4" zum Beispiel "libmd.so.5" usw.
Die Fehlermeldung sieht dann beim Starten des Metin2-Servers / Kompilieren der Quests etwa so aus:
Was tun diese Befehle? Sie fügen eine Verknüpfung ("Symlink", "symbolischer Link") mit den Namen der alten Bibliotheken hinzu, die auf die neuen verweisen.
Leider funktioniert diese Anpassung nicht für "libstdc++", da FreeBSD eine neue und inkompatible Version des GCC (GNU Compiler Collection) enthält.
Dieses Problem lässt sich dennoch mit der Lib im Anhang lösen.
Kopiert die Datei "libstdc++.so.4" (das .zip-Archiv vorher entpacken) einfach in euren entsprechenden lib-Ordner ("/lib" oder "/usr/lib32").
Danach sollte euer Metin2-Server auf FreeBSD8/9 64bit funktionieren!
Schlusswort Sollten irgendwelche Probleme auftreten, obwohl alles so gemacht worden ist, wie beschrieben, zögert nicht dies hier zu erwähnen!
Hinweis! Dieser Guide funktioniert nur mit dem ~45MB großen unstripped Game-Core! (auch nicht mit der UPX-gepackten Version!)
Diese GUIDE wurde getestet mit: Kay331's Serverfiles v6(game r2019 unstripped)
Kay331's GameCore rev2089 unstripped
gepackter GameCore (getestet von .Xero)
alle neueren GameCores sollten funktionieren
Für etwaige Schäden an Server oder Daten übernehme ich keine Haftung, das Nachvollziehen dieses Guides geschieht auf eigene Gefahr.
Greetz M@sh
Quote:
Originally Posted by Update
Sollte auch mit FreeBSD9.x funktionieren. / Should also work on FreeBSD9.x. | erfolgreich im Einsatz/used in production
25.01.2012: Libs für "qc" ergänzt. / Added libs for "qc".
25.04.2012: Englische Version hinzugefügt. / Added English version.
03.07.2013: Fix für FreeBSD 9.* / Fix for FreeBSD 9.*
21.07.2013: Fix für neuere Libversionen / Fix for updated libraries
13.11.2013: Anpassungen + getestet für FreeBSD 9 / Fix + tested for FreeBSD 9
Hört sich sinnvoll an, das Problem wird glaube ich aber sein, dass der Prozess trotzdem nicht mehr als 4GB beanspruchen kann...
Achja, ich wette die 88% von euch weiß nicht mal was stripped heißt
Das ist auch nicht wirklich nötig...Trotzdem erlaubt es dem Serverbetreiber, den vollen Arbeitsspeicher von bis zu theoretischen 16 Exbibyte (Exbibyte = 1048576 Tebibyte) zu verwenden. Sinn dieser Methode ist nur, den Game-Core auf 64bit-System einsetzen zu können.
Dadurch spart man sich das mühselige kompilieren eines neuen Kernels mit PAE, nebenbei auch all' die Risiken und Nachteile (System bootet nicht mehr, IPFW etc...).
Ob der Prozess nun mehr als 4GB allokieren kann oder nicht habe ich im Übrigen nicht getestet.
Quote:
Originally Posted by .NyanCat
Geht das auch mit der r2089 ?
Sollte funktionieren...
Es ist auch wahrscheinlich möglich ältere Game-Cores zu betreiben.
Da hätte man wieder den Vorteil, dass es mehr gleichzeitige Prozesse gibt, die von mehr RAM profitieren können.
Bei Gelegenheit werde ich das noch testen...
Das ist auch nicht wirklich nötig...Trotzdem erlaubt es dem Serverbetreiber, den vollen Arbeitsspeicher von bis zu theoretischen 16 Exbibyte (Exbibyte = 1048576 Tebibyte) zu verwenden. Sinn dieser Methode ist nur, den Game-Core auf 64bit-System einsetzen zu können.
Dadurch spart man sich das mühselige kompilieren eines neuen Kernels mit PAE, nebenbei auch all' die Risiken und Nachteile (System bootet nicht mehr, IPFW etc...).
Ob der Prozess nun mehr als 4GB allokieren kann oder nicht habe ich im Übrigen nicht getestet.
Sollte funktionieren...
Es ist auch wahrscheinlich möglich ältere Game-Cores zu betreiben.
Da hätte man wieder den Vorteil, dass es mehr gleichzeitige Prozesse gibt, die von mehr RAM profitieren können.
Bei Gelegenheit werde ich das noch testen...
Wer keine Firewall installiert schreit ja nur geradezu danach gehackt zu werden.
Wer keine Firewall installiert schreit ja nur geradezu danach gehackt zu werden.
Das mag sein, aber Thema dieses Guides ist es nicht, eine Firewall zu installieren...
Im Allgemeinen gilt aber, dass man (hin und wieder) mit der Zeit gehen sollte und PAE ist - wie bekannt sein dürfte - nunmal nur eine Notlösung und nichtmal auf allen Systemen überhaupt tauglich.
Zum Benutzen von aktuellen FBSD-Releases sage ich nur: Updates und Upgrades haben einen Sinn und wenn man nicht unbedingt muss (und das muss man ja nicht) sollte man nicht Ewigkeiten auf alten Systemen hängen bleiben, erst recht nicht einen total verallteten Release noch neu installieren...
€dit: Ich werde mich jetzt mal dransetzen und auch andere Game-Cores testen:
"alte" Files und auch die rev2089...
Als Feedback sollte im Übrigen der Post von TehImpulse ein guter Anfang sein...auch wenn er nicht gerade der lange bekannte, erfahrene und voll vertrauenswürdige Poster hier ist...
€dit2: Nur so BTW...auf meinem Server damals hatte ich keine Firewall installiert und alles war in Ordnung...Zum Verhängnis wurden mir am Ende nur die korrupten "Mitarbeiter", die im Übrigen auch allesamt hier bei e*PvP vertreten sind bzw. waren.
Das mag sein, aber Thema dieses Guides ist es nicht, eine Firewall zu installieren...
Im Allgemeinen gilt aber, dass man (hin und wieder) mit der Zeit gehen sollte und PAE ist - wie bekannt sein dürfte - nunmal nur eine Notlösung und nichtmal auf allen Systemen überhaupt tauglich.
Zum Benutzen von aktuellen FBSD-Releases sage ich nur: Updates und Upgrades haben einen Sinn und wenn man nicht unbedingt muss (und das muss man ja nicht) sollte man nicht Ewigkeiten auf alten Systemen hängen bleiben, erst recht nicht einen total verallteten Release noch neu installieren...
€dit: Ich werde mich jetzt mal dransetzen und auch andere Game-Cores testen:
"alte" Files und auch die rev2089...
Als Feedback sollte im Übrigen der Post von TehImpulse ein guter Anfang sein...auch wenn er nicht gerade der lange bekannte, erfahrene und voll vertrauenswürdige Poster hier ist...
€dit2: Nur so BTW...auf meinem Server damals hatte ich keine Firewall installiert und alles war in Ordnung...Zum Verhängnis wurden mir am Ende nur die korrupten "Mitarbeiter", die im Übrigen auch allesamt hier bei e*PvP vertreten sind bzw. waren.
^^
ich würd gerne wissen ob man auch full ram benutzen kann nun also mehr als 4gb bei einer game ...
aber wie testet man das >_<
Das mag sein, aber Thema dieses Guides ist es nicht, eine Firewall zu installieren...
Im Allgemeinen gilt aber, dass man (hin und wieder) mit der Zeit gehen sollte und PAE ist - wie bekannt sein dürfte - nunmal nur eine Notlösung und nichtmal auf allen Systemen überhaupt tauglich.
Zum Benutzen von aktuellen FBSD-Releases sage ich nur: Updates und Upgrades haben einen Sinn und wenn man nicht unbedingt muss (und das muss man ja nicht) sollte man nicht Ewigkeiten auf alten Systemen hängen bleiben, erst recht nicht einen total verallteten Release noch neu installieren...
€dit: Ich werde mich jetzt mal dransetzen und auch andere Game-Cores testen:
"alte" Files und auch die rev2089...
Als Feedback sollte im Übrigen der Post von TehImpulse ein guter Anfang sein...auch wenn er nicht gerade der lange bekannte, erfahrene und voll vertrauenswürdige Poster hier ist...
€dit2: Nur so BTW...auf meinem Server damals hatte ich keine Firewall installiert und alles war in Ordnung...Zum Verhängnis wurden mir am Ende nur die korrupten "Mitarbeiter", die im Übrigen auch allesamt hier bei e*PvP vertreten sind bzw. waren.
32bit zeugt nicht davon, dass das System veraltet ist. Metin2 ist nunmal für 32bit entworfen, und man sollte es zwangsläufig nicht umkurbeln, wenn es keinen Grund hat.
game-->core 11/05/2011 - Metin2 Private Server - 2 Replies Hey,
habe ein riesen Problem. Habe die Files von profizocker94 , also Level 120. Nun habe ich mit disem Franzosen Ding auf 127 gemacht. Da es aber Probleme gab , wollte ich die alte wieder rein tun und hab die mit Levelbegenzung 127 ausversehen gelösch. :/ Nun klappt die alte und nochmal eine neugemachte nicht , und es kommt der Core Fehler. Aber sonst kommt er ja nur wenn man was falsch eingetippt hat. Wie kann ich das Prob lösen ?
MFG
[Release]Game Core/Db Core Syslog in den neueren rev's ausnoppen 08/12/2011 - Metin2 PServer Guides & Strategies - 29 Replies Nachdem ich das heute schon in einem anderen Forum released habe, würde das Release sowieso innerhalb von 1-2 Stunden auf elitepvpers landen, deswegen mach ich es gleich auch noch hier auf^^
Erstmals was das überhaupt für Vorteile bringt den Syslog auszunoppen:
Der Syslog verbraucht teilweise extrem viel Ram, vor allem bei einer größeren Spielerzahl, weshalb die Syslogs ebenfalls sehr groß werden und gegebenfalls zu einem Absturz der verschiedenen Cores führen kann.
Dazu verursacht es...
[HILFE]Core Fehler game 61 und game 99 in VPC nach hochfahren?! 06/25/2011 - Main - 1 Replies Hallo Leute ich habe eine kleines Problem und zwar wollte ich in eine map npc's hinstellen und ich hatte ein paar quests gelöscht (auch von der hongkong_list und ich habe auch cd /usr/rain/channel usw. eingegeben um quests zu aktualisieren)
und naja wenn ich jetz den server starte sieht es erst so aus als wenn er normal hochgefahren ist aber dann kurze zeit später kommt:
mv : rename ./game core game99: no such file direction aber nur
und so änhliche mehrmals hintereinander :confused: ich tu...
game core problem hab game datei geändert 05/18/2011 - Metin2 Private Server - 0 Replies bei mir taucht immer in Virtaul pc ein fehler auf da steht :
mv : ./game99 core to cores core .... und vieles mehr
Game-Core Configs? 10/12/2010 - Metin2 Private Server - 0 Replies Joa mich hats auch erwischt, kann alle Befehle außer den Rechte für alle-Befehl blocken. Und habe den Thread hier gelesen:
http://www.elitepvpers.com/forum/metin2-pserver-gu ides-strategies/721800-anhang-imer-fixx.html
Nur weiß ich nich genau welche Configs von den game cores gemeint sind, kann mir jemand sagen ob ich jetz direkt via hex-Editor in den game cores das admin_page Dings bearbeiten soll oder wo diese game core-configs zu finden sind?