How to use the 'factorio' Command (with examples)
- Linux
- December 17, 2024
The ‘factorio’ command is a versatile tool that allows users to create and manage headless Factorio server instances. Factorio is a popular strategy and simulation game known for its intricate production and factory-building mechanics. A headless server is a game server that runs without a graphical user interface, typically used for hosting multiplayer sessions. This command grants players the capability to create a game environment, manage save files, and run dedicated servers, enabling seamless multiplayer experiences.
Use case 1: Create a new save file
Code:
path/to/factorio --create path/to/save_file.zip
Motivation for using this example:
Creating a new save file using the ‘factorio’ command is essential for initializing a Factorio game environment, especially when preparing to host a new multiplayer server. This save file will serve as a blank canvas that players can use to start building their factories. By having a generic save file, players can re-use and customize the initial settings for different sessions, ensuring consistency and control over the game’s starting conditions.
Explanation for every argument in the command:
path/to/factorio
: This part of the command specifies the location of the Factorio executable file. This path must point to where Factorio is installed or where the executable can be accessed. It ensures the command can locate and run the Factorio application needed to perform the requested operation.--create
: This argument instructs Factorio to generate a new save file. It tells the program that the intention is not to resume or modify an existing game but to start from scratch, crafting a fresh save file for future use.path/to/save_file.zip
: This specifies the destination and filename of the new save file. Choosing an appropriate directory and file name is crucial, as it allows for organized storage and easy retrieval of save files. The.zip
extension is standard for Factorio save files, allowing compression and efficient storage.
Example output:
When this command is successfully executed, you will see a message indicating a new save file has been created, such as:
Info ServerMultiplayerManager.cpp:112: Downloading settings.
0.001 2023-05-15 18:45:06; Factorio 1.1.53 (build 59462, win64, headless)
0.002 Operating system: Windows 10 (build 19041)
0.003 Command line: "path/to/factorio" "--create" "path/to/save_file.zip"
...
0.090 Info ServerMultiplayerManager.cpp:588: Map save file created: path/to/save_file.zip
This output provides confirmation that the save file has been successfully created and is ready to be used for server hosting or gameplay.
Use case 2: Start a Factorio server
Code:
path/to/factorio --start-server path/to/save_file.zip
Motivation for using this example:
Starting a Factorio server using a predetermined save file is a fundamental task for hosting a multiplayer game session. It allows players to resume a game or start a game with a specific configuration, particularly useful when hosting community events or sessions with friends. Having control over the server settings and being able to quickly deploy a game is crucial in managing large groups, ensuring a smooth and reliable gameplay experience for all participants.
Explanation for every argument in the command:
path/to/factorio
: Just like in the previous use case, this specifies the path to the Factorio executable file. Correct path specification is critical for executing the command correctly.--start-server
: This argument tells Factorio to initiate a server instance. It essentially switches the program into a mode where it listens for incoming player connections, synchronizes game data, and manages the multiplayer environment.path/to/save_file.zip
: This argument points to the specific save file that the server will use as its starting point. Using a saved game ensures that all the game conditions, player progress, and world states are preserved from the moment it was last saved, allowing for continuity in gameplay.
Example output:
Upon successful execution of this command, the server will begin running, and you will see output indicating that the server is active and waiting for player connections, such as:
0.002 2023-05-15 18:50:06; Server started
0.004 Hosting game at: 0.0.0.0:34197
0.006 Loading map path/to/save_file.zip
...
0.080 Info UDPSocket.cpp:27: Opening socket on port 34197
0.082 Info RemoteCommandProcessor.cpp:1523: Starting server game thread
This output indicates the server is operational, the specified map has been loaded, and the game thread is ready to accept players.
Conclusion:
The ‘factorio’ command is a powerful tool for creating and managing Factorio servers. Whether creating a new save file or starting a server, understanding how to deploy these commands allows players to optimize their multiplayer gaming experiences. By mastering these simple yet essential use cases, players can ensure efficient setup and management of their Factorio sessions, providing countless hours of enjoyment in crafting and managing intricate factory systems with friends or communities.