Ten przewodnik obejmuje wszystko, czego potrzebujesz, aby skonfigurować i uruchomić dedykowany serwer Factorio w Legion Hosting, w tym uwierzytelnianie konta, zmienne startowe, ustawienia serwera, generowanie świata, łączenie graczy i zarządzanie zapisami. Informacje na temat instalacji modów znajdziesz w Instalacji modów w Factorio.
1. Uzyskiwanie tokenu konta Factorio
Nazwa użytkownika i token konta Factorio są wymagane, jeśli chcesz, aby Twój serwer pojawiał się w publicznej przeglądarce serwerów wieloosobowych. Są one również potrzebne do pobierania modów z oficjalnego portalu modów.
- Przejdź do factorio.com/login i zaloguj się na swoje konto Factorio.
- Przejdź do strony swojego Profilu.
- Przewiń w dół do sekcji API Authentication Tokens.
- Kliknij Generate, aby utworzyć nowy token (lub skopiuj swój istniejący token).
- Skopiuj ciąg tokenu -- wkleisz go do karty Startup w GPanel w polu
SERVER_TOKEN.
SERVER_USERNAME i SERVER_TOKEN puste. Jednak serwer nie będzie w stanie automatycznie pobierać modów z portalu modów bez prawidłowych poświadczeń.
2. Pierwsze uruchomienie
Po zakupie serwera Factorio od Legion Hosting wykonaj poniższe kroki, aby uruchomić go po raz pierwszy:
- Zaloguj się do GPanel i wybierz swój serwer Factorio.
- Przejdź do karty Startup.
- Ustaw zmienną FACTORIO_VERSION:
latest-- instaluje bieżącą stabilną wersję (zalecane dla większości graczy).experimental-- instaluje najnowszą eksperymentalną/beta wersję z najnowszymi funkcjami, ale może zawierać błędy.
- Ustaw SERVER_NAME na dowolną nazwę, którą chcesz wyświetlać w przeglądarce serwerów.
- Wypełnij SERVER_USERNAME i SERVER_TOKEN, jeśli chcesz, aby serwer był wymieniony publicznie (zobacz sekcję powyżej).
- Przejdź do karty Console i kliknij Start.
- Serwer pobierze pliki dedykowanego serwera Factorio i wygeneruje domyślny zapis. Przy pierwszym uruchomieniu może to potrwać kilka minut.
FACTORIO_VERSION na karcie Startup i uruchom serwer ponownie. Nowa wersja zostanie pobrana automatycznie.
3. Zmienne startowe GPanel
Te zmienne są konfigurowane na karcie Startup w GPanel i kontrolują podstawowe zachowanie serwera. Wchodzą w życie przy każdym uruchomieniu serwera.
| Zmienna | Domyślnie | Opis |
|---|---|---|
FACTORIO_VERSION |
latest |
Wersja serwera do zainstalowania. Użyj latest dla wersji stabilnej lub experimental dla najnowszej bety. |
SAVE_NAME |
gamesave |
Nazwa pliku zapisu, który serwer ładuje przy uruchomieniu (bez rozszerzenia). |
SERVER_NAME |
|
Nazwa serwera wyświetlana w przeglądarce wieloosobowej. |
SERVER_DESC |
|
Krótki opis wyświetlany obok nazwy serwera w przeglądarce. |
SERVER_USERNAME |
|
Twoja nazwa użytkownika konta Factorio. Wymagana do publicznego wymienienia serwera i pobierania modów. |
SERVER_TOKEN |
|
Token uwierzytelniający Twojego konta Factorio. Wymagany wraz z nazwą użytkownika do publicznego wymienienia. |
MAX_SLOTS |
20 |
Maksymalna liczba slotów graczy na serwerze. |
SAVE_INTERVAL |
10 |
Interwał automatycznego zapisu w minutach. |
SAVE_SLOTS |
5 |
Liczba rotacyjnych slotów automatycznego zapisu. Starsze zapisy są nadpisywane po osiągnięciu tego limitu. |
AFK_KICK |
0 |
Liczba minut przed wyrzuceniem bezczynnego gracza. 0 wyłącza wyrzucanie za AFK. |
4. server-settings.json
Główny plik konfiguracyjny serwera znajduje się w:
data/server-settings.json
Edytuj ten plik za pomocą File Manager w GPanel lub przez SFTP. Poniżej znajdują się najważniejsze ustawienia.
SERVER_NAME, SERVER_DESC, MAX_SLOTS, SERVER_USERNAME i SERVER_TOKEN) mogą nadpisywać odpowiadające im wartości w server-settings.json przy uruchomieniu. Jeśli ustawienia wydają się nie wchodzić w życie, zawsze najpierw sprawdź wartości na karcie Startup.
| Ustawienie | Domyślnie | Opis |
|---|---|---|
name |
"" |
Nazwa serwera wyświetlana w przeglądarce wieloosobowej. |
description |
"" |
Opis serwera wyświetlany w przeglądarce. |
tags |
[] |
Tablica ciągów znaczników (np. ["modded", "vanilla", "friendly"]) do filtrowania w przeglądarce. |
max_players |
0 |
Maksymalna liczba graczy. 0 oznacza brak limitu (zamiast tego użyj zmiennej startowej MAX_SLOTS). |
visibility |
{"public": true, "lan": true} |
Kontroluje, czy serwer pojawia się w przeglądarce publicznej i/lub przeglądarce LAN. Wymaga prawidłowej nazwy użytkownika i tokenu dla widoczności publicznej. |
game_password |
"" |
Hasło wymagane do dołączenia. Pozostaw puste, aby nie wymagać hasła. |
require_user_verification |
true |
Gdy true, tylko gracze ze zweryfikowanym kontem Factorio mogą dołączyć. |
autosave_interval |
10 |
Interwał automatycznego zapisu w minutach (może być nadpisany przez zmienną startową SAVE_INTERVAL). |
autosave_slots |
5 |
Liczba rotacyjnych plików automatycznego zapisu (może być nadpisana przez zmienną startową SAVE_SLOTS). |
afk_autokick_interval |
0 |
Limit czasu wyrzucenia za AFK w minutach. 0 go wyłącza. |
auto_pause |
true |
Wstrzymuje grę, gdy nie ma połączonych graczy. Oszczędza zasoby Twojego serwera. |
only_admins_can_pause_the_game |
true |
Ogranicza możliwość wstrzymywania gry tylko do administratorów serwera. |
admins |
[] |
Tablica nazw użytkowników Factorio, którzy mają uprawnienia administratora (np. ["YourUsername"]). Administratorzy mogą wyrzucać, banować i wykonywać polecenia. |
Przykładowy server-settings.json
{
"name": "My Factorio Server",
"description": "A Legion Hosting Factorio Server",
"tags": ["vanilla", "friendly"],
"max_players": 0,
"visibility": {
"public": true,
"lan": true
},
"username": "YourFactorioUsername",
"token": "YourTokenHere",
"game_password": "",
"require_user_verification": true,
"max_heartbeats_per_second": 60,
"allow_commands": "admins-only",
"autosave_interval": 10,
"autosave_slots": 5,
"afk_autokick_interval": 0,
"auto_pause": true,
"only_admins_can_pause_the_game": true,
"max_upload_in_kilobytes_per_second": 0,
"max_upload_slots": 5,
"minimum_latency_in_ticks": 0,
"ignore_player_limit_for_returning_players": false,
"admins": ["YourFactorioUsername"]
}
5. Generowanie mapy
Factorio używa dwóch plików konfiguracyjnych do kontrolowania sposobu generowania nowych map oraz zachowania świata podczas rozgrywki.
map-gen-settings.json (Generowanie świata)
Znajduje się w:
data/map-gen-settings.json
Ten plik kontroluje teren, rozkład zasobów i rozmieszczenie wrogów podczas tworzenia nowej mapy. Zmiany w tym pliku wchodzą w życie tylko podczas generowania nowej mapy -- nie zmieniają istniejącego zapisu.
| Ustawienie | Opis |
|---|---|
width / height |
Wymiary mapy w polach. 0 oznacza nieskończoność (domyślnie). Ustaw konkretne wartości, aby ograniczyć rozmiar mapy. |
seed |
Ziarno generowania mapy. Użyj null dla losowego ziarna lub podaj liczbę, aby odtworzyć konkretną mapę. |
peaceful_mode |
Domyślnie false. Gdy true, wrogowie nie atakują pierwsi. |
autoplace_controls |
Kontroluje częstotliwość, rozmiar i bogactwo zasobów oraz elementów terenu. Każdy wpis (np. iron-ore, copper-ore, coal, stone, crude-oil, trees, enemy-base) przyjmuje wartości frequency, size i richness. |
cliff_settings |
Kontroluje generowanie klifów: name, cliff_elevation_0 (wysokość pierwszego klifu), cliff_elevation_interval (odstęp między poziomami klifów), richness (gęstość klifów). |
starting_area |
Rozmiar bezpiecznego obszaru startowego (bez wrogów). Domyślnie 1. Wyższe wartości dają więcej miejsca przed napotkaniem biterów. |
property_expression_names |
Zaawansowane wyrażenia terenu dla pokrycia wodą, wysokości i wilgotności. control-setting:moisture:bias i podobne klucze dostosowują generowanie terenu. |
Wartości częstotliwości, rozmiaru i bogactwa zasobów
Dla każdego zasobu w autoplace_controls możesz dostosować trzy właściwości. Wartości są mnożnikami, gdzie 1 jest wartością normalną:
| Właściwość | Efekt |
|---|---|
frequency |
Jak często pojawia się zasób. Wyżej = więcej złóż rozmieszczonych na mapie. |
size |
Jak duże jest każde złoże zasobu. |
richness |
Ile przedmiotów daje każde pole zasobu, zanim się wyczerpie. |
Przykładowy map-gen-settings.json
{
"width": 0,
"height": 0,
"seed": null,
"peaceful_mode": false,
"autoplace_controls": {
"iron-ore": { "frequency": 1, "size": 1.5, "richness": 2 },
"copper-ore": { "frequency": 1, "size": 1.5, "richness": 2 },
"coal": { "frequency": 1, "size": 1, "richness": 1.5 },
"stone": { "frequency": 1, "size": 1, "richness": 1.5 },
"crude-oil": { "frequency": 1, "size": 1, "richness": 2 },
"uranium-ore": { "frequency": 1, "size": 1, "richness": 1 },
"trees": { "frequency": 1, "size": 1, "richness": 1 },
"enemy-base": { "frequency": 1, "size": 1, "richness": 1 }
},
"cliff_settings": {
"name": "cliff",
"cliff_elevation_0": 10,
"cliff_elevation_interval": 40,
"richness": 1
},
"starting_area": 1,
"property_expression_names": {
"control-setting:moisture:frequency:multiplier": "1",
"control-setting:moisture:bias": "0"
}
}
map-settings.json (Zachowanie świata w czasie rzeczywistym)
Znajduje się w:
data/map-settings.json
Ten plik kontroluje zachowanie w czasie rzeczywistym, takie jak rozprzestrzenianie się zanieczyszczeń, ewolucja wrogów i ekspansja. W przeciwieństwie do map-gen-settings.json, niektóre z tych ustawień mogą wpływać na istniejący zapis po zmianie i ponownym wczytaniu mapy.
| Sekcja | Kluczowe ustawienia | Opis |
|---|---|---|
pollution |
enabled, diffusion_ratio, ageing, min_to_diffuse |
Kontroluje, czy zanieczyszczenia się rozprzestrzeniają, jak szybko się dyfundują i jak szybko zanikają. Wyłączenie zanieczyszczeń wyłącza również ataki wrogów napędzane zanieczyszczeniami. |
enemy_evolution |
enabled, time_factor, destroy_factor, pollution_factor |
Kontroluje, jak wrogowie ewoluują z czasem, w wyniku niszczenia gniazd i z powodu zanieczyszczeń. Niższe współczynniki = wolniejsza ewolucja. Ustaw enabled na false, aby całkowicie zamrozić ewolucję. |
enemy_expansion |
enabled, max_expansion_distance, settler_group_min_size, settler_group_max_size, min_expansion_cooldown, max_expansion_cooldown |
Kontroluje, czy wrogowie budują nowe bazy i jak agresywnie się rozszerzają. Wyłącz, aby zapobiec rozprzestrzenianiu się biterów po mapie. |
steering |
default, moving |
Zachowanie wyznaczania ścieżek dla jednostek. Rzadko wymaga dostosowania. |
Przykładowy map-settings.json
{
"pollution": {
"enabled": true,
"diffusion_ratio": 0.02,
"min_to_diffuse": 15,
"ageing": 1,
"expected_max_per_chunk": 150,
"min_to_show_per_chunk": 50
},
"enemy_evolution": {
"enabled": true,
"time_factor": 0.000004,
"destroy_factor": 0.002,
"pollution_factor": 0.0000009
},
"enemy_expansion": {
"enabled": true,
"max_expansion_distance": 7,
"settler_group_min_size": 5,
"settler_group_max_size": 20,
"min_expansion_cooldown": 14400,
"max_expansion_cooldown": 216000
}
}
6. Tworzenie nowej mapy
Domyślnie Twój serwer generuje mapę ze standardowymi ustawieniami przy pierwszym uruchomieniu. Aby utworzyć nową mapę z niestandardowymi ustawieniami generowania:
- Zatrzymaj swój serwer w GPanel.
- Edytuj
data/map-gen-settings.jsonidata/map-settings.json, ustawiając wybrane ustawienia generowania świata i zachowania w czasie rzeczywistym (zobacz sekcję powyżej). - Przejdź do katalogu saves w File Manager.
- Usuń lub zmień nazwę istniejącego pliku zapisu (np.
gamesave.zip), aby serwer wygenerował nowy. - Upewnij się, że zmienna startowa
SAVE_NAMEpasuje do nazwy pliku zapisu, której chcesz użyć (domyślniegamesave). - Uruchom serwer. Wykryje on, że nie istnieje zapis o tej nazwie, i wygeneruje nową mapę przy użyciu zaktualizowanych ustawień.
seed w map-gen-settings.json na określoną liczbę przed generowaniem. Użyj null dla losowego ziarna.
7. Jak się połączyć
Istnieją dwa sposoby, na jakie gracze mogą połączyć się z Twoim serwerem Factorio.
Opcja A: Publiczna przeglądarka serwerów
Jeśli skonfigurowałeś SERVER_USERNAME i SERVER_TOKEN z prawidłowymi poświadczeniami Factorio, a visibility.public jest ustawione na true:
- Otwórz Factorio i kliknij Play.
- Wybierz Multiplayer.
- Kliknij Browse public games.
- Użyj paska wyszukiwania, aby znaleźć swój serwer po nazwie.
- Kliknij serwer, aby dołączyć. W razie potrzeby wprowadź hasło do gry.
Opcja B: Połączenie bezpośrednie
- Otwórz Factorio i kliknij Play.
- Wybierz Multiplayer.
- Kliknij Connect to address.
- Wprowadź adres IP i port swojego serwera w formacie:
IP:Port - Kliknij Connect.
8. Zarządzanie zapisami
Konfiguracja automatycznego zapisu
Automatyczne zapisy są kontrolowane przez dwie zmienne startowe:
SAVE_INTERVAL-- Jak często serwer automatycznie zapisuje, w minutach (domyślnie: 10).SAVE_SLOTS-- Liczba przechowywanych rotacyjnych plików automatycznego zapisu (domyślnie: 5). Po osiągnięciu limitu najstarszy automatyczny zapis jest nadpisywany.
Pliki automatycznego zapisu są przechowywane w katalogu saves z nazwami takimi jak _autosave1.zip, _autosave2.zip itd.
Ręczne zapisy
Możesz w dowolnym momencie wywołać ręczny zapis, uruchamiając następujące polecenie w konsoli GPanel:
/server-save
Tworzy to zapis przy użyciu bieżącej wartości SAVE_NAME. Możesz również zapisać pod konkretną nazwą pliku:
/server-save my-backup
Przesyłanie istniejącego zapisu
Aby przenieść istniejący świat Factorio na swój serwer:
- Zatrzymaj swój serwer w GPanel.
- Znajdź swój lokalny plik zapisu. W większości systemów zapisy Factorio znajdują się w:
- Windows:
%APPDATA%\Factorio\saves\ - Linux:
~/.factorio/saves/ - macOS:
~/Library/Application Support/factorio/saves/
- Windows:
- Prześlij plik zapisu
.zipdo katalogu saves na swoim serwerze za pomocą File Manager lub SFTP. - Na karcie Startup w GPanel ustaw
SAVE_NAMEna nazwę przesłanego pliku (bez rozszerzenia.zip). - Uruchom serwer.
FACTORIO_VERSION do wersji, w której utworzono zapis.
Powiązane artykuły
- Instalacja modów w Factorio
- Jak znaleźć adres IP i port serwera
- Jak przesyłać pliki przez SFTP
- Przewodnik uruchamiania serwera
Potrzebujesz pomocy?
Jeśli napotykasz problemy nieomówione w tym przewodniku, otwórz zgłoszenie do pomocy technicznej, podając szczegóły swojego serwera oraz opis problemu.