تأخر Garry's Mod يعود في الغالب إلى واحد من ثلاثة أسباب: tickrate أعلى مما يستطيع السيرفر تحمله، أو props وكيانات أكثر من اللازم، أو إضافة تؤدي عملًا في كل tick. نادرًا ما تكون الذاكرة هي السبب، ولهذا كثيرًا ما لا يغيّر شراء باقة أكبر شيئًا.
يشغّل Source محاكاته على خيط واحد. وهذه الحقيقة وحدها تفسر معظم ما يلي.
الـTickrate ميزانية لا إعداد جودة
الـtickrate هو عدد مرات محاكاة العالم في الثانية. الأعلى يبدو أحدّ، والأعلى يكلّف CPU في كل tick سواء حدث شيء مهم أم لا.
الفخ أن الـtickrate يضاعف كل شيء آخر. فسيرفر Sandbox ثقيل الفيزياء يتحمل tickrate أقل قد ينهار عند tickrate أعلى دون أي تغيير آخر، لأن كل prop صارت تُحاكى أكثر مرة.
- Sandbox ثقيل الفيزياء. الـprops والقيود (constraints) والـragdolls كلها تكلّف في كل tick، ويبني اللاعبون منها أكثر مع الوقت.
- TTT وDarkRP يتصرفان بشكل مختلف. أنماط اللعب القائمة على الجولات فيها قفزات عند بداية الجولة؛ وسيرفرات لعب الأدوار تراكم الكيانات على مدى ساعات.
- ارفع الـtickrate فقط بعد أن يستقر السيرفر عند الأقل. هي خطوة الضبط الأخيرة لا الأولى.
الـProps والكيانات هي الكلفة الحقيقية
على أي سيرفر Sandbox أو DarkRP طويل التشغيل، عدد الكيانات هو ما ينمو دون أن يقرر أحد نموه.
- حدود الـprops موجودة لسبب. السيرفر بلا سقف سيجد حدّه بالطريقة الصعبة، عادةً أثناء جلسة بناء.
- الاختراعات المقيّدة تكلّف أكثر من الـprops المنفصلة. تُحَل قيود الفيزياء في كل tick، والاختراع الكبير الملحوم أغلى بكثير من العدد نفسه من الـprops المنفصلة.
- التنظيف وفق جدول. التنظيف التلقائي للـprops بين الجولات أو بمؤقّت هو أكثر تغيير فعالية على معظم السيرفرات.
- الـragdolls والأشلاء تتراكم. كل منها رخيص منفردًا، ولا يكون رخيصًا بالمئات.
الإضافات: المشتبه به المعتاد الذي لا يفحصه أحد
الإضافة التي تؤدي عملًا في كل tick تكلّفك ستين مرة أو أكثر في الثانية إلى الأبد. ومعظمها لا يعلن ذلك.
- أضف الإضافات على دفعات صغيرة، لتعرف سبب انخفاض الأداء حين يحدث.
- اشتبه في أي شيء يتفاعل مع الأحداث في أي مكان على الخريطة، لا قرب لاعب.
- مجموعات Workshop تنزيلات على كل لاعب ينضم. المجموعة الكبيرة عائق أمام انضمام الناس بقدر ما هي حمل على السيرفر. وسيرفرات البناء في Sandbox تشعر بذلك أكثر: راجع إتقان Sandbox.
المبدأ نفسه يحسم اختيار المودات في Factorio: كم يكلّف في كل tick، وهل يحتاج الجميع إلى تثبيته أيضًا.
شخّص قبل أن ترقّي
اتبع هذا الترتيب، لأن الحلول الرخيصة هي أيضًا الأرجح:
- عُدّ الكيانات. إن كان الرقم يرتفع طوال اليوم فهذه هي المشكلة.
- أوقف الإضافات على دفعات وراقب هل يرتفع الحد الأدنى.
- اخفض الـtickrate خطوة واحدة وانظر هل يزول التقطّع.
- افحص الذاكرة أخيرًا. إن لم تكن ممتلئة ولا تتذبذب كأسنان المنشار، فالـRAM ليست قيدك.
هذا هو الترتيب نفسه المنطبق على تأخر tick في Minecraft، حيث لا تصلح الذاكرة الإضافية أيضًا سيرفرًا مقيّدًا بـCPU. لعبة مختلفة، وخطأ مطابق.
تتيح استضافة سيرفر Garry's Mod لدينا ضبط الـtickrate وإدارة الإضافات من اللوحة، فاختبار tickrate أقل يحتاج إعادة تشغيل لا تذكرة دعم.
متى تكون الباقة صغيرة فعلًا
تكون الذاكرة هي القيد حين ترى السيرفر يُقتل لا يتباطأ: انهيارات عند تغيير الخريطة، أو فشل تحميل مجموعة Workshop كبيرة عند بدء التشغيل. هذا سبب حقيقي للانتقال إلى باقة أعلى. أما السيرفر الذي يعمل جيدًا ويتقطع أثناء البناء فليس كذلك.
إذا كنت تشغّل سيرفر بناء لستة أصدقاء، فأصغر باقة مع حد للـprops ستخدمك أفضل من باقة أكبر بلا حد على الإطلاق.

بقلم 


