بهترین Java Flag ها برای اوپتیمایز کردن سرور

سلام
من سرورم tps اش جدیدا همش میاد پایین با 20 تا پلیر
سایتای خارجی خوندم یسری میگن Flag های جاوا رو باید تغییر داد
کسی میتونه کمکم کنه؟ چی بزارم بهتره

درود، سرورتون رو کدوم ورژن و رو چه Server Software ای ران شده؟

الان paper 1.20.1 هستیم

یکی از بهترین Flag هایی که میتونم پیشنهاد کنم فلگ های Aikar هست. بسته به میزان رم سرورتون بعضی از مقادیرش باید متفاوت باشه اما به طور کلی به این صورت هست:

java -Xms10G -Xmx10G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar paper.jar --nogui

اما برای سرور های بالای 12 گیگ رم این Flag هارو پیشنهاد میکنم:

java -Xmx16384M -Xms16384M  -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=40 -XX:G1MaxNewSizePercent=50 -XX:G1HeapRegionSize=16M -XX:G1ReservePercent=15 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=20 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Daikars.new.flags=true -Dusing.aikars.flags=https://mcflags.emc.gs -jar paper.jar --nogui

از طرفی اگه از Server software هایی که فورک Pufferfish هستن مثل Purpur استفاده میکنید اضافه کردن این Flag هم میتونه مفید باشه:

--add-modules=jdk.incubator.vector

برای اطلاعات بیشتر و کامل میتونید این لینک رو برسی کنید: Aikar’s Flags | PaperMC Documentation

1 پسندیده

مرسی زیر 12 گیگ هستم البته
اما TPS هنوز پایینه میتونید کمک کنید چیکار باید بکنم :frowning:

تنها استفاده از Flag ها تاثیر خاصی روی وضعیت سرور نداره برای لگ سرور باید تمام این موارد در نظر گرفته بشه:

  1. استفاده نکردن از پلاگین های سنگین و ایراد دار
  2. استفاده کردن از آخرین ورژن ماینکرفت و Paper یا فورک هاش
  3. استفاده از Flag های مناسب (فلگ ها)
  4. کانفیگ درست سرور (برای این مورد میتونید این لینک رو برسی کنید: YouHaveTrouble/minecraft-optimization: Minecraft server optimization guide (github.com))
  5. ایجاد محدودیت های مختلف روی سرور در صورت نیاز
  6. بهبود منابع سرور مثل CPU با فرکانس هسته بالاتر (برای یه سرور حداقل ماینکرفت سی پی یو با فرکانس بالاتر از 3 رو توصیه میکنم)
1 پسندیده

مرسی ولی مگه آخرین ورژن ها سنگین تر نیستن؟

این بک باور اشتباه و در عین حال درسته، هر ورژن ماینکرفت با اضافه کردن ویژگی های جدید باعث سنگین تر شدن بار سرور میشه اما از طرف دیگه خود موجانگ از این مشکلات اطلاع داره و تو هر ورژن سعی میکنه اون هارو بهبود بده، و از طرف دیگه تیم Paper تو هر ورژن ماینکرفت تغییرات بسیار زیادی رو رو کد ماینکرفت ایجاد میکنن تو لگ رو کمتر کنن.
ورژن های مناسب از نظر سرعت این ورژن ها هستن:

  1. 1.8 به دلیل نداشتن تعداد فوق العاده زیادی از ویژگی ها ورژن به نسبت سبکی هست اما از طرف دیگه مشکلات بی شمار و محدودیت های زیادی داره
  2. 1.12 این ورژن نسبت به 1.8 سنگین تر هست و آخرین ورژن قبل انتشار ورژن 1.13 هست که تغییرات فوق العاده زیادی روی سیستم چانک و انتیتی ایجاد کرد که باعث لگ خیلی زیادی شد
  3. آخرین ورژن ماینکرفت (در حال حاضر 1.20.1): بعد از انتشار ورژن 1.13 هم موجانگ و هم Paper تمام تلاششون رو برای بهبود لگ سرور ها کردن و تو هر ورژن اون رو بهتر و بهتر کردن بطوری که الان در هر ورژن با وجود اضافه شدن ویژگی های جدید سرور سریع تر و بهتر از ورژن قبلی خودش کار میکنه. در حال حاضر بهترین کار استفاده از آخرین ورژن هست که هم امکان دسترسی به آخرین ویژگی های ماینکرفت میشه و هم بهبود خیلی زیادی رو داخل ساز و کار سرور ایجاد میکنه.

مرسی پس همین کارو میکنم با اون Flag ها :pray: