تثبّت FiveM Scripts عبر وضع المورد في مجلد resources/، وتشغيله في server.cfg باستخدام ensure، وتحميل الاعتماديات مثل ESX أو QBCore أو مشغلات قاعدة البيانات مسبقًا. الأهم هو بنية مجلدات نظيفة، وترتيب بدء صحيح، واستيراد SQL تم فحصه، ومراجعة كونسول الخادم بعد إعادة التشغيل.
المتطلبات
تحتاج إلى وصول إلى ملفات الخادم، وملف server.cfg، وكونسول الخادم، وإذا كان Script يستخدم جداول قاعدة بيانات، فإلى قاعدة بيانات MySQL أو MariaDB الخاصة بك. في خادم FiveM مستأجر، يشمل ذلك عادة مدير ملفات، وFTP/SFTP، وأداة قاعدة بيانات مثل phpMyAdmin أو Adminer. إذا كنت لا تزال تخطط للخادم بالكامل، فسيساعدك الدليل الداخلي استئجار خادم FiveM وإعداده في البنية الأساسية.
تسمي FiveM الـ Scripts تقنيًا موارد. وفقًا لتوثيق Cfx.re الرسمي، يصف ملف fxmanifest.lua الملفات والـ Scripts والبيانات الوصفية التي تنتمي إلى مورد ما. لذلك تحقق دائمًا أولًا مما إذا كان المجلد بعد فك الضغط يحتوي على ملف Manifest صالح. بدون Manifest لا يستطيع الخادم تحميل المورد بشكل صحيح.
فحص بنية Script
يبدو مورد FiveM نموذجيًا هكذا:
mein_script/
├── fxmanifest.lua # ملف Manifest
├── client.lua # كود العميل
├── server.lua # كود الخادم
├── config.lua # الإعدادات
└── html/ # NUI (واجهة ويب)
المهم ألا ترفع عن طريق الخطأ مجلد تغليف إضافيًا. سيكون مثلًا resources/mein_script-main/mein_script/fxmanifest.lua خطأ إذا كان من المفترض أن يكون المورد مباشرة تحت resources/mein_script/fxmanifest.lua. افتح المجلد بعد فك الضغط وتحقق من المستوى الذي يوجد عليه fxmanifest.lua.
تثبيت Script
- تنزيل Script
- فك الضغط في مجلد
resources/ - إضافته في
server.cfg:
ensure mein_script
- إعادة تشغيل الخادم
استخدم كاسم للمورد اسم المجلد بالضبط أو الاسم الذي تحدده README. تنشأ أخطاء كثيرة بسبب اختلاف الكتابة، أو وجود مسافات في اسم المجلد، أو استخدام رموز خاصة. يُنصح بأسماء قصيرة بحروف صغيرة، مع شرطات أو شرطات سفلية.
إعداد ESX Scripts
تعتمد ESX Scripts على تشغيل أساس ESX والموارد الإضافية المطلوبة قبلها. قد يختلف الترتيب المحدد حسب إصدار ESX والـ Script، لذلك القاعدة هي: افحص README الخاصة بالـ Script وراع توثيق Framework الموجود.
# أساس ESX
ensure es_extended
ensure esx_menu_default
ensure esx_menu_dialog
ensure esx_menu_list
# الوظائف
ensure esx_policejob
ensure esx_ambulancejob
ensure esx_mechanicjob
ensure esx_taxijob
# الميزات
ensure esx_banking
ensure esx_vehicleshop
ensure esx_property
إذا كان Job-Script يتوقع جداول قاعدة بيانات أو Items خاصة به، فاستورد ملف SQL المرفق قبل أول تشغيل إنتاجي. انسخ قاعدة البيانات احتياطيًا مسبقًا. في خوادم Roleplay القائمة، يمكن لملفات SQL أن تستبدل أعمدة أو Items أو Jobs إذا لم تكن مضبوطة على تثبيتك.
إعداد QBCore Scripts
تتبع موارد QBCore مبدأ مشابهًا: أولًا Framework، ثم المكتبات المشتركة، وبعدها Inventory، وJobs، وGarages، وPhone أو HUD. مثال بسيط:
ensure qb-core
ensure qb-policejob
ensure qb-ambulancejob
ensure qb-garages
ensure qb-inventory
ensure qb-phone
افحص خصوصًا ملفات الإعداد مثل config.lua أو shared/config.lua أو ملفات Items الخاصة بالـ Framework. بعض QBCore Scripts تتوقع إدخالات في Items أو Jobs أو Gangs أو Permissions. أدخل فقط القيم التي يوثقها الـ Script. إذا أردت تخطيط الموارد وtxAdmin وتشغيل الخادم ضمن سياق أكبر، فاقرأ أيضًا استئجار خادم FiveM: إعداد GTA RP والموارد وtxAdmin 2025.
مراعاة ترتيب البدء
ترتيب البدء مهم:
- Framework أولًا (ESX/QBCore)
- Dependencies (oxmysql، إلخ)
- Scripts الأساسية (Inventory، HUD)
- Job-Scripts
- Scripts التجميلية (Emotes، الملابس)
ضع الاعتماديات المشتركة في مكان مركزي قدر الإمكان وقبل كل الموارد المعتمدة عليها. إذا كانت عدة Scripts تطلب المكتبة نفسها، فيجب تشغيلها مرة واحدة فقط. عند الاتصال بقاعدة بيانات، يجب أن يعمل مشغل قاعدة البيانات قبل أن ترسل الموارد استعلامات SQL.
مصادر Scripts مجانية
| المصدر | الوصف |
|---|---|
| GitHub | Scripts مفتوحة المصدر |
| cfx.re Forum | Scripts من المجتمع |
| Overextended | مفتوحة المصدر بجودة عالية |
نزّل Scripts فقط من مصادر تجعل الكود، أو سجل التغييرات، أو آراء المجتمع قابلة للتحقق. مع التنزيلات غير المعروفة، انتبه خصوصًا إلى كود Lua المبهم، وطلبات HTTP غير المفسرة، وWebhooks غريبة، وTokens مكتوبة مباشرة في الكود. ثبّت الموارد الجديدة أولًا على نسخة اختبارية أو خارج أوقات اللعب الرئيسية.
فحص النتيجة
أعد تشغيل الخادم وراقب الكونسول. يظهر المورد المحمّل بشكل صحيح دون أخطاء Manifest أو Dependency أو SQL. داخل اللعبة، افحص بعد ذلك بدقة الوظيفة التي يوفرها الـ Script: قائمة Job، تفاعل Inventory، Marker، Command، نافذة NUI أو تغيير قاعدة البيانات. اختبر بالأدوار والصلاحيات التي سيستخدمها اللاعبون الحقيقيون لاحقًا.
استخدم أيضًا refresh وensure mein_script في كونسول الخادم فقط لاختبارات مضبوطة. بالنسبة للتغييرات الإنتاجية، تكون إعادة التشغيل النظيفة غالبًا أوضح لأنها تعكس ترتيب البدء الكامل.
استكشاف الأخطاء
SCRIPT ERROR
افحص أولًا السطر في الكونسول. غالبًا ما تكون Dependency مفقودة، أو متغير Config مضبوطًا بشكل خاطئ، أو يتم استدعاء دالة export قبل بدء المورد الهدف. قارن رسالة الخطأ مع README الخاصة بالـ Script.
أخطاء SQL
استورد الجداول أو الأعمدة المرفقة إذا كان الـ Script يطلبها. إذا كانت الجداول موجودة بالفعل، فلا تشغّل SQL مرة أخرى بشكل أعمى. أنشئ نسخة احتياطية وعدّل Statements بما يناسب بنية قاعدة بياناتك الحالية.
Script لا يتم تحميله
تحقق من اسم المجلد، ومدخل ensure، وfxmanifest.lua. يكفي خطأ إملائي في ملف Manifest أو مجلد متداخل بشكل خاطئ كي لا يبدأ المورد.
الوظيفة لا تظهر داخل اللعبة
افحص الصلاحيات، وJobs، وItems، والإحداثيات، وإصدار Framework. كثير من Roleplay-Scripts تعمل فقط لوظائف أو مجموعات محددة. لذلك لا تختبر كـ Admin فقط، بل أيضًا بملف لاعب عادي.
الفحص والحدود وطريق الرجوع الآمن
ينطبق دليل "تثبيت Scripts خادم FiveM - ESX وQBCore" على نوع الخادم الموصوف في المقالة وعلى حالة الإصدارات الظاهرة وقت الفحص. قد تختلف أسماء القوائم، والإصدارات المتاحة، وتوافق Mods أو Plugins، والموارد المطلوبة بعد التحديثات. لذلك لا تنقل أي قيم إلى إصدار لعبة أو Loader أو خادم آخر دون فحص.
أنشئ نسخة احتياطية من الملفات المتأثرة قبل إجراء تغييرات على العالم، أو حالة اللعبة، أو الإعدادات، أو الإضافات. بعد ذلك غيّر خطوة مترابطة واحدة فقط وافحصها بنفس إصدار العميل والخادم الذي تريد اللعب به لاحقًا.
| نقطة الفحص | النتيجة المتوقعة | الإيقاف وطريق الرجوع |
|---|---|---|
| بدء الخادم | يصل الخادم إلى حالة الجاهزية للتشغيل دون رسالة خطأ جديدة. | عند أخطاء البدء، تراجع عن التغيير واستعد آخر نسخة احتياطية. |
| اختبار الاتصال | يستطيع حساب اختبار الاتصال عبر العنوان المعروض في Panel. | عند أخطاء الإصدار أو الاتصال، طابق الإصدار والمنفذ والسماحات مرة أخرى. |
| اختبار الوظيفة | تعمل الوظيفة التي تم تغييرها تحديدًا دون إتلاف بيانات العالم أو اللعبة الحالية. | عند حدوث آثار جانبية، أوقف الخادم واستعد الملفات المحفوظة احتياطيًا. |
اختبار فردي ناجح ليس ضمانًا للأداء أو التوفر. يمكن أن يغير حجم العالم، وMods، وPlugins، وعدد اللاعبين، ومسار الشبكة، والحمل المتزامن النتيجة. وثّق الإصدار والتغيير ونتيجة الاختبار حتى تتمكن من تتبع الانحرافات لاحقًا.
FAQ
هل يجب أن أعيد تشغيل الخادم بعد كل Script؟
لاختبار موثوق، نعم. يمكن إعادة تحميل موارد منفردة عبر الكونسول، لكن إعادة التشغيل الكاملة تظهر ما إذا كان ترتيب البدء وكل Dependencies صحيحة فعلًا.
هل يمكنني استخدام ESX وQBCore في الوقت نفسه؟
عمليًا، يجب أن تختار Framework واحدًا. كثير من Scripts مبنية بوضوح لـ ESX أو QBCore وتتوقع Events وجداول وبنى Config مختلفة لكل منهما.
ماذا أفعل إذا لم يكن لدى Script ملف fxmanifest.lua؟
قد يكون قديمًا، أو مفكوك الضغط بشكل خاطئ، أو غير معد لبنى موارد FiveM الحالية. افحص المصدر والتوثيق قبل تثبيته إنتاجيًا.
هل يجب أن أختبر Scripts المجانية مباشرة على الخادم الحي؟
الأفضل ألا تفعل. اختبر الموارد الجديدة أولًا بشكل منفصل، وانسخ الملفات وقاعدة البيانات احتياطيًا، وافحص الكونسول. خصوصًا في خوادم Roleplay، يمكن أن تؤثر Scripts المعطوبة على Inventory أو Jobs أو تقدم اللاعبين.
كم عدد Scripts التي يمكن لخادم FiveM استخدامها؟
لا يوجد رقم عام مفيد. الحاسم هو جودة Script، والاعتماديات، وحمل قاعدة البيانات، وسلوك Tick، وعدد اللاعبين. خطط للموارد بوعي وأزل Scripts غير المستخدمة باستمرار.