# Factorio [](https://microbadger.com/images/dtandersen/factorio "Get your own image badge on microbadger.com") [](https://hub.docker.com/r/dtandersen/factorio/) [](https://hub.docker.com/r/dtandersen/factorio/)
Try to connect to the server. Check the logs if it isn't working.
## Console
To issue console commands to the server, start the server in interactive mode with `-it`. Open the console with `docker attach` and then type commands.
docker run -d -it \
--name factorio \
dtandersen/factorio
docker attach factorio
## Upgrading
Before upgrading backup the save. It's easy to make a save in the client.
Ensure `-v` was used to run the server so the save is outside of the Docker container. The `docker rm` command completely destroys the container, which includes the save if it isn't stored in an data volume.
Delete the container and refresh the image:
docker stop factorio
docker rm factorio
docker pull dtandersen/factorio
Now run the server as before. In about a minute the new version of Factorio should be up and running, complete with saves and config!
## Saves
A new map named `_autosave1.zip` is generated the first time the server is started. The `map-gen-settings.json` file in `/tmp/factorio/config`is used for the map settings. On subsequent runs the newest save is used.
A new map named `_autosave1.zip` is generated the first time the server is started. The `map-gen-settings.json` and `map-settings.json` files in `/tmp/factorio/config`are used for the map settings. On subsequent runs the newest save is used.
To load an old save stop the server and run the command `touch oldsave.zip`. This resets the date. Then restart the server. Another option is to delete all saves except one.
@ -85,11 +111,20 @@ Copy mods into the mods folder and restart the server.
Set the RCON password in the `rconpw` file. A random password is generated if `rconpw` doesn't exist.
To change the password stop the server, modify `rconpw`, and restart the server.
To change the password, stop the server, modify `rconpw`, and restart the server.
To "disable" RCON don't expose port 27015, i.e. start the server with `-p 34197:34197/udp` instead of `-P`. RCON still runs, but nobody is able to connect to it.
To "disable" RCON don't expose port 27015, i.e. start the server without`-p 27015:27015/tcp`. RCON is still running, but nobody can to connect to it.
## Whitelisting (0.15.3+)
Create file `config/server-whitelist.json` and add the whitelisted users.
[
"you",
"friend"
]
# Container Details
The philosophy is to [keep it simple](http://wiki.c2.com/?KeepItSimple).
@ -107,7 +142,8 @@ To keep things simple, the container uses a single volume mounted at `/factorio`
|-- config
| |-- map-gen-settings.json
| |-- rconpw
| `-- server-settings.json
| |-- server-settings.json
| `-- server-whitelist.json
|-- mods
| `-- fancymod.zip
`-- saves
@ -116,13 +152,13 @@ To keep things simple, the container uses a single volume mounted at `/factorio`
## Ports
*`34197/udp` - Factorio clients (required).
*`34197/udp` - Game server (required).
*`27015/tcp` - RCON (optional).
## Environment Variables
*`PORT` - Start the server on an alterate port, .e.g. `docker run -e "PORT=34198"`.
*`PORT` (0.15+) - Start the server on an alterate port, .e.g. `docker run -e "PORT=34198"`.
## Troubleshooting
@ -140,9 +176,10 @@ To fix the incorrect port, start the Docker service with the `--userland-proxy=f
Use the `PORT` environment variable to start the server on the a different port, .e.g. `docker run -e "PORT=34198"`. This changes the source port on the packets used for port detection. `-p 34198:34197` works fine for private servers, but the server browser detects the wrong port.
* [gnomus](https://github.com/gnomus/docker_factorio_server) - White listing
* [jaredledvina](https://github.com/jaredledvina/docker_factorio_server) - Version update
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.