
Multi Theft Auto(MTA)是一个软件项目,可为Rockstar North的Grand Theft Auto Game系列添加网络游戏功能,其中最初找不到此功能。这是一种独特的修改,将可扩展的网络播放元素纳入专有的商业单人游戏PC游戏中。
请注意,如果您是叉子开发人员,请仔细阅读此注释。我们已将默认构建类型更改为
Shared/sdk/version.h中的自定义。如果您在不考虑反策略的情况下开发,请在调试配置中说,这根本不会影响您。现在,如果您打算使用启用反陈词的自定义客户端测试您的自定义客户端,则应将构建类型更改为UNTESTED。如果要发布自定义客户端的版本,则必须切换到fork支持netc.dll的硬化版本。请阅读我们的forks_full_ac Wiki页面以获取更多信息。
Multi Theft Auto基于代码注入和挂钩技术,该技术可以操纵游戏而不更改游戏中提供的任何原始文件。该软件充当游戏引擎,它可以作为原始游戏的扩展安装,在通过脚本语言揭示原始游戏的引擎功能的同时,添加了诸如网络和GUI渲染之类的核心功能。
Multi Theft Auto最初是在2003年初作为C/C ++软件的实验片段成立的,此后已发展成为游戏玩家和第三方开发人员的高级多人游戏平台。我们的软件提供了最小的沙盒样式游戏玩法,可以通过Lua脚本语言进行多种方式扩展,从而使服务器可以运行具有自定义内容的自定义创建的游戏模式,可用于多达数百个在线玩家。
我们以前是一个封闭式项目,我们已迁移到开源项目,以鼓励其他开发人员贡献并出于教育原因展示对我们项目的源代码和设计的见解。
多盗窃自动建立在实现游戏引擎框架的“蓝色”概念上。由于我们的游戏框架的类设计是基于侠盗猎车手的设计,因此我们能够将代码插入原始游戏。然后,通过提供新的游戏功能(包括调整和碰撞修复程序)以及全新的图形接口,网络和脚本组件,可以大大扩展游戏。
默认情况下,Multi Theft Auto提供了侠盗猎车手Auto的最小沙盒样式游戏。通过使用已嵌入客户端和服务器软件中的LUA脚本语言,可以大量扩展游戏玩法。托管游戏的服务器以及玩游戏的客户端都可以运行和同步LUA脚本。这些脚本位于多盗窃自动的游戏框架之上,该脚本由许多类和功能组成,以便几乎可以以任何可能的方式调整游戏。
所有游戏内容,例如LUA脚本,图像,声音,自定义模型或纹理,都将其分组为“资源”。此资源不过是一个存档(包含内容)和描述内容和任何额外信息的元数据文件(例如对其他资源的依赖项)。
使用基于资源的框架具有许多优势。它允许内容轻松传输到客户和服务器。另一个优点是,我们可以提供一种在资源中导入和导出脚本功能的方法。例如,不同的资源可以从一个或多个共同的资源导入(通常是基本)功能。然后将自动下载并开始。值得一提的另一个功能是,服务器管理员可以通过为其分配许多不同的用户权利来控制对特定资源的访问。
我们的项目代码存储库可以在GitHub的Multitheftauto/MTASA-Blue Git存储库中找到。我们一直在寻找新的开发人员,因此,如果您有兴趣,这里有一些有用的链接:
先决条件
win-create-projects.batBuild目录中打开MTASA.slnwin-install-data.bat请访问Wiki文章“编译MTASA”,以获取其他信息和错误故障排除。
您可以仅适用于X86,X86_64,ARMHF和ARM64 CPU架构的GNU/Linux发行版上的MTA:SA服务器。 ARM架构目前处于实验阶段,这意味着它们不稳定,未经测试并且可能随机崩溃。当心我们仅正式支持X86_64的建筑物,其中包括用于X86,ARM和ARM64的交叉编译。
建立依赖性
请始终阅读Dockerfiles以进行最新的构建依赖性。注意:构建MTA:SA服务器不需要NCFTP。
构建说明:脚本
注意:此脚本始终删除Build/和Bin/目录,并进行干净的构建。
$ ./linux-build.sh [--arch = x86 | x64 | arm | arm64] [--config = debug | release]
$ ./linux-install-data.sh # optional step如果未提供构建体系结构--arch ,则取自环境变量BUILD_ARCHITECTURE (默认为:x64)。
如果未提供构建配置--config ,则取自环境变量BUILD_CONFIG (默认为:release)。
如果您试图将编译与另一个体系结构进行交叉编译,请相应地设置AR , CC , CXX , GCC_PREFIX环境变量(有关示例,请参见Dockerfile.arm64)。
构建说明:手册
$ ./utils/premake5 gmake
$ make -C Build/ config=release_x64 all
$ ./linux-install-data.sh # optional step如果您不想为X86_64体系结构构建发行配置,则可以从: {debug|release}_{x86|x64|arm|arm64}中选择其他构建配置。
如果您在解决所需的依赖关系方面遇到问题,或者需要最大的兼容性,则可以使用我们的Dockerized构建环境,以运送所有需要的依赖项。我们还使用这种环境来建造官方的二进制文件。
拉码头图像
$ docker pull ghcr.io/multitheftauto/mtasa-blue-build:latest| 建筑学 | Docker图像标签 |
|---|---|
| x86_64 | 最新的 |
| x86 | I386 |
| 手臂 | Armhf |
| ARM64 | ARM64 |
与Docker建造
这些示例假定您的当前目录是MTASA蓝调结帐目录。您还应该知道, /build是我们的Docker图像所需的代码目录。如果当前目录不是有效的GIT存储库,则可以创建MTASA-Blue存储库的(浅)克隆。编译后,您会在./Bin中找到产生的二进制文件。要构建未优化的调试构建,请添加-e BUILD_CONFIG=debug docker run参数。
| 建筑学 | 构建命令 |
|---|---|
| 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 |
| 手臂 | 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
除非另有说明,否则该存储库上托管的所有源代码均根据GPLV3许可证获得许可。有关更多详细信息,请参见许可证文件。
侠盗猎车手和所有相关商标均为©Rockstar North 1997–2024。