RE:NODE

სახელმძღვანელოები11 წუთის საკითხავი

Factorio Space Age მულტიპლეერ სერვერი

გაუშვი Space Age Factorio-ს headless სერვერზე: დამატების ჩართვა, ვის სჭირდება მისი ფლობა, პლანეტები და პლატფორმები როგორც surface-ები, RAM, UPS და save-ის ზომა.

0 მკითხველი

Space Age-ის მულტიპლეერ სერვერი არის ჩვეულებრივი Factorio 2.0-ის headless სერვერი სამი ჩართული დამატების მოდით - space-age, quality და elevated-rails. Headless პაკეტს დამატების მონაცემები მოყვება, ამიტომ თავად სერვერს ლიცენზია არ სჭირდება, მაგრამ ყოველი მოთამაშე, რომელიც შემოდის, Space Age-ს უნდა ფლობდეს. რაც იცვლება, მასშტაბია: ყოველი პლანეტა და ყოველი კოსმოსური პლატფორმა ცალკე surface-ია, რომელიც მუდმივად სიმულირდება, ამიტომ მომწიფებული Space Age-ის თამაში ისე იქცევა, როგორც რამდენიმე ქარხანა, რომლებიც ერთ tick-ში მუშაობს. დაგეგმე 4-6 GB მეხსიერება გრძელი თამაშისთვის, უფრო დიდი save-ები და უფრო გრძელი შესვლები, და ერთი CPU-ს ბირთვი, რომელმაც ყველა პლანეტა ერთდროულად უნდა ატაროს. ეს სტატია აღწერს დამატების ჩართვას, რუკის დაწყებას ან კონვერტაციას, რა უჯდება თითოეული პლანეტა და როგორ შეინარჩუნო განახლების სიხშირე 60-ზე.

თავად headless სერვერი - ჩამოტვირთვა, server-settings.json, პორტები, ადმინები - აღწერილია Factorio-ს headless სერვერის გზამკვლევში, ხოლო UPS-ისა და მოდების ზოგადი თეორია - სტატიაში Factorio-ს მოდები და UPS. ეს სტატია Space Age-ის ფენაა მათ ზემოდან.

რა არის Space Age სერვერის თვალსაზრისით#

Space Age ფასიანი დამატებაა, რომელიც Factorio 2.0-თან ერთად გამოვიდა. ტექნიკურად ის მიეწოდება როგორც სამი ოფიციალური მოდი, რომლებიც base-ის გვერდით დგას:

მოდიამატებსვინ უნდა ფლობდეს
space-ageპლანეტებს, კოსმოსურ პლატფორმებს, ახალ მეცნიერებას, ახალ მტრებსყოველი მოთამაშე
qualityხარისხის დონეებს ნივთებისა და მანქანებისთვისყოველი მოთამაშე
elevated-railsაწეული ლიანდაგის პანდუსებს და საყრდენებსყოველი მოთამაშე

სამივე ფასიანი დამატების ნაწილია. მათი ჩართვა დამოუკიდებლად შეიძლება - სერვერს შეუძლია elevated rails და quality პლანეტების გარეშე გაუშვას - მაგრამ მოთამაშე, რომელიც დამატებას არ ფლობს, ვერ შევა სერვერზე, სადაც რომელიმე მათგანია ჩართული.

უფასო 2.0 განახლება ყველაფერი დანარჩენია: ძრავის ცვლილებები, გადაკეთებული სითხეების სისტემა, ლიანდაგის ახალი შენება, remote view და ინტერფეისის გაუმჯობესებები. სერვერი სამივე გამორთული დამატების მოდით 2.0-ის საბაზო თამაშის სერვერია, და ყველას, ვისაც Factorio აქვს, შეუძლია შემოსვლა.

factorio.com-იდან headless სერვერის ჩამოტვირთვა შეიცავს დამატების მონაცემების საქაღალდეებს - data/space-age, data/quality, data/elevated-rails - data/base-თან ერთად. სერვერისთვის დამატებით არაფრის ჩამოტვირთვა არ არის საჭირო.

დამატების ჩართვა headless სერვერზე#

აქტიურია თუ არა დამატება, წყვეტს mods/mod-list.json, ზუსტად ისე, როგორც ნებისმიერი სხვა მოდისთვის:

mods/mod-list.json
{  "mods": [    { "name": "base", "enabled": true },    { "name": "elevated-rails", "enabled": true },    { "name": "quality", "enabled": true },    { "name": "space-age", "enabled": true }  ]}

