
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。