background image
Game Servers 380 7 Days to Die 4 Abiotic Factor 2 Aloft 2 alt:V 2 Americas Army Proving Grounds 2 Among Us 2 Archean 2 ARK Survival Ascended 6 ARK Survival Evolved 3 Arma 3 3 Arma Reforger 2 Aska 2 AssaultCube 2 Assetto Corsa 3 Astro Colony 2 Astroneer 2 Automobilista 2 2 Avorion 2 Banana Shooter 2 Barotrauma 3 BATTALION Legacy 2 BeamNG.drive (BeamMP) 2 Black Mesa 2 Brickadia 2 Call of Duty 2 Citadel: Forged with Fire 2 ClassiCube 2 Clone Hero 2 Colony Survival 2 Conan Exiles 4 Contagion 2 Core Keeper 2 Counter-Strike 2 3 Craftopia 2 CryoFall 2 CS2D 2 Cube 2: Sauerbraten 2 Cubic Odyssey 2 DayZ 4 DDNet 2 DDRaceNetwork 2 Dead Matter 2 Dont Starve Together 4 Eco 2 Empyrion Galactic Survival 2 Enshrouded 3 Escape from Tarkov 2 Euro Truck Simulator 2 2 Factorio 2 Farming Simulator 25 2 Fistful of Frags 2 FiveM 3 FortressCraft Evolved 2 Foundry 2 Foundry VTT 2 Frozen Flame 2 FTL Tachyon 2 Garrys Mod 3 Ground Branch 2 Half-Life 2 Deathmatch 2 Hogwarp 2 Holdfast: Nations at War 2 HumanitZ 2 Hurtworld 2 Hytale 1 Icarus 2 Insurgency Sandstorm 2 IOSoccer 2 Just Cause 3 Multiplayer 2 Kerbal Space Program 2 Killing Floor 2 3 LeagueSandbox 2 Left 4 Dead 2 Left 4 Dead 2 3 Longvinter 2 Los Angeles Crimes 2 Medal of Honor 2 Midnight Ghost Hunt 2 Mindustry 2 Minecraft 4 Minetest 2 Modiverse 2 Mordhau 3 Mount & Blade II: Bannerlord 2 Myth of Empires 2 Nazi Zombies Portable 2 Necesse 2 NeosVR 2 Neverwinter Nights EE 2 Night of the Dead 2 Nightingale 2 No Love Lost 2 No More Room in Hell 2 No One Survived 2 Nova-Life Amboise 2 Nuclear Option 2 Onset 2 Open Fortress 2 OpenArena 2 OpenRA 2 OpenRCT2 2 OpenTTD 2 Operation Harsh Doorstop 2 Palworld 3 Path of Titans 2 Pavlov VR 3 PixARK 2 Plains of Pain 2 Portal Knights 2 Post Scriptum 2 Project Zomboid 8 Puck 2 Quake Live 2 R5Reloaded 2 RedM 2 Renown 2 Resonite 2 Return to Moria 2 Rimworld Together 2 Rising World 2 Risk of Rain 2 1 Rust 4 Satisfactory 1 SCP Secret Laboratory 3 SCUM 2 Smalland 2 Solace Crafting 2 Soldat 2 Soldat 2 2 Sonic Robo Blast 2 2 Sons of the Forest 2 Soulmask 2 SourceCoop 2 Space Engineers 3 Space Station 14 2 Squad 3 Starbound 3 StarMade 2 Stationeers 2 Stormworks 2 Subnautica Nitrox 2 Sunkenland 2 SuperTuxKart 2 Sven Co-op 2 Swords 'n Magic and Stuff 2 Team Fortress 2 3 Teeworlds 2 Terraria 3 TerraTech Worlds 2 TF2 Classified 2 The Forest 3 The Front 2 The Isle 2 Tower Unite 2 Trackmania 2 Unturned 4 Urban Terror 2 V Rising 3 Valheim 3 VEIN 2 Veloren 2 Vintage Story 3 Voyagers of Nera 2 Wolfenstein: Enemy Territory 2 Wreckfest 2 Wurm Unlimited 2 Xonotic 2 Zandronum 2 Getting Started 2 Network & Connectivity 1 Server Management 2
Категории

Factorio Server Setup

Доступно на: ESPAÑOL PORTUGUÊS (BRASIL)

This guide covers everything you need to configure and run your Factorio dedicated server on Legion Hosting, including account authentication, startup variables, server settings, world generation, connecting players, and save management. For mod installation, see Factorio Mod Installation.

Server Panel: All server management is done through GPanel at gpanel.legionhosting.net. Use the File Manager or SFTP to edit configuration files.

1. Getting a Factorio Account Token

A Factorio account username and token are required if you want your server to appear in the public multiplayer server browser. They are also needed for downloading mods from the official mod portal.

  1. Go to factorio.com/login and sign into your Factorio account.
  2. Navigate to your Profile page.
  3. Scroll down to the API Authentication Tokens section.
  4. Click Generate to create a new token (or copy your existing token).
  5. Copy the token string -- you will paste it into GPanel's Startup tab in the SERVER_TOKEN field.
