Project Zomboid-ის სერვერი ხუთიდან ერთ-ერთი მიზეზით ლაგავს, და მათი ერთმანეთისგან გარჩევა ადვილია, როცა იცი, სად შეხედო. ჩატვირთულ ტერიტორიებზე მეტისმეტად ბევრი ცოცხალი ზომბი. მოთამაშეები რუკაზე გაფანტულები არიან, ამიტომ სერვერი ერთდროულად რამდენიმე რეგიონს ფხიზლად ინახავს. Java heap, რომელიც მეტისმეტად პატარაა, ამიტომ სერვერი დროს ნაგვის შეგროვებაზე ხარჯავს - ან გეგმისთვის მეტისმეტად დიდი, ამიტომ კონტეინერი მეხსიერების ლიმიტზე ჩერდება. ათასობით ნივთი და გვამი, რომლებსაც არავინ ასუფთავებს. ან რაღაც პერიოდული: სამყაროს შენახვა, დიდი save-ის საქაღალდის zip backup, ან მოდი, რომელიც ტაიმერით მძიმე Lua სამუშაოს ასრულებს. "ლაგი", რომელსაც მხოლოდ ზოგი მოთამაშე ხედავს, სხვებს კი ყველაფერი რიგზე აქვთ, ჩვეულებრივ სულაც არ არის სერვერი.
ეს გზამკვლევი ხსნის, რაზე ხარჯავს დროს Zomboid-ის სერვერი, როგორ გაარკვიო, ხუთიდან რომელი გაქვს, და პარამეტრებს, რომლებიც თითოეულს ასწორებს. პარამეტრების ზოგადი ფაილი განხილულია Project Zomboid-ის სერვერის პარამეტრებში, sandbox-ის ოფციები კი სათითაოდ ახსნილია Project Zomboid-ის SandboxVars-ის ახსნაში.
რაზე ხარჯავს დროს Zomboid-ის სერვერი#
Zomboid-ის სამყარო cell-ებისგან შედგება, cell-ები კი chunk-ებისგან. სერვერი ჩატვირთულად ინახავს chunk-ებს ყოველი შემოერთებული მოთამაშის ირგვლივ, და ყველაფერი მათ შიგნით ცოცხალია: ზომბები, გვამები, იატაკზე დაყრილი ნივთები, ხანძრები, ტრანსპორტი, გენერატორები, ნათესები. ამ ტერიტორიების გარეთ სამყარო შენახულია და ძირითადად სძინავს, უხეში აღრიცხვის გარდა, როგორიცაა ზომბების მიგრაცია.
ორი შედეგი ყველაფერ დანარჩენს განსაზღვრავს.
გაფანტვა რაოდენობაზე ძვირი ჯდება. ათი მოთამაშე ერთ ქალაქში ერთ ტერიტორიას ტვირთავს. ოთხი მოთამაშე ოთხ ქალაქში ოთხ ტერიტორიას ტვირთავს, თითოეულს საკუთარი ზომბებითა და ობიექტებით. სწორედ ამიტომ არის მოთამაშეების რაოდენობა Zomboid-ის დატვირთვის ცუდი პროგნოზი ორივე მიმართულებით, და ამიტომ შეიძლება ერთი და იგივე სერვერი შაბათს კარგად იყოს და კვირას საშინლად, ონლაინ იმავე ხალხით.
სამუშაოს ნაწილს კლიენტები აკეთებენ. Build 41-ის მულტიპლეერში მოთამაშის ახლოს ზომბების მოძრაობის დიდი ნაწილი ამ მოთამაშის მანქანაზე ითვლება და სერვერის გავლით სინქრონიზდება. ეს სერვერს ამსუბუქებს, მაგრამ ნიშნავს, რომ სუსტ კომპიუტერზე ან ცუდ კავშირზე მყოფ მოთამაშეს შეუძლია მის ახლოს მყოფი ზომბები აჭედოს და ატელეპორტოს ყველასთვის, ვინც ახლოს დგას, მაშინ როცა თავად სერვერის დატვირთვა ნორმალურად გამოიყურება.
სერვერი Java-ის პროცესია და მისი მთავარი სიმულაცია ერთ thread-ს ეყრდნობა, ამიტომ ერთი სწრაფი ბირთვი ბევრ ნელზე მნიშვნელოვანია. მეორე ბირთვი მაინც გეხმარება, რადგან შენახვა, ქსელი და garbage collection პარალელურად ხდება.
როგორ გაარკვიო, რომელი პრობლემა გაქვს#
პარამეტრების შეცვლამდე ერთი საღამო დაკვირვებას დაუთმე. პანელიან ჰოსტზე სამი სასარგებლო წყარო გაქვს: მეხსიერებისა და CPU-ის გრაფიკები შენს ლიმიტებთან მიმართებით, ლაივ კონსოლი და Zomboid/server-console.txt, რომელიც მიმდინარე გაშვების სრულ გამონატანს ინახავს.
| სიმპტომი | სავარაუდო მიზეზი | სად შეხედო |
|---|---|---|
| ყველა ერთდროულად ლაგავს, მუდმივად | CPU ლიმიტზეა | CPU-ის გრაფიკი გეგმის წილთან ახლოს გაყინულა |
| ყველა ერთდროულად ლაგავს, ყოველ რამდენიმე წუთში | შენახვები, backup-ები ან ტაიმერიანი მოდი | ლაგი შენახვის ან backup-ის შეტყობინებებს ემთხვევა |
| ჭედვა დღეების განმავლობაში უარესდება, გადატვირთვის შემდეგ ქრება | heap-ის წნეხი ან დაგროვება | მეხსიერების გრაფიკი სტაბილურად იზრდება |
| სერვერი მოულოდნელად გადაიტვირთება, შეცდომის გარეშე | მიღწეულია მეხსიერების ლიმიტი | მეხსიერების გრაფიკი ლიმიტზეა უშუალოდ მანამდე |
| ზომბები მხოლოდ ერთი მოთამაშის ახლოს ტელეპორტირდება | ამ მოთამაშის კომპიუტერი ან კავშირი | იკითხე, ვინ არის ახლოს; შეამოწმე მისი ping |
| ლაგი, როცა მოთამაშეები იფანტებიან | მეტისმეტად ბევრი ჩატვირთული ტერიტორია | შეადარე, სად არიან ადამიანები |
| ლაგი ერთ ადგილას, მაგალითად ბაზაზე | ნივთები, გვამები ან იქ არსებული რთული ნაგებობა | მიდი და შეხედე |
კონსოლი ასევე აჩვენებს java.lang.OutOfMemoryError-ს, თუ თავად heap ამოიწურება, რაც კონტეინერის ლიმიტისგან განსხვავებული ჩავარდნაა და იმაზე მიუთითებს, რომ -Xmx სამყაროსთვის მეტისმეტად პატარაა.
ერთი განსხვავება, რომელიც უნდა გახსოვდეს: ლაგი, რომელსაც ყველა ერთსა და იმავე მომენტში ხედავს, სერვერია. ლაგი, რომელსაც ერთი მოთამაშე ხედავს, ან რომელიც ერთ მოთამაშეს თან დაჰყვება, კლიენტი ან კავშირია. latency, jitter და packet loss მოთამაშისთვის ყველაზე სწრაფი გზაა იმის გასარკვევად, რომელი მათგანი აქვს.
Java heap: პარამეტრი, რომელსაც სერვერების უმეტესობა არასწორად აყენებს#
სერვერის მეხსიერება სერვერის ინსტალაციაში, ProjectZomboid64.json-ში დგინდება და არა ini-ში:
{ "mainClass": "zombie/network/GameServer", "classpath": ["."], "vmArgs": [ "-Djava.awt.headless=true", "-Xms3g", "-Xmx6g", "-XX:+UseZGC" ]}ნამდვილ ფაილში აქ ნაჩვენებზე მეტი არგუმენტია; შეცვალე მხოლოდ -Xms და -Xmx მნიშვნელობები, დანარჩენი კი დატოვე. Build 41-ის ბოლო გამოშვებებს უკვე არჩეული ZGC garbage collector მოყვება, რომელიც პაუზებს მოკლედ ინახავს; თუ შენს ფაილში სხვა collector-ია, დატოვე ისე, როგორც მოვიდა, თუ არ იცი, რატომ ცვლი.
heap-ის არასწორად დაყენების ორი გზა არსებობს:
მეტისმეტად პატარა. heap ივსება, garbage collector გამუდმებით მუშაობს ადგილის გასათავისუფლებლად, და სერვერი დროს სიმულაციის ნაცვლად დასუფთავებაზე ხარჯავს. ხედავ რეგულარულ ჭედვას, რომელიც სამყაროს ზრდასთან ერთად უარესდება, და ბოლოს OutOfMemoryError-ს.
გეგმისთვის მეტისმეტად დიდი. heap მთელი პროცესი არ არის. thread-ების stack-ები, JVM-ის საკუთარი სტრუქტურები და native მეხსიერება მის გარეთაა, კონტეინერის ლიმიტი კი ყველაფერს ითვლის. დააყენე -Xmx გეგმის ტოლად და პროცესი კონტეინერს გადააჭარბებს, მაშინ როცა Java ჯერ კიდევ ფიქრობს, რომ ადგილი აქვს. RE:NODE-ზე კონტეინერი ამ დროს ჩერდება და სუფთად გადაიტვირთება, ნაცვლად იმისა, რომ swap-ში გადავიდეს, ამიტომ ხედავ უეცარ გადატვირთვას ლოგში შეცდომის გარეშე - და შეუნახავს.
| გეგმის მეხსიერება | გონივრული -Xmx | ტიპური სერვერი |
|---|---|---|
| 3 GB | 2g | 2-4 მოთამაშე, vanilla, ერთი ტერიტორია |
| 4 GB | 3g | პატარა ჯგუფი, რამდენიმე მოდი |
| 6 GB | 4g - 5g | 8-16 მოთამაშე, გაფანტულად |
| 8 GB | 6g | 16-32 მოთამაშე, მოდები და რუკის მოდები |
| 10 GB | 7g - 8g | დიდი მოდებიანი საჯარო სერვერი |
წესი ლიმიტის სამოცდაათიდან ოთხმოც პროცენტამდეა. თუ ამ თანაფარდობით სერვერი მაინც ლიმიტს აწყდება, მას უფრო დიდი გეგმა სჭირდება და არა უფრო დიდი heap. CPU vs RAM თამაშის სერვერებისთვის ხსნის, როგორ გაიგო, რომელი რესურსი აკლია, სანამ რომელიმეში გადაიხდი.
ზომბების პოპულაცია#
ჩატვირთულ ტერიტორიებზე მყოფი ზომბები სიმულაციის ყველაზე დიდი ხარჯია, პოპულაციას კი sandbox ფაილი მართავს:
SandboxVars = { Zombies = 4, ZombieConfig = { PopulationMultiplier = 1.0, PopulationStartMultiplier = 1.0, PopulationPeakMultiplier = 1.5, PopulationPeakDay = 28, RespawnHours = 72.0, RespawnMultiplier = 0.1, RedistributeHours = 12.0, FollowSoundDistance = 100, RallyGroupSize = 20, },}PopulationMultiplier ყველაფერს ამასშტაბებს. PopulationPeakMultiplier და PopulationPeakDay ნიშნავს, რომ პოპულაცია პირველი კვირების განმავლობაში იზრდება, ამიტომ სერვერი, რომელიც მე-3 დღეს კარგად მუშაობს, 28-ე დღეს შეიძლება გაუჭირდეს, ისე რომ არცერთი პარამეტრი არ შეცვლილა. თუ პირველი თვის განმავლობაში თანდათანობით შენელებას ხედავ, რომელსაც გადატვირთვები არ ასწორებს, შეამოწმე, სად ხარ პიკის დღესთან მიმართებით.
დატვირთვის შემცირება ისე, რომ თამაში ცარიელად არ იგრძნობოდეს:
- შეამცირე პიკი და არა დასაწყისი.
PopulationPeakMultiplier1.5-ის ნაცვლად1.2საწყის დაძაბულობას ინარჩუნებს და გვიანდელ კვირებს ამსუბუქებს. - შეამცირე ან გამორთე respawn. respawn გაწმენდილ ტერიტორიებს ავსებს, რაც ჩატვირთულ ტერიტორიებზე ზომბების რაოდენობას სერვერის მთელი სიცოცხლის განმავლობაში მაღლა ინახავს.
RespawnHours = 0მას სრულად აჩერებს. - უფრო პატარა rally ჯგუფები.
RallyGroupSizeმართავს, რამდენი ზომბი ჯგუფდება ერთად მიგრაციისას. ბაზისკენ მიმავალი ძალიან დიდი ურდოები პიკია, რომელსაც სერვერი გრძნობს.
დატვირთულ სერვერზე პოპულაციის გაზრდა ლაგის გამოწვევის ყველაზე საიმედო გზაა. თუ ჯგუფს მეტი საფრთხე უნდა, ზომბების სიჩქარე და სიმტკიცე ZombieLore-ში რიცხვებზე იაფია.
Build 41-ის გვიანდელ ini ფაილებში ასევე არის ZombieUpdateMaxHighPriority, ZombieUpdateDelta, ZombieUpdateRadiusLowPriority და ZombieUpdateRadiusHighPriority, რომლებიც მართავს, რამდენად ხშირად და რა მანძილზე სინქრონიზდება ზომბების მდგომარეობა კლიენტებთან. ისინი სიგლუვეს bandwidth-სა და CPU-ზე ცვლის. დატოვე ის მნიშვნელობები, რომლებიც შენმა სერვერმა დააგენერირა, თუ არ გაგიზომავს პრობლემა, რომელსაც ისინი გამოასწორებდნენ, და თუ ცვლი, ერთ ჯერზე ერთი შეცვალე.
მოთამაშეები, ტრანსპორტი და გაფანტვა#
რადგან ხარჯი გაფანტვაა, რამდენიმე პარამეტრი ამცირებს, რამდენ სამყაროს ითრევს თითოეული მოთამაშე მეხსიერებაში.
| გასაღები | ფაილი | რას აკეთებს |
|---|---|---|
SpeedLimit | ini | ტრანსპორტის მაქსიმალური სიჩქარე მულტიპლეერში. სწრაფი სიარული ახალ chunk-ებს სწრაფად ტვირთავს |
CarEngineAttractionModifier | ini | რა მანძილიდან იზიდავს ძრავის ხმა ზომბებს |
MaxPlayers | ini | სლოტები. ნაკლები ადამიანი ნაკლებად იფანტება |
PauseEmpty | ini | აჩერებს სამყაროს, როცა არავინაა შემოსული |
SpeedLimit დიდწილად chunk-ების streaming-ის გამო არსებობს. სრული სიჩქარით მიმავალი მოთამაშე chunk-ებს უფრო სწრაფად კვეთს, ვიდრე სერვერი მათ კომფორტულად ტვირთავს, რაც მძღოლისთვის ჭედვად ჩანს, ყველასთვის კი დატვირთვად. ნაგულისხმევი მნიშვნელობა გააზრებული კომპრომისია; მისი გაზრდა რუკის გადაკვეთას აუარესებს.
მეორე ბერკეტი სოციალურია და არა ტექნიკური: საერთო ქალაქის ან რამდენიმე ახლომდებარე ბაზის ირგვლივ აგებული სერვერები უფრო მსუბუქად მუშაობს, ვიდრე სერვერები, სადაც ყოველი მოთამაშე რუკის საკუთარ კუთხეს იკავებს. საჯარო სერვერზე ამის კარნახი შენი საქმე არ არის. მეგობრების სერვერზე ამის ცოდნა ღირს.
ნივთები, გვამები და დაგროვება#
ჩატვირთული ტერიტორიის იატაკზე ყველაფერი სიმულაციის ნაწილია და შენახვას საჭიროებს. დიდი ხნის სერვერზე ყველაფერი გროვდება: ბაზის გარეთ ერთკვირიანი ბრძოლის გვამები, ტანსაცმელი და ნაგავი, რომელსაც ხალხი ყრის, ავეჯი, რომელსაც შლიან.
| პარამეტრი | ფაილი | ნაგულისხმევი | რას აკეთებს |
|---|---|---|---|
HoursForCorpseRemoval | sandbox | 216.0 | თამაშის საათები გვამების გაქრობამდე. 0 მათ ინახავს |
HoursForWorldItemRemoval | sandbox | 24.0 | თამაშის საათები სიაში მოცემული იატაკის ნივთების მოცილებამდე |
WorldItemRemovalList | sandbox | მოკლე სია | ნივთების ტიპები, რომლებზეც მოცილება ვრცელდება |
ItemRemovalListBlacklistToggle | sandbox | false | true სიას "ყველაფერი, ამათ გარდა"-დ აქცევს |
ItemNumbersLimitPerContainer | ini | 0 | ზღუდავს ნივთებს თითო კონტეინერში. 0 შეუზღუდავია |
BloodSplatLifespanDays | ini | 0 | დღეები სისხლის ლაქების გაქრობამდე. 0 მათ ინახავს |
ნაგულისხმევი მნიშვნელობები გვამებს თამაშის ცხრა დღე ინახავს და იატაკიდან ნივთების მხოლოდ რამდენიმე ტიპს აშორებს. დატვირთულ სერვერზე გვამები უფრო დიდი პრობლემაა: ბაზის გარეთ, რომელმაც ურდო მოიგერია, შეიძლება ასობით იწვეს. HoursForCorpseRemoval-ის დაახლოებით 72-მდე შემცირება ამ გზამკვლევის პარამეტრების უმეტესობაზე მეტად გეხმარება, ცოტაოდენი ატმოსფეროს ფასად.
WorldItemRemovalList, როცა ItemRemovalListBlacklistToggle true-ზეა, იატაკიდან ყველა ნივთს აშორებს, გარდა ჩამოთვლილებისა, რაც აგრესიულად ასუფთავებს. ის ასევე აშორებს იმას, რაც მოთამაშეებმა განზრახ დადეს, ამიტომ გამოაცხადე.
ItemNumbersLimitPerContainer იმ შემგროვებლისთვის არსებობს, ვინც ერთ ყუთში ოთხი ათას ლურსმანს დებს. ნივთების უზარმაზარი სიის მქონე კონტეინერი ძვირია ყოველ ჯერზე, როცა ვინმე მას ხსნის ან chunk ინახება.
შენახვები, backup-ები და პერიოდული ჭედვა#
რეგულარული ინტერვალებით ჭედვა თითქმის ყოველთვის სერვერის დისკზე ჩაწერაა.
SaveWorldEveryMinutes=15BackupsPeriod=0BackupsOnStart=trueBackupsCount=5SaveWorldEveryMinutes სამყაროს ტაიმერით წერს; 0 შენახვას სერვერის საკუთარ რიტმსა და გაჩერებებს უტოვებს. დიდ სამყაროზე მოკლე ინტერვალი ხშირ მოკლე შეფერხებას ნიშნავს. BackupsPeriod დიდ სერვერზე უარესია: ის ყოველ რამდენიმე წუთში მთელ save-ის საქაღალდეს zip-ავს, და გიგაბაიტებით გაზომილ სამყაროზე ეს გრძელი, მძიმე სამუშაოა, რომელიც თამაშის დროს მიმდინარეობს. დატოვე 0-ზე, შეინარჩუნე BackupsOnStart=true და ნამდვილი backup-ები მშვიდ საათზე გადატვირთვით გააკეთე.
RE:NODE-ზე Schedules ჩანართს სწორედ ამის გაკეთება შეუძლია: კონსოლის ბრძანება, რომელიც მოთამაშეებს აფრთხილებს, დაყოვნება, /save, გადატვირთვა, შემდეგ backup, იმ საათზე, როცა არავინაა. ასე გაკეთებული backup-ები მანქანის გარეთ ინახება, რასაც Zomboid-ის საკუთარი zip-ები ვერ ამბობს. გადატვირთვის განრიგები, რომლებიც ეხმარება ხსნის საათის არჩევას.
მოდები#
მოდებიან სერვერზე წარმადობის პრობლემები მოდებში იმალება. Zomboid-ის მოდები Lua-ზეა, და Lua კოდი, რომელიც ყოველ tick-ზე, ყოველ წუთს ან მოთამაშის ყოველ მოქმედებაზე მუშაობს, მოდების გრძელ სიაში ჯამდება. რუკის მოდებს საკუთარი ხარჯი აქვთ: მეტი cell-ი მეტი ობიექტით, ხშირად vanilla-ზე დეტალურად.
რა გეხმარება:
- მოაშორე მოდები, რომლებსაც არავინ იყენებს. თვეების განმავლობაში შეგროვებულ გრძელ სიაში ჩვეულებრივ რამდენიმეა.
- ეჭვით შეხედე ყველაფერს, რაც ტაიმერით მუშაობს: ამინდის სისტემებს, spawner-ებს, NPC framework-ებს, ეკონომიკის მოდებს, რომლებიც კონტეინერებს ასკანირებენ.
- ორად გაყავი. თუ მოდებიანი სერვერი ლაგავს, vanilla კი არა, სერვერის ასლზე მოდების ნახევარი მოაშორე, გატესტე და გაიმეორე. ეს ნელია და ერთადერთი მეთოდია, რომელიც პასუხს იძლევა.
- განახლებების შემდეგ კონსოლი წაიკითხე. მოდი, რომელიც განმეორებით აგდებს შეცდომებს, მომუშავეზე ნელია, შეცდომები კი ასობით გადაირბენს.
Project Zomboid-ის სერვერის მოდები ფარავს ჩატვირთვის რიგს და workshop-ს, მოდებიანი სერვერის სისუფთავე კი ზოგად ჰიგიენას.
გადატვირთვები#
ყოველდღიური ან დღეში ორჯერ გადატვირთვა Zomboid-ის სერვერებისთვის ჩვეულებრივი პრაქტიკაა, და კარგი მიზეზით: მეხსიერების მოხმარება და დაგროვილი ობიექტები uptime-თან ერთად იზრდება, გადატვირთვა კი სერვერს სუფთა დასაწყისში აბრუნებს. აირჩიე საათი, როცა ყველაზე ცოტა ადამიანია შემოსული, წინასწარ გააფრთხილე ჩატში და გაჩერებამდე შეინახე. გადატვირთვა ერთი-ორი წუთი ჯდება; სერვერი, რომელიც ერთი კვირაა მუშაობს და ყოველ რამდენიმე წამში ნაგავს აგროვებს, ყველას საღამო უჯდება.
პრობლემების მოგვარება#
სერვერი მოულოდნელად გადაიტვირთება და ლოგში არაფერია. მან გეგმის მეხსიერების ლიმიტს მიაღწია. შეამცირე -Xmx გეგმის დაახლოებით სამ მეოთხედამდე, და თუ ეს heap-ს მეტისმეტად ცოტას ტოვებს, გადადი უფრო მაღალ გეგმაზე.
ჭედვა ყოველ რამდენიმე წუთში, საათივით. შენახვა ან zip backup-ები. შეამოწმე SaveWorldEveryMinutes და დააყენე BackupsPeriod=0.
ზომბები ერთი მოთამაშის ირგვლივ ტელეპორტირდება. ამ მოთამაშის კავშირი ან კომპიუტერი. მისი კლიენტი ითვლის ზომბების მოძრაობას მის ახლოს. შეამოწმე მისი ping და frame rate.
სერვერი ერთი თვე კარგად იყო, შემდეგ შენელდა. პოპულაცია პიკს უახლოვდება (PopulationPeakDay), გვამები და ნივთები გროვდება, ან save იზრდება. რიგრიგობით შეხედე თითოეულს.
ბაზა ლაგავს ყველასთვის, ვინც მას სტუმრობს. გვამები მის გარეთ, გადავსებული კონტეინერები ან ძალიან რთული ნაგებობა. გაასუფთავე გვამები და შეამოწმე ItemNumbersLimitPerContainer.
ლაგი მოდის დამატების შემდეგ დაიწყო. მოაშორე ასლზე და გატესტე. თუ ეს ასწორებს, მოძებნე ალტერნატივა ან მოდში კონფიგურაციის ოფცია, რომელიც მის სამუშაოს ამცირებს.
მოთამაშეებს მაღალი ping-ის გამო აგდებს. ზღვარი ini-ში PingLimit-ია. მისი გაზრდა შორეულ მოთამაშეებს დარჩენის საშუალებას აძლევს, მაგრამ მათ ირგვლივ ზომბები მაინც ლაგით იმოძრავებს.
FAQ#
რამდენი RAM სჭირდება Project Zomboid-ის სერვერს?
სამი გიგაბაიტი პატარა ჯგუფისთვის ერთ ტერიტორიაზე, 4-6 GB რვიდან თექვსმეტამდე გაფანტული მოთამაშისთვის და 8-10 GB დიდი მოდებიანი სერვერისთვის. დააყენე -Xmx გეგმის დაახლოებით სამ მეოთხედზე, არასოდეს მთლიანზე.
რატომ ლაგავს სერვერი, როცა ვიყოფით?
ყოველი მოთამაშე თავის ირგვლივ ტერიტორიას ჩატვირთულად და სიმულირებულად ინახავს. მოთამაშეები ოთხ ქალაქში ნიშნავს ზომბების, ნივთებისა და ობიექტების ოთხ ტერიტორიას ერთდროულად ცოცხლად. იგივე ხალხი ერთად ერთ ქალაქში გაცილებით ნაკლები ჯდება.
მეტი CPU ასწორებს Zomboid-ის ლაგს?
მხოლოდ თუ CPU-ის გრაფიკი აჩვენებს, რომ სერვერი თავის წილზეა. Zomboid-ის ლაგის ბევრი საჩივარი მეხსიერება, დაგროვება ან ერთი მოთამაშის კავშირია, და არცერთს მათგანს მეტი CPU არ ცვლის.
უნდა შევამცირო ზომბების პოპულაცია?
თუ სერვერს ჩატვირთულ ტერიტორიებზე ზომბები უჭირს, პიკის მამრავლის შემცირება ან respawn-ის გამორთვა საწყისი პოპულაციის შემცირებაზე მეტად გეხმარება. ზომბების სიჩქარე და სიმტკიცე სირთულეს ამატებს დატვირთვის დამატების გარეშე.
გვამები მართლა წარმადობის პრობლემაა?
დატვირთულ სერვერებზე - დიახ. ყოველი გვამი სამყაროს ობიექტია, რომელიც ჩატვირთვისას სიმულირდება და თავის chunk-თან ერთად ინახება. ბაზის გარეთ ასობით ჯამდება. HoursForCorpseRemoval-ის შემცირება ერთ-ერთი ყველაზე ეფექტური ხელმისაწვდომი ცვლილებაა.
PauseEmpty წარმადობას ეხმარება?
ის სამყაროს აჩერებს, როცა ონლაინ არავინაა, რაც ცარიელ საათებში CPU-ს ზოგავს და ნივთების გაფუჭებას აჩერებს. სანამ ხალხი თამაშობს, არაფერს აკეთებს.




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