DE/Building MTASA Server on GNU Linux: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
mNo edit summary
 
(One intermediate revision by one other user not shown)
Line 2: Line 2:


== Installing and Running MTASA server on Linux ==
== Installing and Running MTASA server on Linux ==
{{Note: Dieser Artikel ist nur für Entwickler gedacht, die den Servercode geändert haben. Wenn Sie auf der Suche nach dem vorkompilierten Server sind (für normale Serverbesitzer). Gehen Sie zu: [http://linux.mtasa.com/ linux.mtasa.com] und sehen [[Installing and Running MTASA Server on GNU_Linux]]}}
{{Note|This article is only for developers who changed the server code. If you are looking for the precompiled server (for normal server owners). Go to: [http://linux.mtasa.com/ linux.mtasa.com] and see [[Installing and Running MTASA Server on GNU_Linux]]}}


<!--
<!--
Line 132: Line 132:
[[ru:Building MTASA Server on GNU Linux]]
[[ru:Building MTASA Server on GNU Linux]]
[[de:Building MTASA Server on GNU Linux]]
[[de:Building MTASA Server on GNU Linux]]
[[Category: Development]]
[[Category:Translated/Development]]

Latest revision as of 11:08, 13 July 2024

Dialog-information.png This article needs checking.

Reason(s): Confirm steps work.

Installing and Running MTASA server on Linux

[[{{{image}}}|link=|]] Note: This article is only for developers who changed the server code. If you are looking for the precompiled server (for normal server owners). Go to: linux.mtasa.com and see Installing and Running MTASA Server on GNU_Linux


Preparing your system

Um den dedizierten Multi Theft Auto-Server zu erstellen, müssen Sie Ihr System mit den richtigen Bibliotheken und Tools einrichten. Wie diese installiert werden, hängt von Ihrer Distribution ab.

Unser Netzwerkmodul (net.dll oder net.so) wird als vorkompilierte Binärbibliothek verteilt. Die Datei für GNU/Linux finden Sie in der neuesten Linux-Nightly von hier. Verwenden Sie die net.so von 1.6, wenn Sie aus dem Stamm kompilieren, oder die net.so von 1.6.0, wenn Sie den 1.6.0-Zweig kompilieren. Stellen Sie sicher, dass Sie den Anfang von Server/version.h lesen, da er Anweisungen enthält, wie man die verschiedenen Build-Typen kompiliert.

Debian Linux

Einschließlich abgeleiteter Distributionen wie Ubuntu.

Sie benötigen die notwendigen Build-Werkzeuge, Header und Bibliotheken, die durch die folgenden Debian-Pakete (z.B. Debian Lenny) verteilt werden:

  • build-essential: enthält die notwendigen Werkzeuge, Header und Bibliotheken zur Erstellung von Anwendungen
  • automake: enthält die automake-Werkzeuge
  • libtool: enthält die libtool-Software, die zum Erstellen von Bibliotheken erforderlich ist
  • libreadline-gplv2-dev: enthält die readline-Bibliothek (Version 5)
  • libncurses5-dev: enthält Software zur Steuerung des Schreibens auf den Konsolenbildschirm
  • libncursesw5-dev: enthält Unterstützung für breite Zeichen
  • default-libmysqlclient-dev: enthält die MySQL-Bibliothek
  • git: enthält den Git-Client, der zum Auschecken unseres Code-Repositorys verwendet wird
  • unzip: enthält Archiv-Entpacker

Um diese Pakete über apt zu installieren, verwenden Sie den Befehl apt-get install <Paketliste> wie im folgenden Beispiel (Ausführung als root):

apt-get install build-essential automake libtool
apt-get install libreadline-gplv2-dev libncurses5-dev libncursesw5-dev
apt-get install default-libmysqlclient-dev git unzip

Hinweis: Auf Debian 8-Systemen verwenden Sie bitte diese apt-get install build-essential automake libtool libreadline-gplv2-dev libncurses5-dev libncursesw5-dev libmysqlclient-dev git unzip

Gentoo Linux

Sie benötigen die notwendigen Build-Tools, Header und Bibliotheken. Da Gentoo's Portage System darauf ausgelegt ist, alle Pakete auf Ihrem eigenen System zu kompilieren, sind die notwendigen Build-Tools bereits installiert worden. Somit müssen Sie nur noch die notwendigen Bibliotheken installieren:

  • git: enthält den Git-Client, der zum Auschecken unseres Code-Repositorys verwendet wird.

Um diese Pakete mit emerge zu kompilieren und zu installieren, verwenden Sie den Befehl emerge -v <Paketliste>. Die Option -v zeigt zusätzliche * * Informationen an und kann auch weggelassen werden. (Wenn Sie irgendwelche USE-Flags verwenden wollen, stellen Sie emerge die Option USE="use flags here" voran. Sie können auch die Option -pv verwenden, um zu überprüfen, ob Sie die richtigen Flags verwenden.) Lesen Sie das Gentoo Handbook oder das Handbuch für weitere Informationen über emerge.

Example:

emerge -v git sqlite
USE=“net-misc/curl ssl” emerge -v curl

Fedora

Sie benötigen diese Pakete, um einen MTA-Server unter Fedora erfolgreich kompilieren zu können:

  • glibc-devel:
  • readline-devel: contains the readline library
  • git: enthält den Git-Client zum Auschecken des Quellcodes.

Um diese Pakete über yum zu installieren, verwenden Sie den Befehl yum install <Paketliste> wie im folgenden Beispiel (Ausführung als root):

yum install glibc-devel readline-devel git

General instructions for 1.6

Downloading the source.

Zuerst müssen Sie den Quellcode herunterladen. Entweder klonen Sie wie unten gezeigt oder download a zip snapshot

git clone https://github.com/multitheftauto/mtasa-blue.git mtasa-blue
cd mtasa-blue

Dann kompilieren Sie es so:

./linux-build.sh

Kopieren Sie dann die Konfigurationsdateien, das Netzwerkmodul und die Ressourcen in Bin/server, indem Sie diesen Befehl ausführen:

./linux-install-data.sh

Und die Ressourcen und so weiter sollten auch heruntergeladen werden. Ebenso wie die Datei net_d.dll.

Troubleshooting

If you’re getting any unexpected errors while compiling, please check our GitHub issues or our development-focused Discord server.

  • Wenn Sie beim Ausführen von premake5 gmake (linux-build.sh) die Meldung "Killed" erhalten, bedeutet dies in der Regel, dass Ihnen der Speicher ausgegangen ist.
    Sie können dies bestätigen, indem Sie nach Kill-Logs suchen, indem Sie sudo dmesg | grep -i kill
    Eine mögliche Lösung für dieses Problem könnte sein, swap zu aktivieren oder den Systemspeicher vorübergehend aufzurüsten.
    1 GB ist wahrscheinlich nicht genug Speicher, um die Erstellung abzuschließen.