RE:NODE

Minecraft13 წუთის საკითხავი

Minecraft Folia: როდის ღირს მრავალნაკადიანობა

რას ცვლის Folia სინამდვილეში tick-ის ციკლში, რომელი plugin-ები მუშაობს მასზე, რა აპარატურისთვის შეიქმნა და რატომ სჯობს სერვერების უმეტესობას Paper-ზე დარჩენა.

0 მკითხველი

Folia არის PaperMC-ის მიერ შექმნილი Paper-ის fork, რომელიც მთავარ ნაკადს აუქმებს. იმის ნაცვლად, რომ მთელი სამყარო ერთ ციკლში, ერთ ბირთვზე დაითვალოს, ის ჩატვირთულ chunk-ებს დამოუკიდებელ რეგიონებად ყოფს და თითოეულ რეგიონს თავის ნაკადზე, პარალელურად ითვლის. სერვერისთვის, სადაც ასობით მოთამაშე უზარმაზარ რუკაზეა გაფანტული, ხოლო მანქანას ბევრი ნამდვილი ბირთვი აქვს, ეს ერთადერთი რეალური პასუხია Minecraft-ის ერთნაკადიან ჭერზე. თითქმის ყველა დანარჩენისთვის - SMP, სადაც ხალხი ერთ ქალაქში ცხოვრობს, მოკრძალებული გეგმა ორი-სამი vCPU-თი, plugin-ების სია, რომელშიც EssentialsX-ია - ის უფრო ნელია, უფრო რთული სამართავი და შეუთავსებელია იმის უმეტესობასთან, რასაც ეყრდნობი. პოსტის დანარჩენი ნაწილი მექანიზმს ხსნის, რადგან როცა მას დაინახავ, გადაწყვეტილება თითქმის თავისით მიიღება.

რას ცვლის Folia tick-ში#

ჩვეულებრივი Minecraft სერვერი, vanilla იქნება თუ Paper, ერთ tick-ის ციკლს უშვებს. წამში ოცჯერ მთავარი ნაკადი თანმიმდევრობით გადის ყველა ჩატვირთულ სამყაროს, ყველა მოქმედ chunk-ს, ყველა entity-ს, ყველა block entity-ს, redstone-ის ყველა დაგეგმილ განახლებას და plugin-ების ყველა დავალებას. თუ მთელ ამ სამუშაოს 50 მილიწამზე მეტი სჭირდება, tick აგვიანებს და TPS 20-ზე ქვემოთ ეცემა. Paper ამ ნაკადიდან ბევრ გვერდით სამუშაოს აშორებს - chunk-ების ჩატვირთვას და გენერაციას, განათებას, ქსელის ნაწილს - მაგრამ თავად სიმულაცია მაინც ერთი რიგია ერთ ბირთვზე. სწორედ ამიტომ აინტერესებს Minecraft სერვერს ტაქტური სიხშირე გაცილებით მეტად, ვიდრე ბირთვების რაოდენობა, და სწორედ ამიტომ CPU თუ RAM თამაშის სერვერებისთვის გამუდმებით ურჩევს ხალხს, ჯერ ერთნაკადიანი წარმადობა შეამოწმონ.

Folia ამ რიგს ნაწილებად ამსხვრევს. ერთმანეთთან ახლოს მყოფი ჩატვირთული chunk-ები ერთიანდება დამოუკიდებელ რეგიონად. თითოეულ რეგიონს საკუთარი tick-ის ციკლი აქვს, ჩვეულებრივ 20 tick-ზე წამში მუშაობს და tick-ის ნაკადების pool-ზე სრულდება ყველა სხვა რეგიონთან ერთად. მთავარი ნაკადი აღარ არსებობს; თითოეული რეგიონი ფაქტობრივად საკუთარი პატარა სერვერია, რომელიც ერთ პროცესს იზიარებს.

