
Multi Theft Auto (MTA) est un projet logiciel qui ajoute des fonctionnalités de jeu réseau à la série de jeux GRAND AUTO GRAND Theft de Rockstar North, dans laquelle cette fonctionnalité n'est pas à l'origine trouvée. Il s'agit d'une modification unique qui intègre un élément de jeu de réseau extensible dans un jeu PC solo commercial propriétaire.
Remarque Si vous êtes un développeur de fourche, veuillez lire attentivement cette note. Nous avons modifié le type de build par défaut pour personnaliser dans
Shared/sdk/version.h. Si vous vous développez sans l'anti-triche à l'esprit, disons dans la configuration de débogage, cela ne vous affecte pas du tout. Maintenant, si vous prévoyez de tester votre client personnalisé avec Anti-Cheat activé, vous devez modifier votre type de build pourUNTESTED. Si vous souhaitez publier une version de votre client personnalisé, vous devez passer à une version durcie de la prise en charge denetc.dll. Veuillez lire notre page Wiki FORKS_FULL_AC pour plus d'informations.
Multi Theft Auto est basé sur des techniques d'injection de code et d'accrochage par lesquelles le jeu est manipulé sans modifier aucun fichier original fourni avec le jeu. Le logiciel fonctionne comme un moteur de jeu qui s'installe comme une extension du jeu d'origine, ajoutant des fonctionnalités de base telles que la mise en réseau et le rendu d'interface graphique tout en exposant la fonctionnalité du moteur du jeu d'origine via un langage de script.
Fondée à l'origine au début de 2003 comme élément expérimental du logiciel C / C ++, Multi Theft Auto est devenu depuis une plate-forme multijoueur avancée pour les joueurs et les développeurs tiers. Notre logiciel fournit un gameplay de style sandbox minimal qui peut être étendu via le langage de script LUA à bien des égards, permettant aux serveurs d'exécuter des modes de jeu créés personnalisés avec du contenu personnalisé pour des centaines de lecteurs en ligne.
Autrefois un projet de source fermée, nous avons migré vers les open source pour encourager d'autres développeurs à contribuer et montrer un aperçu du code source et de la conception de notre projet pour des raisons éducatives.
Multi Theft Auto est construit sur le concept "bleu" qui implémente un cadre de moteur de jeu. Étant donné que la conception de la classe de notre cadre de jeu est basée sur la conception de Grand Theft Auto, nous pouvons insérer notre code dans le jeu original. Le jeu est ensuite fortement étendu en fournissant de nouvelles fonctionnalités de jeu (y compris des ajustements et des correctifs de crash) ainsi qu'une nouvelle interface graphique, un composant de mise en réseau et de script.
Par défaut, Multi Theft Auto fournit le gameplay de style sandbox minimal de Grand Theft Auto. Le gameplay peut être fortement étendu grâce à l'utilisation du langage de script LUA qui a été intégré au logiciel client et serveur. Le serveur hébergeant le jeu, ainsi que le client jouant au jeu, sont capables d'exécuter et de synchroniser les scripts LUA. Ces scripts sont superposés au-dessus du cadre de jeu de Multi Theft Auto qui se compose de nombreuses classes et fonctions afin que le jeu puisse être ajusté de pratiquement n'importe quelle manière possible.
Tous les contenus de gameplay tels que les scripts LUA, les images, les sons, les modèles personnalisés ou les textures sont regroupés en une "ressource". Cette ressource n'est rien d'autre qu'une archive (contenant le contenu) et un fichier de métadonnées décrivant le contenu et toute information supplémentaire (telles que les dépendances sur d'autres ressources).
L'utilisation d'un cadre basé sur les ressources présente un certain nombre d'avantages. Il permet de transférer facilement du contenu aux clients et aux serveurs. Un autre avantage est que nous pouvons fournir un moyen d'importer et d'exporter des fonctionnalités de script dans une ressource. Par exemple, différentes ressources peuvent importer des fonctionnalités (souvent de base) à partir d'une ou plusieurs ressources communes. Ceux-ci seront ensuite téléchargés et démarrés automatiquement. Une autre fonctionnalité à mentionner est que les administrateurs de serveurs peuvent contrôler l'accès à des ressources spécifiques en leur attribuant un certain nombre de droits d'utilisateurs différents.
Le référentiel de code de notre projet peut être trouvé sur le référentiel Git MultithEftAuto / Mtasa-Blue chez GitHub. Nous recherchons toujours de nouveaux développeurs, donc si vous êtes intéressé, voici quelques liens utiles:
Condition préalable
win-create-projects.batMTASA.sln dans le répertoire Buildwin-install-data.batVisitez l'article Wiki "Compilation MTASA" pour plus d'informations et de dépannage d'erreurs.
Vous pouvez créer le serveur MTA: SA sur les distributions GNU / Linux uniquement pour les architectures CPU x86, x86_64, ARMHF et ARM64. Les architectures des bras sont actuellement en phase expérimentale , ce qui signifie qu'ils sont instables, non testés et peuvent s'écraser au hasard. Méfiez-vous que nous ne soutenons officiellement le bâtiment de X86_64 et cela inclut la compilation croisée pour x86, ARM et ARM64.
Construire des dépendances
Veuillez toujours lire les dockerfiles pour les dépendances de construction à jour. Remarque: NCFTP n'est pas requis pour construire le serveur MTA: SA.
Créer des instructions: script
Remarque: Ce script supprime toujours Build/ et Bin/ répertoires et fait une construction propre.
$ ./linux-build.sh [--arch = x86 | x64 | arm | arm64] [--config = debug | release]
$ ./linux-install-data.sh # optional step Si Build Architecture --arch n'est pas fourni, il est tiré de la variable d'environnement BUILD_ARCHITECTURE (par défaut est: x64).
Si la configuration de build --config n'est pas fournie, elle est prise à partir de la variable d'environnement BUILD_CONFIG (par défaut: version).
Si vous essayez de compiler une autre architecture, définissez les variables d'environnement AR , CC , CXX , GCC_PREFIX en conséquence (voir dockerfile.arm64 pour un exemple).
Instructions de construction: manuel
$ ./utils/premake5 gmake
$ make -C Build/ config=release_x64 all
$ ./linux-install-data.sh # optional step Si vous ne souhaitez pas créer la configuration de version pour l'architecture x86_64, vous pouvez plutôt choisir une autre configuration de build à partir de: {debug|release}_{x86|x64|arm|arm64} .
Si vous avez des problèmes à résoudre les dépendances requises ou si vous souhaitez une compatibilité maximale, vous pouvez utiliser notre environnement de construction dockrized qui expédie toutes les dépendances nécessaires. Nous utilisons également cet environnement pour construire les binaires officiels.
Tirer l'image Docker
$ docker pull ghcr.io/multitheftauto/mtasa-blue-build:latest| Architecture | Tag d'image docker |
|---|---|
| x86_64 | dernier |
| x86 | i386 |
| bras | armer |
| ARM64 | ARM64 |
Bâtiment avec Docker
Ces exemples supposent que votre répertoire actuel est le répertoire de paiement MTASA-Blue. Vous devez également savoir que /build est le répertoire de code requis par nos images Docker à l'intérieur du conteneur. Si le répertoire actuel n'est pas un référentiel GIT valide, il crée plutôt un clone (peu profond) du référentiel MTASA-Blue. Après avoir compilé, vous trouverez les binaires résultants en ./Bin . Pour construire la construction de débogage non optimisé, ajoutez -e BUILD_CONFIG=debug aux arguments de l'exécution docker.
| Architecture | Construire la commande |
|---|---|
| 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 |
| bras | 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 |
Exécuter win-create-projects.bat
Sauf indication contraire, tout le code source hébergé sur ce référentiel est concédé sous licence GPLV3. Voir le fichier de licence pour plus de détails.
Grand Theft Auto et toutes les marques connexes sont © Rockstar North 1997-2024.