PL/Linux 64

From Multi Theft Auto: Wiki

Wprowadzenie

Poniższy artykuł jest przygotowany przez użytkownika Multi Theft Auto, a zatem mogą znajdować się w nim błędy. Użytkownik wykonuje wszystkie operacje na własną odpowiedzialność.

Testowano na Linux Debian: Lenny (x64_86).

Team MTA nie wspiera serwera dla systemów innych niż 32-bitowe

Przygotowanie plików

Na początek będą nam potrzebne pliki MTA (nie pobieramy kodu źródłowego - bo jego skompilowanie jest niewykonalne na systemach innych niż 32-bitowe). Pobieramy je stąd. Ściągnięte pliki rozpakowujemy do folderów tak jak jest to opisane na powyższej stronie.

Potrzebne biblioteki

Instalujemy podstawowe biblioteki (które również potrzebne są do uruchomienia serwera na systemie 32-bitowym, ale w nieco okrojonej wersji):

apt-get install libtool libcurl4-openssl-dev libpcre3-dev libsqlite3-dev libreadline5-dev

"Klucz" do uruchomienia serwera na systemie 64-bitowym: ia32-libs

Aby cokolwiek ruszyło na naszym 64-bitowym systemie musimy zainstalować bibliotekę "ia32-libs". Jest to właściwie zbiór podstawowych bibliotek systemu 32-bitowego. Ową bibliotekę zainstalujemy w następujący sposób:

apt-get install ia32-libs

W przypadku braku tej biblioteki będziemy dostawać (niewiele mówiący) komunikat:

-sh: ./mta-server: Nie ma takiego pliku ani katalogu

mimo faktu, że plik istnieje i ma prawa do uruchomienia ("chmody").


W tym momencie serwer będzie się uruchamiał, plując błędami. Ale sytuacja jest o tyle dobra, że wiemy o co chodzi (jakiej biblioteki/pliku brakuje).

Potrzebne biblioteki z systemu 32-bitowego

Jako, że nie mam możliwości dokładnie sprawdzenia jakie biblioteki instalowałem/były potrzebne do poprawnego uruchomienia serwera opiszę sposób w jaki je "zdobywałem".

Repozytorium debiana - Wyszukiwarka pakietów

Na tej stronie dostępna jest wyszukiwarka plików w pakietach .deb.

Przypuśćmy, że brakuje pliku libsqlite3.so.0. Wpisujemy nazwę tego pliku w wyszukiwarkę (tj. ta niżej) i wyszukujemy pakiet zawierający ten plik. Okazuje się, że znajduje się on w paczce libsqlite3-0.

Instalacja

Ściągamy tę paczkę, ale nie instalujemy (co zresztą byłoby niewykonalne). Rozpakowujemy paczkę, w katalogu CONTENTS/libs powinien znajdować się nasz plik. Kopiujemy go do katalogu /lib32.

Operacje tę powtarzamy jeśli serwer będzie domagał się innej biblioteki (pliku).

Uruchomienie serwera

Tak dobrnęliśmy po "walce na noże" (cyt. Jarosław Kaczyński) do końca. Serwer uruchamiamy klasycznie, poprzez:

./mta-server

i mamy działający serwer :).