მოდები mods საქაღალდეში zip ფაილებად არ უნდა იყოს - ისინი data/-იდან იტვირთება. mod-list.json მხოლოდ რთავს ან თიშავს მათ. თუ ფაილი ჯერ არ არსებობს, სერვერი მას პირველ გაშვებაზე ქმნის; 2.0-ის მიმდინარე რელიზებში დამატების მოდები ნაგულისხმევად ჩართულია, როცა მონაცემები არსებობს, ამიტომ შეამოწმე ფაილი და ნურც ერთს, ნურც მეორეს ნუ ივარაუდებ.

დამატება რუკის შექმნისას უნდა იყოს ჩართული, თუ Space Age-ის თამაში თავიდანვე გინდა:

bash
$ cd /opt/factorio$ ./bin/x64/factorio --create ./saves/space.zip \    --map-gen-settings ./data/map-gen-settings.json$ ./bin/x64/factorio --start-server-load-latest \    --server-settings ./data/server-settings.json

--start-server-load-latest ტვირთავს უახლეს save-ს saves/-ში, autosave-ების ჩათვლით, რაც ნებისმიერი არასუფთა გაჩერების შემდეგ გინდა. Headless გზამკვლევი სხვა არგუმენტებს აღწერს.

RE:NODE-ზე რუკა პირველ ჩართვაზე გენერირდება და mods საქაღალდე თავიდანვე არსებობს, ამიტომ დამატების ჩართვა ან გამორთვა mod-list.json-ის რედაქტირებაა ფაილების მენეჯერში - რასაც ახალი რუკა მოსდევს, თუ პირველი დღიდან გინდა.

თავიდან დაწყება, ან Space Age-ის დამატება არსებულ რუკაზე

ჯგუფისთვის, რომელსაც უკვე აქვს 2.0-ის საბაზო თამაშის რუკა, ორი არჩევანი გაქვს:

დაიწყე ახალი Space Age-ის რუკა. ყველა დამატების პროგრესიას თავიდან გადის, და რუკა თავიდანვე Nauvis-ზე დამატების ცვლილებებით გენერირდება. ჯგუფების უმეტესობა ამას აკეთებს.

ჩართე დამატება არსებულ save-ზე. Factorio მხარს უჭერს საბაზო თამაშის save-ის ჩატვირთვას ჩართული დამატებით: ახალი ტექნოლოგიები ხეში ჩნდება და სხვა პლანეტები მისაწვდომი ხდება, როცა შენი კვლევა იქამდე მიაღწევს. შენი არსებული Nauvis-ის ბაზა რჩება. ამის გაკეთებამდე გააკეთე backup, რადგან სუფთა გზა უკან არ არსებობს - როცა save დამატებით ჩაიტვირთა და ითამაშეს, დამატების ხელახლა გამორთვა აშორებს ყველაფერს, რაც მისგან მოვიდა.

1.1-ის save-ები 2.0-შიც იტვირთება, მიგრაციებით. იქ პრობლემა მოდებია: 1.1-ის ბევრი მოდი 2.0-ისთვის არასდროს განახლებულა, და 1.1-ის save, რომელიც ერთ-ერთ მათგანზეა დამოკიდებული, წინ ვერ წავა ამ მოდის მოშორების გარეშე. Factorio-ს მოდები და UPS ხსნის, რატომ არის კონტენტის მოდის save-იდან მოშორება ასეთი დესტრუქციული.

Surface-ები: რატომ არის Space Age-ის ერთი თამაში რამდენიმე ქარხანა#

Surface Factorio-ში ცალკე რუკაა. 1.1-ის თამაშს ერთი ჰქონდა, Nauvis. Space Age-ის თამაშს თითო აქვს ყოველი პლანეტისთვის, სადაც მიხვედი, და თითო ყოველი კოსმოსური პლატფორმისთვის, რომელიც ააშენე.

Headless სერვერითამაშის ერთი tickNauvisbiter-ები, მთავარი ბაზაVulcanusdemolisher-ებიFulgoraჯართი, ელვაGlebaლპობა, pentapod-ებიკოსმოსური პლატფორმებითითო surface
ერთი Space Age სერვერი, ბევრი surface, ერთი tick

აქედან ორი ფაქტი გამომდინარეობს.

ყოველი surface მუდმივად სიმულირდება. ქარხანა Vulcanus-ზე აწარმოებს, მაშინ როცა ყველა მოთამაშე Nauvis-ზეა. პლატფორმა მოგზაურობას და ასტეროიდებთან ბრძოლას აგრძელებს, ბორტზე არავინ რომ არ იყოს. ეს აუცილებელია, რომ თამაშმა იმუშაოს, და ნიშნავს, რომ Space Age-ის თამაშის ფასი მისი ყველა ბაზის ჯამია და არა იმის, რომელსაც მოთამაშეები უყურებენ.

