Factorio: mods, verdener og admin på din server
server-settings.json, mods og mod-list.json, Space Age til og fra, upload af egen verden, autosaves og adminlister - plus hvorfor din server ikke står i den offentlige liste.
Sådan ligger filerne
En Factorio-server har tre mapper, du kommer til at bruge:
saves/ dine verdener som .zip-filer
mods/ dine mods som .zip-filer, plus mod-list.json
data/ spillets egne filer, inklusive DLC-mods
Dertil kommer selve konfigurationen, server-settings.json, og adgangslisterne. Du finder det hele under Filer i Potionhost kontrolpanelet.
Trin 1 - server-settings.json
Factorio leverer en skabelon under data/server-settings.example.json. Kopiér den, og ret i kopien.
| Nøgle | Standard | Betydning |
|---|---|---|
name |
- | Navnet i serverlisten |
description |
- | Beskrivelsen |
max_players |
0 |
0 betyder ubegrænset. Admins kan joine en fuld server |
visibility |
{"public": true, "lan": true} |
Et objekt, ikke en tekst |
username |
"" |
Din factorio.com-konto. Kræves for offentlig visning |
token |
"" |
Token fra factorio.com. Brug det i stedet for din adgangskode |
game_password |
"" |
Kodeord for at joine |
require_user_verification |
true |
Kræver at spillerne har en gyldig factorio.com-konto |
autosave_interval |
10 |
Minutter mellem autosaves |
autosave_slots |
5 |
Antal autosaves der roteres imellem |
afk_autokick_interval |
0 |
Minutter inaktiv før udsmid. 0 = aldrig |
auto_pause |
true |
Sætter spillet på pause, når ingen er online |
only_admins_can_pause_the_game |
true |
|
allow_commands |
"admins-only" |
true, false eller "admins-only" |
non_blocking_saving |
false |
Eksperimentel. Lad den være slået fra |
visibilityer den fejl alle laver. Den skal skrives som et objekt:
"visibility": { "public": true, "lan": true }og ikke som
"visibility": "public".
Token til offentlig visning
Skal serveren stå i den offentlige liste, kræver det både username og token:
- Log ind på factorio.com og åbn din profil.
- Klik Reveal ud for token, og kopiér den.
- Sæt begge dele ind i
server-settings.json.
Brug token frem for password - et token kan tilbagekaldes, og din kontoadgangskode ligger ikke i klartekst på serveren.
Port: Factorio bruger UDP 34197. Der er ingen TCP-port at åbne.
Trin 2 - Mods
Mods er .zip-filer, der hedder navn_version.zip, fx Krastorio2_2.0.5.zip. Læg dem i mods/ - pak dem ikke ud.
Serveren henter ikke selv mods. Der er ingen mod-portal på en headless server. Du uploader zip-filerne selv.
Hvilke mods der er slået til, styres i mods/mod-list.json:
{
"mods": [
{ "name": "base", "enabled": true },
{ "name": "elevated-rails", "enabled": true },
{ "name": "quality", "enabled": true },
{ "name": "space-age", "enabled": true },
{ "name": "Krastorio2", "enabled": false }
]
}
Der står ingen version i filen - versionen bestemmes af, hvilken zip der ligger i mappen. Ligger der et mod i mods/, som ikke står i listen, tilføjer serveren det selv som slået til.
mod-settings.dat i samme mappe indeholder modsenes egne indstillinger. Den er binær og kan ikke rettes i hånden. Vil du ændre den: sæt modsene op i et singleplayer-spil på din egen computer, og upload den mod-settings.dat, der kommer ud af det.
Trin 3 - Space Age og de andre DLC-mods
DLC'en leveres som fire officielle mods, og de følger med spillet i data/ - du skal ikke hente dem. De står i mod-list.json som alle andre mods:
| Mod | Rolle |
|---|---|
base |
Grundspillet. Kan aldrig slås fra |
space-age |
Selve udvidelsen |
elevated-rails |
Følger med Space Age |
quality |
Følger med Space Age |
Vil du køre uden Space Age, sætter du space-age, elevated-rails og quality til "enabled": false og lader base stå.
Beslut dig, inden du opretter din verden. En verden lavet med Space Age slået til kan ikke bare køre videre uden - kortet indeholder DLC'ens planeter og indhold. Skal du skifte, skal du lave en ny verden.
Kører du Space Age, skal dine spillere også eje udvidelsen.
Trin 4 - Verdener
Saves er .zip-filer i saves/. Pak dem aldrig ud.
Opret en ny verden:
./bin/x64/factorio --create ./saves/min-verden.zip
Start serveren på en bestemt verden:
./bin/x64/factorio --start-server ./saves/min-verden.zip --server-settings ./data/server-settings.json
Eller på den senest gemte:
./bin/x64/factorio --start-server-load-latest --server-settings ./data/server-settings.json
Flaget hedder
--start-server-load-latest.--start-server-latest-savefindes ikke og får serveren til at fejle.
Upload din egen verden: stop serveren, upload .zip-filen til saves/, og start igen. Serveren skal køre samme version som verdenen eller nyere - du kan ikke indlæse en nyere verden på en ældre server. Og alle de mods, verdenen bruger, skal ligge i mods/ i de rigtige versioner.
Autosaves hedder _autosave1.zip, _autosave2.zip og så videre og roteres. Med standardværdierne - hvert 10. minut og fem pladser - har du cirka de sidste 50 minutter. Vil du rulle tilbage, starter du bare serveren på den autosave, du vil have.
Trin 5 - Admins, bans og whitelist
Tre JSON-filer med lister over brugernavne:
server-adminlist.json
server-banlist.json
server-whitelist.json
Formatet er simpelt:
[ "spiller1", "spiller2" ]
Whitelisten håndhæves kun, hvis serveren startes med
--use-server-whitelist. En udfyldt fil uden flaget gør ingenting - det er en klassisk supportsag.
Kommandoer inde i spillet eller i konsollen:
| Kommando | Hvad den gør |
|---|---|
/promote <spiller> |
Gør spilleren til admin |
/demote <spiller> |
Fjerner admin igen |
/ban <spiller> <årsag> |
Udelukker spilleren |
/unban <spiller> |
Ophæver et ban |
/kick <spiller> <årsag> |
Smider spilleren ud |
/whitelist add/remove/get/clear |
Styrer whitelisten |
/admins |
Viser alle admins |
/players |
Viser spillerne på serveren |
/server-save |
Gemmer nu |
Serveren skriver selv filerne, når du bruger kommandoerne - så ret dem kun, mens serveren er stoppet, ellers overskrives dine ændringer ved nedlukning.
Hvordan spillerne får dine mods
Når en spiller joiner en modded server, spørger spillet, om de vil synkronisere. Accepterer de, henter deres klient de præcis samme modversioner som serveren kører.
Klienten henter mods fra mod-portalen, ikke fra din server. Bruger du et mod, der ikke er udgivet på portalen - eller er blevet fjernet igen - kan det ikke synkroniseres. Så skal du sende zip-filen til dine spillere manuelt.
Matchet er eksakt: samme mods, samme versioner, samme startup-indstillinger. Der er ingen tolerance for en enkelt patch-version til forskel.
Fejlfinding
| Symptom | Sandsynlig årsag | Løsning |
|---|---|---|
Your active mods don't match the server's |
Forskel i mods, versioner eller mod-settings.dat |
Accepter synkroniseringen, eller ret zip-filerne på serveren |
| Synkroniseringen går i ring | Modet ligger ikke på portalen, eller spilleren er ikke logget ind på factorio.com | Send zip-filen manuelt |
| Serveren står ikke i den offentlige liste | visibility skrevet som tekst, eller manglende username og token |
Ret objektet, og hent token på ny |
Missing username |
Token er sat, men username er tom |
Begge felter skal udfyldes |
| Space Age kan ikke slås fra | Verdenen blev oprettet med DLC'en slået til | Opret en ny verden |
| Mods indlæses ikke | Zip-filen blev pakket ud eller omdøbt | Upload den urørte navn_version.zip igen |
| Serveren vil ikke indlæse en uploadet verden | Verdenen er nyere end serveren | Opdatér serveren - nedgradering er ikke muligt |
| Spillerne kan ikke forbinde | UDP 34197 er ikke åben | Åbn porten. TCP gør ingen forskel |
| Whitelisten virker ikke | --use-server-whitelist mangler |
Tilføj flaget |
| Mine adminændringer forsvandt | Serveren skrev filen tilbage ved nedlukning | Ret kun listerne mens serveren er stoppet |
| Desyncs | Næsten altid modfejl, ikke netværk | Opdatér mods, og find synderen ved at fjerne dem ét ad gangen |
Gode råd
- Tag en backup af
saves/ogmods/inden hver modopdatering. Mods og verdener hænger sammen. - Skift ikke modversioner midt i en spilperiode, hvis du kan undgå det - alle spillere skal følge med samtidig.
- Sæt
auto_pausetiltruepå en lille venneserver. Så kører fabrikken ikke videre, mens I sover. - Lad
non_blocking_savingvære slået fra. Factorio kalder den selv eksperimentel. - Sæt
autosave_slotsop, hvis du har diskplads. Det er billig forsikring.
Får du en modfejl, du ikke kan tyde? Send os indholdet af factorio-current.log i en ticket.