
Multi Theft Auto(MTA)は、Rockstar NorthのGrand Theft Auto Gameシリーズにネットワーク再生機能を追加するソフトウェアプロジェクトであり、この機能は当初見つかりません。これは、拡張可能なネットワーク再生要素を独自の商用シングルプレイヤーPCゲームに組み込んだユニークな変更です。
あなたがフォーク開発者の場合は、このメモを注意深く読んでください。デフォルトのビルドタイプを
Shared/sdk/version.hのカスタムに戻しました。アンチチートを念頭に置いて開発している場合、デバッグ構成では、これはまったく影響しません。これで、アンチチートを有効にしてカスタムクライアントをテストする場合は、ビルドタイプをUNTESTEDに変更する必要があります。カスタムクライアントのリリースを公開する場合は、netc.dllのフォークサポート硬化リリースに切り替える必要があります。詳細については、forks_full_ac wikiページをお読みください。
Multi TheFT Autoは、ゲームで提供された元のファイルを変更せずにゲームが操作されるコードインジェクションとフックテクニックに基づいています。このソフトウェアは、元のゲームの拡張機能としてインストールするゲームエンジンとして機能し、スクリプト言語で元のゲームのエンジン機能を公開しながら、ネットワークやGUIレンダリングなどのコア機能を追加します。
もともと2003年初頭にC/C ++ソフトウェアの実験的な部分として設立されたMulti TheFT Autoは、その後、ゲーマーとサードパーティ開発者向けの高度なマルチプレイヤープラットフォームに成長しました。当社のソフトウェアは、LUAスクリプト言語を多くの方法で拡張できる最小限のサンドボックススタイルのゲームプレイを提供し、サーバーが最大数百のオンラインプレーヤー向けにカスタムコンテンツを備えたカスタム作成ゲームモードを実行できるようにします。
以前はクローズドソースプロジェクトでしたが、私たちはオープンソースに移行して、他の開発者が貢献することを奨励し、教育上の理由でプロジェクトのソースコードと設計に関する洞察を示しています。
Multi Theft Autoは、ゲームエンジンフレームワークを実装する「青」コンセプトの上に構築されています。ゲームフレームワークのクラスデザインはGrand Theft Autoのデザインに基づいているため、コードを元のゲームに挿入することができます。その後、ゲームは、新しいゲーム機能(微調整やクラッシュの修正を含む)と、完全に新しいグラフィカルインターフェイス、ネットワーキング、スクリプトコンポーネントを提供することにより、大幅に拡張されます。
デフォルトでは、Multi Theft Autoは、Grand Theft Autoの最小限のサンドボックススタイルのゲームプレイを提供します。ゲームプレイは、クライアントおよびサーバーソフトウェアに組み込まれているLUAスクリプト言語を使用して、大幅に拡張できます。ゲームをホストするサーバーと、ゲームをプレイするクライアントは、LUAスクリプトを実行および同期することができます。これらのスクリプトは、ゲームを実質的に可能な方法で調整できるように、多くのクラスと機能で構成されるマルチ盗難自動車のゲームフレームワークの上に階層化されています。
LUAスクリプト、画像、サウンド、カスタムモデル、テクスチャなどのすべてのゲームプレイコンテンツは、「リソース」にグループ化されます。このリソースは、アーカイブ(コンテンツを含む)とコンテンツと追加の情報(他のリソースへの依存関係など)を説明するメタデータファイルにすぎません。
リソースに基づいたフレームワークを使用するには、多くの利点があります。コンテンツをクライアントとサーバーに簡単に転送できます。もう1つの利点は、リソースでスクリプト機能をインポートおよびエクスポートする方法を提供できることです。たとえば、異なるリソースは、1つ以上の一般的なリソースから(多くの場合、基本的な)機能をインポートできます。これらは自動的にダウンロードされて開始されます。言及する価値のあるもう1つの機能は、サーバー管理者が多くの異なるユーザーの権利を割り当てることにより、特定のリソースへのアクセスを制御できることです。
当社のプロジェクトのコードリポジトリは、GithubのMultheftauto/Mtasa-Blue Gitリポジトリにあります。私たちは常に新しい開発者を探しているので、あなたが興味を持っているなら、ここにいくつかの有用なリンクがあります:
前提条件
win-create-projects.batを実行しますBuildディレクトリでMTASA.slnを開きますwin-install-data.bat追加情報とエラーのトラブルシューティングについては、Wikiの記事「Mtasaのコンパイル」をご覧ください。
X86、X86_64、ARMHF、およびARM64 CPUアーキテクチャのみのGNU/Linux分布でMTA:SAサーバーを構築できます。アームアーキテクチャは現在実験段階にあります。つまり、不安定でテストされておらず、ランダムにクラッシュする可能性があります。 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)から取得されます。
build configuration --configが提供されていない場合、環境変数BUILD_CONFIG (デフォルト:リリース)から取得されます。
別のアーキテクチャに相互コンパイルをかけようとしている場合は、それに応じて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画像を引っ張ります
$ docker pull ghcr.io/multitheftauto/mtasa-blue-build:latest| 建築 | Docker画像タグ |
|---|---|
| x86_64 | 最新 |
| x86 | I386 |
| アーム | ARMHF |
| ARM64 | ARM64 |
Dockerと一緒に建物
これらの例は、現在のディレクトリがMtasa-Blue Checkoutディレクトリであることを前提としています。また、 /build 、コンテナ内のDocker画像が必要とするコードディレクトリであることを知っておく必要があります。現在のディレクトリが有効なgitリポジトリでない場合、代わりにmtasa-blueリポジトリの(浅い)クローンを作成します。コンパイル後、結果として得られたバイナリが./Binにあります。最適化されていないデバッグビルドを構築するには、Docker Run引数に-e BUILD_CONFIG=debugを追加します。
| 建築 | コマンドを作成します |
|---|---|
| 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ライセンスに基づいてライセンスされています。詳細については、ライセンスファイルを参照してください。
Grand Theft Autoおよびすべての関連商標は、©Rockstar North 1997–2024です。