Настройка сервера
Это руководство описывает настройку выделенного сервера Factorio: версию сервера, публичную видимость, токен аккаунта, основные параметры, генерацию карты, сохранения и подключение игроков.
Основные файлы и директории
На сервере Factorio используются несколько ключевых файлов:
data/server-settings.json
data/map-gen-settings.json
data/map-settings.json
saves/server-settings.json— имя сервера, описание, пароль, публичность, лимит игроков, администраторы, autosave;map-gen-settings.json— генерация новой карты: ресурсы, враги, размер мира, seed;map-settings.json— поведение мира: загрязнение, эволюция врагов, расширение баз;saves/— сохранения мира в формате.zip.
Параметры запуска в панели
Часть настроек задаётся через параметры запуска и применяется при каждом старте сервера.
FACTORIO_VERSION
SAVE_NAME
SERVER_NAME
SERVER_DESC
SERVER_USERNAME
SERVER_TOKEN
MAX_SLOTS
SAVE_INTERVAL
SAVE_SLOTS
AFK_KICKЕсли значение в server-settings.json не применяется, проверьте соответствующий параметр в Startup. Параметры запуска могут перезаписывать значения в JSON-файле при старте.
Версия сервера
Параметр:
FACTORIO_VERSIONПоддерживаемые значения:
latest
experimentallatest— стабильная версия Factorio;experimental— экспериментальная версия с новыми функциями и повышенным риском ошибок.
После изменения версии сервер скачает нужную сборку при следующем запуске.
Игроки должны использовать ту же версию Factorio, что и сервер. Если сервер работает на experimental, клиент игрока тоже должен быть переключён на экспериментальную ветку.
Имя сохранения
Параметр:
SAVE_NAMEОн определяет, какое сохранение сервер загружает из папки saves/.
Пример:
SAVE_NAME=gamesaveСервер будет искать файл:
saves/gamesave.zipРасширение .zip в поле SAVE_NAME указывать не нужно.
Имя и описание сервера
Параметры:
SERVER_NAME
SERVER_DESCSERVER_NAME — имя сервера в браузере мультиплеера.
SERVER_DESC — описание сервера.
Пример:
SERVER_NAME=My Factorio Server
SERVER_DESC=Vanilla factory serverЕсли сервер должен отображаться в публичном браузере, дополнительно нужны SERVER_USERNAME и SERVER_TOKEN.
Токен аккаунта Factorio
Для публичного отображения сервера в браузере Factorio используются:
SERVER_USERNAME
SERVER_TOKENSERVER_USERNAME— имя аккаунта Factorio;SERVER_TOKEN— authentication token аккаунта Factorio.
Токен можно получить в профиле Factorio:
Если SERVER_USERNAME и SERVER_TOKEN не указаны, сервер может работать через прямое подключение, но не будет нормально отображаться как публичный сервер.
Не публикуйте SERVER_TOKEN в скриншотах, логах, Discord, тикетах без скрытия значения или публичных статьях.
Лимит игроков
Параметр:
MAX_SLOTSЗадаёт максимальное количество игроков.
Пример:
MAX_SLOTS=20Если сервер использует моды, большую карту или слабый тариф, не завышайте лимит игроков. Factorio чувствителен к задержкам: один игрок с плохим соединением или слабым ПК может замедлять общую симуляцию.
Автосохранение
Параметры:
SAVE_INTERVAL
SAVE_SLOTSSAVE_INTERVAL— интервал автосохранения в минутах;SAVE_SLOTS— количество ротируемых autosave-файлов.
Пример:
SAVE_INTERVAL=10
SAVE_SLOTS=5Автосохранения хранятся в папке:
saves/Имена autosave-файлов выглядят примерно так:
_autosave1.zip
_autosave2.zip
_autosave3.zipЧем меньше интервал автосохранения, тем чаще сервер пишет данные на диск. Для больших баз не ставьте слишком короткий интервал без необходимости.
AFK kick
Параметр:
AFK_KICKЗадаёт время до исключения игрока за бездействие, в минутах.
AFK_KICK=0Значение 0 отключает автоматический кик за AFK.
server-settings.json
Основной файл серверных настроек:
data/server-settings.jsonПример рабочего файла:
{
"name": "My Factorio Server",
"description": "A Factorio dedicated server",
"tags": ["vanilla", "friendly"],
"max_players": 0,
"visibility": {
"public": true,
"lan": true
},
"username": "YourFactorioUsername",
"token": "YourTokenHere",
"game_password": "",
"require_user_verification": true,
"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"]
}Публичность сервера
За отображение сервера отвечает блок:
"visibility": {
"public": true,
"lan": true
}Для публичного браузера:
"public": trueДля закрытого сервера с подключением по IP:
"public": falseПубличный сервер требует корректные значения:
"username": "YourFactorioUsername",
"token": "YourTokenHere"Если public включён, но логин или токен неверные, сервер может не появиться в публичном браузере.
Пароль сервера
Открытый сервер:
"game_password": ""Закрытый сервер:
"game_password": "StrongPassword"Не путайте game_password с SERVER_TOKEN. Пароль сервера вводят игроки при подключении, а токен используется сервером для авторизации на сервисах Factorio.
Проверка аккаунтов игроков
Параметр:
"require_user_verification": trueПри значении true подключаться смогут только игроки с верифицированным аккаунтом Factorio.
Для публичного сервера лучше оставить:
"require_user_verification": trueОтключение проверки имеет смысл только для закрытых доверенных серверов.
Администраторы сервера
Администраторы задаются в массиве:
"admins": ["YourFactorioUsername"]Указываются имена аккаунтов Factorio, а не SteamID и не никнеймы из Discord.
Несколько администраторов:
"admins": [
"AdminOne",
"AdminTwo",
"AdminThree"
]Администраторы могут выполнять серверные команды, управлять игроками и использовать команды в зависимости от значения allow_commands.
Команды сервера
Параметр:
"allow_commands": "admins-only"Рекомендуемое значение для публичного сервера:
"allow_commands": "admins-only"Не включайте свободное выполнение команд для всех игроков на публичном сервере.
Auto pause
Параметр:
"auto_pause": trueЕсли включено, симуляция мира останавливается, когда на сервере нет игроков.
Для обычного кооперативного сервера это полезно: фабрика не тратит ресурсы, не копит атаки и не продвигает исследования без игроков.
Если сервер должен работать постоянно, установите:
"auto_pause": falsemap-gen-settings.json
Файл генерации новой карты:
data/map-gen-settings.jsonЭтот файл влияет на создание нового мира. Изменение map-gen-settings.json не перестроит уже существующее сохранение.
Основные параметры:
widthиheight— размер карты,0означает бесконечную карту;seed— зерно генерации,nullдаёт случайный seed;peaceful_mode— мирный режим;autoplace_controls— частота, размер и богатство ресурсов;starting_area— размер стартовой безопасной зоны;cliff_settings— настройки скал.
Ресурсы карты
Ресурсы настраиваются в блоке autoplace_controls.
"iron-ore": {
"frequency": 1,
"size": 1.5,
"richness": 2
}frequency— как часто появляются залежи;size— размер залежей;richness— богатство залежей.
Значение 1 соответствует стандартной генерации. Значения выше увеличивают параметр, значения ниже уменьшают.
Пример 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
}map-settings.json
Файл поведения мира:
data/map-settings.jsonОн отвечает за загрязнение, эволюцию врагов, расширение баз кусак и другие игровые процессы.
pollution— загрязнение и его распространение;enemy_evolution— эволюция врагов;enemy_expansion— строительство новых баз врагами;steering— поведение поиска пути юнитов.
Загрязнение
Блок:
"pollution": {
"enabled": true
}Если отключить загрязнение, враги не будут реагировать на загрязнение фабрики. Это заметно упрощает защиту базы.
Эволюция врагов
Блок:
"enemy_evolution": {
"enabled": true,
"time_factor": 0.000004,
"destroy_factor": 0.002,
"pollution_factor": 0.0000009
}time_factor— эволюция со временем;destroy_factor— эволюция от уничтожения гнёзд;pollution_factor— эволюция от загрязнения.
Чтобы замедлить развитие врагов, снижайте эти значения. Чтобы отключить эволюцию полностью:
"enabled": falseРасширение врагов
Блок:
"enemy_expansion": {
"enabled": true
}Если enemy_expansion включён, враги будут создавать новые базы.
Для спокойного кооперативного сервера можно отключить расширение:
"enemy_expansion": {
"enabled": false
}Создание новой карты
Чтобы создать новую карту с изменёнными настройками генерации:
- Остановите сервер.
- Сделайте резервную копию текущего сохранения.
- Измените
data/map-gen-settings.json. - При необходимости измените
data/map-settings.json. - Удалите или переименуйте старое сохранение в папке
saves/. - Проверьте значение
SAVE_NAME. - Запустите сервер.
Если файл saves/{SAVE_NAME}.zip отсутствует, сервер создаст новый мир с текущими настройками генерации.
Пример:
SAVE_NAME=gamesaveСервер будет использовать:
saves/gamesave.zipЕсли файла нет, будет создан новый мир.
Загрузка существующего сохранения
Чтобы перенести готовый мир на сервер:
- Остановите сервер.
- Загрузите файл сохранения
.zipв папкуsaves/. - В Startup укажите имя файла в
SAVE_NAMEбез.zip. - Запустите сервер.
Пример:
saves/my-world.zip
SAVE_NAME=my-worldЕсли указать в SAVE_NAME неправильное имя, сервер не загрузит нужный мир и может создать новое сохранение.
Ручное сохранение
Для ручного сохранения используйте команду:
/server-saveДля сохранения в отдельный файл:
/server-save backup-nameФайл будет создан в папке saves/.
Подключение игроков
Есть два варианта подключения:
- через публичный браузер Factorio;
- через прямое подключение по адресу
IP:Port.
Публичный браузер
Для отображения в публичном браузере должны быть настроены:
SERVER_USERNAME
SERVER_TOKENи в server-settings.json должна быть включена публичная видимость:
"visibility": {
"public": true,
"lan": true
}Прямое подключение
Для прямого подключения используйте адрес сервера в формате:
IP:PortЕсли сервер не отображается в публичном браузере, но запускается без ошибок, используйте прямое подключение и проверьте токен Factorio.
Несоответствие версий
Игроки должны использовать ту же версию Factorio, что и сервер.
- сервер
latest— игроки должны использовать стабильную версию; - сервер
experimental— игроки должны использовать экспериментальную версию.
Если версии отличаются, игрок не сможет подключиться или получит ошибку несовместимости.
Если настройки не применяются
- значение перезаписывается параметром Startup;
- JSON-файл содержит синтаксическую ошибку;
- сервер не был перезапущен после изменения;
- редактируется не тот файл;
SAVE_NAMEуказывает на другое сохранение;- настройки генерации изменены после создания мира и уже не влияют на существующую карту.
Если сервер не появляется в браузере
SERVER_USERNAMEпустой или неверный;SERVER_TOKENпустой, неверный или отозван;- в
visibility.publicуказаноfalse; - сервер закрыт паролем, а фильтры клиента скрывают такие серверы;
- клиент игрока находится на другой версии Factorio;
- сервер ещё не завершил запуск.
Что лучше не трогать без причины
SERVER_TOKEN, если публичный браузер уже работает;SAVE_NAME, если сервер должен загружать текущий мир;map-gen-settings.jsonна уже созданном мире, если ожидается изменение существующей карты;require_user_verificationна публичном сервере;allow_commandsбез понимания последствий;- файлы сохранений без резервной копии.
Краткая шпаргалка
Стабильная версия:
FACTORIO_VERSION=latest
Экспериментальная версия:
FACTORIO_VERSION=experimental
Сохранение:
SAVE_NAME=gamesave
Файл: saves/gamesave.zip
Публичный сервер:
SERVER_USERNAME=YourFactorioUsername
SERVER_TOKEN=YourToken
visibility.public=true
Закрытый сервер:
game_password=StrongPassword
Ручное сохранение:
/server-save
Сохранение в отдельный файл:
/server-save backup-name