რეგიონები რუკის ფიქსირებული უბნები არ არის. ისინი იქ წარმოიქმნება, რაც ჩატვირთულია, პრაქტიკაში კი ეს მოთამაშეების ირგვლივ ნიშნავს. ორი მოთამაშე, რომლებსაც რამდენიმე ათასი ბლოკი აშორებთ, ორი რეგიონია ორ ნაკადზე. როცა ეს მოთამაშეები ერთმანეთისკენ მიდიან, მათი რეგიონები ერწყმის ერთმანეთს, როგორც კი ჩატვირთული უბნები შეეხება, და ამ მომენტიდან ისინი ერთი რეგიონია, რომელსაც ერთი ნაკადი ითვლის. როცა ისევ დაშორდებიან, რეგიონი იყოფა.

ის, რაც არცერთ რეგიონს არ ეკუთვნის - სამყაროს დრო, ამინდი, game rule-ები, კონსოლი და მსგავსი გლობალური მდგომარეობა - ცალკე გლობალურ რეგიონში ცხოვრობს, რომელიც ასევე დამოუკიდებლად ითვლება.

Tick-ნაკადების poolნაკადები config-იდანგლობალური რეგიონიდრო, ამინდი, კონსოლირეგიონი A3 მოთამაშე, ბაზარეგიონი B1 მოთამაშე, კვლევარეგიონი C40 მოთამაშე spawn-ზე
Folia ცალკე რეგიონებს ცალკე ნაკადებზე ითვლის

მთელი ხრიკი ამ დიაგრამაშია. რეგიონი C, სადაც ორმოცი მოთამაშე ერთ ადგილზეა, მაინც ერთი რეგიონია ერთ ნაკადზე. ბრბოს Folia ვერაფრით ეხმარება. ის მხოლოდ მაშინ შველის, როცა დატვირთვა იმდენად დაშორებულ უბნებზეა გადანაწილებული, რომ ისინი ცალკე რეგიონებად რჩება.

ვისთვის შეიქმნა Folia, PaperMC-ის საკუთარი სიტყვებით#

Folia-ს პროექტი საკუთარ აუდიტორიაზე უჩვეულოდ პირდაპირ საუბრობს. მისი დოკუმენტაცია აღწერს სერვერებს, სადაც მოთამაშეები ბუნებრივად არიან გაფანტული - მაგალითებად დიდი survival სერვერები და skyblock-ის ტიპის სერვერები მოჰყავს - და გირჩევს აპარატურას მინიმუმ 16 ფიზიკური ბირთვით და არა ნაკადით. ის ასევე, არსებითად, ამბობს, რომ ყველა არსებული plugin ცვლილებებს საჭიროებს.

ეს გაძლევს სამართლიან ტესტს, სანამ წინ წახვალ:

კითხვაFolia გეხმარება, თუ...დარჩი Paper-ზე, თუ...
რამდენი მოთამაშეა პიკზე?ასობითდაახლოებით 100-ზე ნაკლები
სად არიან ისინი?დიდ სამყაროშია გაფანტულიspawn-ზე, ქალაქში ან minigame-ის არენებზე არიან თავმოყრილი
რამდენი ნამდვილი ბირთვია?16 ან მეტირამდენიმე vCPU
რომელი plugin-ები?ყველა აცხადებს Folia-ს მხარდაჭერასნებისმიერი, რომელიც არ აცხადებს
ვინ უვლის?ვინც Java-ს stack trace-ებს კითხულობსმოხალისეების მცირე გუნდი

თუ ამ რიგებიდან რომელიმეზე "დარჩი Paper-ზე" უპასუხე, Folia, დიდი ალბათობით, გაუმჯობესება არ იქნება. ერთნაკადიანი ჭერი ნამდვილი ზღვარია, მაგრამ კარგად მორგებული Paper სერვერი მას გაცილებით გვიან აღწევს, ვიდრე ხალხი ფიქრობს - როგორც წესი, სადღაც ასზე მეტი აქტიური მოთამაშის შემდეგ, სწრაფ ბირთვზე და გონივრული view distance-ით. Paper-ის ოპტიმიზაცია და spark-ის პროფილი პლატფორმის შეცვლაზე იაფია და იმ პრობლემას წყვეტს, რომელიც სერვერების უმეტესობას რეალურად აქვს.

plugin-ების თავსებადობა: კედელი, რომელსაც სერვერების უმეტესობა ეჯახება#

