
Multi Theft Auto (MTA) هو مشروع برمجي يضيف وظائف لعب الشبكة إلى سلسلة لعبة Rockstar North Grand Theft Auto ، والتي لم يتم العثور عليها في الأصل. إنه تعديل فريد يشتمل على عنصر تشغيل شبكة قابل للتمديد في لعبة كمبيوتر لاعب واحد لاعب واحد.
ملاحظة إذا كنت مطورًا شوكيًا ، فيرجى قراءة هذه الملاحظة بعناية. لقد قمنا بتغيير نوع البناء الافتراضي مرة أخرى إلى Custom في
Shared/sdk/version.h. إذا كنت تتطور بدون وضع مضاد للخلاف ، على سبيل المثال ، في تكوين التصحيح ، فإن هذا لا يؤثر عليك على الإطلاق. الآن ، إذا كنت تخطط لاختبار العميل المخصص الخاص بك من خلال تمكين مضاد لـ CHEAT ، فيجب عليك تغيير نوع الإنشاء الخاص بك إلىUNTESTED. إذا كنت ترغب في نشر إصدار من عميلك المخصص ، فيجب عليك التبديل إلى إصدار Fork Support Handed منnetc.dll. يرجى قراءة صفحة forks_full_ac wiki لمزيد من المعلومات.
تعتمد Multi Theft Auto على حقن التعليمات البرمجية وتقنيات التثبيت حيث يتم معالجة اللعبة دون تغيير أي ملفات أصلية مزودة باللعبة. يعمل البرنامج كمحرك لعبة يثبت نفسه كامتداد للعبة الأصلية ، مضيفًا وظائف أساسية مثل الشبكات وتقديم واجهة المستخدم الرسومية أثناء تعريض وظائف محرك اللعبة الأصلية من خلال لغة نصية.
تأسست في الأصل مرة أخرى في أوائل عام 2003 كقطعة تجريبية من برنامج C/C ++ ، وقد نمت منذ ذلك الحين إلى منصة متعددة اللاعبين متقدمة للاعبين ومطوري الطرف الثالث. يوفر برنامجنا الحد الأدنى من اللعب على نمط Sandbox يمكن تمديده من خلال لغة البرمجة النصية LUA بعدة طرق ، مما يسمح للخوادم بتشغيل أوضاع ألعاب تم إنشاؤها مخصصة مع محتوى مخصص لمئات من اللاعبين عبر الإنترنت.
سابقًا مشروعًا مغلقًا للمصدر ، انتقلنا إلى المصدر المفتوح لتشجيع المطورين الآخرين على المساهمة وكذلك إظهار البصيرة في الكود المصدري لمشروعنا وأسباب تعليمية.
تم بناء Multi Theft Auto على مفهوم "الأزرق" الذي ينفذ إطار عمل محرك اللعبة. نظرًا لأن تصميم الفصل لإطار العمل الخاص بنا يعتمد على تصميم Grand Theft Auto ، فنحن قادرون على إدراج رمزنا في اللعبة الأصلية. ثم يتم تمديد اللعبة بشكل كبير من خلال توفير وظائف جديدة للعبة (بما في ذلك التعديلات وإصلاحات التصادم) بالإضافة إلى واجهة رسومية جديدة تمامًا وشبكات ومكون نصوص.
بشكل افتراضي ، يوفر Multi Theft Auto الحد الأدنى من لعبة Sandbox Style of Grand Theft Auto. يمكن تمديد طريقة اللعب بشكل كبير من خلال استخدام لغة البرمجة النصية LUA التي تم تضمينها في برنامج العميل والخادم. كل من الخادم الذي يستضيف اللعبة ، وكذلك العميل الذي يلعب اللعبة قادران على تشغيل ومزامنة البرامج النصية LUA. يتم وضع هذه البرامج النصية فوق إطار لعبة Multi Multi Auto الذي يتكون من العديد من الفئات والوظائف بحيث يمكن تعديل اللعبة بأي طريقة ممكنة تقريبًا.
يتم تجميع جميع محتوى اللعب مثل البرامج النصية LUA أو الصور أو الأصوات أو النماذج المخصصة أو القوام في "مورد". هذا المورد ليس أكثر من أرشيف (يحتوي على المحتوى) وملف بيانات تعريف يصف المحتوى وأي معلومات إضافية (مثل التبعيات على الموارد الأخرى).
إن استخدام إطار عمل على أساس الموارد له عدد من المزايا. يسمح بنقل المحتوى بسهولة إلى العملاء والخوادم. ميزة أخرى هي أنه يمكننا توفير وسيلة لاستيراد وتصدير وظائف البرمجة النصية في مورد ما. على سبيل المثال ، يمكن للموارد المختلفة استيراد وظائف (غالبًا ما تكون أساسية) من موارد واحدة أو أكثر. سيتم تنزيلها تلقائيًا وبدء تشغيلها. ميزة أخرى جديرة بالذكر هي أنه يمكن لمسؤولي الخادم التحكم في الوصول إلى موارد محددة من خلال تعيين عدد من حقوق المستخدم المختلفة لهم.
يمكن العثور على مستودع رمز مشروعنا على مستودع GIT MultiTheFtauto/MTASA-Blue في GitHub. نحن نبحث دائمًا عن مطورين جدد ، لذلك إذا كنت مهتمًا ، فإليك بعض الروابط المفيدة:
المتطلبات الأساسية
win-create-projects.batMTASA.sln في دليل Buildwin-install-data.batتفضل بزيارة مقالة Wiki "تجميع MTASA" للحصول على معلومات إضافية واستكشاف الأخطاء وإصلاحها.
يمكنك إنشاء MTA: SA Server على توزيعات GNU/Linux فقط لعمليات بنية CPU X86 و X86_64 و ARMHF و ARM64. توجد بنية ARM حاليًا في المرحلة التجريبية ، مما يعني أنها غير مستقرة ، ولم يتم اختبارها وقد تتعطل بشكل عشوائي. احذر من أننا ندعم المبنى رسميًا فقط من x86_64 ويشمل ذلك التوفيق بين X86 و ARM و ARM64.
بناء التبعيات
يرجى دائمًا قراءة Dockerfiles للحصول على تبعيات بناء محدثة. ملاحظة: NCFTP غير مطلوب لبناء خادم MTA: SA.
بناء التعليمات: البرنامج النصي
ملاحظة: يقوم هذا البرنامج النصي دائمًا بحذف 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 (الإعدادات الافتراضية إلى: الإصدار).
إذا كنت تحاول أن تتجول في بنية أخرى ، فقم بتعيين متغيرات بيئة 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} .
إذا كانت لديك مشاكل في حل التبعيات المطلوبة أو تريد أقصى قدر من التوافق ، فيمكنك استخدام بيئة البناء الخاصة بنا التي تشحن جميع التبعيات اللازمة. نستخدم أيضًا هذه البيئة لبناء الثنائيات الرسمية.
سحب صورة Docker
$ docker pull ghcr.io/multitheftauto/mtasa-blue-build:latest| بنيان | علامة صورة Docker |
|---|---|
| x86_64 | أحدث |
| x86 | I386 |
| ذراع | Armhf |
| ARM64 | ARM64 |
بناء مع Docker
تفترض هذه الأمثلة أن دليلك الحالي هو دليل الخروج MTASA-Blue. يجب أن تعرف أيضًا أن /build هو دليل الرمز المطلوب من خلال صور Docker داخل الحاوية. إذا لم يكن الدليل الحالي مستودعًا صالحًا لـ GIT ، فإنه بدلاً من ذلك ينشئ استنساخًا (ضحلًا) لمستودع MTASA-Blue. بعد التجميع ، ستجد الثنائيات الناتجة في ./Bin . لبناء بناء تصحيح الأخطاء غير المستنزف ، أضف -e BUILD_CONFIG=debug to the Docker Run Discuments.
| بنيان | بناء الأمر |
|---|---|
| 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.