
Multi Theft Auto (MTA) adalah proyek perangkat lunak yang menambahkan fungsionalitas bermain jaringan ke seri game Grand Theft Auto Rockstar North, di mana fungsionalitas ini awalnya tidak ditemukan. Ini adalah modifikasi unik yang menggabungkan elemen play jaringan yang dapat diperpanjang ke dalam game PC satu pemain komersial yang berpemilik.
Catatan Jika Anda seorang pengembang garpu, silakan baca catatan ini dengan cermat. Kami telah mengubah tipe build default kembali ke kustom di
Shared/sdk/version.h. Jika Anda berkembang tanpa pemikiran anti-basa, katakanlah dalam konfigurasi debug, ini tidak mempengaruhi Anda sama sekali. Sekarang, jika Anda berencana untuk menguji klien kustom Anda dengan diaktifkan anti-cheat, Anda harus mengubah jenis build Anda menjadiUNTESTED. Jika Anda ingin mempublikasikan rilis klien khusus Anda, Anda harus beralih ke dukungan fork yang dikeraskan darinetc.dll. Harap baca halaman wiki forks_full_ac kami untuk informasi lebih lanjut.
Multi Theft Auto didasarkan pada injeksi kode dan teknik pengait di mana game dimanipulasi tanpa mengubah file asli yang disediakan dengan game. Perangkat lunak ini berfungsi sebagai mesin game yang menginstal dirinya sebagai perpanjangan dari game asli, menambahkan fungsionalitas inti seperti jaringan dan rendering GUI saat mengekspos fungsi mesin game asli melalui bahasa skrip.
Awalnya didirikan kembali pada awal 2003 sebagai bagian eksperimental perangkat lunak C/C ++, Multi Theft Auto sejak itu tumbuh menjadi platform multipemain canggih untuk gamer dan pengembang pihak ketiga. Perangkat lunak kami menyediakan gameplay gaya kotak pasir minimal yang dapat diperpanjang melalui bahasa skrip Lua dalam banyak hal, memungkinkan server untuk menjalankan mode game yang dibuat khusus dengan konten khusus hingga ratusan pemain online.
Sebelumnya proyek sumber tertutup, kami telah bermigrasi ke open-source untuk mendorong pengembang lain untuk berkontribusi serta menunjukkan wawasan tentang kode sumber proyek dan desain proyek kami untuk alasan pendidikan.
Multi Theft Auto dibangun di atas konsep "biru" yang mengimplementasikan kerangka mesin game. Karena desain kelas kerangka kerja game kami didasarkan pada desain Grand Theft Auto, kami dapat memasukkan kode kami ke dalam game asli. Gim ini kemudian sangat diperluas dengan menyediakan fungsionalitas game baru (termasuk tweak dan crash fix) serta antarmuka grafis yang sama sekali baru, jaringan dan komponen skrip.
Secara default, Multi Theft Auto menyediakan gameplay gaya pasir minimal Grand Theft Auto. Gameplay dapat sangat diperluas melalui penggunaan bahasa skrip LUA yang telah tertanam dalam perangkat lunak klien dan server. Baik server yang menampung game, serta klien yang bermain game mampu menjalankan dan menyinkronkan skrip LUA. Skrip -skrip ini dilapisi di atas kerangka kerja game Multi Theft Auto yang terdiri dari banyak kelas dan fungsi sehingga game dapat disesuaikan dengan hampir semua cara yang memungkinkan.
Semua konten gameplay seperti skrip LUA, gambar, suara, model atau tekstur khusus dikelompokkan menjadi "sumber daya". Sumber daya ini tidak lebih dari arsip (berisi konten) dan file metadata yang menggambarkan konten dan informasi tambahan apa pun (seperti dependensi pada sumber daya lain).
Menggunakan kerangka kerja berdasarkan sumber daya memiliki sejumlah keuntungan. Ini memungkinkan konten untuk dengan mudah ditransfer ke klien dan server. Keuntungan lain adalah kami dapat menyediakan cara untuk mengimpor dan mengekspor fungsionalitas skrip dalam sumber daya. Misalnya, sumber daya yang berbeda dapat mengimpor fungsionalitas (seringkali dasar) dari satu atau lebih sumber daya umum. Ini kemudian akan diunduh dan dimulai secara otomatis. Fitur lain yang layak disebutkan adalah bahwa administrator server dapat mengontrol akses ke sumber daya tertentu dengan menetapkan sejumlah hak pengguna yang berbeda untuk mereka.
Repositori kode proyek kami dapat ditemukan di repositori Git Multitheftauto/Mtasa-Blue di GitHub. Kami selalu mencari pengembang baru, jadi jika Anda tertarik, berikut adalah beberapa tautan yang berguna:
Prasyarat
win-create-projects.batMTASA.sln di direktori Buildwin-install-data.batKunjungi artikel Wiki "Mengompilasi MTASA" untuk informasi tambahan dan pemecahan masalah kesalahan.
Anda dapat membangun server MTA: SA di distribusi GNU/Linux hanya untuk arsitektur CPU x86, x86_64, ARMHF dan ARMHF. Arsitektur ARM saat ini berada dalam fase eksperimental , yang berarti mereka tidak stabil, belum diuji dan mungkin crash secara acak. Berhati-hatilah bahwa kami hanya secara resmi mendukung bangunan dari x86_64 dan itu termasuk kompilasi silang untuk x86, ARM dan ARM64.
Membangun dependensi
Harap selalu membaca DockerFiles untuk dependensi build terkini. Catatan: NCFTP tidak diperlukan untuk membangun server MTA: SA.
Bangun instruksi: skrip
Catatan: Script ini selalu menghapus Build/ dan Bin/ direktori dan melakukan bangunan bersih.
$ ./linux-build.sh [--arch = x86 | x64 | arm | arm64] [--config = debug | release]
$ ./linux-install-data.sh # optional step Jika Build Architecture --arch tidak disediakan, maka itu diambil dari variabel lingkungan BUILD_ARCHITECTURE (default ke: x64).
Jika konfigurasi build --config tidak disediakan, maka itu diambil dari variabel lingkungan BUILD_CONFIG (default ke: rilis).
Jika Anda mencoba untuk mengkompilasi silang ke arsitektur lain, maka atur AR , CC , CXX , GCC_PREFIX Variabel Lingkungan yang sesuai (lihat Dockerfile.arm64 Sebagai contoh).
Bangun Instruksi: Manual
$ ./utils/premake5 gmake
$ make -C Build/ config=release_x64 all
$ ./linux-install-data.sh # optional step Jika Anda tidak ingin membangun konfigurasi rilis untuk arsitektur X86_64, Anda dapat memilih konfigurasi build lain dari: {debug|release}_{x86|x64|arm|arm64} .
Jika Anda memiliki masalah menyelesaikan dependensi yang diperlukan atau menginginkan kompatibilitas maksimum, Anda dapat menggunakan lingkungan build kami yang berlabuh yang mengirimkan semua dependensi yang diperlukan. Kami juga menggunakan lingkungan ini untuk membangun binari resmi.
Menarik gambar Docker
$ docker pull ghcr.io/multitheftauto/mtasa-blue-build:latest| Arsitektur | Tag gambar Docker |
|---|---|
| x86_64 | terbaru |
| x86 | I386 |
| lengan | armhf |
| ARM64 | ARM64 |
Membangun dengan Docker
Contoh-contoh ini mengasumsikan bahwa direktori Anda saat ini adalah direktori checkout mtasa-blue. Anda juga harus tahu bahwa /build adalah direktori kode yang diperlukan oleh gambar Docker kami di dalam wadah. Jika direktori saat ini bukan repositori git yang valid, ia sebaliknya membuat klon (dangkal) dari repositori mtasa-blue. Setelah menyusun, Anda akan menemukan binari yang dihasilkan di ./Bin . Untuk membangun Debug Build yang tidak dioptimalkan, tambahkan -e BUILD_CONFIG=debug ke argumen Run Docker.
| Arsitektur | Membangun perintah |
|---|---|
| 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 |
| lengan | 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 |
Jalankan win-create-projects.bat
Kecuali ditentukan lain, semua kode sumber yang di -host pada repositori ini dilisensikan di bawah lisensi GPLV3. Lihat file lisensi untuk lebih jelasnya.
Grand Theft Auto dan semua merek dagang terkait adalah © Rockstar North 1997-2024.