Folia უარს ამბობს plugin-ის ჩატვირთვაზე, რომელსაც მხარდაჭერა არ გამოუცხადებია. ეს განცხადება ერთი ხაზია plugin-ის plugin.yml-ში:

plugin.yml
name: ExamplePluginversion: 1.4.0main: com.example.ExamplePluginapi-version: '1.21'folia-supported: true

ეს ხაზი ფორმალობა არ არის. მთავარი ნაკადის გარეშე Bukkit-ის კლასიკურ შაბლონს - "გაუშვი ეს შემდეგ tick-ზე" BukkitScheduler-ის მეშვეობით - გასაშვები ნაკადი უბრალოდ არ აქვს. Folia მას ოთხი scheduler-ით ცვლის:

  • გლობალური რეგიონის scheduler იმ სამუშაოსთვის, რომელიც გლობალურ რეგიონს ეკუთვნის, მაგალითად შეტყობინების გაგზავნა ყველასთვის ან ამინდის შეცვლა.
  • რეგიონის scheduler კონკრეტულ ადგილზე შესასრულებელი სამუშაოსთვის, რომელიც იმ ნაკადზე სრულდება, რომელსაც ამ ადგილის რეგიონი ეკუთვნის.
  • entity-ს scheduler სამუშაოსთვის, რომელიც entity-ს მიჰყვება, ასე რომ, მოთამაშეზე მიბმული დავალება მოთამაშესთან ერთად გადაადგილდება, როცა ის სხვა რეგიონში გადადის.
  • async scheduler სამუშაოსთვის, რომელიც სამყაროს საერთოდ არ ეხება, მაგალითად მონაცემთა ბაზის მოთხოვნები და ვებ-მოთხოვნები.

Paper-ის API იგივე scheduler-ებს შეიცავს, ასე რომ, მათზე დაწერილი plugin-ი ერთი jar-იდან შეიძლება Paper-ზეც და Folia-ზეც გაეშვას. ძველებურად დაწერილი plugin-ი Folia-ზე გადაწერის გარეშე ვერ იმუშავებს, რადგან ბლოკთან ან entity-სთან არასწორი ნაკადიდან შეხება ახლა შეცდომაა და არა ჩვევა.

პრაქტიკული შედეგები სერვერის მფლობელისთვის:

  1. შეამოწმე ყველა plugin-ი, სანამ რამეს დაგეგმავ. ამას plugin-ის გვერდი ან მისი plugin.yml გეტყვის. თუ Folia ნახსენები არ არის, ჩათვალე, რომ მხარდაჭერა არ აქვს.
  2. ელოდე ხარვეზებს სწორედ იმ კატეგორიებში, რომლებიც ყველაზე მეტად გაინტერესებს. ნებართვებს (LuckPerms) და პროფილირებას (spark) Folia-ს მხარდაჭერა დიდი ხანია აქვთ, Chunky-თი pre-generation-იც მუშაობს. დიდ ყოვლისმომცველ plugin-ებს, ეკონომიკისა და მაღაზიის plugin-ების უმეტესობას და minigame-ის plugin-ების დიდ ნაწილს - არა, EssentialsX კი, კერძოდ, Paper-ის plugin-ია. მიმდინარე მდგომარეობა თავად შეამოწმე - მხარდაჭერა იცვლება, ინტერნეტში არსებული სიები კი ძველდება.
  3. ეს ხაზი თავად ნუ ჩაამატებ. folia-supported: true-ის დამატება plugin-ში, რომელიც Folia-სთვის არ დაწერილა, მას ჩატვირთვის საშუალებას აძლევს, მერე კი ის არაპროგნოზირებადად ფუჭდება, ხშირად იმ მდგომარეობის დაზიანებით, რომლის შეცვლასაც ცდილობდა. განცხადება plugin-ის ავტორის დაპირებაა და არა გადამრთველი.

teleport-ები კარგი მაგალითია, თუ რატომ არის ეს მნიშვნელოვანი. Paper-ზე მოთამაშის სამყაროს მეორე ბოლოში გადაყვანა ერთი მეთოდის გამოძახებაა. Folia-ზე დანიშნულების ადგილი შეიძლება სხვა რეგიონს ეკუთვნოდეს სხვა ნაკადზე, ამიტომ teleport ასინქრონულია და plugin-მა შუალედური მომენტი უნდა დაამუშაოს. plugin-ები, რომლებიც ფიქრობენ, რომ teleport მყისიერია, Folia-ს ბაგების მთელი კლასის წყაროა.

