Compare commits

..

21 Commits

Author SHA1 Message Date
97165cfdde 0.15.6 2017-05-02 08:22:17 -07:00
c6f144aff4 Merge pull request #13 from tsugliani/patch-2
Update to 0.15.6
2017-05-02 08:21:52 -07:00
481246c449 Update to 0.15.6 2017-05-02 16:38:07 +02:00
97cdaa825a Merge branch 'master' of github.com:dtandersen/docker_factorio_server 2017-04-30 08:37:53 -07:00
b36c299358 Merge pull request #11 from tsugliani/patch-1
Update to 0.15.5
2017-04-30 08:37:38 -07:00
4e09965476 0.15.5 2017-04-30 08:37:28 -07:00
5340267672 Update to 0.15.5 2017-04-30 13:44:44 +02:00
061d0c6c37 Merge pull request #10 from pshendry/master
Update to 0.15.4
2017-04-29 14:46:33 -07:00
84af48c346 Update to 0.15.4 2017-04-29 14:19:36 -07:00
2ca5f1368c Merge pull request #7 from XanderXAJ/0.15.3
Update 0.15.x branch to 0.15.3
2017-04-27 13:28:42 -07:00
bc0ef1b51e Update 0.15.x branch to 0.15.3 2017-04-27 20:44:14 +01:00
b2fbd707f8 location of server-whitelist.json 2017-04-27 08:32:07 -07:00
a88071d1aa minor text changes 2017-04-26 13:09:29 -07:00
a1f590270b added whitelisting and contributors section to readme 2017-04-26 13:07:40 -07:00
b0b5775365 Merge pull request #6 from gnomus/patch-1
Add possibility to use a whitelist
2017-04-26 12:59:35 -07:00
c988684348 added fancy badge 2017-04-26 12:38:31 -07:00
75e98e0543 Update docker-entrypoint.sh 2017-04-26 21:37:54 +02:00
0bc55d51a8 minor text changes 2017-04-26 12:31:08 -07:00
c50665c37f doc update 2017-04-26 12:29:43 -07:00
81c9d50e7a Add possibility to use a whitelist 2017-04-26 13:29:47 +02:00
c3631942e8 a tidbit about the console 2017-04-25 15:26:32 -07:00
4 changed files with 57 additions and 15 deletions

View File

@ -3,8 +3,8 @@ FROM frolvlad/alpine-glibc:alpine-3.5
MAINTAINER https://github.com/dtandersen/docker_factorio_server
ENV PORT=34197 \
VERSION=0.15.2 \
SHA1=b1fd6f104d746784d86730595e2411a285dfff38
VERSION=0.15.6 \
SHA1=499e329437a663b6a21579a9665c5f8f92ebb9c5
RUN mkdir /opt && \
apk add --update --no-cache tini pwgen && \

View File

@ -31,5 +31,6 @@ exec /opt/factorio/bin/x64/factorio \
--port $PORT \
--start-server-load-latest \
--server-settings $CONFIG/server-settings.json \
--server-whitelist $CONFIG/server-whitelist.json \
--rcon-port 27015 \
--rcon-password "$(cat $CONFIG/rconpw)"

5
0.15/start.sh Executable file
View File

@ -0,0 +1,5 @@
sudo docker run -d -p 34197:34197/udp -p 27015:27015/tcp \
-v factorio:/factorio \
--name factorio \
--restart=always \
factorio

View File

@ -1,10 +1,10 @@
# Factorio [![Docker Pulls](https://img.shields.io/docker/pulls/dtandersen/factorio.svg)](https://hub.docker.com/r/dtandersen/factorio/) [![Docker Stars](https://img.shields.io/docker/stars/dtandersen/factorio.svg)](https://hub.docker.com/r/dtandersen/factorio/)
# Factorio [![](https://images.microbadger.com/badges/image/dtandersen/factorio.svg)](https://microbadger.com/images/dtandersen/factorio "Get your own image badge on microbadger.com") [![Docker Pulls](https://img.shields.io/docker/pulls/dtandersen/factorio.svg)](https://hub.docker.com/r/dtandersen/factorio/) [![Docker Stars](https://img.shields.io/docker/stars/dtandersen/factorio.svg)](https://hub.docker.com/r/dtandersen/factorio/)
* `0.15.2`, `0.15`, `latest` [(0.15/Dockerfile)](https://github.com/dtandersen/docker_factorio_server/blob/master/0.15/Dockerfile)
* `0.15.6`, `0.15`, `latest` [(0.15/Dockerfile)](https://github.com/dtandersen/docker_factorio_server/blob/master/0.15/Dockerfile)
* `0.14.23`, `0.14`, `stable` [(0.14/Dockerfile)](https://github.com/dtandersen/docker_factorio_server/blob/master/0.14/Dockerfile)
* `0.13.20`, `0.13` [(0.13/Dockerfile)](https://github.com/dtandersen/docker_factorio_server/blob/master/0.13/Dockerfile)
*Tags*
*Tag descriptions*
* `latest` - highest version: may be experimental.
* `stable` - highest version declared stable.
@ -67,6 +67,31 @@ docker start 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.
@ -85,11 +110,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 +141,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 +151,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 +175,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.
# Credits
# Contributors
Ideas borrowed from:
* [Zopanix](https://github.com/zopanix/docker_factorio_server)
* [Rfvgyhn](https://github.com/Rfvgyhn/docker-factorio)
* [dtandersen](https://github.com/dtandersen/docker_factorio_server) - Maintainer
* [Zopanix](https://github.com/zopanix/docker_factorio_server) - Originator
* [Rfvgyhn](https://github.com/Rfvgyhn/docker-factorio) - Randomly generate RCON password
* [gnomus](https://github.com/gnomus/docker_factorio_server) - White listing
* [jaredledvina](https://github.com/jaredledvina/docker_factorio_server) - Version update