
Multi Theft Auto (MTA) ist ein Softwareprojekt, das die Grand Theft Auto Game -Serie von Rockstar North Network Play -Funktionen verleiht, in der diese Funktionalität ursprünglich nicht gefunden wird. Es ist eine einzigartige Modifikation, die ein erweiterbares Netzwerkspielelement in ein proprietäres kommerzielles Single-Player-PC-Spiel einbezieht.
Hinweis Wenn Sie ein Gabelentwickler sind, lesen Sie diese Notiz sorgfältig durch. Wir haben den Standard -Build -Typ in
Shared/sdk/version.hauf benutzerdefiniert geändert. Wenn Sie sich ohne die Anti-Cheat-Berücksichtigung in der Debug-Konfiguration entwickeln, wirkt sich dies überhaupt nicht aus. Wenn Sie nun vorhaben, Ihren benutzerdefinierten Kunden mit aktivierter Anti-Cheat zu testen, sollten Sie Ihren Buildtyp inUNTESTEDändern. Wenn Sie eine Veröffentlichung Ihres benutzerdefinierten Clients veröffentlichen möchten, müssen Sie zu einer Härtung vonnetc.dllumsteigen. Bitte lesen Sie unsere Seite forks_full_ac Wiki, um weitere Informationen zu erhalten.
Das Multi -Diebstahl -Auto basiert auf Code -Injektions- und Hooking -Techniken, bei denen das Spiel manipuliert wird, ohne die mit dem Spiel gelieferten Originaldateien zu ändern. Die Software fungiert als Game Engine, die sich als Erweiterung des ursprünglichen Spiels installiert und Kernfunktionen wie Netzwerk und GUI -Rendering hinzufügt und gleichzeitig die Motorfunktionalität des ursprünglichen Spiels durch eine Skriptsprache enthüllt.
Multi Theft Auto wurde ursprünglich Anfang 2003 als experimentelles Stück C/C ++-Software gegründet und hat seitdem zu einer fortschrittlichen Multiplayer-Plattform für Gamer und Drittanbieter entwickelt. Unsere Software bietet ein minimales Gameplay im Sandbox -Stil, das in vielerlei Hinsicht über die LUA -Skriptsprache erweitert werden kann, sodass Server benutzerdefinierte Spielmodi mit benutzerdefinierten Inhalten für bis zu Hunderte von Online -Spielern ausführen können.
Früher ein geschlossenes Projekt mit geschlossenem Source sind zu Open-Source gewandert, um andere Entwickler zu ermutigen und aus Bildungsgründen Einblick in den Quellcode und das Design des Projekts unseres Projekts zu geben.
Das Multi -Diebstahl -Auto basiert auf dem "blauen" Konzept, das ein Spielermotor -Framework implementiert. Da das Klassendesign unseres Spiels -Frameworks auf dem Design von Grand Theft Auto basiert, können wir unseren Code in das Originalspiel einfügen. Das Spiel wird dann stark erweitert, indem neue Spielfunktionen (einschließlich Optimierungen und Crash -Korrekturen) sowie eine völlig neue grafische Schnittstellen-, Netzwerk- und Skriptkomponente bereitgestellt werden.
Standardmäßig bietet Multi -Theft Auto das minimale Gameplay von Grand Theft Auto mit dem minimalen Sandbox -Stil. Das Gameplay kann durch die Verwendung der LUA -Skriptsprache, die in die Client- und Serversoftware eingebettet wurde, stark erweitert werden. Sowohl der Server, der das Spiel hostet, als auch der Client, der das Spiel spielt, können Lua -Skripte ausführen und synchronisieren. Diese Skripte werden über das Spiel -Framework von Multi -Theft Auto gelegt, das aus vielen Klassen und Funktionen besteht, damit das Spiel praktisch auf jede mögliche Weise angepasst werden kann.
Alle Gameplay -Inhalte wie Lua -Skripte, Bilder, Sounds, benutzerdefinierte Modelle oder Texturen sind in eine "Ressource" zusammengefasst. Diese Ressource ist nichts anderes als ein Archiv (mit dem Inhalt) und einer Metadatendatei, die den Inhalt und zusätzliche Informationen (z. B. Abhängigkeiten zu anderen Ressourcen) beschreibt.
Die Verwendung eines auf Ressourcen basierenden Frameworks hat eine Reihe von Vorteilen. Dadurch können Inhalte einfach auf Clients und Server übertragen werden. Ein weiterer Vorteil ist, dass wir eine Möglichkeit zum Importieren und Exportieren von Skriptfunktionen in einer Ressource bieten können. Beispielsweise können verschiedene Ressourcen (häufig grundlegende) Funktionen aus einer oder mehreren gemeinsamen Ressourcen importieren. Diese werden dann automatisch heruntergeladen und gestartet. Eine weitere erwähnte Funktion ist, dass Serveradministratoren den Zugriff auf bestimmte Ressourcen steuern können, indem sie eine Reihe unterschiedlicher Benutzerrechte zuweisen.
Das Code-Repository unseres Projekts finden Sie im Multitheftauto/Mtasa-Blue-Git-Repository bei GitHub. Wir sind immer auf der Suche nach neuen Entwicklern. Wenn Sie also interessiert sind, finden Sie hier einige nützliche Links:
Voraussetzungen
win-create-projects.bat ausführenMTASA.sln im Build -Verzeichniswin-install-data.batBesuchen Sie den Wiki -Artikel "Kompilierende MTASA" für zusätzliche Informationen und Fehlerbehebung.
Sie können den MTA: SA -Server auf GNU/Linux -Verteilungen nur für X86, X86_64, ARMHF und ARM64 CPU -Architekturen erstellen. Armarchitekturen befinden sich derzeit in experimenteller Phase , was bedeutet, dass sie instabil, ungetestet sind und zufällig abstürzen können. Achten Sie darauf, dass wir das Gebäude nur offiziell von x86_64 unterstützen, und das umfasst Cross-Compiling für X86, Arm und ARM64.
Abhängigkeiten bauen
Bitte lesen Sie die Dockerfiles immer für aktuelle Build-Abhängigkeiten. Hinweis: Für den Erstellen des MTA: SA -Servers ist NCFTP nicht erforderlich.
Anweisungen erstellen: Skript
Hinweis: Dieses Skript löscht immer Build/ und Bin/ Verzeichnisse und führt einen sauberen Build aus.
$ ./linux-build.sh [--arch = x86 | x64 | arm | arm64] [--config = debug | release]
$ ./linux-install-data.sh # optional step Wenn Build --arch nicht bereitgestellt wird, stammt sie aus der Umgebungsvariablen BUILD_ARCHITECTURE (Standardeinstellungen an: x64).
Wenn keine Build -Konfiguration --config bereitgestellt wird, wird sie aus der Umgebungsvariablen BUILD_CONFIG (Standardeinstellungen an: Release) entnommen.
Wenn Sie versuchen, eine andere Architektur zu überschreiten , setzen Sie AR , CC , CXX , GCC_PREFIX -Umgebungsvariablen entsprechend (siehe Dockerfile.ArM64 für ein Beispiel).
Anweisungen erstellen: Handbuch
$ ./utils/premake5 gmake
$ make -C Build/ config=release_x64 all
$ ./linux-install-data.sh # optional step Wenn Sie die Release -Konfiguration für die X86_64 -Architektur nicht erstellen möchten, können Sie stattdessen eine andere Build -Konfiguration aus: {debug|release}_{x86|x64|arm|arm64} auswählen.
Wenn Sie Probleme haben, die erforderlichen Abhängigkeiten zu beheben oder eine maximale Kompatibilität zu wünschen, können Sie unsere Docker -Build -Umgebung verwenden, die alle benötigten Abhängigkeiten versendet. Wir nutzen diese Umgebung auch, um die offiziellen Binärdateien aufzubauen.
Ziehen Sie das Docker -Bild
$ docker pull ghcr.io/multitheftauto/mtasa-blue-build:latest| Architektur | Docker -Bild -Tag |
|---|---|
| x86_64 | letzte |
| x86 | i386 |
| Arm | Armhf |
| ARM64 | ARM64 |
Bau mit Docker
Diese Beispiele gehen davon aus, dass Ihr aktuelles Verzeichnis das MTASA-Blue-Checkout-Verzeichnis ist. Sie sollten auch wissen, dass /build das Codeverzeichnis ist, das unsere Docker -Bilder im Container benötigen. Wenn das aktuelle Verzeichnis kein gültiges Git-Repository ist, erstellt es stattdessen einen (flachen) Klon des MTASA-Blue-Repositorys. Nach dem Kompilieren finden Sie die resultierenden Binärdateien in ./Bin . Um das nicht optimierte Debugg -Build zu erstellen, fügen Sie -e BUILD_CONFIG=debug zu den Docker -Run -Argumenten hinzu.
| Architektur | Befehl erstellen |
|---|---|
| x86_64 | docker run --rm -v `pwd`:/build ghcr.io/multitheftauto/mtasa-blue-build:latest |
| x86 | docker run --rm -v `pwd`:/build ghcr.io/multitheftauto/mtasa-blue-build:i386 |
| Arm | docker run --rm -v `pwd`:/build ghcr.io/multitheftauto/mtasa-blue-build:armhf |
| ARM64 | docker run --rm -v `pwd`:/build ghcr.io/multitheftauto/mtasa-blue-build:arm64 |
win-create-projects.bat ausführen
Sofern nicht anders angegeben, ist alle auf diesem Repository gehosteten Quellcode unter der GPLV3 -Lizenz lizenziert. Weitere Informationen finden Sie in der Lizenzdatei.
Grand Theft Auto und alle verwandten Marken sind © Rockstar North 1997–2024.