Folia-ს ინსტალაცია და მისი კონფიგურაცია#

PaperMC Folia-ს build-ებს Paper-თან ერთად აქვეყნებს თავის ჩამოტვირთვების საიტზე, და Folia Minecraft-ის ახალ ვერსიაზე, როგორც წესი, Paper-ის შემდეგ, გარკვეული დროის მერე ჩნდება. სანამ განახლებას მასზე დაგეგმავ, შეამოწმე, რომ სასურველი ვერსიისთვის build არსებობს.

jar-ი ზუსტად ისე ეშვება, როგორც Paper-ისა, Java-ს იგივე მოთხოვნებით - მიმდინარე ვერსიებისთვის Java 21 - და იგივე კონფიგურაციის ფაილებს წერს: server.properties, bukkit.yml, spigot.yml და config/ საქაღალდე paper-global.yml-ით და paper-world-defaults.yml-ით. Folia paper-global.yml-ში tick-ის ნაკადებისთვის საკუთარ სექციას ამატებს:

config/paper-global.yml
threaded-regions:  threads: -1chunk-system:  io-threads: -1  worker-threads: -1

threads: -1 Folia-ს აძლევს საშუალებას, tick-ის ნაკადების რაოდენობა ხელმისაწვდომი ბირთვებიდან თავად აირჩიოს. chunk-სისტემის პარამეტრები იგივეა, რაც Paper-ს აქვს, და chunk-ების ჩატვირთვისა და გენერაციისთვის გამოყენებულ ნაკადებს მართავს. მანქანაზე, სადაც ბირთვები ბლომადაა, მათი პირდაპირ მითითება შეგიძლია, რომ tick-ის ნაკადები, chunk-ის worker-ები და ქსელის ნაკადები ერთსა და იმავე ბირთვებზე არ იბრძოდნენ; მცირე გამოყოფაზე გასაყოფი არაფერია, და სწორედ ესაა შემდეგი სექციის აზრი.

ადმინისტრირების სამი განსხვავება, რომელიც პირველ გაშვებამდე უნდა იცოდე:

  • წინასწარ დააგენერირე სამყარო. Folia-ს საკუთარი რეკომენდაციაა pre-generation, რომ chunk-ების გენერაცია tick-ს არ შეეჯიბროს. Folia-ზე ეს Paper-ზე უფრო მნიშვნელოვანია, რადგან მკვლევარი მოთამაშეები სწორედ ის გაფანტული დატვირთვაა, რისთვისაც ის შეიქმნა. სამყაროს საზღვრები და pre-generation Chunky-ით პროცედურას აღწერს.
  • TPS რეგიონზეა. Folia სერვერს ერთი TPS არ აქვს. ერთი რეგიონი შეიძლება 20-ზე იყოს, მეორე კი 12-ზე, რადგან ორმოცმა მოთამაშემ მასში mob farm ააშენა. Folia რეგიონების მდგომარეობას საკუთარი ბრძანებებით აჩვენებს, და მისი წაკითხვა რეგიონ-რეგიონ გიწევს, ერთ რიცხვზე თვალის შევლების ნაცვლად.
  • vanilla-ს ზოგიერთი ქცევა განსხვავებულია ან აკლია. ყველაფერი, რაც tick-ის ერთ გლობალურ თანმიმდევრობას ეყრდნობოდა - scoreboard-ის ზოგიერთი ხრიკი, რეგიონებს შორის გადამავალი redstone და command block-ის კონსტრუქციები, plugin-ები, რომლებიც ყველა ონლაინ მოთამაშეს ერთბაშად გადაუვლიან - შეიძლება სხვანაირად მოიქცეს. გატესტე ასლზე.

რატომ არ უხდება Folia მცირე გეგმას#

