سيرفر Minecraft الذي يبدو بطيئًا لا تنقصه الذاكرة تقريبًا أبدًا. بل يفشل في إنهاء الـtick خلال 50 ms، وأسباب ذلك هي الكيانات وتحميل الـchunks ومسافة الرؤية وبرنامج السيرفر، بهذا الترتيب تقريبًا. أصلح هذه وسيتفوق سيرفر بحجم 4 GB على سيرفر بحجم 12 GB مضبوط بشكل سيئ.
القياس المهم هو TPS لا استهلاك الـRAM. عشرون tick في الثانية هي السرعة الكاملة. وأي رقم دونها يعني أن السيرفر ينفد منه الوقت لا المساحة.
اتبع هذا الترتيب
1. مسافة الرؤية. يُبقي كل لاعب مربعًا من الـchunks محمّلًا حوله. خفض مسافة الرؤية من 10 إلى 6 يقلل تلك المساحة بنحو الثلثين، وهو عادةً أكبر مكسب منفرد متاح. ويمكن خفض مسافة المحاكاة أكثر، لأن معظم اللاعبين لا يلاحظون الفرق بين وحش يتجمد عند 6 chunks أو 10.
2. الكيانات. مزارع الوحوش والعناصر المتساقطة وعربات المناجم (minecarts) ومجسمات الدروع كلها تُحدَّث في كل tick. وبضعة آلاف من العناصر المتساقطة تتصرف تمامًا كهجوم حجب خدمة صنعته بيدك. حدّد ظهور الوحوش، وامسح العناصر بمؤقّت، وافحص بدقة أي مزرعة تعمل بينما لا أحد قريب.
3. الـRedstone والـhoppers. تستعلم الـhoppers باستمرار، سواء كان شيء يمر عبرها أم لا. جدار من الـhoppers مكلف بطريقة تبدو كأنها لا شيء.
4. تحميل الـchunks. أي شيء يُبقي chunks محمّلة بعيدًا عن اللاعبين يكلّف ميزانية tick إلى الأبد. ومحمّلات الـchunks والأنظمة القائمة على البوابات تستحق التدقيق قبل شراء باقة أكبر.
5. برنامج السيرفر. يؤدي Paper العمل نفسه بموارد أقل من vanilla، والفرق ليس هامشيًا. أما Forge وFabric فيضيفان عمل المودات فوق ذلك، وهذا ثمن المودات لا عيب.
سؤال الذاكرة، مُجابًا عنه بشكل صحيح
تصبح الذاكرة هي القيد في حالتين بالضبط، وكلتاهما يمكن تمييزها:
java.lang.OutOfMemoryErrorفي السجل. لا لبس فيها. اشترِ المزيد.- ذاكرة بشكل أسنان المنشار مع تجمّدات دورية. توقفات تجميع النفايات. هذه مشكلة ضبط قبل أن تكون عملية شراء.
كل ما عدا ذلك مما يبدو تأخرًا هو حلقة الـtick. يتناول كم RAM يحتاج سيرفر Minecraft تحديد الحجم وأعلام JVM بالتفصيل، بما في ذلك سبب وجوب تساوي -Xms و-Xmx، وسبب نتائج عكسية لتخصيص باقتك كلها للـheap.
سيرفرات المودات حيوان مختلف
تُحمَّل المودات عند بدء التشغيل وتبقى محمّلة. ولهذا نتيجتان يواجههما الناس بالطريقة الصعبة:
- الاستهلاك في وضع الخمول مرتفع وهذا طبيعي. المودباك الذي يقف عند 6 GB دون أحد متصل ليس معطّلًا.
- كلفة الـtick لكل مود وتراكمية. الآلات ومحمّلات الـchunks ومودات توليد العالم كلها تضيف عملًا في كل tick، وتضيفه سواء كان اللاعب الذي بناها متصلًا أم لا.
أضف المودات على دفعات ليشير انخفاض الأداء إلى شيء محدد. وهو الانضباط نفسه الذي يُبقي سيرفرات Garry's Mod وFactorio سليمة، والخطأ نفسه يفسد الثلاثة.
ما تفعله قبل شراء باقة أكبر
- اضبط مسافة الرؤية على 6 ومسافة المحاكاة على 4. ثم قِس.
- امسح العناصر المتساقطة وحدّد ظهور الوحوش. ثم قِس.
- انتقل إلى Paper إن لم تكن عليه ولم تكن تستخدم مودات. ثم قِس.
- وعندها فقط انظر في الباقة.
تتيح استضافة سيرفر Minecraft لدينا ضبط مسافة الرؤية وبرنامج السيرفر وأعلام JVM من اللوحة، فكل واحدة من هذه الخطوات إعادة تشغيل لا تذكرة دعم.
حين نكون نحن السبب لا أنت
إذا كان TPS جيدًا ومع ذلك يبدو كل شيء متأخرًا، فهذا زمن استجابة لا حمل على السيرفر، ولا ضبط يصلح المسافة. لذلك اختر عند الطلب المنطقة الأقرب إلى معظم لاعبيك: أوروبا أو أمريكا الشمالية أو أمريكا الجنوبية أو آسيا أو أستراليا. وإذا كان ذلك صحيحًا بالفعل ومع ذلك يبدو الأمر خاطئًا، فيستحق تذكرة لا إعدادًا آخر.

بقلم 