Keep your token private. Your authentication token grants access to your Factorio account for server operations. Do not share it publicly. If you suspect it has been compromised, regenerate it immediately on the Factorio website.
Private servers: If you only want players to connect via direct IP and do not need your server listed publicly, you can leave SERVER_USERNAME and SERVER_TOKEN empty. However, the server will not be able to download mods from the mod portal automatically without valid credentials.

2. First Start

After purchasing your Factorio server from Legion Hosting, follow these steps to get it running for the first time:

  1. Log into GPanel and select your Factorio server.
  2. Go to the Startup tab.
  3. Set the FACTORIO_VERSION variable:
    • latest -- installs the current stable release (recommended for most players).
    • experimental -- installs the latest experimental/beta build with the newest features, but may have bugs.
  4. Set your SERVER_NAME to whatever you want displayed in the server browser.
  5. Fill in SERVER_USERNAME and SERVER_TOKEN if you want public server listing (see section above).
  6. Go to the Console tab and click Start.
  7. The server will download the Factorio dedicated server files and generate a default save. This may take a few minutes on first launch.
Version changes: To switch between stable and experimental, update the FACTORIO_VERSION variable in the Startup tab and restart your server. The new version will be downloaded automatically.

3. GPanel Startup Variables

These variables are configured in GPanel's Startup tab and control core server behavior. They take effect on each server start.

Variable Default Description
FACTORIO_VERSION latest Server version to install. Use latest for stable or experimental for the latest beta.
SAVE_NAME gamesave Name of the save file the server loads on startup (without extension).
SERVER_NAME Server name displayed in the multiplayer browser.
SERVER_DESC Short description shown alongside the server name in the browser.
SERVER_USERNAME Your Factorio account username. Required for public server listing and mod downloads.
SERVER_TOKEN Your Factorio account authentication token. Required alongside username for public listing.
MAX_SLOTS 20 Maximum number of player slots on the server.
SAVE_INTERVAL 10 Auto-save interval in minutes.
SAVE_SLOTS 5 Number of rotating auto-save slots. Older saves are overwritten when this limit is reached.
AFK_KICK 0 Minutes before an idle player is kicked. 0 disables AFK kick.

4. server-settings.json

The primary server configuration file is located at:

data/server-settings.json

Edit this file via the File Manager in GPanel or through SFTP. Below are the most important settings.

Startup variable overlap: Some GPanel startup variables (such as SERVER_NAME, SERVER_DESC, MAX_SLOTS, SERVER_USERNAME, and SERVER_TOKEN) may override corresponding values in server-settings.json at startup. Always check your Startup tab values first if settings appear to not take effect.
Setting Default Description
name "" Server name shown in the multiplayer browser.
description "" Server description shown in the browser.
tags [] Array of tag strings (e.g., ["modded", "vanilla", "friendly"]) for filtering in the browser.
max_players 0 Maximum players. 0 means unlimited (use MAX_SLOTS startup variable instead).
visibility {"public": true, "lan": true} Controls whether the server appears in the public browser and/or LAN browser. Requires valid username and token for public visibility.
game_password "" Password required to join. Leave empty for no password.
require_user_verification true When true, only players with a verified Factorio account can join.
autosave_interval 10 Auto-save interval in minutes (may be overridden by SAVE_INTERVAL startup variable).
autosave_slots 5 Number of rotating auto-save files (may be overridden by SAVE_SLOTS startup variable).
afk_autokick_interval 0 AFK kick timeout in minutes. 0 disables it.
auto_pause true Pauses the game when no players are connected. Saves resources on your server.
only_admins_can_pause_the_game true Restricts the pause ability to server admins only.
admins [] Array of Factorio usernames who have admin privileges (e.g., ["YourUsername"]). Admins can kick, ban, and run commands.

Example 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. Map Generation

Factorio uses two configuration files to control how new maps are generated and how the world behaves during gameplay.

map-gen-settings.json (World Generation)

Located at:

data/map-gen-settings.json

This file controls the terrain, resource distribution, and enemy placement when a new map is created. Changes to this file only take effect when generating a fresh map -- they do not alter an existing save.

Setting Description
width / height Map dimensions in tiles. 0 means infinite (default). Set specific values to limit map size.
seed Map generation seed. Use null for a random seed, or specify a number to reproduce a specific map.
peaceful_mode false by default. When true, enemies will not attack first.
autoplace_controls Controls frequency, size, and richness of resources and terrain features. Each entry (e.g., iron-ore, copper-ore, coal, stone, crude-oil, trees, enemy-base) accepts frequency, size, and richness values.
cliff_settings Controls cliff generation: name, cliff_elevation_0 (first cliff altitude), cliff_elevation_interval (spacing between cliff levels), richness (cliff density).
starting_area Size of the safe starting area (no enemies). Default is 1. Higher values give more room before encountering biters.
property_expression_names Advanced terrain expressions for water coverage, elevation, and moisture. control-setting:moisture:bias and similar keys adjust terrain generation.