Folia ერთნაკადიან სიჩქარეს პარალელიზმზე ცვლის, პარალელიზმი კი არაფრად ღირს, თუ მის გასაშვებად ბირთვები არ გაქვს. სერვერზე, რომელსაც ორი-სამი vCPU აქვს გამოყოფილი - ეს თამაშის ჰოსტინგის გეგმების უმეტესობას ფარავს, აქაური Minecraft-ის ხაზის ჩათვლით - tick-ის ნაკადები, chunk-ის worker-ები, ქსელის ნაკადები და garbage collection ერთსა და იმავე პატარა ნაჭერს იზიარებენ. სამუშაოს რეგიონებად დაყოფა კოორდინაციის დამატებით ხარჯს ქმნის და მას წასასვლელი არსად აქვს.

აი გულწრფელი არითმეტიკა. დავუშვათ, შენი Paper სერვერი პიკზე tick-ზე 40 მილიწამს ხარჯავს. Folia-ზე ორი გამოსაყენებელი ბირთვით საუკეთესო შემთხვევა ისაა, რომ რეგიონები დატვირთვას ორ ნაკადზე თანაბრად ანაწილებენ - თითოზე 20 მილიწამი - მინუს რეგიონების აღრიცხვის ხარჯი. რეალისტური შემთხვევა ისაა, რომ მოთამაშეების უმეტესობა ერთ ან ორ უბანშია, სამუშაოს დიდ ნაწილს ერთი რეგიონი აკეთებს, შენ კი ისევ 40 მილიწამთან ბრუნდები, დამატებითი ხარჯით და ნაკლები plugin-ით. ამასობაში chunk-ის worker-ები და garbage collector-ი სწორედ იმ ორ ბირთვზე იბრძვიან, რომლის გამოყენებასაც tick-ის ნაკადები ცდილობენ.

RE:NODE-ზე CPU მკაცრად იზღუდება ნაყიდი წილით: Minecraft-ის გეგმა ერთი ბირთვიდან Starter-ზე 3.5 vCPU-მდე Premium-ზე მერყეობს, და ლიმიტი თითოეულ კონტეინერზე მოქმედებს და მეზობლებისგან არ ისესხება. ეს სრულიად კარგი გამოყოფაა Paper-ისთვის, სადაც ერთი სწრაფი ნაკადი სიმულაციას აკეთებს, დანარჩენი კი chunk-ების სამუშაოს და GC-ს შთანთქავს. ეს შორსაა იმ 16 ფიზიკური ბირთვისგან, რომლის ირგვლივაც Folia არის დაპროექტებული. სერვერი, რომელიც 100% CPU-ზე დგას, ნელია და არა გაფუჭებული, და ამის გამო არასოდეს ჩერდება - მაგრამ Folia-ზე ამ 100%-ს უფრო ადრე მიაღწევდი და არა უფრო გვიან.

მთელ გამოყოფილ მანქანასაც კი დაფიქრება სჭირდება. აქაური VDS-ის ხაზი მაქსიმუმ ექვს ბირთვს გთავაზობს i9-9900K-ზე, რაც Paper-ისთვის სწრაფი ჩიპია, მაგრამ მაინც ჩამორჩება ბირთვების იმ რაოდენობას, რომელსაც Folia-ს დოკუმენტაცია გირჩევს. თუ ნამდვილად იმ მასშტაბზე ხარ, სადაც Folia პასუხია, მაშინ იმ მასშტაბზეც ხარ, სადაც აპარატურას მის გარშემო არჩევ.

რა ჯობს ამის ნაცვლად, ნებისმიერ ზომაზე#

ერთნაკადიანი ჭერი ნამდვილია, და მის ქვემოთ დარჩენის უფრო იაფი გზები არსებობს, ვიდრე სერვერის პლატფორმის შეცვლა.

50 მოთამაშემდე. Paper გონივრული პარამეტრებით. view-distance დაახლოებით 8 და simulation-distance დაახლოებით 6, entity-ების ლიმიტები, რომლებიც შენს farm-ებს შეესაბამება, წინასწარ დაგენერირებული სამყარო და საზღვარი. ამ დიაპაზონში ზღვარს თითქმის ყოველთვის ერთი რამ ქმნის, რომელიც ცუდად იქცევა, და არა პლატფორმა. რატომ ეცემა TPS და რა ვქნათ ჩვეულებრივ ეჭვმიტანილებს განიხილავს.

