تثبّت إضافات Garry's Mod Workshop بشكل منظم عبر Steam Workshop Collection، وSteam Web API Key، واختياريًا resource.AddWorkshop() لتنزيل العميل. بهذه الطريقة تبقى إعدادات الخادم واضحة، ويمكن تبديل الإضافات مركزيًا، وتستطيع عند حدوث مشاكل أن تتحقق بدقة مما إذا كان الخلل في Collection أو API Key أو في Workshop-IDs منفردة.
المتطلبات
تحتاج إلى وصول إلى معاملات تشغيل خادم Garry's Mod الخاص بك، وSteam Workshop Collection، وSteam Web API Key. المصدر الرسمي لمحتوى Garry's Mod Workshop هو Steam Workshop لـ Garry's Mod. تنشئ API Key عبر صفحة Steam الرسمية steamcommunity.com/dev/apikey.
خطط لاختيار الإضافات بوعي. يمكن أن تؤدي Collection كبيرة إلى إطالة بدء تشغيل الخادم، وإجبار العملاء على تنزيلات أطول، وجعل الأخطاء أصعب في العثور عليها. بالنسبة للخوادم الإنتاجية، من المفيد اختبار الإضافات أولًا بشكل منفرد أو ضمن مجموعات صغيرة قبل اعتمادها دائمًا في Collection الرئيسية. في game-serverhosting يناسب هذا المسار نموذج تشغيل مضبوطًا: تُوثّق التغييرات وتُفحص ثم تُتاح للاعبين بعد ذلك فقط.
إنشاء Workshop Collection
- انتقل إلى Steam Workshop
- أنشئ Collection جديدة
- أضف كل الإضافات المطلوبة
- انسخ Collection-ID
تجد Collection-ID في عنوان URL الخاص بـ Steam-Collection. انسخ المعرّف الرقمي فقط، وليس عنوان URL كاملًا. انتبه أيضًا إلى أن تكون Collection عامة أو قابلة للوصول من الخادم. إذا أُزيلت إضافة، أو أصبحت خاصة، أو حدّثها المؤلف، فقد يؤثر ذلك على بدء تشغيل خادمك أو تنزيلات العملاء. لذلك افحص دائمًا كونسول الخادم بعد التغييرات الكبيرة.
تحميل Collection على الخادم
في سطر تشغيل الخادم:
+host_workshop_collection <collection_id>
-authkey <steam_web_api_key>
استبدل <collection_id> بمعرّف Workshop-Collection الخاص بك، و<steam_web_api_key> بـ Steam Web API Key الخاص بك. يطلب المعامل +host_workshop_collection من الخادم تحميل Collection المحددة. ويوفر المعامل -authkey الوصول إلى خدمات Steam Web المطلوبة لتنزيلات Workshop.

