LogoLogo
  • Home
  • Getting Started
  • Configuration
    • LinuxGSM Config
    • Game Server Config
    • Start Parameters
    • cronjobs
    • Running on Boot
    • Running Multiple Game Servers
    • IP Address Configuration
    • LinuxGSM Stats
  • Commands
    • install
    • start-stop-restart
    • monitor
    • test-alert
    • console
    • debug
    • update
    • check-update
    • force-update
    • validate
    • update-lgsm
    • backup
    • map-compressor
    • details
    • mods
    • skeleton
    • fastdl
    • change-password
  • Game Servers
    • 7 Days to Die
    • Arma 3
    • ARK: Survival Evolved
    • Call of Duty 4
    • Dont Starve Together
    • Counter-Strike 2
    • Counter-Strike: Global Offensive
    • Factorio
    • Garry's Mod
    • Insurgency: SandStorm
    • Killing Floor 2
    • Minecraft: Java Edition
    • Multi Theft Auto
    • Rust
    • Sven Co-op
    • Trackmania Nations Forever / Trackmania United Forever
    • TeamSpeak 3
    • Unreal Tournament 99
    • Unreal Tournament 2004
    • Unreal Tournament 3
    • Valheim
    • Xonotic
    • The Front [WIP]
  • Networking
    • IP Address
    • Ports
    • Source Engine
  • Alerts
    • Discord
    • Email
    • IFTTT
    • Pushbullet
    • Pushover
    • Rocket.Chat
    • Slack
    • Telegram
  • Dependencies
    • Java
    • tmux
    • jq
    • gamedig
    • glibc
  • Features
    • ANSI Colors
    • Stop Mode
    • Log Management
    • Message Display Time
  • SteamCMD
    • Steam Master Server
    • Game Server Login Token
    • Branch
    • LAN Discovery
    • Workshop
    • Error Codes
  • Linux
    • distro
    • ftp-scp
    • file-ownership
    • firewalls
    • network-interfaces
    • permissions
    • Symlinking and ln command
  • Troubleshooting
  • FAQ
  • Guides
    • Security
    • Make Webserver Case Insensitive
    • Sourcemod and Metamod:Source
  • Other
    • server-migration
    • basic-usage
    • brand
Powered by GitBook
On this page
  • Server Resources
  • Server Configuration
  • LinuxGSM Server Config
  • Game Server Config
  • Server Credentials
  • World Generation Settings
  • Overview
  • Adjusting World Generation Settings
  • Adjusting World Generation Settings (Mods)
Edit on GitHub
Export as PDF
  1. Game Servers

Factorio

PreviousCounter-Strike: Global OffensiveNextGarry's Mod

Last updated 1 year ago

Server Resources

Server Configuration

LinuxGSM Server Config

port, rcon and branch configuration is set using stat parameters

## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
ip="0.0.0.0"
port="34197"
rconport="34198"
rconpassword="Change_Me"
# (stable|experimental)
branch="stable"

Specific verison

To use a specific version of Factorio, you can change the branch to the version you want to use :

## Server Start Settings | https://docs.linuxgsm.com/configuration/start-parameters
branch="1.1.87"

One the branch changed, do not forget to update the server :

./fctserver update

Game Server Config

serverfiles/data/fctrserver.json

Useful settings include:

"name": "Name of the game as it will appear in the game listing",
"description": "Description of the game that will appear in the listing",
"tags": ["game", "tags"],

"_comment_max_players": "Maximum number of players allowed, admins can join even a full server. 0 means unlimited.",
"max_players": 0,

"game_password": "",

"_comment_autosave_interval": "Autosave interval in minutes",
"autosave_interval": 10,

"_comment_autosave_slots": "server autosave slots, it is cycled through when the server autosaves.",
"autosave_slots": 5,

Server Credentials

"_comment_credentials": "Your factorio.com login credentials. Required for games with visibility public",
"username": "",
"password": "",

"_comment_token": "Authentication token. May be used instead of 'password' above.",
"token": "",

World Generation Settings

Overview

Specifying world generation settings is a fairly simple task when creating a new world.

The steps to do so are as follows:

  1. Delete any existing world data

  2. Modify map-gen-settings.json

  3. Use the Factorio executable to generate a world with that json

  4. Run Factorio as normal

Follow the Guide below for detailed instructions on doing the above.

Adjusting World Generation Settings

Firstly, delete any existing worlds that are found in the serverfiles directory.

Remember to backup your server

cd serverfiles
rm save1.zip # this will delete your world.
rm -r saves # this directory will only exist if you have ran the server.

In the data directory, copy the example files, then and customise them to your requirements.

cd data
cp map-gen-settings.example.json map-gen-settings.json
cp map-settings.example.json map-settings.json
"none" - equivalent to 0
"very-low", "very-small", "very-poor" - equivalent to 1/2
"low", "small", "poor" - equivalent to 1/sqrt(2)
"normal", "medium", "regular" - equivalent to 1
"high", "big", "good" - equivalent to sqrt(2)
"very-high", "very-big", "very-good" - equivalent to 2

Once complete you will need to generate your World. Go back to the serverfiles directory and run the Factorio binary.

cd ../
./bin/x64/factorio --create ./save1.zip --map-gen-settings data/map-gen-settings.json --map-settings data/map-settings.json

Adjusting World Generation Settings (Mods)

The easiest way that I've found to generate a world with the RSO mod (and add mods in general) is as follows:

  1. Startup Factorio on a client and install the RSO mod

  2. Start generation of a new world and configure mod generation settings

  3. Grab the mod files and mod-settings.dat

  4. Transfer them to the server

  5. Delete or rename any previous worlds

To configure the generation, go to Play > New World > Mod Settings > Map, then adjust options accordingly. Doing so will generate a file called mod-settings.dat which stores these settings.

Windows (Zip file): <install directory>\mods
Windows (Installer): C:\Users\<username>\AppData\factorio\mods
Windows (Steam): C:\Users\<username>\AppData\Roaming\factorio\mods
OSX: ~/Library/"Application Support"/factorio/mods
Linux: ~/.factorio/mods

Note: DO NOT TRANSFER FILES OVER FTP

If you have SSH open on the server, you will want to use SFTP. If you're using Filezilla, setting the port to 22 will tell it to use SFTP. If you're using rsync, the command would look something like this:

rsync -a <source files> <user>@<ip>:<remote destination>

You will want to drop those files in the serverfiles/mods directory. You will also need to delete the existing save so that it generates a new one with the new generation rules. (This is a great time to make backups if you have any progress you would like to save).

Navigate to the root folder of your Factorio installation, then delete the save:

cd serverfiles/
rm -rf save1.zip # this will PERMANENTLY delete your world
rm -rf saves/* # this folder will only exist if you have ran the server

Once you've done that, you're good to start the server.

Configuration for Factorio is split between both the and .

All other settings are located in the Factorio .

If you want your server to be publicly listed on the server browser you will need to enter your profile credentials from the . You can use either a token or password.

In map-gen-settings.json, the can be:

I prefer the added customisation of the to the built-in generation.

You can locate the mod files on your system in the path :

Transfer all of the mods and mod-settings.dat file to your server with a tool like or the rsync command on Mac/Linux, or even a USB drive.

game server config
start parameters
game server config
Factorio website
ore generation values
Resource Overhaul Mod
your Factorio installation saves to
Filezilla
World generation
Factorio server Wiki
Factorio console commands
Factorio Profile