Resource Frequency, Size, and Richness Values

For each resource in autoplace_controls, you can adjust three properties. Values are multipliers where 1 is normal:

Property Effect
frequency How often the resource appears. Higher = more patches spread across the map.
size How large each resource patch is.
richness How many items each tile of the resource yields before depletion.

Example 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 (Runtime World Behavior)

Located at:

data/map-settings.json

This file controls runtime behavior such as pollution spread, enemy evolution, and expansion. Unlike map-gen-settings.json, some of these settings can affect an existing save when changed and the map is reloaded.

Section Key Settings Description
pollution enabled, diffusion_ratio, ageing, min_to_diffuse Controls whether pollution spreads, how fast it diffuses, and how quickly it decays. Disabling pollution also disables pollution-driven enemy attacks.
enemy_evolution enabled, time_factor, destroy_factor, pollution_factor Controls how enemies evolve over time, from destroying spawners, and from pollution. Lower factors = slower evolution. Set enabled to false to freeze evolution entirely.
enemy_expansion enabled, max_expansion_distance, settler_group_min_size, settler_group_max_size, min_expansion_cooldown, max_expansion_cooldown Controls whether enemies build new bases and how aggressively they expand. Disable to prevent biters from spreading across the map.
steering default, moving Pathfinding behavior for units. Rarely needs adjustment.

Example 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. Creating a New Map

By default, your server generates a map with standard settings on first start. To create a fresh map with custom generation settings:

  1. Stop your server in GPanel.
  2. Edit data/map-gen-settings.json and data/map-settings.json with your desired world generation and runtime settings (see section above).
  3. Navigate to the saves directory in the File Manager.
  4. Delete or rename the existing save file (e.g., gamesave.zip) so the server generates a new one.
  5. Ensure the SAVE_NAME startup variable matches the save file name you want (default is gamesave).
  6. Start the server. It will detect that no save exists with that name and generate a new map using your updated settings.
Back up first. Before deleting any save file, download a backup via SFTP or the File Manager. Deleted saves cannot be recovered.
Map seed: If you want to reproduce a specific world layout, set the seed value in map-gen-settings.json to a specific number before generating. Use null for a random seed.

7. How to Connect

There are two ways for players to connect to your Factorio server.

Option A: Public Server Browser

If you have configured SERVER_USERNAME and SERVER_TOKEN with valid Factorio credentials and visibility.public is set to true:

  1. Open Factorio and click Play.
  2. Select Multiplayer.
  3. Click Browse public games.
  4. Use the search bar to find your server by name.
  5. Click the server to join. Enter the game password if one is set.

Option B: Direct Connect

  1. Open Factorio and click Play.
  2. Select Multiplayer.
  3. Click Connect to address.
  4. Enter your server's IP address and port in the format: IP:Port
  5. Click Connect.
Finding your IP and port: See How to Find Your Server IP and Port for where to locate these in GPanel.
Version mismatch: All connecting players must be running the same Factorio version as the server. If players cannot connect, verify that both the server and client are on the same version (stable or experimental). Players can select their game version in the Factorio launcher or via Steam's beta branch settings.

8. Save Management

Auto-Save Configuration

Auto-saves are controlled by two startup variables:

  • SAVE_INTERVAL -- How often the server auto-saves, in minutes (default: 10).
  • SAVE_SLOTS -- The number of rotating auto-save files kept (default: 5). Once the limit is reached, the oldest auto-save is overwritten.

Auto-save files are stored in the saves directory with names like _autosave1.zip, _autosave2.zip, etc.

Manual Saves

You can trigger a manual save at any time by running the following command in the GPanel console:

/server-save

This creates a save using the current SAVE_NAME. You can also save to a specific filename:

/server-save my-backup

Uploading an Existing Save

To transfer an existing Factorio world to your server:

  1. Stop your server in GPanel.
  2. Locate your local save file. On most systems, Factorio saves are found at:
    • Windows: %APPDATA%\Factorio\saves\
    • Linux: ~/.factorio/saves/
    • macOS: ~/Library/Application Support/factorio/saves/
  3. Upload the .zip save file to the saves directory on your server via the File Manager or SFTP.
  4. In GPanel's Startup tab, set SAVE_NAME to the uploaded file name (without the .zip extension).
  5. Start the server.
Version compatibility: Your uploaded save must be compatible with the Factorio version running on the server. If the save was created on a newer version, the server will fail to load it. Match the FACTORIO_VERSION startup variable to the version your save was created with.

Related Articles

Need Help?

If you are experiencing issues not covered in this guide, open a support ticket with your server details and a description of the problem.


Была ли эта статья полезной?

Ready to Get Started?

The servers are booted, select your plan and become our latest satisfied client.