客户端游戏 活跃维护

mtasa-blue

multitheftauto/mtasa-blue

Multi Theft Auto 是一个游戏引擎,它将《侠盗猎车手:圣安地列斯》转变为网络多人游戏。

1862
Stars 标星
588
Forks 分支
73
Watchers 关注
1083
Open Issues
C++
主要语言
GPL-3.0
开源协议
933.5 MB
仓库大小
20 小时前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:multitheftauto/mtasa-blue
git clone https://github.com/multitheftauto/mtasa-blue.git
git clone git@github.com:multitheftauto/mtasa-blue.git
README.md master

英文原文正文为项目原始 README(英文),本站后续会翻译为中文,当前仅剔除图片与无关章节并统一排版。

多重盗窃:圣安地列斯

Multi Theft Auto(MTA)是一个软件项目,它为 Rockstar North 的《侠盗猎车手》游戏系列增加了网络游戏功能,而这种功能在原版中并不存在。它是一种独特的修改,将可扩展的网络游戏元素融入到专有的商业单机 PC 游戏中。

简介

多重偷车(Multi Theft Auto)基于代码注入和钩子技术,通过这些技术,可以在不更改游戏提供的任何原始文件的情况下操控游戏。该软件作为一个游戏引擎运行,作为原始游戏的扩展安装,添加核心功能,例如网络和GUI渲染,同时通过脚本语言暴露原始游戏引擎的功能。

最初于2003年初创立,作为一款实验性的C/C++软件,多重偷车如今已发展成为一个为玩家和第三方开发者提供的高级多人游戏平台。我们的软件提供最小化的沙盒式玩法,并可通过Lua脚本语言以多种方式扩展,允许服务器运行自定义创建的游戏模式,支持数百名在线玩家使用自定义内容。

曾经是闭源项目,我们已迁移到开源,以鼓励其他开发者的贡献,并出于教育目的展示我们项目的源代码和设计思路。

多重偷车建立在“Blue”概念之上,实施了一个游戏引擎框架。由于我们的游戏框架类设计基于《侠盗猎车手》的设计,我们能够将代码插入到原始游戏中。随后,通过提供新的游戏功能(包括调整和崩溃修复)以及全新的图形界面、网络和脚本组件,游戏得到了大幅扩展。

游戏内容

默认情况下,《Multi Theft Auto》提供了《侠盗猎车手》的最基本的沙盒风格游戏玩法。通过使用嵌入在客户端和服务器软件中的 Lua 脚本语言,游戏玩法可以被大幅扩展。托管游戏的服务器以及正在进行游戏的客户端都能够运行和同步 Lua 脚本。这些脚本被叠加在《Multi Theft Auto》的游戏框架之上,该框架由许多类和函数组成,从而使游戏能够以几乎任何可能的方式进行调整。

所有游戏内容,例如 Lua 脚本、图像、声音、自定义模型或纹理,都被归类为“资源”。该资源无非是一个存档(包含内容)以及一个描述内容和任何附加信息(例如对其他资源的依赖关系)的元数据文件。

使用基于资源的框架有许多优势。它使内容能够轻松地传输到客户端和服务器。另一个优势是我们可以提供在资源中导入和导出脚本功能的方法。例如,不同的资源可以从一个或多个通用资源中导入(通常是基本)功能。这些功能随后将被自动下载和启动。另一个值得一提的功能是,服务器管理员可以通过为资源分配不同的用户权限来控制对特定资源的访问。

开发

我们项目的代码仓库可以在 multitheftauto/mtasa-blue Git 仓库的 GitHub 上找到。我们一直在寻找新的开发者,如果你有兴趣,这里有一些有用的链接:

构建说明

窗口

先决条件

  1. Execute win-create-projects.bat
  2. 在 Build 目录中打开 MTASA.sln
  3. 编译
  4. Execute: win-install-data.bat

访问维基文章 "编译 MTASA" 获取更多信息和错误排查方法。

GNU/Linux

你可以在 GNU/Linux 发行版上为 x86、x86_64、armhf 和 arm64 CPU 架构构建 MTA:SA 服务器。ARM 架构当前处于 实验阶段,意味着不稳定、未经测试,并可能随机崩溃。请注意,我们官方仅支持从 x86_64 构建,包括对 x86、arm 和 arm64 的交叉编译。