بعد إدخال معاملات التشغيل، أعد تشغيل الخادم. راقب الكونسول أو السجل عند أول تشغيل. إذا لم يتم تحميل محتوى Workshop، فغالبًا ما يكون السبب Collection-ID خاطئة، أو API Key مفقودًا أو غير صالح، أو إضافة لم تعد متاحة.
Steam Web API Key
مطلوب لتنزيلات Workshop:
- انتقل إلى steamcommunity.com/dev/apikey
- أنشئ Key
- أدخله كـ
-authkeyفي سطر التشغيل
عامل API Key كرمز وصول. لا تشاركه علنًا، ولا تكتبه في المنتديات أو لقطات الشاشة أو المستودعات المتاحة للجميع. إذا ظننت أن Key كُشف، فعليك إنشاء Key جديد في Steam وعدم الاستمرار في استخدام القديم.
اللاعبون يحمّلون الإضافات تلقائيًا
كي يحمّل اللاعبون الإضافات تلقائيًا، أضف في lua/autorun/server/workshop.lua:
resource.AddWorkshop("workshop_id_1")
resource.AddWorkshop("workshop_id_2")
resource.AddWorkshop("workshop_id_3")
تستخدم resource.AddWorkshop() معرّفات Workshop منفردة. أدخل هنا الإضافات التي ينبغي أن يحصل عليها العملاء تلقائيًا عند الاتصال. هذا مهم خصوصًا للخرائط والمجسمات والمواد والأصوات أو أي محتوى آخر يحتاجه اللاعبون محليًا. إضافات الخادم فقط لا يجب بالضرورة توزيعها على العملاء.
حافظ على بنية واضحة لهذا الملف. يمكنك تجميع الإضافات حسب الغرض، مثل الخرائط أو الأسلحة أو Playermodels أو HUDs. إذا سببت إضافة مشكلة، علّق الإدخال المقابل مؤقتًا وأعد تشغيل الخادم. هكذا تجد التعارضات أسرع دون تفكيك Collection كاملة.
فئات إضافات شائعة
| الفئة | أمثلة |
|---|---|
| الخرائط | ttt_minecraft, ph_office |
| الأسلحة | M9K Weapons, TFA Base |
| Playermodels | PM + Playermodel Selector |
| الأدوات | Wiremod, Precision Tool |
| HUDs | DarkRP HUD, TTT HUD |
هذه الفئات أمثلة نموذجية، وليست توصية لكل إعداد. لدى خوادم DarkRP وTTT وProp Hunt وSandbox متطلبات مختلفة. المهم أن تناسب الإضافات نمط اللعب، وأن تكون مُصانة بنشاط، وألا تجلب وظائف مكررة. قد تتعارض قاعدتا أسلحة، أو عدة HUDs، أو عدة أدوات إدارة مع بعضها.
إذا كنت تشغّل ألعابًا أخرى بسير عمل للـ Mods، فستساعدك المبادئ من دليل Project Zomboid Workshop ودليل تثبيت ARK Mods: وضّح الاعتماديات أولًا، ثم أدخل IDs بشكل نظيف، وبعدها تحقق عبر السجلات واختبار العميل.
التحقق من النتيجة
أعد تشغيل الخادم بعد كل تغيير كبير وتحقق من ثلاث نقاط. أولًا: يجب ألا يعرض الكونسول أخطاء Workshop تخص Collection أو API Key. ثانيًا: يجب أن تكون الإضافات المطلوبة متاحة على جانب الخادم، مثل الخرائط في قائمة الخرائط أو الأدوات في نمط اللعب المناسب. ثالثًا: ينبغي لعميل اختبار أن يحمّل المحتوى المطلوب تلقائيًا عند الاتصال أو ألا تظهر لديه مشاكل Missing Texture.
اختبر قدر الإمكان بعميل لم يشترك محليًا في الإضافات مسبقًا. وإلا فقد لا تلاحظ بسهولة أن التنزيل التلقائي لا يعمل للاعبين الجدد. في الخوادم العامة، من المفيد أيضًا وضع ملاحظة قصيرة في وصف الخادم إذا كان يجب تنزيل محتوى كبير جدًا.
استكشاف الأخطاء وإصلاحها
- الإضافة لا تتحمل: افحص Steam Web API Key
- Missing Textures: ثبّت CSS Content Pack
- تنزيل بطيء: قلّص Collection إلى الضروري فقط
إذا لم يتم تحميل Collection بالكامل، فتحقق أولًا من أخطاء الكتابة في +host_workshop_collection و-authkey. إذا كانت إضافة واحدة فقط مفقودة، افتح صفحة Workshop الخاصة بها وتحقق مما إذا كانت ما تزال متاحة. عند فقدان القوام، ميّز بين محتوى Workshop والمحتوى الخارجي المطلوب. تستخدم خوادم Garry's Mod كثيرًا محتوى لا يُستبدل تلقائيًا بإضافة واحدة فقط.
عند أوقات تحميل طويلة، أزل الخرائط غير المستخدمة، والمجسمات المكررة، وحزم الأسلحة القديمة، ومجموعات الأصوات أو المواد الكبيرة. Collection أصغر أسهل في الصيانة وتقلل احتمال أن يغادر اللاعبون عند أول انضمام.
الفحص والحدود وطريق الرجوع الآمن
ينطبق دليل "تثبيت إضافات Workshop في Garry's Mod" على نوع الخادم الموصوف في المقالة وعلى حالة الإصدارات الظاهرة وقت الفحص. قد تختلف أسماء القوائم، والإصدارات المتاحة، وتوافق Mods أو Plugins، والموارد المطلوبة بعد التحديثات. لذلك لا تنقل أي قيم دون فحص إلى إصدار لعبة أو Loader أو خادم آخر.
أنشئ نسخة احتياطية من الملفات المتأثرة قبل إجراء تغييرات على العالم أو الحفظ أو الإعدادات أو الإضافات. بعد ذلك غيّر خطوة واحدة مترابطة فقط وافحصها بنفس إصدار العميل والخادم الذي تريد اللعب به لاحقًا.
| نقطة الفحص | النتيجة المتوقعة | الإيقاف والرجوع |
|---|---|---|
| بدء الخادم | يصل الخادم إلى حالة جاهزة للتشغيل دون رسالة خطأ جديدة. | عند أخطاء البدء، تراجع عن التغيير واستعد آخر نسخة احتياطية. |
| اختبار الاتصال | يستطيع حساب اختبار الاتصال عبر العنوان المعروض في اللوحة. | عند أخطاء الإصدار أو الاتصال، طابق الإصدار والمنفذ والسماحات مرة أخرى. |
| اختبار الوظيفة | تعمل الوظيفة التي غُيّرت تحديدًا دون إتلاف بيانات العالم أو اللعب الموجودة. | عند آثار جانبية، أوقف الخادم واستعد الملفات المحفوظة احتياطيًا. |
اختبار منفرد ناجح ليس ضمانًا للأداء أو التوفر. يمكن أن يغيّر حجم العالم، وMods، وPlugins، وعدد اللاعبين، ومسار الشبكة، والحمل المتزامن النتيجة. وثّق الإصدار والتغيير ونتيجة الاختبار كي تتمكن من تتبع الانحرافات لاحقًا.
FAQ
هل أحتاج دائمًا إلى Workshop-Collection؟
بالنسبة إلى خادم يحتوي على عدة إضافات، تكون Collection هي الطريقة الأنظف لأنك تدير الاختيار مركزيًا في Steam. ومع ذلك تبقى Workshop-IDs المنفردة في resource.AddWorkshop() مهمة كي يحمّل العملاء المحتوى المطلوب تلقائيًا.
ما الفرق بين Collection-ID وWorkshop-ID؟
يشير Collection-ID إلى مجموعة من عدة إضافات. أما Workshop-ID فيشير إلى إضافة واحدة. في سطر التشغيل تستخدم Collection-ID، وفي resource.AddWorkshop() تدخل Workshop-IDs منفردة.
لماذا يرى اللاعبون قوامًا مفقودًا؟
تظهر القوامات المفقودة غالبًا عندما لا يتم تحميل محتوى العميل أو عندما يكون هناك محتوى إضافي مطلوب. افحص resource.AddWorkshop() وAddon-IDs وما إذا كانت الإضافة المتأثرة تشير إلى محتوى آخر.
هل يجب أن أعيد تشغيل الخادم بعد كل تغيير في الإضافات؟
بالنسبة إلى تغييرات معاملات التشغيل أو Workshop-Collection أو ملفات Lua على جانب الخادم، ينبغي أن تعيد التشغيل. بهذه الطريقة فقط تتحقق بشكل موثوق من أن الخادم يحمّل Collection بشكل صحيح ويسجل موارد العميل.
ما الحجم المناسب لـ Collection؟
صغيرة قدر الإمكان وكبيرة بقدر الحاجة. أزل الإضافات التي لا يستخدمها نمط لعبك بنشاط. هذا يسهّل البحث عن الأخطاء، ويبقي التنزيلات قابلة للإدارة، ويجعل التغييرات أثناء التشغيل أكثر قابلية للتحكم.