ყველა surface ერთ განახლებას იზიარებს. მთელ სერვერზე თამაშის ერთი tick არის. თუ Gleba-ს ბაზა იმდენად ძვირია, რომ tick-ს 16.67 მილიწამს გადააცილებს, მთელი თამაში - ყოველი პლანეტა, ყოველი პლატფორმა - ყველასთვის ნელდება. ნელი პლანეტა სამყაროს ანელებს.

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

რა უჯდება თითოეული პლანეტა#

პლანეტები თანაბრად ძვირი არ არის. თითოეულს აქვს მექანიკა, რომელიც სერვერზე თავისებურად ვლინდება.

Surfaceრა ჯდებარა შველის
NauvisBiter-ები, დაბინძურება, მთავარი ბაზაიგივე, რაც 1.1-ში: ნაკლები ბოტი, გონივრული თავდაცვა
Vulcanusდიდი სამთო და foundry-ის ნაგებობებიდიდი ბურღები და foundry-ები ნაკლებ ერთეულს ნიშნავს
Fulgoraჯართის გადამუშავების ჯაჭვები, ელვაკომპაქტური გადამუშავება, attractor-ები, სადაც საჭიროა
Glebaნივთების ლპობა, მიწათმოქმედება, pentapod-ების შეტევებიმოკლე, სწრაფი საწარმოო ხაზები, ნაკლები ბუფერი
Aquiloგათბობის ქსელები, კრიოგენიკასითბოს მილების ქსელები მოწესრიგებული შეინარჩუნე
პლატფორმებიასტეროიდების შეგროვება, ტურელები, ძრავებინაკლები, მიზანმიმართული პლატფორმა

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

2.0-ის ძრავა ზოგიერთ ადგილას შველის. სითხეების სისტემა თავიდან დაიწერა, რომ უფრო იაფი და პროგნოზირებადი ყოფილიყო, და დიდი ახალი მანქანები - foundry-ები, electromagnetic plant-ები, დიდი სამთო ბურღები - ერთეულზე გაცილებით მეტს აკეთებს, ვიდრე მათი 1.1-ის ეკვივალენტები. ახალი შენობებით აშენებული Space Age-ის ქარხანა ერთეულების რაოდენობით შეიძლება იმავე გამოსავლის 1.1-ის ქარხანაზე პატარა იყოს.

მეხსიერება, save-ები და შესვლა#

ეტაპიRAMSave-ის ზომაშენიშვნები
მხოლოდ Nauvis, ადრეული თამაში1-2 GB5-20 MBროგორც 2.0-ის საბაზო თამაში
ორი ან სამი პლანეტა2-4 GB20-60 MBპირველი პლატფორმები მუშაობს
ყველა პლანეტა, რამდენიმე პლატფორმა4-6 GB60-150 MBტიპური გრძელი თამაში
დიდი გვიანი თამაში, ბევრი პლატფორმა6 GB+150 MB+გაზომე, ნუ გამოიცნობ

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

შენახვას მოკლე ხნით მეტი მეხსიერება სჭირდება, ვიდრე მუშაობას. სერვერი, რომელიც ლიმიტის 90%-ზეა, ყველაზე დიდი ალბათობით autosave-ის დროს მიაღწევს მას. RE:NODE-ზე კონტეინერი, რომელიც მეხსიერების ლიმიტს აღწევს, ჩერდება და სუფთად ირთვება swap-ის ნაცვლად - მანქანისთვის კარგია, მაგრამ ბოლო autosave-ის შემდეგ ყველაფერს კარგავს. RE:NODE-ის Factorio-ს გეგმები 1 GB-დან 6 GB-მდეა, რაც Space Age-ის ჯგუფების უმეტესობას ფარავს; ძალიან დიდმა გვიანმა თამაშმა შეიძლება ზედა დონეს გადააჭარბოს, და მეხსიერების გრაფიკი ამას წინასწარ გაჩვენებს. როდის განაახლო შენი გეგმა ნიშნებს აღწერს.

Save-ებს შესვლისთვისაც აქვს მნიშვნელობა. შემოსული მოთამაშე მთელ save-ს ჩამოტვირთავს - ყოველ surface-ს - და შემდეგ მიმდინარე tick-ს ეწევა. 100 MB save მოკრძალებულ კავშირზე გარკვეულ დროს მოითხოვს, და დაწევას მეტი დრო სჭირდება, თუ სერვერი tick-ის ბიუჯეტთან ახლოსაა. დატვირთულ სერვერზე შეამცირე max_upload_slots server-settings.json-ში, რომ შესვლები ერთი ან ორი ერთად მოხდეს და თითოეული უფრო სწრაფი იყოს.