构建依赖

请始终阅读 utils/docker/Dockerfile 以获取最新的构建依赖项。

  • 制作
  • GNU GCC 编译器(版本 10 或更高)
  • libncurses-dev
  • libmysqlclient-dev

构建说明:脚本

注意:该脚本总是会删除 Build/ 和 Bin/ 目录,并进行干净构建。

$ ./linux-build.sh [--arch=x86|x64|arm|arm64] [--config=debug|release] [--cores=<n>]
$ ./linux-install-data.sh  # optional step

如果未提供构建架构 --arch,则将从环境变量 BUILD_ARCHITECTURE 获取(默认值:x64)。

如果未提供构建配置 --config,则将从环境变量 BUILD_CONFIG 获取(默认值:release)。

如果未提供作业数量 --cores,则构建将默认为 CPU 核心数。

如果您尝试 交叉编译 到另一个架构,请相应地设置 AR、CC、CXX、GCC_PREFIX 环境变量(参考 utils/docker/Dockerfile 示例)。

构建说明:手动

$ ./utils/premake5 gmake
$ make -C Build/ config=release_x64 all
$ ./linux-install-data.sh  # optional step

如果您不想为 x8664 架构构建发布配置,您可以改为从以下选项中选择其他构建配置:`{debug|release}{x86|x64|arm|arm64}`。

GNU/Linux:Docker 构建环境

如果您在解决所需依赖项时遇到问题或希望获得最大兼容性,您可以使用我们打包了所有所需依赖项的 Docker 构建环境。我们也使用该环境来构建官方二进制文件。

拉取 Docker 镜像

$ docker pull ghcr.io/multitheftauto/mtasa-blue-build:latest

使用 Docker 构建

这些示例假设你当前的目录是 mtasa-blue 的检出目录。你还应该知道 /build 是容器内我们的 Docker 镜像所需的代码目录。编译完成后,你将在 ./Bin 中找到生成的二进制文件。要构建未优化的调试版本,请在 docker run 参数中添加 --config=debug。

# x86_64
docker run --rm -v `pwd`:/build ghcr.io/multitheftauto/mtasa-blue-build:latest --arch=x64

# x86
docker run --rm -v `pwd`:/build ghcr.io/multitheftauto/mtasa-blue-build:latest --arch=x86

# arm
docker run --rm -v `pwd`:/build ghcr.io/multitheftauto/mtasa-blue-build:latest --arch=arm

# arm64
docker run --rm -v `pwd`:/build ghcr.io/multitheftauto/mtasa-blue-build:latest --arch=arm64

Premake 常见问题

如何添加新的 C 源文件?

执行 win-create-projects.bat

许可证

除非另有说明,本存储库中托管的所有源代码均根据 GPLv3 许可证进行许可。更多详细信息请参见 LICENSE 文件。

《侠盗猎车手》及所有相关商标© Rockstar North 1997–2026。

本站来源与版权声明
  • 本文标题:mtasa-blue - Multi Theft Auto 是一个游戏引擎
  • 本文链接:https://cn121.com/clientgame/multitheftauto-mtasa-blue.html
  • 原项目:multitheftauto/mtasa-blue 版权归原作者 multitheftauto 及贡献者所有
  • 收录信息:本站于 2026-10-05 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
  • 开源协议:收录时本项目采用 GPL-3.0(查看 LICENSE 原文),本站转载其原始文档(未改动文字,仅剔除图片与无关章节);使用、修改、分发请以该仓库 LICENSE 原文为准。基于本页内容形成的衍生作品, 须同样以该协议发布。
  • 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 multitheftauto/mtasa-blue。
  • 内容说明:本页正文为原项目 README 原文(英文),本站后续会翻译为中文(当前尚未译出,仅将二级标题译为中文,便于按栏目定位;标题原文可在下方原仓库中查看),仅剔除了图片与赞助等无关章节、并把相对链接改为绝对地址;页首简介为机器翻译自仓库描述。
  • 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
  • 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。