survival სერვერების უმეტესობაზე, რომლებიც რამდენიმე თვეა მუშაობს, პროფაილერში ყველაზე დიდი ცალკეული ხაზი plugin არ არის. ეს სოფლელებია - ორასი მათგანი სავაჭრო დარბაზში, გამრავლების მანქანა, რომელიც არავინ გამორთო, და რკინის ფერმა ყოველ მეორე ბაზაზე - და მათ ახლოს მისდევს მობების ფერმები, რომლებიც მათ ქვეშ აშენდა. სოფლელი ერთ tick-ზე ზომბზე ან ძროხაზე გაცილებით ძვირი ჯდება, რადგან სრულ "ტვინს" ამუშავებს: სამუშაო ადგილის ძებნა, საწოლის ძებნა, ჭორები, პანიკის შემოწმება და გოლემის გამოძახება. გამოსავალი სოფლელების აკრძალვა არ არის. საჭიროა მათი დათვლა, თითოეულის ისეთ საკანში გამოკეტვა, საიდანაც ვერსად გაიკვლევს გზას, გამრავლების მანქანების შეზღუდვა, Paper-ისა და Spigot-ის სამი-ოთხი პარამეტრის მორგება და ფერმების წესების გამოქვეყნება მანამ, სანამ ხალხი აშენებას დაიწყებს, და არა მერე.
ეს გზამკვლევი გულისხმობს, რომ Paper-ს ან მის fork-ს იყენებ. ზოგადი მანძილისა და spawn-ის პარამეტრები განხილულია Paper-ის ოპტიმიზაციაში; აქ უფრო ღრმად შევდივართ ორ entity-ჯგუფში, რომლებიც მომწიფებულ სერვერებზე პრობლემების უმეტესობას იწვევს, და წესებში, რომლებიც პრობლემას ხელახლა გაზრდის საშუალებას არ აძლევს.
რატომ ჯდება სოფლელი ნებისმიერ სხვა მობზე ძვირი#
1.14-ში სოფლების გადაწერის შემდეგ ყოველი სოფლელი იმავე AI სისტემაზე მუშაობს, რაზეც ახალი მობები: სენსორების ნაკრები, რომელიც სამყაროს ათვალიერებს, მეხსიერება, რომელიც ნაპოვნს ინახავს, და ქცევები, რომლებიც ამ მეხსიერების მიხედვით მოქმედებს. მობების უმეტესობას ასეთი რამდენიმე აქვს. სოფლელებს ათობით აქვთ და რამდენიმე მათგანი ძვირია.
- ინტერესის წერტილების (POI) ძებნა. უმუშევარი სოფლელი, ან ის, ვინც სამუშაო ადგილი დაკარგა, განუწყვეტლივ ათვალიერებს მიდამოს თავისუფალი სამუშაო მაგიდის, საწოლის ან ზარის საპოვნელად. ეს ძებნა ახლომდებარე chunk-ების POI საცავს გადაუყვება. ერთი სოფლელი ამას რომ აკეთებს, არაფერია; ორმოცდაათი უმუშევარი სოფლელის დარბაზი, რომელიც ამას ყოველ რამდენიმე წამში აკეთებს, tick-ის შესამჩნევი ნაჭერია.
- გზის გაკვლევა (pathfinding). ყოველ ჯერზე, როცა სოფლელი გადაწყვეტს სამსახურში, დასაძინებლად ან ზართან წასვლას, ის გზას ითვლის. ღია ოთახში გზები გრძელია და ხშირად ხელახლა ითვლება. ერთბლოკიან საკანში გზა ერთი ნაბიჯია ან შეუძლებელია, რაც გაცილებით იაფია.
- ჭორებისა და გოლემის ლოგიკა. სოფლელები ერთმანეთს რეპუტაციის მონაცემებს უზიარებენ და ამოწმებენ, ხომ არ უნდა გამოიძახონ რკინის გოლემი. რკინის ფერმაში ზუსტად ეს გინდა და ეს მუდმივი სამუშაოა.
- განრიგები. სოფლელები დღის განმავლობაში საქმიანობას ცვლიან და ყოველი ცვლილება ახალ გადაწყვეტილებებს იწვევს.
ძროხა, შედარებისთვის, დაეხეტება, ბალახს ჭამს და დროდადრო მრავლდება. პროფაილში ათასი ძროხა ბაკში ცუდად ძირითადად შეჯახებების გამო გამოიყურება; რამდენიმე ასეული სოფლელი კი ცუდად მათი ტვინის გამო გამოიყურება. ეს არის მთავარი განსხვავება ყველაფრისთვის, რაც ქვემოთ მოდის: სოფლელები ძვირია, რადგან ფიქრობენ, ფერმის სხვა მობების უმეტესობა კი ძვირია, რადგან ზედმეტად ბევრია.
სანამ რამეს შეცვლი, დათვალე#
იმის გამოცნობა, რომელი ბაზაა პრობლემა, არის ზუსტად ის, რის გამოც ადმინები არასწორ ფერმას შლიან და მოთამაშეს კარგავენ. ჯერ გაზომე.
/paper entity list/paper entity list minecraft:villager/execute if entity @e[type=minecraft:villager]/mspt/paper entity list ბეჭდავს entity-ების რაოდენობას ტიპების მიხედვით ჩატვირთულ chunk-ებში, ხოლო თუ ტიპს მიუთითებ, ჩამოთვლის chunk-ებს, სადაც ისინი ყველაზე მეტია, კოორდინატებით. ეს ამ მთელი თემისთვის ყველაზე სასარგებლო ბრძანებაა: გეუბნება, რომ შენი 310 სოფლელიდან 140 ერთ chunk-შია x: 1840, z: -620-ზე, და შეგიძლია მიხვიდე და ნახო. /execute if entity ფორმა რაოდენობას vanilla-ს ენაზე აბრუნებს და ნებისმიერ სერვერზე მუშაობს. /mspt გეუბნება, აქვს თუ არა ამ ყველაფერს ჯერ მნიშვნელობა - თუ მედიანა 15 ms-ია, მარაგი გაქვს და სოფლელების გრძელი სია საგანგებო მდგომარეობა არ არის.
გახსოვდეს, რომ ეს ბრძანებები მხოლოდ ჩატვირთულ chunk-ებს ხედავს. სავაჭრო დარბაზი იმ ბაზაში, რომლის მფლობელიც offline-ია, tick-ს არ აკეთებს და არ ჩანს. სანამ ბაზას უდანაშაულოდ ჩათვლი, ხელახლა შეამოწმე, როცა სერვერი დატვირთულია, ან მფლობელის შემოსვლის შემდეგ.
შემდეგ აიღე პროფაილი. spark-ის რეპორტის წაკითხვა მეთოდს განიხილავს; ხაზები, რომლებსაც უნდა დაუწყო ძებნა, არის სოფლელების ქცევები და სენსორები (სახელები, როგორიცაა POI-ის მოპოვება, მეორადი POI სენსორი, უახლოესი საწოლის სენსორი) და ზოგადი entity tick-ისა და pathfinding-ის ჩანაწერები. თუ სოფლელების ტვინის სამუშაო tick-ის რამდენიმე პროცენტია, პარამეტრებს ნუ შეეხები და ყურადღება გადაიტანე იმაზე, რაც რეპორტის თავშია.
| რას აჩვენებს პროფაილი | სავარაუდო მიზეზი | პირველი გამოსწორება |
|---|---|---|
| POI-ის მოპოვება და სენსორები მაღალია | უმუშევარი ან მოხეტიალე სოფლელები | ყველა სოფლელს მიეცი სამუშაო ადგილი, ჩასვი საკანში |
| pathfinding მაღალია | სოფლელები ღია ოთახებში ან გამრავლების მანქანებში | ერთბლოკიანი საკნები, უფრო პატარა გამრავლების მანქანები |
| entity-ების შეჯახებები მაღალია | ბაკში ან ფერმაში ჩაჭედილი მობები | მოსაკლავი კამერა, maxEntityCramming-ზე ნაკლები დამოკიდებულება |
| მობების spawn-ი მაღალია | spawn-ის მცდელობები ბევრ მოთამაშეზე | ticks-per.monster-spawns, spawn-ის რადიუსი |
| item entity-ების tick-ი მაღალია | ფერმის პროდუქცია, რომელსაც წასასვლელი არ აქვს | შემგროვებელი hopper-ები, merge radius |
სავაჭრო დარბაზები და გამრავლების მანქანები იაფად#
ყველაზე იაფი სოფლელი ისაა, რომელიც დასაქმებულია, ერთი-ერთზე საკანშია გამოკეტილი, სამუშაო მაგიდა ხელმისაწვდომ მანძილზე აქვს და ვერ ხედავს საწოლს, რომელიც შეიძლება მოუნდეს. კარგად აშენებული სავაჭრო დარბაზი წარმადობის პრობლემა არ არის. ცუდად აშენებული კი კლასიკური პრობლემაა.
რა ხდის დარბაზს იაფს:
- ერთი ბლოკი თითო სოფლელზე, იატაკი და კედლები მყარი, სამუშაო მაგიდა პირდაპირ გვერდით. სოფლელი თავის სამუშაოს ისე აღწევს, რომ არსად გზას არ იკვლევს.
- ყველა სოფლელი დასაქმებულია. სოფლელი, რომელმაც სამუშაო მაგიდა დაკარგა (რადგან ვიღაცამ ის ვაჭრობის ხელახლა გასათამაშებლად დაამტვრია და ჩანაცვლება დაავიწყდა), მას განუწყვეტლივ ეძებს. უმუშევარი სოფლელები და nitwit-ები საკნებში გამრავლების მანქანაში უნდა გაიგზავნოს ან მოიხსნას.
- დარბაზის რადიუსში საწოლები არ არის, თუ დიზაინს ისინი არ სჭირდება. საწოლები სოფლელებს კიდევ ერთ რამეს აძლევს, რაც უნდა ეძებონ და რისკენაც უნდა იარონ.
- საკნების ზემოთ ან გვერდით ღია სივრცე არ არის. ღრიჭოები სოფლელებს საშუალებას აძლევს, გამოთვალონ გზები, რომლებიც არსად მიდის.
გამრავლების მანქანები უფრო დიდი რისკია, რადგან ისინი სოფლელებს უსასრულოდ აწარმოებს. ავტომატური გამრავლების მანქანა საკვების მარაგითა და საწოლებით მუშაობს, სანამ მისი მფლობელი online-ია, და ყველაფერი, რასაც ის აწარმოებს და რაც არ გროვდება, მოსაცდელ ზონაში დგას, უსაქმოდ და ძებნაში. გამრავლების მანქანა ან პირდაპირ უნდა აწვდიდეს დარბაზს, რომელსაც საკნების ფიქსირებული რაოდენობა აქვს, ან უნდა გამოირთოს, როცა დარბაზი შეივსება. სთხოვე მშენებლებს, ჩაამატონ გამორთვის საშუალება - ჩვეულებრივ, საკვების ან საწოლების მოხსნა - და გამოიყენონ კიდეც.
ზომბი-სოფლელების განკურნება ფასდაკლებისთვის სოფლელების ბრუნვის კიდევ ერთი წყაროა. თავისთავად ეს კარგია; პრობლემა მაშინ ხდება, როცა ნახევრად განკურნებული სოფლელების საკნების ბლოკი შიგნით ზომბებით რჩება, რადგან ზომბები ჩატვირთულ chunk-ში განუწყვეტლივ იკვლევენ გზას სოფლელებისკენ, რომლებსაც ვერ მიწვდებიან.
Paper-ისა და Spigot-ის პარამეტრები სოფლელებისთვის#
Paper Spigot-ის აქტივაციის რადიუსებს სოფლელების მართვის საკუთარ ნაკრებს ამატებს. ქვემოთ მოცემული ნაგულისხმევი მნიშვნელობები ისაა, რასაც ბოლო build-ები აგენერირებს; გასაღებები ვერსიებს შორის გადაადგილდება, ამიტომ რედაქტირებამდე საკუთარ ფაილებში მოძებნე.
entity-activation-range: villagers: 32 tick-inactive-villagers: true villagers-active-for-panic: true villagers-work-immunity-after: 100 villagers-work-immunity-for: 20 wake-up-inactive: villagers-every: 600 villagers-for: 100 villagers-max-per-tick: 4რას აკეთებს თითოეული და რა ჯდება მისი შეცვლა:
| პარამეტრი | ნაგულისხმევი | შეცვლის ეფექტი |
|---|---|---|
villagers | 32 | აქტივაციის რადიუსი ბლოკებში. ნაკლები ნიშნავს, რომ უფრო შორს მყოფი სოფლელები tick-ს აღარ აკეთებენ |
tick-inactive-villagers | true | false არააქტიური სოფლელების tick-ს მთლიანად აჩერებს. დიდი დანაზოგი, ვაჭრობა მხოლოდ მოთამაშეების ახლოს ივსება |
villagers-active-for-panic | true | პანიკაში მყოფ სოფლელებს აქტიურად ტოვებს. საჭიროა რკინის ფერმებისთვის, რომლებიც სოფლელებს აშინებს |
villagers-work-immunity-after / -for | 100 / 20 | რამდენ ხანს რჩება სოფლელი აქტიური მუშაობის შემდეგ |
wake-up-inactive სოფლელების მნიშვნელობები | 600 / 100 / 4 | რამდენად ხშირად იღვიძებენ არააქტიური სოფლელები, რამდენი ხნით და რამდენი თითო tick-ზე |
tick-inactive-villagers: false მათ შორის ყველაზე ძლიერია. მასთან ერთად სოფლელი, რომელიც ყველა მოთამაშის აქტივაციის რადიუსს გარეთაა, საერთოდ არაფერს აკეთებს - არც POI-ის ძებნა, არც გოლემის გამოძახება, არც მარაგის შევსება. ხილული ეფექტი ისაა, რომ სავაჭრო დარბაზები და რკინის ფერმები მხოლოდ მაშინ მუშაობს, როცა ვინმე მათ ახლოს დგას, და მოთამაშეების უმეტესობა მათ ასეც იყენებს. უხილავი ეფექტი ისაა, რომ ორასი სოფლელის დარბაზი თითქმის მიტოვებულ ბაზაში, რომელსაც მეზობელი chunk-ებით ტვირთავს, აღარაფერი უჯდება.
Paper-ის საკუთარ world config-ს სოფლელების tick-ის ორი სიხშირე აქვს:
tick-rates: behavior: villager: validatenearbypoi: -1 sensor: villager: secondarypoisensor: 40სენსორის სიხშირე tick-ებშია; secondarypoisensor-ის 80-მდე ან 100-მდე აწევა ორჯერ ან მეტჯერ ამცირებს იმ სენსორის ღირებულებას, რომელიც მეორად ინტერესის წერტილებს ეძებს, მაგალითად ფერმერებისთვის კომპოსტერებს. validatenearbypoi -1-ზე vanilla-ს ქცევას ნიშნავს; დადებითი მნიშვნელობა ვალიდაციას უფრო იშვიათად ამუშავებს. ორივე ამცირებს იმას, თუ რამდენად სწრაფად ამჩნევენ სოფლელები გარემოს ცვლილებებს - ფერმერს ახლად დადგმული კომპოსტერის პოვნას ცოტა მეტი დრო სჭირდება - და არცერთი ვაჭრობას არ აფუჭებს.
თუ Purpur-ს იყენებ, ის purpur.yml-ში სოფლელების "ლობოტომიის" ოფციას ამატებს, რომელიც AI-ს აშორებს სოფლელებს, რომლებსაც გადაადგილება არ შეუძლიათ - ეს ზუსტად ერთბლოკიანი საკნის შემთხვევაა. ის ეფექტურია და ქცევას ისე ცვლის, რომ ზოგიერთი სავაჭრო დარბაზი ამაზეა დამოკიდებული (ლობოტომირებული სოფლელები ზოგიერთ ვერსიაში მარაგს სხვანაირად ავსებენ), ამიტომ წაიკითხე Purpur-ის მიმდინარე დოკუმენტაცია და ასლზე გამოსცადე. Purpur და Pufferfish განიხილავს, ღირს თუ არა საერთოდ fork-ის შეცვლა. სუფთა Paper-ზე არსებობს plugin-ები, რომლებიც იგივეს აკეთებს; ისინი უხეში ინსტრუმენტებია და ზემოთ მოცემული პარამეტრები ჩვეულებრივ გზის უმეტეს ნაწილს გავლევინებს.
მობების ფერმები და mob cap#
მობების ფერმები სხვა სახის ხარჯია. მტრული მობების ფერმა ასე მუშაობს: მობები ბნელ ზონაში ჩნდება, სანამ ახლომდებარე ყველა სხვა spawn-ისთვის ვარგისი სივრცე განათებულია ან spawn-ისთვის უვარგისია, შემდეგ კი ისინი მოსაკლავ წერტილამდე გადაადგილდება. tick-ზე ხარჯი სამი ადგილიდან მოდის: spawn-ის მცდელობები, მობების AI და მოძრაობა სიკვდილამდე, და ნივთები და გამოცდილება, რომელსაც ისინი აგდებენ.
mob cap არის ის, რაც ერთი მოთამაშის ფერმას ყველა დანარჩენთან აკავშირებს. Paper-ის per-player-mob-spawns-ით (ნაგულისხმევად ჩართულია) ყოველ მოთამაშეს საკუთარი ბიუჯეტი აქვს - bukkit.yml-ში ნაგულისხმევად monsters: 70 - და მის ახლოს მყოფი მობები მას აკლდება. ამას სამი შედეგი აქვს, რომლის გაგებაც ღირს:
- ფერმები უფრო სწრაფად მუშაობს, როცა cap სხვაგან შევსებული არ არის. მოთამაშე, რომელიც ფერმასთან დგას და რომლის cap-იც ახლომდებარე გამოქვაბულების მობებითაა შევსებული, ფერმაში ნაკლებ spawn-ს იღებს. მოთამაშეები სწავლობენ გამოქვაბულების განათებას, და ეს კარგია.
- სახელიანი და მუდმივი მობები cap-ს აკლდება. name tag-იანი ზომბების ბაკი ან მუდმივი მობების კოლექცია cap-ს სამუდამოდ ავსებს და ფერმას კლავს. ამასთან, ტყუილად ხარჯავს tick-ებს.
- cap-ის შემცირება ფერმის გამოსავალს პროპორციულად ამცირებს. დატვირთულ სერვერზე
monsters-ის50-მდე დაწევა ლეგიტიმური კომპრომისია და ყველა მტრულ ფერმას დაახლოებით ერთი და იმავე წილით ამცირებს. გამოაცხადე.
თავად spawn-ის მცდელობები ნაგულისხმევად ყოველ tick-ზე ხდება. bukkit.yml-ში ticks-per.monster-spawns: 2 მცდელობებს ორჯერ ამცირებს და თამაშში ძნელად შესამჩნევია. spawner-ებს Paper-ში ცალკე სიხშირე აქვს, paper-world-defaults.yml-ში tick-rates.mob-spawner: 1; 2-მდე აწევა spawner-ზე დაფუძნებული ყველა grinder-ის ღირებულებას ორჯერ ამცირებს და მათ პროპორციულად ანელებს.
spigot.yml-ში nerf-spawner-mobs: true spawner-ის მობებს AI-ს ართმევს. ისინი მაინც ვარდებიან და წყალს შეუძლია მათი გაწევა, და spawner grinder-ების უმეტესობა მათ სწორედ ასე ამოძრავებს, ამიტომ ბევრი დიზაინი მაინც მუშაობს. დიზაინები, რომლებიც მობების სიარულზე ან სამიზნისკენ გზის გაკვლევაზეა დამოკიდებული, არ მუშაობს. ეს ფერმების წესების გადაწყვეტილებაა და არა ჩუმი შესწორება.
ცხოველების ბაკები, ჭედვა და მობები, რომლებიც არასოდეს ქრება#
პასიური ცხოველები პრობლემის მეორე ნახევარია და ერთი მხრივ უარესიც: გამრავლებული ცხოველები არასოდეს ქრება (despawn). ძროხების ფერმა, რომელიც ყოველ ხუთ წუთში მრავლდება და არასოდეს იხშირება, მანამ იზრდება, სანამ რამე არ შეაჩერებს.
/gamerule maxEntityCrammingmaxEntityCramming ნაგულისხმევად 24-ია: როცა ამაზე მეტი მობი ერთ ბლოკის სივრცეს იზიარებს, ისინი დახრჩობის ზიანს იღებენ. ეს vanilla-ს უსაფრთხოების სარქველია და ზოგიერთი ფერმა მას განზრახ იყენებს მოკვლის მექანიზმად. მისი აწევა იმისთვის, რომ ფერმამ ცხოველები აღარ დახოცოს, ცუდი იდეაა - შეჯახების შემოწმებები ცუდად მასშტაბირდება, როცა entity-ები გროვდება, და სწორედ ამიტომ ჩანს entity-ების შეჯახება ასე თვალსაჩინოდ ბაკებით სავსე პროფაილებში.
Paper-ის collisions.max-entity-collisions paper-world-defaults.yml-ში (ნაგულისხმევად 8) ზღუდავს, რამდენ შეჯახებას ამუშავებს ერთი entity თითო tick-ზე, რაც უარეს შემთხვევას უკვე ამსუბუქებს. რასაც ის ვერ გააკეთებს, არის მოთამაშის შეჩერება, რომელიც 600 ქათამს ინახავს. მოქმედი წესები სოციალურია:
- ცხოველების ლიმიტი თითო ბაზაზე - ბევრი სერვერი იყენებს დაახლოებით 50-ს თითო სახეობაზე ერთ ზონაში - და ავტომატური გამოხშირვის დიზაინების წახალისება.
- ქათმების ფერმებმა ზრდასრულები უნდა მოკლან ან მომზადების დიზაინი გამოიყენონ და არ დააგროვონ.
- გამრავლება კარგია; ასობით სანაშენე ცხოველის შენახვა - არა.
აღსრულებისთვის paper-world-defaults.yml-ში chunks.entity-per-chunk-save-limit ზღუდავს, მოცემული ტიპიდან რამდენი შეინახება თითო chunk-ში. ის შექმნილია, როგორც დაცვა chunk-ებისგან, რომლებიც ვეღარ იტვირთება, და არა როგორც ფერმის ლიმიტი, და chunk-ის შენახვისას ზედმეტს ჩუმად შლის. გამოიყენე ის გულუხვი მნიშვნელობებით ჭურვებისა და გამოცდილების ბურთულებისთვის; ძროხების საკონტროლებლად ნუ გამოიყენებ, თუ ყველას არ უთხარი.
რკინის, რეიდისა და ოქროს ფერმები#
ეს სამი ცალკე ყურადღებას იმსახურებს, რადგან ისინი ფერმებია, რომლებსაც ყველაზე ხშირად ადანაშაულებენ და ყოველთვის დამნაშავეები არ არიან.
რკინის ფერმებს სჭირდება სოფლელები, რომლებიც პანიკაში არიან ან იჭორავეს და ბოლო დროს გოლემი არ უნახავთ. თანამედროვე დიზაინები მცირე რაოდენობის სოფლელს იყენებს - სამი გავრცელებულია - და ზომბს მათ შესაშინებლად. ერთი კარგად აშენებული რკინის ფერმა იაფია. ერთ სერვერზე ოცი რკინის ფერმა, თითოეული საკუთარი სოფლელებითა და ზომბით, ღირებულებას ოცზე ამრავლებს, და მათ მიერ წარმოებული გოლემები ნივთებად იქცევა, რომლებიც უნდა შეგროვდეს. თუ რკინა უხვადაა, იკითხე, სჭირდება თუ არა ყველა ბაზას საკუთარი.
რეიდის ფერმები აქტიურობისას ძვირია: რეიდები illager-ების ტალღებს აჩენს, რომლებიც დიდ მანძილებზე იკვლევენ გზას, და ამიტომაა entity-activation-range.raiders სხვა მობებზე მაღალი (ნაგულისხმევად 48) და არ უნდა დაიწიოს. რეიდის ფერმა, რომელზეც საათობით AFK-ში დგანან, totem-ებსა და ზურმუხტებს უფრო სწრაფად აწარმოებს, ვიდრე ნებისმიერი ეკონომიკა შეიწოვს, და რეიდის AI-ს უწყვეტად ამუშავებს. დროის ფანჯარა ან წესი, რომ რეიდის ფერმებზე ღამით AFK-ში არ დგანან, გონივრულია.
ოქროს ფერმები Nether-ის სახურავზე ან nether-ის პორტალებზე უზარმაზარი რაოდენობით ზომბიფიცირებულ piglin-ებსა და ოქროს ნაჭრებს აწარმოებს. მობები ცალ-ცალკე იაფია; პრობლემა ნადავლია. ოქროს ფერმა სრული შეგროვების გარეშე მიწას ოქროს ნაჭრებითა და დამპალი ხორცით ავსებს, ეს კი entity-ების რაოდენობის პრობლემაა, რომელიც განხილულია entity-ების გასუფთავებასა და ClearLag-ში.
საერთო ძაფი AFK-ია. ფერმა იაფია, როცა ერთი მოთამაშე მას ოცი წუთი იყენებს; ძვირია, როცა ღამით რვა საათი მუშაობს, რადგან მისი მფლობელი მართვის პულტთან სძინავს. თუ შენი სერვერი AFK-ს უშვებს, დაფიქრდი, უშვებს თუ არა AFK-ს კონკრეტულად ფერმებთან.
ფერმების წესები, რომლებსაც მოთამაშეები მიიღებენ#
კონფიგურაციას საზღვარი აქვს. სერვერებს, რომლებზეც ლაგზე არ ჩხუბობენ, წესები პირველი ფერმის აშენებამდე აქვთ ჩაწერილი და ადმინები, რომლებიც მათ თანაბრად აღასრულებენ.
- მიუთითე simulation distance და აქტივაციის რადიუსები. მშენებლები რიცხვების გარშემო აპროექტებენ. თუ იციან, რომ ფერმები მხოლოდ ექვს chunk-ში მუშაობს და მობები მხოლოდ 24 ბლოკში იღვიძებენ, შესაბამისად ააშენებენ და შედეგს ბაგად არ შეგატყობინებენ.
- დააწესე ლიმიტები ბაზაზე და არა მოთამაშეზე. სოფლელების რაოდენობა დარბაზზე, ცხოველები ბაკზე, spawner grinder-ების რაოდენობა.
- მოითხოვე შეგროვება. ყველა ფერმა უნდა აწვდიდეს საცავს ან მოკვლა-შეგროვების სისტემას. მიწაზე ნივთები არ უნდა რჩებოდეს.
- მოითხოვე გამორთვის საშუალება გამრავლების მანქანებისთვის, რეიდის ფერმებისთვის და ყველაფრისთვის, რაც საათზე მუშაობს.
- გამოაქვეყნე, რა ხდება, როცა ფერმა წესებს არღვევს. ჯერ შეტყობინება, მერე ფერმის გამორთვა, მერე წაშლა. არასოდეს წაშალო ჩუმად.
- გადახედე ახალ მეგა-ნაგებობებს მათ ამოქმედებამდე და არა ლაგის ნახტომის შემდეგ.
წესები დააწყვილე ინსტრუმენტებთან, რომლებიც სტაფს გამოცნობის გარეშე მოქმედების საშუალებას აძლევს: /paper entity list რაოდენობებისთვის, spark მტკიცებულებისთვის და grief-ის ლოგირების plugin, რომ ნახო, ვინ დადგა 300-ე საწოლი. წესები, მოდერაცია და სტაფი ადამიანურ მხარეს განიხილავს, ხოლო grief-ისგან დაცვა და anti-cheat - ლოგირებას.
RE:NODE-ზე კონსოლი /mspt-ისა და /paper entity list-ის გამონატანს ფილტრის გარეშე აჩვენებს, მის გვერდით კი CPU-სა და მეხსიერების გრაფიკებს შენი გეგმის რეალური ლიმიტების მიმართ, ასე რომ შეგიძლია უყურო, როგორ ირთვება ფერმა, და ნახო მისი ფასი. CPU მკაცრად იზღუდება შენ მიერ ნაყიდ წილამდე: სერვერი, რომელიც 100%-ზეა მიჭედილი, ნელია და არა გაფუჭებული, და ამის გამო არასოდეს შეჩერდება - მაგრამ თუ ერთ ბაზას შეუძლია მისი მიჭედვა, ეს ჯერ წესების პრობლემაა და მერე გეგმის. CPU თუ RAM თამაშის სერვერებისთვის ხსნის, რატომ არ გეხმარება აქ მეტი მეხსიერება.
FAQ#
რამდენი სოფლელია სერვერისთვის ზედმეტი?
ფიქსირებული რიცხვი არ არსებობს; ეს იმაზეა დამოკიდებული, როგორ ინახება ისინი. რამდენიმე ასეული დასაქმებული სოფლელი ერთბლოკიან საკნებში ნაკლები ჯდება, ვიდრე ორმოცდაათი, რომლებიც სოფელში თავისუფლად დაეხეტებიან. უყურე /mspt-ს, სანამ ყველაზე დატვირთული დარბაზი ჩატვირთულია, და გადაწყვიტე ამის მიხედვით და არა რაოდენობის.
აფუჭებს თუ არა tick-inactive-villagers: false სავაჭრო დარბაზებს?
არა. ვაჭრობა მუშაობს ყოველთვის, როცა მოთამაშე ვაჭრობისთვის საკმარისად ახლოსაა, რადგან ის აქტივაციის რადიუსის შიგნითაა. ჩერდება აქტივობა, სანამ არავინაა ახლოს - მარაგის შევსება, გამრავლება და გოლემების გაჩენა მოთამაშეებისგან შორს. დარბაზების უმეტესობისთვის ეს შეუმჩნეველია.
რატომ შენელდა ჩვენი მობების ფერმა სერვერის ზრდის შემდეგ?
ჩვეულებრივ იმიტომ, რომ mob cap სხვანაირად ნაწილდება, ან იმიტომ, რომ cap შემცირდა. თითო მოთამაშეზე spawn-ის დროს შენ ახლოს მყოფი მობები შენს ბიუჯეტს აკლდება; ახლოს მეტი მოთამაშე, განათებული გამოქვაბულები და მუდმივი მობები - ყველაფერი ეს სიხშირეს ცვლის. შეამოწმე bukkit.yml და იკითხე, ხომ არ ჰყავს ვინმეს ფერმის ახლოს name tag-იანი მობები.
უნდა მოვკლა თუ არა ყველა სოფლელი სავაჭრო დარბაზების გარეთ?
არა გაფრთხილების გარეშე. ბუნებრივ სოფლებში მოხეტიალე სოფლელები იაფია, როცა მათ ახლოს არავინაა, რადგან ისინი აქტივაციის რადიუსს გარეთ არიან. სამიზნე უნდა იყოს უმუშევარი სოფლელები მოსაცდელ ზონებში და გადავსებული გამრავლების მანქანები, და მფლობელს ჯერ უნდა ეცნობოს.
გამოასწორებს თუ არა maxEntityCramming-ის აწევა ბაკებში ცხოველების სიკვდილს?
სიკვდილს შეაჩერებს და სერვერს შეანელებს. ერთ სივრცეში დახვავებული entity-ები ზუსტად ისაა, რაც შეჯახების შემოწმებებს ძვირს ხდის. ცხოველებს მეტი ადგილი მიეცი ან ნაკლები იქონიე.




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