50-დან 150 მოთამაშემდე. ისევ Paper, მორგებით: entity-ების აქტივაციის რადიუსები თითოეულ სამყაროზე, hopper-ისა და redstone-ის პარამეტრები და plugin-ების ფრთხილად შერჩეული სია. განიხილე Purpur ან Pufferfish, თუ მათი კონკრეტული ფუნქციები გჭირდება, მაგრამ მოგება ძირითადად კონფიგურაციიდან მოდის და არა fork-იდან.

რამდენიმე განსხვავებული თამაშის რეჟიმი. დაყავი ისინი ცალკე სერვერებად proxy-ის უკან, ერთი დიდი პროცესის ნაცვლად. lobby, survival სამყარო და minigame სერვერი სამ backend-ზე სამი მთავარი ნაკადია სამ CPU-გამოყოფაზე, თითოეულის გადატვირთვა კი დანარჩენების გარეშე შეიძლება. ეს მრავალნაკადიანობაა არქიტექტურით და არა fork-ით, და ყველა შენი plugin-ი კვლავ მუშაობს. Velocity-ის ქსელის აწყობა ამის ნაბიჯ-ნაბიჯ გზამკვლევია.

ასობით მოთამაშე ერთ საერთო სამყაროში, შესაბამისი აპარატურით. ეს Folia-ს შემთხვევაა. მაშინაც კი დაგეგმე plugin-ების აუდიტი, staging სერვერი და გუნდში ადამიანი, რომელიც ნაკადის მფლობელობის exception-ს წაიკითხავს.

code
You need Folia only if all of these are true:  - the world is shared and genuinely large  - players are spread across it, not gathered in one place  - you have well over 8 physical cores for this one server  - every plugin you need declares folia-supported: true  - Paper, tuned and profiled, has already hit its limit

Folia-ზე გადასვლა და უკან დაბრუნება#

თუ ზემოთ ყველა ტესტი გაიარე, თავად გადასვლა დრამატული არ არის. Folia Paper-ის სამყაროს ფორმატს და საქაღალდეების სტრუქტურას იყენებს - world, world_nether და world_the_end ზედა დონეზე - ასე რომ, Paper-ის სამყარო Folia-ზე კონვერტაციის გარეშე იტვირთება, Folia-ს სამყარო კი უკან Paper-ზე.

  1. გააკეთე backup მანქანის გარეთ და დარწმუნდი, რომ მისი აღდგენა შეგიძლია. Backup-ები, რომლებიც ნამდვილად აღდგება ხსნის, რატომ არ ითვლება ასლი იმავე საქაღალდეში.
  2. წაშალე ყველა plugin-ი Folia-ს მხარდაჭერის გარეშე plugins/-იდან, მათი მონაცემების საქაღალდეები კი სადმე უსაფრთხოდ შეინახე, რომ მათთან დაბრუნება შეძლო.
  3. შეცვალე jar-ი შესაბამისი Folia build-ით, Minecraft-ის იგივე ვერსიით.
  4. გაუშვი ისე, რომ ონლაინ არავინ იყოს, და log-ი თავიდან წაიკითხე. ყველა plugin-ი, რომლის ჩატვირთვაზეც Folia უარს ამბობს, იქ სახელითაა მოხსენიებული.
  5. გატესტე ის, რაც რეგიონებს კვეთს: teleport-ები, პორტალები, სამყაროებს შორის ბრძანებები, ყველაფერი, რაც ყველა მოთამაშეს უგზავნის შეტყობინებას, და ნებისმიერი ეკონომიკის ან claim-ის plugin-ი, რომელსაც ბრძანების გამშვებისგან შორს მდებარე ბლოკების მოძებნა სჭირდება.
  6. გატესტე დატვირთვა ნამდვილი მოთამაშეებით, სანამ გამოაცხადებ. ხელოვნური დატვირთვა იშვიათად ნაწილდება ისე, როგორც ნამდვილი მოთამაშეები.

უკან დაბრუნება იგივეა საპირისპირო მიმართულებით: გააჩერე სერვერი, ჩასვი Paper-ის jar-ი, აღადგინე ამოღებული plugin-ები. რადგან სამყაროს ფორმატი საერთოა, ერთადერთი, რასაც კარგავ, ის რეგიონ-ცნობიერი ქცევებია, რისთვისაც მოხვედი.

