Multiplayer server Space Age je normální headless server Factorio 2.0 se zapnutými třemi módy rozšíření - space-age, quality a elevated-rails. Headless balíček obsahuje data rozšíření, takže server sám žádnou licenci nepotřebuje, ale každý hráč, který se připojí, musí Space Age vlastnit. Mění se měřítko: každá planeta a každá vesmírná platforma je samostatný povrch, simulovaný pořád, takže vyspělá hra Space Age se chová jako několik továren běžících v jednom ticku. Na dlouhou hru počítej se 4-6 GB paměti, většími savy, delším připojováním a jediným jádrem CPU, které musí unést všechny planety najednou. Tento článek popisuje zapnutí rozšíření, založení nebo převod mapy, kolik která planeta stojí a jak udržet rychlost updatů na 60.
Samotný headless server - stažení, server-settings.json, porty, admini - je v návodu na Factorio headless server a obecná teorie UPS a módů v článku Factorio módy a UPS. Tento článek je vrstva Space Age navrch.
Co je Space Age z pohledu serveru#
Space Age je placené rozšíření vydané spolu s Factoriem 2.0. Technicky se dodává jako tři oficiální módy vedle base:
| Mód | Přidává | Kdo ho musí vlastnit |
|---|---|---|
space-age | Planety, vesmírné platformy, nový výzkum, noví nepřátelé | Každý hráč |
quality | Úrovně kvality pro předměty a stroje | Každý hráč |
elevated-rails | Vyvýšené kolejové rampy a podpěry | Každý hráč |
Všechny tři jsou součástí placeného rozšíření. Lze je zapínat nezávisle - server může jet s elevated rails a quality bez planet - ale hráč, který rozšíření nevlastní, se nemůže připojit na server, kde je zapnutý kterýkoli z nich.
Bezplatná aktualizace 2.0 je všechno ostatní: změny enginu, přepracovaný systém kapalin, nové stavění kolejí, vzdálený pohled a vylepšení rozhraní. Server se všemi třemi módy rozšíření vypnutými je server základní hry 2.0 a připojí se na něj každý, kdo má Factorio.
Stažení headless serveru z factorio.com obsahuje datové složky rozšíření - data/space-age, data/quality, data/elevated-rails - vedle data/base. Pro server není potřeba stahovat nic navíc.
Zapnutí rozšíření na headless serveru#
O tom, jestli je rozšíření aktivní, rozhoduje mods/mod-list.json, přesně jako u jakéhokoli jiného módu:
{ "mods": [ { "name": "base", "enabled": true }, { "name": "elevated-rails", "enabled": true }, { "name": "quality", "enabled": true }, { "name": "space-age", "enabled": true } ]}Módy nemusí být ve složce mods jako soubory zip - načítají se z data/. mod-list.json je jen zapíná nebo vypíná. Pokud soubor ještě neexistuje, server ho při prvním startu vytvoří; v současných vydáních 2.0 jsou módy rozšíření zapnuté ve výchozím stavu, když jsou data přítomná, takže soubor zkontroluj a nic nepředpokládej.
Pokud chceš hru Space Age od začátku, musí být rozšíření zapnuté už při vytvoření mapy:
$ 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 načte nejnovější save v saves/, včetně autosave, což je to, co chceš po jakémkoli nečistém zastavení. Ostatní argumenty popisuje návod k headless serveru.
Na RE:NODE se mapa vygeneruje při prvním spuštění a složka mods je k dispozici od začátku, takže zapnutí nebo vypnutí rozšíření je úprava mod-list.json ve správci souborů - následovaná novou mapou, pokud ho chceš od prvního dne.
Začít znovu, nebo přidat Space Age do existující mapy
Skupina, která už má mapu základní hry 2.0, má dvě možnosti:
Začít novou mapu Space Age. Všichni projdou postupem rozšíření od začátku a mapa se generuje se změnami Nauvis, které rozšíření přináší, od samého počátku. Tohle dělá většina skupin.
Zapnout rozšíření na existujícím savu. Factorio podporuje načtení savu základní hry se zapnutým rozšířením: nové technologie se objeví ve stromu a ostatní planety se stanou dosažitelnými, jakmile se k nim výzkum dostane. Tvoje stávající základna na Nauvis zůstane. Před tím udělej backup, protože zpátky není čistá cesta - jakmile byl save načten s rozšířením a hrál se, opětovné vypnutí rozšíření odstraní všechno, co z něj pochází.
Savy z 1.1 se v 2.0 také načtou, s migracemi. Problémem jsou tam módy: mnoho módů pro 1.1 nebylo nikdy aktualizováno na 2.0 a save z 1.1, který na nějakém závisí, se nemůže posunout dál bez vyhození toho módu. Proč je odebrání obsahového módu ze savu tak destruktivní, vysvětluje Factorio módy a UPS.
Povrchy: proč je jedna hra Space Age několik továren#
Povrch (surface) ve Factoriu je samostatná mapa. Hra 1.1 měla jeden, Nauvis. Hra Space Age má jeden pro každou planetu, na které jsi byl, a jeden pro každou vesmírnou platformu, kterou jsi postavil.
Plynou z toho dva fakty.
Každý povrch se simuluje pořád. Továrna na Vulcanu dál vyrábí, i když jsou všichni hráči na Nauvis. Platforma dál cestuje a bojuje s asteroidy, i když na ní nikdo není. Je to nutné, aby hra fungovala, a znamená to, že cena hry Space Age je součet všech jejích základen, ne jen té, na kterou se hráči zrovna dívají.
Všechny povrchy sdílejí jeden update. Pro celý server existuje jeden herní tick. Pokud je základna na Gleba tak drahá, že protáhne tick přes 16,67 milisekundy, zpomalí se celá hra - každá planeta, každá platforma - pro všechny. Jedna pomalá planeta zpomalí vesmír.
Vesmírné platformy si zaslouží zvláštní zmínku. Platforma je pohyblivá továrna: hub, sběrače asteroidů, drtiče, trysky, věže a jakákoli výroba, kterou na ni dáš. Platformy na cestě neustále bojují s asteroidy. Pár jich je levných; třicet zapomenutých platforem zaparkovaných na orbitě, které dál sbírají a drtí asteroidy do plných hubů, levných není.
Kolik stojí která planeta#
Planety nejsou stejně drahé. Každá má mechaniku, která se na serveru projevuje po svém.
| Povrch | Co stojí | Co pomáhá |
|---|---|---|
| Nauvis | Biteři, znečištění, hlavní základna | Stejné jako v 1.1: méně robotů, rozumná obrana |
| Vulcanus | Velké těžební a foundry stavby | Velké vrty a foundry znamenají méně entit |
| Fulgora | Řetězce recyklace šrotu, blesky | Kompaktní recyklace, bleskosvody tam, kde jsou potřeba |
| Gleba | Kažení předmětů, zemědělství, útoky pentapodů | Krátké, rychlé výrobní linky, méně zásobníků |
| Aquilo | Topné sítě, kryogenika | Udržuj sítě tepelných trubek přehledné |
| Platformy | Sběr asteroidů, věže, trysky | Méně účelových platforem |
Gleba je planeta, která nejspíš server překvapí. Mnoho jejích produktů se kazí v čase, takže předměty nesou časovače kažení a dlouhé zásobníky plné zboží podléhajícího zkáze jsou plýtvání a zároveň práce pro simulaci. Základny na Gleba, které jedou krátce a rychle, jsou lepší pro hru i pro server.
Engine 2.0 místy pomáhá. Systém kapalin byl přepsán, aby byl levnější a předvídatelnější, a velké nové stroje - foundry, elektromagnetické závody, velké těžební vrty - dělají na entitu mnohem víc než jejich ekvivalenty z 1.1. Továrna Space Age postavená z nových budov může mít menší počet entit než továrna z 1.1 se stejným výstupem.
Paměť, savy a připojování#
| Fáze | RAM | Velikost savu | Poznámky |
|---|---|---|---|
| Jen Nauvis, začátek hry | 1-2 GB | 5-20 MB | Jako základní hra 2.0 |
| Dvě nebo tři planety | 2-4 GB | 20-60 MB | První platformy jedou |
| Všechny planety, několik platforem | 4-6 GB | 60-150 MB | Typická dlouhá hra |
| Velká pozdní hra, mnoho platforem | 6 GB+ | 150 MB+ | Měř, nehádej |
Paměť roste s každým povrchem, protože Factorio drží v paměti celou mapu každého povrchu. Průzkum planety radarem zakreslí další část a zakreslená data mapy zůstanou.
Ukládání na okamžik potřebuje víc paměti než běh. Server na 90 % limitu na něj nejspíš narazí během autosave. Na RE:NODE se kontejner, který dosáhne limitu paměti, zastaví a čistě restartuje, místo aby swapoval - pro stroj v pořádku, ale přijdeš o všechno od posledního autosave. Tarify Factorio na RE:NODE jdou od 1 GB do 6 GB, což pokrývá většinu skupin hrajících Space Age; velmi velká pozdní hra může nejvyšší úroveň přerůst a graf paměti to ukáže s předstihem. Příznaky najdeš v článku Kdy upgradovat tarif.
Savy se týkají i připojování. Připojující se hráč stahuje celý save - každý povrch - a pak dožene aktuální tick. Save o 100 MB na skromném připojení chvíli trvá a dohánění trvá déle, pokud je server blízko svého rozpočtu ticku. Na vytíženém serveru sniž max_upload_slots v server-settings.json, aby se připojování dělo po jednom nebo po dvou a každé bylo rychlejší.
Jak udržet UPS na 60#
UPS - updaty za sekundu - je jediné výkonnostní číslo, na kterém u Factoria záleží, a server má 16,67 ms na tick na aktualizaci každého povrchu. Pravidlo jednoho vlákna z 1.1 platí dál: víc jader UPS nezvedne; rychlejší jádro ano.
Měř, než cokoli změníš. Headless binárka umí pustit save nejrychleji, jak to jde, a ohlásit čas na tick:
$ ./bin/x64/factorio --benchmark ./saves/space.zip \ --benchmark-ticks 1000 --benchmark-runs 3 --benchmark-verbose allS rozšířením rozpis v podrobném režimu pokrývá všechny povrchy dohromady, takže planeta, která se náhle zdražila, se projeví skokem v příslušném podsystému. Celou metodu benchmarku najdeš v článku Factorio módy a UPS.
Pak zhruba v tomto pořadí:
- Vyřaď nepoužívané platformy. Každá platforma je povrch. Ty, které už nepotřebuješ, rozeber místo parkování.
- Používej nové velké stroje. Foundry, elektromagnetické závody a velké těžební vrty nahrazují mnoho starých entit jednou.
- Zkrať linky na Gleba. Méně zásobníků se zbožím, které se kazí.
- Zkrať uzdu robotům na Nauvis. Hlavní bus z robotů stojí mnohem víc než pásy, jako vždycky.
- Méně radarů. Vzdálený pohled radary všude nepotřebuje.
- Restartuj pravidelně, aby paměť zůstala rovná. Argument o načasování najdeš v článku restarty podle plánu, které pomáhají.
Vzdálený pohled, který hráčům umožňuje dívat se na kteroukoli planetu nebo platformu, vykresluje počítač každého hráče. Stojí snímkovou frekvenci klienta, ne tick serveru, takže hráč, který si stěžuje na nízké FPS při pohledu na Fulgoru, popisuje svůj počítač.
Nastavení serveru, která stojí za přehodnocení pro Space Age#
Pár klíčů v server-settings.json se ve hře Space Age chová jinak:
| Klíč | Výchozí | Pohled Space Age |
|---|---|---|
auto_pause | true | Když není nikdo připojen, platformy se zastaví uprostřed cesty a planety přestanou vyrábět. Obvykle to, co chceš |
autosave_interval | 10 | Větší savy se zapisují déle; nezvyšuj ho příliš jako kompenzaci |
autosave_slots | 5 | Pět kopií velkého savu zabírá skutečné místo na disku |
max_upload_slots | 5 | Na velkém savu sniž, aby se připojování dokončovala rychleji |
afk_autokick_interval | 0 | Hráči na dlouhých cestách platforem jsou někdy AFK schválně |
Příkaz konzole /config set změní většinu z nich na běžícím serveru - /config set max-upload-slots 2 se projeví okamžitě. Přehled konzole je v článku příkazy pro server Factorio a administrace.
Hra ve skupině napříč planetami#
Space Age mění, jak skupina na jednom serveru hraje, a pár z těch změn stojí za to znát před první raketou.
Hráči se rozptýlí. Zpočátku jsou všichni na Nauvis; ve střední hře je normální mít jednoho hráče na Vulcanu, kde staví foundry, druhého na Fulgoře, kde třídí šrot, a třetího na platformě mezi nimi. Pro server je to v pořádku - každý povrch simuluje tak či tak - ale znamená to, že každý jednotlivý hráč může udělat bordel na planetě, kterou nikdo jiný nesleduje. Skupiny oprávnění a jasná dohoda o tom, komu patří která planeta, ušetří pozdější hádky.
Cestování zabere skutečný čas. Cesta platformy mezi planetami se měří v minutách a hráč na palubě je mimo dosah zbytku továrny, dokud nedorazí. Se zapnutým auto_pause cesta zahájená těsně před tím, než se všichni odhlásí, prostě počká na další relaci.
Vesmírné platformy jsou společný majetek. Kterýkoli hráč v týmu může změnit jízdní řád platformy, její požadavky i to, co staví, což je multiplayerová verze toho, že někdo přesměruje vlaky. Domluvte si názvy a účely platforem a změnu cizí platformy berte stejně jako přesunutí cizích pásů.
Backupy před každou aktualizací#
Factorio 2.0 stále dostává záplaty a savy Space Age obsahují hodně stavu, který musí migrace přenést dál. Před každou aktualizací headless serveru udělej kopii savu. Před zapnutím rozšíření na existující mapě udělej kopii. Před přidáním nebo odebráním módu udělej kopii.
Autosave nejsou backupy: leží vedle savu na stejném disku a střídají se. Backupy, které opravdu obnovíš obhajuje skutečné kopie, které občas vyzkoušíš. Na RE:NODE jsou sloty záloh součástí každého tarifu Factorio, ukládají se mimo stroj a obnovují se tlačítkem a záložka Schedules umí poslat /server-save jako příkaz konzole a hned poté udělat backup, podle výrazu cron.
FAQ#
Potřebuje headless server Factorio licenci Space Age?
Ne. Headless stažení obsahuje data rozšíření a běží bez licence. Každý hráč, který se připojí na server se zapnutým kterýmkoli módem rozšíření, musí Space Age vlastnit.
Mohou se hráči bez Space Age připojit na server Space Age?
Ne. Připojit se mohou jen na server, kde jsou space-age, quality i elevated-rails všechny vypnuté - tedy na server základní hry 2.0.
Můžu přidat Space Age do naší existující mapy 2.0?
Ano. Zapni tři módy v mod-list.json a načti save; nové technologie a planety budou dostupné. Nejdřív udělej backup, protože pozdější vypnutí rozšíření odstraní všechno, co přidalo.
Proč se celá hra zpomalila poté, co jsme osídlili Gleba?
Všechny povrchy sdílejí jeden herní tick. Pokud je základna na jedné planetě drahá, tick trvá déle všem. Pusť benchmark a pak se podívej na dlouhé zásobníky kazících se produktů a na velikost základny na Gleba.
Kolik RAM potřebuje server Space Age?
2-4 GB pro první planety, 4-6 GB pro dlouhou hru se všemi planetami a několika platformami. Sleduj graf paměti během autosave, kdy spotřeba na okamžik vrcholí.




Komentáře
Zcela anonymně: žádný účet, žádný e-mail, žádné cookie. Ukládáme jen jméno, které napíšeš, text a čas - nic dalšího. Počet odkazů je omezený a značkování se nevykresluje.