Compare commits

..

47 Commits

Author SHA1 Message Date
bd5a44dce5 Merge pull request #24 from bkuhl/update-v0.15.11-experimental
Update to v0.15.11-experimental
2017-05-16 12:15:18 -04:00
26584556a3 Merge pull request #23 from tsugliani/patch-5
Update to 0.15.11
2017-05-16 12:14:57 -04:00
3a70062289 Merge branch 'master' into update-v0.15.11-experimental 2017-05-16 11:12:16 -04:00
c3fe70f783 Updated to v0.15.11-experimental 2017-05-16 15:10:55 +00:00
7a5732bbcd Update to 0.15.11 2017-05-16 15:56:00 +02:00
a496ba060b Merge pull request #22 from bkuhl/update-v0.15.10-experimental
Update to v0.15.10-experimental
2017-05-10 11:28:52 -07:00
7e78a4236f Merge branch 'master' into update-v0.15.10-experimental 2017-05-10 13:52:48 -04:00
0c5ff73adb Updated to v0.15.10-experimental 2017-05-10 13:52:13 -04:00
9ad1889aeb 0.15.9 2017-05-06 23:59:30 -07:00
2a23a3fe91 0.15.9 2017-05-05 14:54:07 -07:00
cfcbb035a7 Merge pull request #20 from warmwaffles/master
Bump to version 0.15.9
2017-05-05 14:53:06 -07:00
10f8b0acb6 Bump to version 0.15.9 2017-05-05 16:13:09 -05:00
c7309c1e5c 0.15.8 2017-05-05 11:05:51 -07:00
c845acc09f 0.15 is still 0.15.6 2017-05-05 09:26:22 -07:00
8bfe8b0261 0.15.7 2017-05-05 06:58:19 -07:00
2c7cfc6c65 Merge pull request #18 from tsugliani/patch-3
Update to 0.15.7
2017-05-05 06:57:37 -07:00
1250578039 Update to 0.15.7 2017-05-05 15:54:30 +02:00
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
8e072e8c24 0.15.2 2017-04-25 14:53:37 -07:00
c260815680 0.15.1 2017-04-24 20:32:36 +00:00
fd4680704f save some space by uninstalling curl 2017-04-24 20:19:30 +00:00
b46eefee58 documented PORT 2017-04-24 12:45:04 -07:00
76a76765bb document -dev tag 2017-04-24 11:31:04 -07:00
d6331587b4 updated PORT docs 2017-04-24 11:29:42 -07:00
dfbd6baff6 documented PORT env variable 2017-04-24 11:24:19 -07:00
4872cf89f6 Updated to Alpine 3.5 2017-04-24 17:38:14 +00:00
99c0355d12 0.15.0!!! 2017-04-24 17:33:21 +00:00
7 changed files with 78 additions and 22 deletions

View File

@ -1,24 +1,26 @@
FROM frolvlad/alpine-glibc:alpine-3.4
FROM frolvlad/alpine-glibc:alpine-3.5
MAINTAINER https://github.com/dtandersen/docker_factorio_server
ENV VERSION=0.14.22 \
SHA1=c43fa0d750e8347ec466ce165053db3cd3dc2fe0
ENV PORT=34197 \
VERSION=0.15.11 \
SHA1=bf20dc746f49f13684c91558b99aa3e14e6da2c5
RUN mkdir /opt && \
apk --no-cache add curl tini pwgen && \
apk add --update --no-cache tini pwgen && \
apk add --update --no-cache --virtual .build-deps curl && \
curl -sSL https://www.factorio.com/get-download/$VERSION/headless/linux64 \
-o /tmp/factorio_headless_x64_$VERSION.tar.gz && \
echo "$SHA1 /tmp/factorio_headless_x64_$VERSION.tar.gz" | sha1sum -c && \
tar xzf /tmp/factorio_headless_x64_$VERSION.tar.gz --directory /opt && \
rm /tmp/factorio_headless_x64_$VERSION.tar.gz && \
apk del curl && \
-o /tmp/factorio_headless_x64_$VERSION.tar.xz && \
echo "$SHA1 /tmp/factorio_headless_x64_$VERSION.tar.xz" | sha1sum -c && \
tar xf /tmp/factorio_headless_x64_$VERSION.tar.xz --directory /opt && \
rm /tmp/factorio_headless_x64_$VERSION.tar.xz && \
ln -s /factorio/saves /opt/factorio/saves && \
ln -s /factorio/mods /opt/factorio/mods
ln -s /factorio/mods /opt/factorio/mods && \
apk del .build-deps
VOLUME /factorio
EXPOSE 34197/udp 27015/tcp
EXPOSE $PORT/udp 27015/tcp
COPY ./docker-entrypoint.sh /

0
0.15/build.sh Normal file → Executable file
View File

0
0.15/clean.sh Normal file → Executable file
View File

1
0.15/docker-entrypoint.sh Normal file → Executable file
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)"

0
0.15/run.sh Normal file → Executable file
View File

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,14 +1,17 @@
# 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.14.23`, `0.14`, `latest`, `stable` [(0.14/Dockerfile)](https://github.com/dtandersen/docker_factorio_server/blob/master/0.14/Dockerfile)
* `0.15.11`, `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)
*Tag philosophy*
*Tag descriptions*
* `latest` - highest version: may be experimental.
* `stable` - highest version declared stable.
* `0.x` - highest version in a branch: may be experimental.
* `0.x.y` - a specific version.
* `0.x-dev` - whatever is in master for that version.
# What is Factorio?
@ -64,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.
@ -82,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).
@ -104,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
@ -113,10 +151,15 @@ 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` (0.15+) - Start the server on an alterate port, .e.g. `docker run -e "PORT=34198"`.
## Troubleshooting
**My server is listed in the server browser, but nobody can connect**
@ -127,10 +170,15 @@ By default, Docker routes traffic through a proxy. The proxy changes the source
To fix the incorrect port, start the Docker service with the `--userland-proxy=false` switch. Docker will route traffic with iptables rules instead of a proxy. Add the switch to the `DOCKER_OPTS` environment variable or `ExecStart` in the Docker systemd service definition. The specifics vary by operating system.
**When I run a server on a port besides 34197 nobody can connect from the server browser**
# Credits
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.
Ideas borrowed from:
* [Zopanix](https://github.com/zopanix/docker_factorio_server)
* [Rfvgyhn](https://github.com/Rfvgyhn/docker-factorio)
# Contributors
* [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