الإجابة المختصرة
أزل الإضافات سيئة التحسين أولا، لأنها تكلف أكثر من كل شيء آخر مجتمعا.
ثم اضبط batching.colliders "0"، وحدد fps.max بين 30 و100،
وارفع server.saveinterval "600"، وفكر في nav_disable "true"
وai.think 0 إذا كنت تستطيع الاستغناء عن حركة الحيوانات.
النقاط الأساسية
- Rust يحتاج سرعة ساعة، لا عدد أنوية. وظائف Unity الأساسية أحادية الخيط.
- إضافة واحدة مكتوبة بشكل سيئ يمكن أن تلغي كل تحسين آخر في هذه الصفحة.
- معدل إطارات الخادم ليس معدل إطارات اللاعب. إنهما رقمان مختلفان يقيسان أشياء مختلفة.
- قِس باستخدام إضافة Performance Monitor، ثم أزلها. فهي أيضا تكلف أداء.
- كل convar هنا مقايضة. اعرف ما تتنازل عنه قبل أن تضبطه.
ما الذي يؤثر فعليا في الأداء
الأداء المستقر هو ما يطمئن لاعبيك إلى أن لديهم مكانا آمنا للعب، حيث لن يخسروا قتالا بسبب التأخير أو يرتدوا عن حافة منحدر. يستحق الأمر أن تكون دقيقا بشأن مصدره، لأن الوقت المصروف على الشيء الخاطئ وقت مهدور.
بترتيب التأثير تقريبا:
- الإضافات. إضافة واحدة مكتوبة بشكل سيئ يمكن أن تهيمن على كل نبضة خادم (tick).
- سرعة ساعة المعالج. السقف الذي يعمل تحته كل شيء آخر.
- عدد الكيانات. في وقت متأخر من دورة المسح، هذا ما يتغير تحتك.
- عمليات الحفظ. على عالم كبير، ملحوظة في كل مرة تعمل فيها.
العتاد: سرعة الساعة أهم من عدد الأنوية
ستلاحظ أداء خادم أفضل بشكل كبير من مزودين يستخدمون معالجات أسرع بسرعة ساعة أعلى من 3GHz. السبب معماري وليس عرضيا: وظائف Unity الأساسية أحادية الخيط، فتعمل على نواة واحدة ولا يمكن توزيعها على أنوية أخرى. معالج بـ32 نواة بسرعة 2.2GHz سيشغل خادم Rust بشكل أسوأ من معالج بـ8 أنوية بسرعة 4GHz.
عدد الأنوية ليس عديم الصلة. أشياء مثل الذكاء الاصطناعي للشخصيات والحيوانات، والكائنات الأخرى المتعلقة بالخريطة، يمكن توزيعها على أنوية متعددة، ولهذا تستفيد الخوادم ذات الكثافة السكانية الأعلى فعلا من أنوية إضافية. المزود الجيد يجب أن يوفر خيار أنوية أكثر لخادم أكبر، ويجب أن يستضيف Rust على معالجات عالية التردد من الأساس.
هذا هو أكثر شيء مفيد للتحقق منه قبل الشراء. إذا أعلن مزود عن عدد الأنوية والذاكرة العشوائية دون سرعة الساعة، فذلك عادة لأن سرعة الساعة ليست نقطة البيع.
الإضافات: العامل الأكبر منفردا
uMod هو إضافة تعديل لـ Rust تتيح للخوادم تشغيل إضافات يطورها المجتمع في الغالب. أداء الخادم لن يتأثر بإضافات مكتوبة جيدا ويجري صيانتها بفعالية.
لكنه سيتدمر بواحدة سيئة. دون علمك، قطعة صغيرة من الكود في أي من إضافاتك يمكن أن تضعف أداء خادمك بشدة، ولا يوجد شيء في حجم إضافة أو بساطتها الظاهرة يخبرك أيها هي. حتى أصغر إضافة وأخفها يمكن أن تسبب فوضى، كما سيؤكد أي صاحب خادم Rust متمرس أو مطور إضافات.
تجنب تشغيل عدد كبير جدا من الإضافات. العدد نفسه له تكلفة، بصرف النظر عن جودة أي إضافة بمفردها، والإجابة عن مشكلة غالبا ما تكون إزالة إضافة وليس إضافة واحدة جديدة.
تحسين الإضافات التي تبقيها
بعض الإضافات تكشف إعدادات لضبط الأداء مثل المؤقتات والفواصل الزمنية. هذه عادة تكون معطلة افتراضيا أو مضبوطة بحذر. ابحث في ملف إعدادات الإضافة وفعّلها، لأن إضافة تستطلع كل نبضة بينما يمكنها الاستطلاع كل ثلاثين ثانية تقوم بعمل أكبر بثلاثين مرة مما تحتاج.
القياس قبل أن تغير أي شيء
التخمين بشأن مشاكل الأداء يهدر الوقت. هناك قياسان يستحقان الأخذ.
معدل إطارات الخادم
هذا هو معدل الإطارات الذي يعمل عليه الخادم. ليس له تأثير مباشر على معدل إطارات
لاعبيك، رغم أن أعداد الكيانات المرتفعة في منطقة واحدة ستؤثر في كليهما. راقبه عبر
RCON بأمر FPS.
إضافة Performance Monitor
إضافة Performance Monitor لـ uMod تبلغ في الوقت الفعلي عن استخدام الذاكرة، وأوقات hook الإضافات، وتوقيتات أخرى تؤثر في أداء الخادم. ستظهر لك أي إضافة تستهلك أكبر وقت على hook واحد، ما يحول "الخادم يشعر بالسوء" إلى اسم محدد.
لا تترك Performance Monitor يعمل إلى أجل غير مسمى. المراقبة نفسها تستهلك موارد وستزيد سوءا الأداء الذي تحاول قياسه. ثبتها، خذ قراءاتك، تصرف بناء عليها، ثم ألغِ تحميلها.
الـ convars المهمة
كل واحد من هذه مقايضة وليس أداء مجانيا. المكاسب حقيقية، وكذلك ما تتنازل عنه.
batching.colliders "0"
يزيل حاجة الخادم إلى تجميع الكيانات في دفعات. هذا مكسب كبير في الأداء: مع تفعيل batching، في كل مرة يبني فيها أحدهم، يضطر الخادم إلى فك تجميع ثم إعادة تجميع كل الكيانات المرتبطة.
التحذير: إذا تجاوز خادمك 265,000 كيان ستحتاج إلى إعادة تفعيله للالتفاف حول حد الكيانات في Unity. في وقت متأخر من دورة مسح طويلة على خادم مزدحم، هذا رقم حقيقي وليس نظريا، لذا يستحق المتابعة.
nav_disable "true"
يعطل شبكة NAV mesh في خادمك. مكسب الأداء كبير. الثمن هو أن الحيوانات وNPCs تتوقف عن الحركة تماما.
مدى قبول ذلك يعتمد على خادمك. على خادم يركز بشدة على القتال بين اللاعبين حيث لا أحد يصطاد الغزلان، يكاد يكون مجانيا. على خادم PvE أو تقمص أدوار، يزيل جزءا مهما من اللعبة.
ai.think 0
ربما لاحظت في الخوادم الكبيرة أن الحيوانات لا تتفاعل أو ترد الهجوم. هذا هو ai.think
مضبوطا على 0. له تأثير إيجابي كبير في الأداء، خاصة عندما يكون عدد اللاعبين مرتفعا ويكونون
قريبين من الحيوانات بشكل متكرر.
server.saveinterval "600"
قد ترى انخفاضات في معدل إطارات جانب الخادم عندما يحفظ الخادم على خادم بكيانات كثيرة. زيادة المدة بين عمليات الحفظ تبقي ذلك عند حده الأدنى.
المقايضة هنا هي المخاطرة: فترة أطول تعني تقدما أكثر يُفقد إذا تعطل الخادم بين عمليات الحفظ. 600 ثانية توازن معقول، لكن إذا كان خادمك غير مستقر لأسباب أخرى، لا تعالج العرض بجعل الأعطال أكثر كلفة.
fps.max
التحكم بمعدل إطارات خادمك فكرة جيدة عموما، لمنع الخادم من العمل بجهد أكبر مما يحتاج دون أي
فائدة للاعبيك. قالت Facepunch إن اللاعبين لن يلاحظوا خادما محدودا بـ30 إطارا في الثانية. ضبط
fps.max على رقم بين 30 و100 أمر يُنصح به بشدة.
إعادة التشغيل
إعادة التشغيل اليومية يمكن أن تساعد الأداء على الخوادم المعدلة. العمليات طويلة الأمد تتراكم عليها ضغوط الذاكرة، والإضافات التي تتسرب ببطء شائعة بما يكفي لجعل إعادة التشغيل المجدولة بوليصة تأمين معقولة.
اجدولها في ساعة هادئة وأعلن عنها. global.restart يمنح اللاعبين تحذيرا مدته 300
ثانية على فترات 5 ثوان، وهذا وقت كافٍ للوصول إلى مكان آمن. إعادة تشغيل صامتة في منتصف غارة
ستكلفك لاعبين أكثر مما يكسبه مكسب الأداء.
ما يجب فعله، بالترتيب
-
قِس أولا
تحقق من معدل إطارات الخادم عبر RCON وشغل Performance Monitor لفترة قصيرة. دون خط أساس لا يمكنك معرفة ما إذا كان أي شيء فعلته قد ساعد.
-
أزل أسوأ إضافة
أيا كانت التي حددتها الأداة المراقبة. هذا يكاد يكون دائما أكبر مكسب متاح بمفرده، وهو مجاني.
-
اضبط الإضافات التي تبقيها
المؤقتات والفواصل الزمنية في ملفات إعداداتها، حيث توجد.
-
طبق الـ convars
ابدأ بـ
batching.colliders "0"وfps.maxوserver.saveinterval، التي لا تكلفك شيئا سيلاحظه لاعبوك. فكر فيnav_disableوai.thinkفقط إذا كنت تستطيع قبول حياة برية ثابتة. -
قِس مرة أخرى
الأدوات نفسها، الظروف نفسها، ويفضل بعدد لاعبين مشابه. ثم ألغِ تحميل الأداة المراقبة.
-
انظر إلى العتاد
إذا فعلت كل ما سبق ولا يزال الأداء ضعيفا، فالسقف هو المعالج، ولا كمية من الضبط تتجاوزه.
إذا كنت عند تلك الخطوة الأخيرة، فدليلنا عن ما الذي تبحث عنه عند شراء خادم Rust يغطي ما تسأل عنه مزودا قبل أن تنتقل.