RE:NODE-ზე Minecraft-ის ხაზს Paper მოყვება უკვე არჩეული შესაბამისი Java-თი. Folia-ს თავად ატვირთავდი file manager-ით ან SFTP-ით და Startup ჩანართს მასზე მიუთითებდი - დაშვებული jar-ების თეთრი სია არ არსებობს, და ასევე არ არსებობს ერთი დაწკაპუნებით გადართვა. backup-ის სლოტები ყველა გეგმაზეა, ტესტირებისას შეიძლება როტაციისგან დაიბლოკოს და, თუ ექსპერიმენტი არ გამოვიდა, ღილაკით აღდგება.

FAQ#

Folia Paper-ზე სწრაფია?

მხოლოდ დატვირთვის კონკრეტული ფორმისთვის. როცა ბევრი მოთამაშე დიდ სამყაროშია გაფანტული, ხოლო მანქანას ბევრი ბირთვი აქვს, Folia-ს შეუძლია ყველა რეგიონი 20 TPS-ზე შეინარჩუნოს იქ, სადაც Paper ჩამორჩებოდა. როცა მოთამაშეები თავმოყრილია ან CPU-ს გამოყოფა მცირეა, ის, როგორც წესი, სწრაფი არ არის და კოორდინაციის ხარჯის გამო შეიძლება უფრო ნელიც იყოს.

შემიძლია Folia-ზე ჩვეულებრივი Paper-ის plugin-ები გავუშვა?

არა, თუ ავტორს Folia-ს მხარდაჭერა არ დაუმატებია და plugin.yml-ში folia-supported: true არ გამოუცხადებია. ყველაფერ დანარჩენზე Folia ჩატვირთვაზე უარს ამბობს. Paper-ის რეგიონისა და entity-ს scheduler-ებით დაწერილი plugin-ები ერთი jar-იდან ორივეზე მუშაობს; Bukkit-ის ძველ scheduler-ზე აგებული plugin-ები - არა.

ეხმარება Folia სერვერს 20 მოთამაშით?

არა. ოცი მოთამაშე სავსებით ეტევა იმაში, რასაც Paper-ზე ერთი სწრაფი ნაკადი უმკლავდება, თუ სერვერი გონივრულად არის მორგებული. თუ 20-მოთამაშიანი სერვერი ლაგავს, tick-ს რაღაც კონკრეტული ჭამს, და პროფაილერი მას პლატფორმის შეცვლაზე სწრაფად იპოვის.

გადარჩება ჩემი სამყარო Folia-ზე გადასვლისას?

კი. Folia იგივე სამყაროს ფორმატს და Bukkit-ის სტილის იგივე საქაღალდეების სტრუქტურას იყენებს, რასაც Paper, ასე რომ, სამყარო ორივე მიმართულებით იტვირთება. იცვლება ის, თუ რომელი plugin-ები შეიძლება გაეშვას, ამიტომ სამყაროსთან ერთად plugin-ების მონაცემების საქაღალდეების backup-იც გააკეთე.

საკმარისად სტაბილურია Folia production-ისთვის?

ზოგიერთი ძალიან დიდი სერვერი მას production-ში იყენებს, PaperMC კი რეგულარულად აქვეყნებს build-ებს. ის მაინც ჩამორჩება Paper-ს Minecraft-ის ახალ ვერსიებზე, მისი plugin-ების ეკოსისტემა გაცილებით მცირეა და ნაკლები ადამიანი შეძლებს დახმარებას, როცა რამე აირევა. მოეპყარი მას, როგორც ინფრასტრუქტურას დიდი ქსელებისთვის ტექნიკური გუნდით, და არა როგორც განახლებას ნებისმიერი სერვერისთვის.


კომენტარები

სრულიად ანონიმურად: ანგარიშის, ელფოსტის და cookie-ის გარეშე. ინახება მხოლოდ სახელი, ტექსტი და დრო - სხვა არაფერი. ბმულების რაოდენობა ლიმიტირებულია.

0/2000