Project Zomboid-ში სამ ფაილში რამდენიმეასი პარამეტრია, და მათგან დაახლოებით ექვსი წყვეტს, როგორი იქნება შენი სერვერი. დანარჩენი წვრილმანია და შეგიძლია ხელი არ ახლო, სანამ ვინმე არ მოგთხოვს. პრობლემა ისაა, რომ ეს ექვსი სხვადასხვა ადგილას ზის - ორი ini-შია, სამი Lua ფაილში, ერთი კი ბაზაში - და არასწორი ასლის რედაქტირება ყველაზე ხშირი მიზეზია, რის გამოც ცვლილება თითქოს არაფერს ცვლის.
ეს გზამკვლევი გიჩვენებს, სად ცხოვრობს თითოეული პარამეტრი, რომელი მათგანია მნიშვნელოვანი, რა არის ნაგულისხმევი მნიშვნელობები, რით განსხვავდება მოდები და workshop-ის ელემენტები, რატომ უნდა იყოს Java heap შენს გეგმაზე პატარა და რომელი შეცდომები ხვდება ყველაზე ხშირად.
სად ინახავს Zomboid-ის სერვერი თავის პარამეტრებს#
დედიკირებული სერვერი Java აპლიკაციაა და SteamCMD-ით დგება, app id-ით 380870. სხვა Steam სერვერებისგან განსხვავებით, ის ანონიმურად არ ჩამოიტვირთება: Steam ანგარიშით შესვლა სჭირდება. ამისთვის გამოიყენე სათადარიგო ანგარიში, ნებისმიერ ჰოსტზე, რადგან პაროლი ისე ინახება, როგორც აკრიფე.
$ steamcmd +force_install_dir /home/pz/server +login your_spare_account \ +app_update 380870 validate +quitყველაფერი, რასაც სერვერი იმახსოვრებს, მომხმარებლის Zomboid საქაღალდეშია, და ყოველი ფაილი სერვერის სახელს ატარებს:
Zomboid/ Server/ servertest.ini ports, PVP, safehouses, mods, backups servertest_SandboxVars.lua zombies, loot, time, weather servertest_spawnregions.lua where new characters appear db/ servertest.db accounts, whitelist, admin password, bans Saves/Multiplayer/servertest/ the world, one file per explored cell backups/ the server's own zipped backupsservertest ნაგულისხმევი სერვერის სახელია, რომელიც გაშვების სკრიპტზე -servername-ით ისმება. შეცვალე და მიიღებ სხვა ini-ს, სხვა sandbox ფაილს და სხვა სამყაროს - ეს ერთი ინსტალაციიდან ორი სერვერის გასაშვებად სავსებით კარგი გზაა და შესანიშნავი საშუალებაც იმისთვის, რომ საღამო იმ პარამეტრების რედაქტირებაში გაატარო, რომლებსაც არავინ კითხულობს. სანამ სხვა რამეს დაიწყებ, დარწმუნდი, რომ სერვერი რა სახელით იქნა გაშვებული.
ini ფაილი: გასაღებები, რომლებიც მნიშვნელოვანია#
| Key | Default | რას აკეთებს |
|---|---|---|
DefaultPort | 16261 | მთავარი UDP პორტი |
UDPPort | 16262 | მეორე UDP პორტი |
Public | false | სერვერი საჯარო სიაში გამოჩნდეს თუ არა |
PublicName | - | სახელი სიაში |
Password | - | შესვლის პაროლი. admin პაროლისგან განცალკევებულია |
MaxPlayers | 32 | ადგილები |
Open | true | false სერვერს მხოლოდ whitelist-ით ხსნის |
PVP | true | გადაწყვიტე გაშვებამდე და არა მის შემდეგ |
PingLimit | 400 | მილიწამები, რომელზე მეტისას მოთამაშე გამოირიცხება |
PauseEmpty | true | სამყარო იყინება, როცა არავინაა ონლაინ |
SaveWorldEveryMinutes | 0 | პერიოდული სრული შენახვა. 0 გამორთულია |
BackupsCount | 5 | Zomboid/backups-ში შენახული zip backup-ები |
BackupsOnStart | true | backup ყოველ გაშვებაზე |
BackupsPeriod | 0 | წუთები backup-ებს შორის. 0 გამორთულია |
RCONPort | 27015 | RCON, თუ პაროლს დააყენებ |
ResetID | რიცხვი | შეცვალე, რომ კლიენტებმა ქეშირებული სამყარო გადააგდონ |
Map | Muldraugh, KY | რუქების ჩატვირთვის რიგი, ჯერ რუქის მოდები |
Mods | - | ჩასატვირთი მოდების id-ები, წერტილ-მძიმით გამოყოფილი |
WorkshopItems | - | ჩამოსატვირთი workshop id-ები, წერტილ-მძიმით გამოყოფილი |
DoLuaChecksum | true | გააგდე კლიენტები, რომელთა Lua არ ემთხვევა |
PauseEmpty ცალკე აბზაცს იმსახურებს, რადგან პატარა სერვერის ხასიათს ცვლის. როცა ჩართულია, დრო ჩერდება, როგორც კი ბოლო მოთამაშე გავა: კულტურები არ იზრდება, გენერატორები საწვავს არ წვავენ და სანამ სამსახურში ხარ, არაფერი ფუჭდება. როცა გამორთულია, სამყარო აგრძელებს მუშაობას და ორი კვირის არყოფნა ორი კვირის ლპობაა. მეგობრების ჯგუფისთვის, რომელიც ერთად თამაშობს, თითქმის ყოველთვის ჩართვაა სწორი. მუდმივი საჯარო სერვერისთვის გამორთვა სწორედ ის არის, რაც გინდა.
safehouse-ის გასაღებებს ხალხი sandbox ფაილში ეძებს და ვერ პოულობს, რადგან ისინი აქ არის: PlayerSafehouse, AdminSafehouse, SafehouseAllowTrepass, SafehouseAllowLoot, SafehouseAllowFire, SafehouseAllowRespawn, SafehouseDaySurvivedToClaim და SafeHouseRemovalTime. safehouse-ები მექანიკური პარამეტრი კი არა, სოციალურია: ისინი წყვეტს, შეუძლიათ თუ არა მოთამაშეებს ერთმანეთისთვის შენობების ჩაკეტვა და შესაბამისად, არის თუ არა შენი სერვერი ისეთი, სადაც უცხოს გაძარცვა შეიძლება. დააყენე ისინი შეგნებულად.
არსებობს ასევე დანომრილი anti-cheat შემოწმებების ბლოკი, AntiCheatProtectionType1-დან AntiCheatProtectionType24-მდე, თითოეული თავისი ზღვრის მამრავლით. ისინი იმიტომაა, რომ Zomboid კლიენტს დიდ ნაწილს მოძრაობისა და ინვენტარის ლოგიკისას ენდობა. მოდები, განსაკუთრებით ისინი, რომლებიც ტრანსპორტს ამატებს ან მოძრაობას ცვლის, მათ ააქტიურებს და გაუგებარ გაგდებებს იწვევს. ლოგი ასახელებს იმ ტიპს, რომელიც ამოქმედდა: გამორთე ის ერთი და არა ყველა.
ექვსი პარამეტრი, რომელიც განსაზღვრავს ხასიათს#
თავდაპირველი მტკიცება მართალი გამოდის: ამ ფაილებში არსებულიდან ექვსი არჩევანი ქმნის სერვერს.
- ზომბების რაოდენობა. საერთოდ რამდენი არსებობს. ეს არის განსხვავება გადარჩენის თამაშსა და საშინელებათა თამაშს შორის.
- Respawn. რჩება თუ არა გაწმენდილი ადგილები გაწმენდილი, რაც წყვეტს, პროგრესი მუდმივია თუ სიზიფური.
- ნადავლის იშვიათობა. განსხვავება მოპოვებასა და მაღაზიაში ყიდვას შორის.
- დღის ხანგრძლივობა. რამდენი რეალური დრო ჯდება ერთი გადარჩენის დღე და შესაბამისად, რამდენად სწრაფად მიდის უნარები, მიწათმოქმედება და ავადმყოფობა.
- Safehouse-ის წესები. ini-შია, ზემოთ. შეიძლება თუ არა მოთამაშეების ჩაკეტვა.
- PVP. ini-შია. გადაწყვიტე გაშვებამდე, რადგან მოგვიანებით შეცვლა იმას ცვლის, ვინ თამაშობს და არა მხოლოდ იმას, როგორ.
პირველი ოთხი servertest_SandboxVars.lua-შია, რომელიც key-value ფაილი კი არა, Lua ცხრილია:
SandboxVars = { VERSION = 5, Zombies = 3, Distribution = 1, DayLength = 3, StartYear = 1, StartMonth = 7, StartDay = 9, StartTime = 2, WaterShut = 2, ElecShut = 2, ZombieLore = { Speed = 2, Strength = 2, Toughness = 2, Transmission = 1, Mortality = 5, Reanimate = 3, Cognition = 3, Memory = 2, Sight = 2, Hearing = 2, }, ZombieConfig = { PopulationMultiplier = 1.0, PopulationStartMultiplier = 1.0, PopulationPeakMultiplier = 1.5, PopulationPeakDay = 28, RespawnHours = 72.0, RespawnUnseenHours = 16.0, RespawnMultiplier = 0.1, RedistributeHours = 12.0, },}ამ ფაილში ორი ხაფანგია. პირველი ისაა, რომ Zombies უკუღმა მუშაობს: 1 არის Insane, 2 High, 3 Normal, 4 Low და 5 None. ვინც წყნარი სერვერისთვის 1-ს აყენებს, იღებს იმის საპირისპიროს, რასაც ითხოვდა, და გარედან ეს ყოველთვის უფრო სასაცილოა. მეორე ისაა, რომ დანარჩენი დანომრილი პარამეტრების უმეტესობა შკალაზე პოზიციაა, რომელსაც რიცხვიდან ვერ მიხვდები.
ამიტომ sandbox ფაილის მიღების საიმედო გზა თამაშის საკუთარ sandbox რედაქტორში მისი დაყენებაა - გაუშვი ერთპიროვნული ან hosted თამაში სასურველი პარამეტრებით, შემდეგ გენერირებული Lua გადაიტანე სერვერზე - იმის ნაცვლად, რომ რიცხვები ფაილში აკრიფო და იმედი გქონდეს. DayLength = 3 არის ერთი საათი რეალური დროისა თამაშის ერთ დღეზე, რაც ნაგულისხმევია და კარგი საწყისი წერტილი; უფრო მოკლე დღე მიწათმოქმედებას სრულ განაკვეთზე სამუშაოდ აქცევს.
ზომბების რაოდენობა, respawn და lore#
ZombieConfig არის ადგილი, სადაც სერვერის სირთულე სინამდვილეში ცხოვრობს, და მისი გაგება ღირს, კოპირების ნაცვლად.
| Setting | Default | რას აკეთებს |
|---|---|---|
PopulationMultiplier | 1.0 | საერთო სიმჭიდროვე, Zombies-ის თავზე გამოიყენება |
PopulationStartMultiplier | 1.0 | სიმჭიდროვე პირველ დღეს |
PopulationPeakMultiplier | 1.5 | სიმჭიდროვე პიკზე |
PopulationPeakDay | 28 | რომელ დღეს დგება პიკი |
RespawnHours | 72.0 | საათები, სანამ უჯრედი ხელახლა დასახლდება. 0 respawn-ს თიშავს |
RespawnUnseenHours | 16.0 | რამდენ ხანს უნდა დარჩეს უჯრედი უნახავი ჯერ |
RespawnMultiplier | 0.1 | თავდაპირველი პოპულაციის რა ნაწილი ბრუნდება |
RedistributeHours | 12.0 | რამდენად ხშირად გადადიან ზომბები უჯრედებს შორის |
RespawnHours = 0 მრავალმოთამაშიანი სერვერისთვის ცხოვრების პირობების ყველაზე დიდი გაუმჯობესებაა და ის არის, რასაც ადმინების უმეტესობა ბოლოს ბოლოს აკეთებს. ნაგულისხმევი პარამეტრებით ქალაქი, რომელსაც კვირა ასუფთავებდი, თანდათან ისევ ივსება, რაც ერთპიროვნულ თამაშში დაძაბულობაა, ხოლო რვა კაცის სერვერზე, სადაც თითოეულმა თითო ქუჩა გაწმინდა, თამაშის შეწყვეტის მიზეზია. respawn-ის სრული გამორთვა რუკას სასრულ რესურსად აქცევს, რომელსაც ჯგუფი მოიხმარს, და ეს გრძელ თამაშს ცვლის: ორი თვის შემდეგ უსაფრთხო ტერიტორია ის არის, რაც ააშენე და არა ის, რასაც იცავ.
ZombieLore.Speed მეორე მთავარი პარამეტრია: 1 სპრინტერებია, 2 სწრაფი მოხეტიალეები, 3 ჩვეულებრივი მოხეტიალეები. 2 ნაგულისხმევია და სწორედ ის, რასაც უმეტესობა „ნორმალურ Zomboid-ს" უწოდებს. სპრინტერები საჯარო სერვერზე სრული რუკით სიახლის სერვერია და მისი მოსახლეობა ერთი კაცი იქნება.
RedistributeHours დახვეწილია და ხელი არ უნდა ახლო, თუ არ იცი, რატომ ეხები. სწორედ ის ქმნის ჯოგების ხეტიალს და მრავალმოთამაშიან სერვერზე ის ასევე იმას აკეთებს, რომ ერთი მოთამაშის გასროლის შედეგები მეორე მოთამაშის ქალაქამდე მიაქვს.
პორტები და დაკავშირება#
| Port | Protocol | დანიშნულება |
|---|---|---|
16261 | UDP | DefaultPort - თამაშის ტრაფიკი და სერვერის query |
16262 | UDP | UDPPort - მეორე არხი, რომელიც კლიენტს სჭირდება |
27015 | TCP | RCON, თუ RCONPassword დაყენებულია |
ორივე სათამაშო პორტი UDP-ა და ორივე აუცილებელია; firewall, რომელიც ერთს ხსნის, გაძლევს სერვერს, რომელიც სიაში ჩანს და შეერთებას ვერ ასრულებს. ძველი build-ები Steam-ისთვის ასევე იყენებდნენ 8766-ს და 8767-ს, რომლებიც SteamPort1-ით და SteamPort2-ით ისმებოდა, ამიტომ თუ ძველ გზამკვლევს მიჰყვები და თავისუფალი პორტები გაქვს, მათი გახსნა არაფერი დაგიჯდება. Game server ports explained აღწერს, როგორ გამოსცადო ისინი გარედან სწორად, რაც გამოცნობაზე სწრაფია.
RCON მარტივი TCP პროტოკოლია და პაროლი ღიად იგზავნება, ამიტომ ასე მოეპყარი - using RCON safely ორი წუთია, რომელიც ღირს. პანელის ჰოსტზე კონსოლი იმავეს შიდა კავშირით აკეთებს, რაც ზოგადად უკეთესი ჩვევაა.
ადმინები, წვდომის დონეები და ცოცხალი ცვლილებები#
admin პაროლი ini-ში არ არის. ის პირველ გაშვებაზე ისმება, კონსოლი მას გთხოვს ან გაშვების სკრიპტს გადაეცემა, და ინახება db/<servername>.db-ში ყველა ანგარიშთან, whitelist ჩანაწერთან და ბანთან ერთად. RE:NODE-ზე ის თითო სერვერზე გენერირდება და ნაგულისხმევად არ მოდის, რაც სწორი მიმართულებაა: ნაგულისხმევი admin პაროლი საჯარო სერვერზე გრიფერული ინციდენტია ტაიმერით.
წვდომის დონეები, ყველაზე მაღლიდან ყველაზე დაბლამდე: admin, moderator, overseer, gm, observer. დააწინაურე ასე: /setaccesslevel "PlayerName" moderator.
| Command | რას აკეთებს |
|---|---|
/players | ვინ არის დაკავშირებული |
/kick "name" -r "reason" | მოთამაშის გაგდება |
/banuser "name" -ip -r "reason" | ბანი, სურვილისამებრ მისამართითაც |
/unbanuser "name" | ბანის მოხსნა |
/save | სამყაროს იძულებითი შენახვა |
/quit | სუფთა გამორთვა, ჯერ შენახვით |
/servermsg "text" | შეტყობინება ყველასთვის |
/changeoption Key=Value | ini პარამეტრის შეცვლა გაშვებულ სერვერზე |
/reloadoptions | ini-ის დისკიდან გამოყენება გადატვირთვის გარეშე |
/showoptions | მიმდინარე მნიშვნელობების ჩვენება |
/checkModsNeedUpdate | ჰკითხე Steam-ს, შეიცვალა თუ არა workshop მოდები |
/addusertowhitelist "name" | არსებული ანგარიშის whitelist-ში დამატება |
/releasesafehouse | safehouse-ის გათავისუფლება, რომლის მფლობელიც წავიდა |
/changeoption და /reloadoptions ერთად არის ფუნქცია, რომელზეც არავინ იცის: ini პარამეტრების უმეტესობა ცოცხალ სერვერზე შეიძლება შეიცვალოს ვინმეს გაუგდებლად. sandbox ცვლადებზე ეს არ მუშაობს. ისინი სამყაროს ჩატვირთვისას იკითხება და რამდენიმე მათგანი - ისინი, რომლებიც რუკაში გენერაციისას ჩაიწერა - არსებულ სამყაროს საერთოდ ვერ შეცვლის. Project Zomboid admin commands სრულ სიას გადის და აჩვენებს, რას აღწევს თითოეული წვდომის დონე.
მოდები, workshop ელემენტები და ჩატვირთვის რიგი#
ორი ini გასაღები, და ისინი ერთი და იგივე არ არის. ეს ნებისმიერ Zomboid სერვერზე მოდების ყველაზე ხშირი პრობლემაა.
WorkshopItems=2392709985;2169435993;1299328280Mods=Authentic Z - Current;ImprovedBuildMenu;HydrocraftMap=RavenCreek;Muldraugh, KYეს სამი ხაზი სამ სხვადასხვა საქმეს აკეთებს.
- `WorkshopItems` იღებს რიცხვით Steam Workshop id-ს. ის სერვერს ეუბნება, რა ჩამოტვირთოს.
- `Mods` იღებს მოდის id-ს მოდის საკუთარი
mod.infoფაილიდან. ის სერვერს ეუბნება, რა ჩატვირთოს.
workshop ელემენტი რამდენიმე მოდს შეიძლება შეიცავდეს და id-ები საერთოდ არ ჰგავს ერთმანეთს, ამიტომ თუ ნომერს ორივე ადგილას ჩაწერ, მოდი ჩამოიტვირთება და შემდეგ არაფერი ჩაიტვირთება. Mods-ში რიგს მნიშვნელობა აქვს: გვიანდელი ჩანაწერები ადრეულებს გადაფარავს, რითაც მუშაობს თავსებადობის პატჩები, და ამიტომ არაფერს აკეთებს პატჩი, რომელიც იმ მოდზე ადრეა ჩამოთვლილი, რასაც ასწორებს.
Map მესამე სიაა, რუქის მოდებისთვის, და საბაზო რუკა ბოლოშია. ყველაფერი მის წინ ზედ ეფარება.
მეორე რამ, რაც სერვერებს იჭერს, არის workshop მოდის განახლება სერვერის მუშაობისას. კლიენტები ახალ ვერსიას Steam-იდან ჩამოტვირთავენ, სერვერი კი ძველზეა, და შეერთება მარცხდება შეუსაბამობით, რომელიც არაფერს გეუბნება. /checkModsNeedUpdate ამას აჩვენებს და გადატვირთვა ასწორებს. Mods and the workshop on a Zomboid server კოლექციებსა და ჩატვირთვის რიგს დაწვრილებით განიხილავს, ხოლო what to do when a mod update breaks ამ პრობლემის ზოგადი ვერსიაა.
მეხსიერება, რუქის უჯრედები და Java heap#
Zomboid ჩატვირთულ რუქის უჯრედებს ინახავს და მოთამაშეები იფანტებიან. ათი მოთამაშე ერთ ქალაქში ნაკლები ჯდება, ვიდრე ოთხი მოთამაშე ოთხ ქალაქში - სერვერი ერთის ნაცვლად ოთხ ცალკე რეგიონს ტვირთავს, სიმულირებს და ინახავს. ამიტომაა მოთამაშეების რაოდენობაზე დაფუძნებული ზომის რჩევა Zomboid-ისთვის არასწორი ორივე მიმართულებით.
| Server | გეგმის მეხსიერება | -Xmx | შენიშვნები |
|---|---|---|---|
| 2-4 მოთამაშე, vanilla, ერთი ქალაქი | 3 GB | 2g | კომფორტული |
| 8-16 მოთამაშე, გაფანტული | 4-6 GB | 3g - 4g | ჩვეულებრივი შემთხვევა |
| 16-32 მოთამაშე, მოდები და რუქის მოდები | 8-10 GB | 6g - 7g | რუქის მოდები ყველაზე ძვირია |
ეს მესამე სვეტი დეკორაცია არ არის. სერვერი JVM-ია და მისი heap ProjectZomboid64.json-ში ისმება:
{ "mainClass": "zombie/network/GameServer", "classpath": ["."], "vmArgs": [ "-Djava.awt.headless=true", "-Xms2g", "-Xmx6g" ]}ფაილს ამაზე მეტი არგუმენტი მოჰყვება; შეცვალე მხოლოდ -Xms და -Xmx ხაზები. და დატოვე სივრცე: JVM-ის heap მთელი პროცესი არ არის, რადგან metaspace, thread stack-ები და native buffer-ები მის გარეთაა, container-ის ლიმიტი კი ყველას ითვლის. -Xmx-ის გეგმის მეხსიერების ტოლად დაყენება სწორედ ის გზაა, რომლითაც იღებ სერვერს, რომელიც მაშინ კვდება, როცა Java ფიქრობს, რომ ადგილი ჯერ კიდევ აქვს. წესი ლიმიტის სამოცდაათი-ოთხმოცი პროცენტია.
RE:NODE-ზე სერვერი, რომელიც მეხსიერების ლიმიტს აღწევს, ჩერდება და სუფთად გადაიტვირთება და swap-ში წასვლის უფლებას არ იღებს, რაც უფრო კეთილგანწყობილია node-ისა და შენი მეზობლების მიმართ, თუმცა ნიშნავს, რომ heap-ის ზედმეტად პატარა პარამეტრი ნელი დაცემის ნაცვლად უეცარი გადატვირთვის სახით ჩანს. CPU vs RAM for game servers გასწავლის, როგორ გაარკვიო, ორიდან რომელი გაკლია, სანამ რომელიმეს იყიდი.
დისკი ჩუმად იზრდება. save საქაღალდეში თითო შესწავლილ რუქის უჯრედზე ერთი ფაილია, ამიტომ სერვერი, რომელიც წელიწადია მუშაობს კარგად მოვლილი რუკით, გიგაბაიტებში იზომება. აქ Project Zomboid-ის გეგმები 3 GB-ით იწყება სამი პორტის გამოყოფით, თვეში $9-დან, ხოლო Steam ანგარიში, რომელიც ინსტალაციას სჭირდება, Setup ჩანართზე იწერება.
Backup-ები, reset-ები და save საქაღალდე#
Zomboid-ის საკუთარი backup-ები რეალურია და არაფერზე უკეთესია: BackupsOnStart, BackupsPeriod და BackupsCount Zomboid/backups-ში zip ფაილებს ქმნის. ისინი იმავე დისკზე ზის, რასაც იცავს, ამიტომ ცუდი განახლებისგან იცავს და წაშლილი სერვერისგან საერთოდ არ იცავს. რეალური backup-ები სხვაგან შეინახე და ხანდახან ერთი აღადგინე, რომ დარწმუნდე, მუშაობს - backups that actually restore ამ არგუმენტს სრულად აღწერს.
სამყაროს სწორად გასაწმენდად:
- გააჩერე სერვერი
/quit-ით, რომ მიმდინარე მდგომარეობა ჩაიწეროს. - გააკეთე backup, რომელზეც უკან დაბრუნება შეგიძლია.
- წაშალე
Zomboid/Saves/Multiplayer/<servername>/. - გაზარდე
ResetIDini-ში, რაც კლიენტებს ეუბნება, რომ ძველი სამყაროს ქეშირებული ასლი გადააგდონ. - გაუშვი სერვერი. ახალი რუკა პირველ ჩატვირთვაზე დაგენერირდება.
მოთამაშეების ანგარიშები ბაზაში ცხოვრობს და არა სამყაროში, ამიტომ რუქის wipe ყველას login-ს, whitelist ჩანაწერს და ბანს ხელუხლებელს ტოვებს. db/<servername>.db წაშალე მხოლოდ მაშინ, თუ ნამდვილად გინდა სიის განულება.
კვირაში ერთხელ მშვიდ საათებში გადატვირთვა გრაფიკზე მაინც ღირს. დიდხანს მომუშავე Zomboid სერვერები გროვდება, ხოლო თამაშში, სადაც სესიები მოკლეა, გადატვირთვა იაფია; restart schedules that help გვიჩვენებს, როგორ გააკეთო ეს ვინმეს ბრძოლის შუაგულში გაუწყვეტლად.
პრობლემების მოგვარება#
შეცვლილმა პარამეტრებმა არაფერი შეცვალა. ან სერვერი სხვა -servername-ით არის გაშვებული, ან შენ ინსტალაციის საქაღალდეში არსებული ასლი შეცვალე და არა Zomboid/Server/-ის ქვეშ მყოფი. გაუშვი /showoptions და შეადარე.
მოთამაშეები ვერ უკავშირდებიან, მაგრამ სერვერი სიაშია. UDP 16262 დახურულია. სია პირველ პორტს იყენებს; შესასვლელად ორივე გჭირდება.
„Connection lost" შესვლიდან ერთ წამში. მოდების შეუსაბამობა, თითქმის ყოველთვის. შეადარე Mods იმას, რასაც კლიენტები არიან გამოწერილი, და გაუშვი /checkModsNeedUpdate.
კლიენტი წერს, რომ ვერსია არ ემთხვევა. ერთი მხარე beta ტოტზეა, მეორე კი stable-ზე. ორივე დააფიქსირე.
შემთხვევითი გაგდებები anti-cheat შეტყობინებით. წაიკითხე ტიპის ნომერი ლოგში და გამორთე კონკრეტული AntiCheatProtectionType. მოდები, რომლებიც მოძრაობას ან ტრანსპორტს ცვლის, ჩვეულებრივ ამის მიზეზია.
სერვერი დატვირთვისას თავისით გადაიტვირთება. Java heap გეგმის ლიმიტთან ზედმეტად ახლოსაა დაყენებული, ამიტომ container მანამ კვდება, სანამ JVM garbage collection-ით გამოსავალს იპოვის. შეამცირე -Xmx.
ზომბები გაწმენდილ ქალაქში ბრუნდება. RespawnHours და RespawnMultiplier. თუ გინდა, რომ გაწმენდა მუდმივი იყოს, დააყენე RespawnHours = 0.
სამყარო მოდის ცვლილების შემდეგ არ იტვირთება. რუქის მოდი ამოიღეს. აღადგინე backup, დააბრუნე მოდი და მოთამაშეები გაიყვანე იმ რეგიონიდან, სანამ მას სწორად ამოიღებ.
FAQ#
რამდენი RAM სჭირდება Project Zomboid-ის სერვერს?
სამი გიგაბაიტი პატარა ჯგუფს ერთ ქალაქში წაიყვანს, 4-6 GB რვიდან თექვსმეტამდე გაფანტულ მოთამაშეს ჰყოფნის, ხოლო 8-10 GB დიდი მოდიანი სერვერია. Java heap დააყენე ამის დაახლოებით სამ მეოთხედზე და არასოდეს მთელზე.
სად ინახება admin პაროლი?
Zomboid/db/<servername>.db-ში და არა ini-ში. ის პირველ გაშვებაზე ისმება ან გაშვების სკრიპტს გადაეცემა და განსხვავდება Password გასაღებისგან, რომელსაც მოთამაშეები შესასვლელად იყენებენ.
შემიძლია sandbox პარამეტრების შეცვლა გაშვებულ სერვერზე?
ini პარამეტრების უმეტესობა - დიახ, /changeoption-ით და /reloadoptions-ით. sandbox ცვლადები სამყაროს ჩატვირთვისას იკითხება, ამიტომ გადატვირთვა სჭირდება, ხოლო ისინი, რომლებიც რუკას გენერაციისას ჩაეწერა, არსებულ სამყაროს საერთოდ ვერ შეცვლის.
რა განსხვავებაა Mods-სა და WorkshopItems-ს შორის?
WorkshopItems არის რიცხვითი Steam Workshop id და აკონტროლებს, რა ჩამოიტვირთება. Mods არის მოდის id mod.info-დან და აკონტროლებს, რა ჩაიტვირთება. ორივე გჭირდება და ისინი სხვადასხვა სტრიქონია.
ხომ არ ტეხს თამაშს ზომბების respawn-ის გამორთვა?
არა, ის მას ცვლის. რუკა სასრულ რესურსად იქცევა, რომელსაც ჯგუფი გადის, და ეს მუდმივ სერვერს რეგულარული მოთამაშეებით ბევრად უკეთ ერგება, ვიდრე ნაგულისხმევი ნელი შევსება.
რატომ ლაგავს სერვერი, როცა ყველა იფანტება?
იმიტომ, რომ თითოეული მოთამაშე თავის გარშემო არსებულ რუქის უჯრედებს ტვირთავს და სიმულირებს. ოთხი მოთამაშე ოთხ ქალაქში ოთხი რეგიონის ცოცხლად შენახვაა; ათი მოთამაშე ერთ ქალაქში - ერთისა. ეს ყველა თამაშში ყველაზე ნათელი მაგალითია იმისა, თუ რატომ არის მოთამაშეების რაოდენობა ზომის ცუდი მაჩვენებელი.




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