UPS-ის 60-ზე შენარჩუნება#

UPS - განახლებები წამში - Factorio-სთვის წარმადობის ერთადერთი რიცხვია, რომელსაც მნიშვნელობა აქვს, და სერვერს თითო tick-ზე 16.67 ms აქვს ყოველი surface-ის განსაახლებლად. 1.1-ის ერთ-thread-იანი წესი ისევ მოქმედებს: მეტი ბირთვი UPS-ს არ ზრდის; უფრო სწრაფი ბირთვი - ზრდის.

სანამ რამეს შეცვლი, გაზომე. Headless ბინარს შეუძლია save-ის რაც შეიძლება სწრაფად გაშვება და tick-ზე დროის ჩვენება:

bash
$ ./bin/x64/factorio --benchmark ./saves/space.zip \    --benchmark-ticks 1000 --benchmark-runs 3 --benchmark-verbose all

დამატებით verbose რეჟიმში დეტალიზაცია ყველა surface-ს ერთად ფარავს, ამიტომ პლანეტა, რომელიც უცებ ძვირი გახდა, შესაბამის ქვესისტემაში ნახტომად ჩანს. Factorio-ს მოდები და UPS benchmark-ის სრულ მეთოდს აღწერს.

შემდეგ, დაახლოებით ამ თანმიმდევრობით:

  1. მოხსენი გამოუყენებელი პლატფორმები. ყოველი პლატფორმა surface-ია. დაშალე ისინი, რომლებიც აღარ გჭირდება, ნაცვლად მათი გაჩერებისა.
  2. გამოიყენე ახალი დიდი მანქანები. Foundry-ები, electromagnetic plant-ები და დიდი სამთო ბურღები ბევრ ძველ ერთეულს ერთით ანაცვლებს.
  3. შეამოკლე Gleba-ს ხაზები. მალფუჭებადი საქონლის ნაკლები ბუფერიზაცია.
  4. შეზღუდე ბოტები Nauvis-ზე. ბოტების მთავარი ბუსი ლენტებზე გაცილებით ძვირი ჯდება, როგორც ყოველთვის.
  5. ნაკლები რადარი. Remote view-ს ყველგან რადარები არ სჭირდება.
  6. რეგულარულად გადატვირთე, რომ მეხსიერება სტაბილური დარჩეს. Restart-ის განრიგები, რომლებიც შველის დროის შერჩევის არგუმენტს გთავაზობს.

Remote view, რომელიც მოთამაშეებს ნებისმიერი პლანეტის ან პლატფორმის დათვალიერების საშუალებას აძლევს, თითოეული მოთამაშის საკუთარ მანქანაზე რენდერდება. ის კლიენტის FPS-ს ჯდება და არა სერვერის tick-ს, ამიტომ მოთამაშე, რომელიც Fulgora-ს დათვალიერებისას დაბალ FPS-ზე ჩივის, თავის კომპიუტერს აღწერს.

სერვერის პარამეტრები, რომლებიც Space Age-ისთვის ღირს გადახედო#

server-settings.json-ის რამდენიმე გასაღები Space Age-ის თამაშში სხვანაირად იქცევა:

გასაღებინაგულისხმევიSpace Age-ის გათვალისწინება
auto_pausetrueროცა არავინაა დაკავშირებული, პლატფორმები გზის შუაში ჩერდება და პლანეტები წარმოებას წყვეტს. ჩვეულებრივ ესაა, რაც გინდა
autosave_interval10დიდ save-ებს ჩაწერა უფრო დიდხანს სჭირდება; ამის საკომპენსაციოდ ზედმეტად ნუ გაზრდი
autosave_slots5დიდი save-ის ხუთი ასლი დისკზე რეალურ ადგილს იკავებს
max_upload_slots5დიდ save-ზე შეამცირე, რომ შესვლები უფრო სწრაფად დასრულდეს
afk_autokick_interval0პლატფორმით გრძელ მოგზაურობაზე მყოფი მოთამაშეები ზოგჯერ განზრახ არიან AFK

/config set კონსოლის ბრძანება მათ უმეტესობას მომუშავე სერვერზე ცვლის - /config set max-upload-slots 2 მაშინვე მოქმედებს. კონსოლის ცნობარი სტატიაშია Factorio სერვერის ბრძანებები და ადმინისტრირება.

ერთად თამაში პლანეტებს შორის#

Space Age ცვლის იმას, როგორ თამაშობს ჯგუფი ერთ სერვერზე, და ამ ცვლილებებიდან რამდენიმეს ცოდნა პირველ რაკეტამდე ღირს.

მოთამაშეები იფანტებიან. თავიდან ყველა Nauvis-ზეა; შუა თამაშისთვის ნორმალურია, რომ ერთი მოთამაშე Vulcanus-ზე foundry-ებს აშენებს, მეორე Fulgora-ზე ჯართს ახარისხებს, მესამე კი მათ შორის პლატფორმით მოგზაურობს. სერვერისთვის ეს ნორმალურია - ის ყოველ surface-ს ისედაც ასიმულირებს - მაგრამ ნიშნავს, რომ ნებისმიერ მოთამაშეს შეუძლია არეულობა მოაწყოს პლანეტაზე, რომელსაც სხვა არავინ უყურებს. უფლებების ჯგუფები და მკაფიო შეთანხმება იმაზე, ვინ რომელ პლანეტას ფლობს, მოგვიანებით კამათს აცილებს.

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

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

Backup-ები ყოველ განახლებამდე#

Factorio 2.0 ჯერ კიდევ იღებს პატჩებს, და Space Age-ის save-ები ბევრ მდგომარეობას შეიცავს, რომელიც მიგრაციებმა წინ უნდა გადაიტანონ. Headless სერვერის ყოველ განახლებამდე save-ის ასლი აიღე. არსებულ რუკაზე დამატების ჩართვამდე ასლი აიღე. მოდის დამატებამდე ან მოშორებამდე ასლი აიღე.

Autosave-ები backup-ები არ არის: ისინი save-ის გვერდით, იმავე დისკზე ცხოვრობს და ბრუნავს. Backup-ები, რომლებიც ნამდვილად აღდგება ასაბუთებს ნამდვილ ასლებს, რომლებსაც დროდადრო ამოწმებ. RE:NODE-ზე backup-ის სლოტები ყოველ Factorio-ს გეგმაში შედის, მანქანის გარეთ ინახება და ღილაკით აღდგება, ხოლო Schedules ჩანართს შეუძლია cron გამოსახულებით კონსოლის ბრძანებად გააგზავნოს /server-save და პირდაპირ მის შემდეგ backup აიღოს.

FAQ#

სჭირდება Factorio-ს headless სერვერს Space Age-ის ლიცენზია?

არა. Headless ჩამოტვირთვა დამატების მონაცემებს შეიცავს და ლიცენზიის გარეშე მუშაობს. ყოველი მოთამაშე, რომელიც სერვერზე შედის რომელიმე ჩართული დამატების მოდით, Space Age-ს უნდა ფლობდეს.

შეუძლიათ Space Age-ის არმქონე მოთამაშეებს Space Age-ის სერვერზე შესვლა?

არა. მათ შეუძლიათ შესვლა მხოლოდ სერვერზე, სადაც space-age, quality და elevated-rails სამივე გამორთულია - 2.0-ის საბაზო თამაშის სერვერზე.

შემიძლია Space Age დავამატო ჩვენს არსებულ 2.0-ის რუკას?

კი. ჩართე სამი მოდი mod-list.json-ში და ჩატვირთე save; ახალი ტექნოლოგიები და პლანეტები ხელმისაწვდომი ხდება. ჯერ backup გააკეთე, რადგან დამატების მოგვიანებით ხელახლა გამორთვა აშორებს ყველაფერს, რაც დაამატა.

რატომ შენელდა მთელი თამაში მას შემდეგ, რაც Gleba-ზე დავსახლდით?

ყველა surface თამაშის ერთ tick-ს იზიარებს. თუ ერთი პლანეტის ბაზა ძვირია, tick ყველასთვის უფრო დიდხანს გრძელდება. გაუშვი benchmark, შემდეგ შეხედე მალფუჭებადი პროდუქტების გრძელ ბუფერებს და Gleba-ს ბაზის ზომას.

რამდენი RAM სჭირდება Space Age-ის სერვერს?

2-4 GB პირველი პლანეტების განმავლობაში, 4-6 GB გრძელი თამაშისთვის ყველა პლანეტითა და რამდენიმე პლატფორმით. ადევნე თვალი მეხსიერების გრაფიკს autosave-ების დროს, როცა მოხმარება მოკლე ხნით პიკს აღწევს.


კომენტარები

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

0/2000