Compare commits

...

181 Commits

Author SHA1 Message Date
David Andersen
7dd16c1e3a didn't need factorio.crt 2016-11-03 01:12:01 +00:00
David Andersen
7fe00ee1e1 0.4.18 2016-11-02 17:50:00 -07:00
David Andersen
2600a90c4e minor text changes 2016-11-02 16:48:00 -07:00
David Andersen
67e6e928a6 minor text changes 2016-11-02 16:42:24 -07:00
David Andersen
3643eebca1 minor text changes 2016-11-02 16:40:27 -07:00
David Andersen
012180bae6 proxy details 2016-11-02 15:37:22 -07:00
David Andersen
ff2bfae329 keep it simple 2016-11-02 12:20:47 -07:00
David Andersen
0309a94ed9 add 0.13 version 2016-11-01 14:01:30 -07:00
David Andersen
d10a30c01f experimental 0.13 version 2016-11-01 20:47:26 +00:00
David Andersen
52840aff65 clean /tmp/factorio 2016-11-01 20:32:57 +00:00
David Andersen
07b066754d show contents of /tmp/factorio 2016-11-01 20:32:37 +00:00
David Andersen
c6c76b5a41 Merge branch '0.14-dev' of github.com:dtandersen/docker_factorio_server into 0.14-dev 2016-11-01 20:32:00 +00:00
David Andersen
9fbd7d92bc use sh instead of bash 2016-11-01 20:31:24 +00:00
David Andersen
ef731d433a minor text changes 2016-11-01 10:15:18 -07:00
David Andersen
35ee88bf7f more on save files 2016-10-31 13:30:08 -07:00
David Andersen
fb0d9e444b first save is _autosave1.zip 2016-10-31 13:28:13 -07:00
David Andersen
b99b296865 first save is _autosave1.zip 2016-10-31 20:27:11 +00:00
David Andersen
7bedca570d pretty up tree 2016-10-31 13:20:47 -07:00
David Andersen
9a0de68628 rcon docs 2016-10-31 13:15:24 -07:00
David Andersen
08a2732ee3 update docs for rcon 2016-10-31 13:07:26 -07:00
David Andersen
c8d64cc1db set rcon password 2016-10-31 19:59:57 +00:00
David Andersen
f096877853 run with tini 2016-10-31 19:55:01 +00:00
David Andersen
bf83c650bc minor text changes 2016-10-27 16:14:16 -07:00
David Andersen
7205f9fb2a fix links 2016-10-27 16:07:35 -07:00
David Andersen
f9fbd2a59f updated to 0.14.17 2016-10-27 22:37:09 +00:00
David Andersen
9fcbb9ba24 move stuff to 0.14 2016-10-27 14:52:54 -07:00
David Andersen
60308b60fc minor text changes 2016-10-27 12:41:35 -07:00
David Andersen
f170800d8f Merge branch 'master' of github.com:dtandersen/docker_factorio_server into 0.14.16-dev 2016-10-27 12:28:35 -07:00
David Andersen
4f71f75b72 minor text changes 2016-10-27 12:27:42 -07:00
David Andersen
d73235ea9e Merge pull request #1 from dtandersen/0.14.16-dev
added 0.14 version
2016-10-27 12:06:17 -07:00
David Andersen
7ea6fa3274 added 0.14 version 2016-10-27 11:58:19 -07:00
David Andersen
a511769e70 minor text changes 2016-10-27 11:49:22 -07:00
David Andersen
c5f4b8860e update badges 2016-10-27 11:48:00 -07:00
David Andersen
6e92b0f850 troubleshooting 2016-10-27 11:44:05 -07:00
David Andersen
97cf42b229 minor text changes 2016-10-27 11:36:55 -07:00
David Andersen
007503b7c6 minor text changes 2016-10-27 11:30:19 -07:00
David Andersen
4b6fc187dc minor text changes 2016-10-26 17:36:00 -07:00
David Andersen
dc0034f00d Merge remote-tracking branch 'remotes/origin/0.14.16'
# Conflicts:
#	Dockerfile
#	README.md
2016-10-26 17:15:54 -07:00
David Andersen
487b0d7bd6 follow symlink 2016-10-27 00:08:21 +00:00
David Andersen
1c82a0fb65 remove sample settings 2016-10-26 16:58:31 -07:00
David Andersen
6bfeb9dabf docs 2016-10-26 16:56:00 -07:00
David Andersen
33a9379f9f format list 2016-10-26 16:53:13 -07:00
David Andersen
35eb0fbfb7 format list 2016-10-26 16:52:05 -07:00
David Andersen
ff1c0a954e doc updates 2016-10-26 16:46:21 -07:00
David Andersen
4280ef8cfc revise docs 2016-10-26 16:41:54 -07:00
David Andersen
2cefc1544c describe new volume structure 2016-10-26 16:30:32 -07:00
David Andersen
1c07730c4e use one main /factorio volume 2016-10-26 23:15:09 +00:00
David Andersen
cf4d1cb218 log example 2016-10-26 15:08:06 -07:00
David Andersen
d52709ff0f remove curl after use 2016-10-26 15:08:06 -07:00
David Andersen
7992ded59e log example 2016-10-26 14:44:56 -07:00
David Andersen
06e168f899 remove curl after use 2016-10-26 18:32:06 +00:00
David Andersen
a3ad4c25a1 Merge remote-tracking branch 'remotes/origin/0.14.16' 2016-10-26 10:48:08 -07:00
David Andersen
4cde518f36 specify port 2016-10-26 17:46:34 +00:00
David Andersen
616d78c45f mount volumes to /tmp 2016-10-26 17:27:28 +00:00
David Andersen
730bb5d604 fixed json syntax 2016-10-26 17:27:11 +00:00
David Andersen
f379330b7c fixed check for saves 2016-10-26 17:26:47 +00:00
David Andersen
a9bb898fb2 specify location of settings 2016-10-25 21:57:49 -07:00
David Andersen
6c787666a4 Merge branch '0.14.16' 2016-10-25 14:08:09 -07:00
David Andersen
1a4e5df5a7 add badges 2016-10-25 13:48:02 -07:00
David Andersen
52dcbafedb Merge remote-tracking branch 'remotes/origin/0.14.16'
# Conflicts:
#	Dockerfile
#	README.md
2016-10-25 13:39:45 -07:00
David Andersen
d88da771e9 update checksum 2016-10-25 13:35:32 -07:00
David Andersen
f2c9fbb10c update example config 2016-10-25 13:34:55 -07:00
David Andersen
47d6cfb2b1 add back exec 2016-10-25 12:33:45 -07:00
David Andersen
1e97a95302 removed exec 2016-10-25 19:30:12 +00:00
David Andersen
3f8621f896 update docs 2016-10-25 11:59:50 -07:00
David Andersen
05a3ca45e4 typo 2016-10-25 11:40:53 -07:00
David Andersen
fc42bf7863 rename entrypoint 2016-10-25 18:39:28 +00:00
David Andersen
1dbac7408f utility script 2016-10-25 18:31:07 +00:00
David Andersen
9261339510 simplify startup 2016-10-25 18:30:24 +00:00
David Andersen
8e1a044172 update alpine 2016-10-25 18:02:33 +00:00
David Andersen
b85b998062 doc update 2016-10-25 10:28:04 -07:00
David Andersen
f3b4d8e445 example config 2016-10-25 10:11:09 -07:00
David Andersen
4a48f9234f updated readme 2016-10-25 17:03:50 +00:00
David Andersen
8d90253929 update readme 2016-10-25 16:58:54 +00:00
David Andersen
aca4709d7f use server-settings.json for settings 2016-10-25 16:49:23 +00:00
David Andersen
a2ebf4db2d updated to 0.14.14 2016-10-25 15:51:34 +00:00
zopanix
bbacd8e67d Merge pull request #8 from bkach/0.12.33
Updated to 0.12.33
2016-05-04 07:23:54 +02:00
Boris Kachscovsky
eb0d08c3c3 Corrected SHA1 2016-05-04 01:43:57 +01:00
Boris Kachscovsky
dc53f6a61f Updated to 0.12.33
- Updated Dockerfile and SHA1
- Updated README
2016-05-03 15:00:35 +01:00
zopanix
92d459b14d Merge pull request #7 from dtandersen/0.12.32_update
0.12.32 update
2016-04-30 17:35:26 +02:00
David Andersen
ef55d08655 updated readme to 0.12.32 2016-04-29 16:08:48 -07:00
David Andersen
c5ae7515fe updated version and sha1 for 0.12.32 2016-04-29 16:07:55 -07:00
David Andersen
ec17a32638 updated readme for 0.12.32 2016-04-29 15:56:19 -07:00
David Andersen
15da4f79f5 updated version and sha1 for 0.12.32 2016-04-29 15:51:47 -07:00
David Andersen
68e8a5f25c Merge branch 'master' of https://github.com/zopanix/docker_factorio_server into dt_0.12.31 2016-04-29 15:48:27 -07:00
zopanix
b658982c93 Merge pull request #6 from dtandersen/0.12.31_update
updated to 0.12.31
2016-04-27 13:18:07 +02:00
David Andersen
1d3fc75d20 updated imagelayers.io badge url 2016-04-26 15:05:59 -07:00
David Andersen
a4a482ee91 updated dockerfile links 2016-04-26 15:01:32 -07:00
David Andersen
eafe7c08be Merge branch '0.12.31_update' into dt_develop
# Conflicts:
#	Dockerfile
#	README.md
2016-04-26 14:44:56 -07:00
David Andersen
9acfe47d16 updated to 0.12.31 2016-04-26 14:26:18 -07:00
zopanix
b47b20e834 Revert "Set version to 0.12.29"
This reverts commit 7e0718a332.
2016-04-26 13:51:29 +02:00
zopanix
7e0718a332 Set version to 0.12.29 2016-04-26 13:48:32 +02:00
zopanix
ae327add0b Set Version to 0.12.30 2016-04-24 14:14:19 +02:00
zopanix
efb5eb7afc Set Version to 0.12.29 2016-04-24 14:13:51 +02:00
zopanix
ec1c4f9455 Set Version to 0.12.28 2016-04-24 14:13:35 +02:00
zopanix
edf8035ae3 Set Version to 0.12.27 2016-04-24 14:13:14 +02:00
zopanix
25b41c9f22 Set Version to 0.12.25 2016-04-24 14:12:44 +02:00
zopanix
228339ec31 Set Version to 0.12.25 2016-04-24 14:12:17 +02:00
zopanix
755c106b7b Set Version to 0.12.24 2016-04-24 14:11:45 +02:00
zopanix
f1f76e9ae0 Trying to fix with alpine 2016-04-24 14:06:44 +02:00
zopanix
26f053451c Fixing some things 2016-04-24 13:42:15 +02:00
zopanix
c439634ef1 Fixed typo 2016-04-24 13:36:37 +02:00
zopanix
cc33c84d86 Set version back to 0.12.30 2016-04-24 12:56:23 +02:00
zopanix
8806ca2160 Set version to 0.12.29 2016-04-24 12:55:53 +02:00
zopanix
83bf5c4a11 Remove sha1sum 2016-04-24 12:54:12 +02:00
zopanix
30859d57b8 Added feature alpine with ssl verification and sha1 verification of the image 2016-04-24 12:45:15 +02:00
David Andersen
3e9f74eaac Merge branch 'alpine' 2016-04-14 23:04:50 -07:00
David Andersen
14bbd68a3b how to see logs 2016-04-14 22:54:17 -07:00
David Andersen
d4052bc790 formatted the word dockerfile as code 2016-04-14 22:50:29 -07:00
David Andersen
2fc2b7656d reformat docs 2016-04-14 22:48:52 -07:00
David Andersen
199f6c7f59 added versions to top 2016-04-14 22:45:25 -07:00
David Andersen
d614babc54 added fancy bagde 2016-04-14 22:41:33 -07:00
David Andersen
257e1751c2 added description of factorio 2016-04-14 22:37:25 -07:00
zopanix
e8e5047490 Merge pull request #4 from dtandersen/autopausetypo2
Fixed spelling of FACTORIO
2016-04-15 07:37:17 +02:00
David Andersen
d089b02941 point to dtandersen repo 2016-04-14 22:23:36 -07:00
David Andersen
6fe77c30da Merge branch 'readme' 2016-04-14 22:14:12 -07:00
David Andersen
a97763a0e1 re-enabled SSL security 2016-04-14 22:06:32 -07:00
David Andersen
602881a0d9 added CA root; removed domain cert 2016-04-14 22:05:59 -07:00
David Andersen
b56ab27e52 factorio ssl cert 2016-04-14 17:55:35 -07:00
David Andersen
5edbcd9055 try using alpine images 2016-04-14 17:55:24 -07:00
David Andersen
059a77574e Corrected a typo.
Merge branch 'autopausetypo2'

# Conflicts:
#	Dockerfile
2016-04-14 16:08:37 -07:00
David Andersen
c1488c61be corrected a typo 2016-04-14 16:04:06 -07:00
David Andersen
fb0d7d955b Moved factorio link to the top 2016-04-14 16:02:34 -07:00
David Andersen
a34b260d15 combined ENVs to reduce layer count 2016-04-14 15:20:14 -07:00
David Andersen
5d5cb71a90 verify SHA1 checksum 2016-04-14 15:03:35 -07:00
David Andersen
ad9c5c37dc fixed spelling of FACTORIO 2016-04-14 14:36:34 -07:00
zopanix
63a9eb14d2 Merge pull request #2 from guyspronck/master
Updated version to 0.12.30
2016-04-07 10:23:16 +02:00
Guy Spronck
76eddb14f8 Updated Version number in README 2016-04-06 12:17:42 +02:00
Guy Spronck
24bd934d98 Updated version in Dockerfile 2016-04-06 12:16:26 +02:00
Christophe Vandekerchove
9c873ac907 Added some env variables to make it more clear 2016-03-28 09:14:53 +02:00
Christophe Vandekerchove
c44a3d1faf Add a todo 2016-03-27 20:52:16 +02:00
Christophe Vandekerchove
926a377146 Removed todo as it is done 2016-03-27 19:25:16 +02:00
Christophe Vandekerchove
52bb117a2b Fixed typo in variable 2016-03-27 19:17:39 +02:00
Christophe Vandekerchove
04c4a6b577 Fixed typo 2016-03-27 19:15:05 +02:00
Christophe Vandekerchove
39c27944be Added no auto pause feature 2016-03-27 19:10:33 +02:00
Christophe Vandekerchove
ba9faac10e Fixed if statement in options 2016-03-27 18:55:08 +02:00
Christophe Vandekerchove
c987fe8769 Fixed small typo 2016-03-27 18:45:29 +02:00
Christophe Vandekerchove
606b537b13 Added dissalow_commands feature 2016-03-27 18:39:55 +02:00
Christophe Vandekerchove
9473de8934 Refactor Dockerfile 2016-03-27 09:02:10 +02:00
Christophe Vandekerchove
6b00a3fc32 Fixed readme 2016-03-27 08:57:43 +02:00
Christophe Vandekerchove
34a99ec43e Fixed readme 2016-03-27 08:56:09 +02:00
Christophe Vandekerchove
2caf5345c2 Gave readme better readebility 2016-03-27 08:50:17 +02:00
Christophe Vandekerchove
8a68a162fe Add a todo 2016-03-27 08:23:46 +02:00
Christophe Vandekerchove
96a6f66445 Fixed typo in dockerfile 2016-03-26 18:52:56 +01:00
Christophe Vandekerchove
e5c351dd14 Added mods feature and refactored readme 2016-03-26 18:45:31 +01:00
Christophe Vandekerchove
eedff789a5 Made a small fix on autosave features 2016-03-26 18:04:55 +01:00
Christophe Vandekerchove
20fcec5783 Fixed minor errors 2016-03-26 15:25:32 +01:00
Christophe Vandekerchove
2bfa89fea1 Added autosave feature 2016-03-26 10:49:27 +01:00
Christophe Vandekerchove
ee99e7d469 corrected readme 2016-03-26 10:23:21 +01:00
Christophe Vandekerchove
817844352d Added text in readme 2016-03-24 10:35:28 +01:00
Christophe Vandekerchove
abd518de79 Added a link in readme 2016-03-24 10:30:17 +01:00
Christophe Vandekerchove
98337ac18f Corrected small typo 2016-03-24 10:00:34 +01:00
Christophe Vandekerchove
2bd0d475eb Added feature to take latest save 2016-03-24 09:43:21 +01:00
Christophe Vandekerchove
2d9d8e17b8 Added current version 2016-03-24 09:42:04 +01:00
Christophe Vandekerchove
48c22aa707 Set version in readme 2016-03-24 08:39:16 +01:00
Christophe Vandekerchove
97feb7acb5 Set version to 0.12.29 2016-03-24 08:26:28 +01:00
Christophe Vandekerchove
5ee0f8d06a Set version to 0.12.28 2016-03-23 09:12:59 +01:00
Christophe Vandekerchove
7230263559 Set factorio in 0.1.27 2016-03-21 11:00:04 +01:00
Christophe Vandekerchove
6f65ae8acc Changed from ubuntu to debian so it would be lighter 2016-03-10 17:44:11 +01:00
Christophe Vandekerchove
2fae0bdb22 Changed readme 2016-03-10 11:35:35 +01:00
Christophe Vandekerchove
4f10d32d7b Made some minor correction on dockerfile 2016-03-10 11:01:15 +01:00
Christophe Vandekerchove
61e3941a5a Changed readme 2016-03-10 10:23:22 +01:00
Christophe Vandekerchove
777cac4849 Set factorio at 0.12.26 2016-03-06 17:48:32 +01:00
Christophe Vandekerchove
9a35472d8a Looking to loose some weight 2016-03-05 14:13:05 +01:00
Christophe Vandekerchove
5b3d17117f Enriched readme 2016-03-04 15:50:01 +01:00
Christophe Vandekerchove
234eea09f0 Fixed typo in dockerfile 2016-03-04 15:28:03 +01:00
Christophe Vandekerchove
c5e0b6b3b5 Removed unsued command 2016-03-04 15:25:20 +01:00
Christophe Vandekerchove
df19b88ba0 Removed unsused command 2016-03-04 15:23:17 +01:00
Christophe Vandekerchove
0a39c756a5 Fixed tar issues and apt issues 2016-03-04 15:21:09 +01:00
Christophe Vandekerchove
0cab74d578 Fixing tar issues 2016-03-04 15:15:28 +01:00
Christophe Vandekerchove
23c26f83ae Fixing tar issues 2016-03-04 14:36:44 +01:00
Christophe Vandekerchove
3de6931817 Fixing some issues with tar 2016-03-04 14:35:05 +01:00
Christophe Vandekerchove
7a370c11e0 Skipped certif verification 2016-03-04 14:29:43 +01:00
Christophe Vandekerchove
1a09531600 Added full path to docker file 2016-03-04 14:21:38 +01:00
Christophe Vandekerchove
ea57f58c3b Get server from site and removed some files 2016-03-04 13:35:29 +01:00
Christophe Vandekerchove
5eb71608de Testing docker build 2016-02-29 11:34:01 +01:00
Christophe Vandekerchove
51398ca509 Fixed typo 2016-02-26 15:03:32 +01:00
Christophe Vandekerchove
16dc9c9da2 Removed unused layer 2016-02-26 15:00:46 +01:00
Christophe Vandekerchove
e30bf8d656 Added dynamic creation of map only if needed 2016-02-26 14:59:01 +01:00
Christophe Vandekerchove
3cd89b6870 Set factorio to 0.12.24 2016-02-26 11:30:02 +01:00
Christophe Vandekerchove
f33bfadd47 Initial commit 2016-02-26 11:09:47 +01:00
12 changed files with 356 additions and 2 deletions

28
0.13/Dockerfile Normal file
View File

@@ -0,0 +1,28 @@
FROM frolvlad/alpine-glibc:alpine-3.4
MAINTAINER https://github.com/dtandersen/docker_factorio_server
COPY ./factorio.crt /opt/factorio.crt
ENV VERSION=0.13.20 \
SHA1=59ed0edb3f62f0f41a01fc291959b0a8b44cf631
RUN apk --no-cache add curl tini pwgen && \
curl -sSL --cacert /opt/factorio.crt \
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 && \
ln -s /factorio/saves /opt/factorio/saves && \
ln -s /factorio/mods /opt/factorio/mods
VOLUME /factorio
EXPOSE 34197/udp 27015/tcp
COPY ./docker-entrypoint.sh /
ENTRYPOINT ["/sbin/tini", "--"]
CMD ["/docker-entrypoint.sh"]

1
0.13/build.sh Executable file
View File

@@ -0,0 +1 @@
sudo docker build -t dtandersen/factorio:0.13-dev .

1
0.13/clean.sh Executable file
View File

@@ -0,0 +1 @@
sudo rm -rf /tmp/factorio

35
0.13/docker-entrypoint.sh Executable file
View File

@@ -0,0 +1,35 @@
#!/bin/sh -x
set -e
SAVES=/factorio/saves
CONFIG=/factorio/config
mkdir -p $SAVES
mkdir -p /factorio/mods
mkdir -p $CONFIG
if [ ! -f $CONFIG/rconpw ]; then
echo $(pwgen 15 1) > $CONFIG/rconpw
fi
if [ ! -f $CONFIG/server-settings.json ]; then
cp /opt/factorio/data/server-settings.example.json $CONFIG/server-settings.json
fi
if [ ! -f $CONFIG/map-gen-settings.json ]; then
cp /opt/factorio/data/map-gen-settings.example.json $CONFIG/map-gen-settings.json
fi
if ! find -L $SAVES -iname \*.zip -mindepth 1 -print | grep -q .; then
/opt/factorio/bin/x64/factorio \
--create $SAVES/_autosave1.zip \
--map-gen-settings $CONFIG/map-gen-settings.json
fi
exec /opt/factorio/bin/x64/factorio \
--port 34197 \
--start-server-load-latest \
--server-settings $CONFIG/server-settings.json \
--rcon-port 27015 \
--rcon-password "$(cat $CONFIG/rconpw)"

92
0.13/factorio.crt Normal file
View File

@@ -0,0 +1,92 @@
-----BEGIN CERTIFICATE-----
MIIGCDCCA/CgAwIBAgIQKy5u6tl1NmwUim7bo3yMBzANBgkqhkiG9w0BAQwFADCB
hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV
BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTQwMjEy
MDAwMDAwWhcNMjkwMjExMjM1OTU5WjCBkDELMAkGA1UEBhMCR0IxGzAZBgNVBAgT
EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR
Q09NT0RPIENBIExpbWl0ZWQxNjA0BgNVBAMTLUNPTU9ETyBSU0EgRG9tYWluIFZh
bGlkYXRpb24gU2VjdXJlIFNlcnZlciBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBAI7CAhnhoFmk6zg1jSz9AdDTScBkxwtiBUUWOqigwAwCfx3M28Sh
bXcDow+G+eMGnD4LgYqbSRutA776S9uMIO3Vzl5ljj4Nr0zCsLdFXlIvNN5IJGS0
Qa4Al/e+Z96e0HqnU4A7fK31llVvl0cKfIWLIpeNs4TgllfQcBhglo/uLQeTnaG6
ytHNe+nEKpooIZFNb5JPJaXyejXdJtxGpdCsWTWM/06RQ1A/WZMebFEh7lgUq/51
UHg+TLAchhP6a5i84DuUHoVS3AOTJBhuyydRReZw3iVDpA3hSqXttn7IzW3uLh0n
c13cRTCAquOyQQuvvUSH2rnlG51/ruWFgqUCAwEAAaOCAWUwggFhMB8GA1UdIwQY
MBaAFLuvfgI9+qbxPISOre44mOzZMjLUMB0GA1UdDgQWBBSQr2o6lFoL2JDqElZz
30O0Oija5zAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNV
HSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwGwYDVR0gBBQwEjAGBgRVHSAAMAgG
BmeBDAECATBMBgNVHR8ERTBDMEGgP6A9hjtodHRwOi8vY3JsLmNvbW9kb2NhLmNv
bS9DT01PRE9SU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDBxBggrBgEFBQcB
AQRlMGMwOwYIKwYBBQUHMAKGL2h0dHA6Ly9jcnQuY29tb2RvY2EuY29tL0NPTU9E
T1JTQUFkZFRydXN0Q0EuY3J0MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5jb21v
ZG9jYS5jb20wDQYJKoZIhvcNAQEMBQADggIBAE4rdk+SHGI2ibp3wScF9BzWRJ2p
mj6q1WZmAT7qSeaiNbz69t2Vjpk1mA42GHWx3d1Qcnyu3HeIzg/3kCDKo2cuH1Z/
e+FE6kKVxF0NAVBGFfKBiVlsit2M8RKhjTpCipj4SzR7JzsItG8kO3KdY3RYPBps
P0/HEZrIqPW1N+8QRcZs2eBelSaz662jue5/DJpmNXMyYE7l3YphLG5SEXdoltMY
dVEVABt0iN3hxzgEQyjpFv3ZBdRdRydg1vs4O2xyopT4Qhrf7W8GjEXCBgCq5Ojc
2bXhc3js9iPc0d1sjhqPpepUfJa3w/5Vjo1JXvxku88+vZbrac2/4EjxYoIQ5QxG
V/Iz2tDIY+3GH5QFlkoakdH368+PUq4NCNk+qKBR6cGHdNXJ93SrLlP7u3r7l+L4
HyaPs9Kg4DdbKDsx5Q5XLVq4rXmsXiBmGqW5prU5wfWYQ//u+aen/e7KJD2AFsQX
j4rBYKEMrltDR5FL1ZoXX/nUh8HCjLfn4g8wGTeGrODcQgPmlKidrv0PJFGUzpII
0fxQ8ANAe4hZ7Q7drNJ3gjTcBpUC2JD5Leo31Rpg0Gcg19hCC0Wvgmje3WYkN5Ap
lBlGGSW4gNfL1IYoakRwJiNiqZ+Gb7+6kHDSVneFeO/qJakXzlByjAA6quPbYzSf
+AZxAeKCINT+b72x
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFdDCCBFygAwIBAgIQJ2buVutJ846r13Ci/ITeIjANBgkqhkiG9w0BAQwFADBv
MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFk
ZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBF
eHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFow
gYUxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
BgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMSswKQYD
VQQDEyJDT01PRE8gUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkq
hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAkehUktIKVrGsDSTdxc9EZ3SZKzejfSNw
AHG8U9/E+ioSj0t/EFa9n3Byt2F/yUsPF6c947AEYe7/EZfH9IY+Cvo+XPmT5jR6
2RRr55yzhaCCenavcZDX7P0N+pxs+t+wgvQUfvm+xKYvT3+Zf7X8Z0NyvQwA1onr
ayzT7Y+YHBSrfuXjbvzYqOSSJNpDa2K4Vf3qwbxstovzDo2a5JtsaZn4eEgwRdWt
4Q08RWD8MpZRJ7xnw8outmvqRsfHIKCxH2XeSAi6pE6p8oNGN4Tr6MyBSENnTnIq
m1y9TBsoilwie7SrmNnu4FGDwwlGTm0+mfqVF9p8M1dBPI1R7Qu2XK8sYxrfV8g/
vOldxJuvRZnio1oktLqpVj3Pb6r/SVi+8Kj/9Lit6Tf7urj0Czr56ENCHonYhMsT
8dm74YlguIwoVqwUHZwK53Hrzw7dPamWoUi9PPevtQ0iTMARgexWO/bTouJbt7IE
IlKVgJNp6I5MZfGRAy1wdALqi2cVKWlSArvX31BqVUa/oKMoYX9w0MOiqiwhqkfO
KJwGRXa/ghgntNWutMtQ5mv0TIZxMOmm3xaG4Nj/QN370EKIf6MzOi5cHkERgWPO
GHFrK+ymircxXDpqR+DDeVnWIBqv8mqYqnK8V0rSS527EPywTEHl7R09XiidnMy/
s1Hap0flhFMCAwEAAaOB9DCB8TAfBgNVHSMEGDAWgBStvZh6NLQm9/rEJlTvA73g
JMtUGjAdBgNVHQ4EFgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQD
AgGGMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0gBAowCDAGBgRVHSAAMEQGA1UdHwQ9
MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9BZGRUcnVzdEV4dGVy
bmFsQ0FSb290LmNybDA1BggrBgEFBQcBAQQpMCcwJQYIKwYBBQUHMAGGGWh0dHA6
Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEMBQADggEBAGS/g/FfmoXQ
zbihKVcN6Fr30ek+8nYEbvFScLsePP9NDXRqzIGCJdPDoCpdTPW6i6FtxFQJdcfj
Jw5dhHk3QBN39bSsHNA7qxcS1u80GH4r6XnTq1dFDK8o+tDb5VCViLvfhVdpfZLY
Uspzgb8c8+a4bmYRBbMelC1/kZWSWfFMzqORcUx8Rww7Cxn2obFshj5cqsQugsv5
B5a6SE2Q8pTIqXOi6wZ7I53eovNNVZ96YUWYGGjHXkBrI/V5eu+MtWuLt29G9Hvx
PUsE2JOAWVrgQSQdso8VYFhH2+9uRv0V9dlfmrPb2LjkQLPNlzmuhbsdjrzch5vR
pu/xO28QOG8=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU
MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs
IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290
MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux
FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h
bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v
dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt
H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9
uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX
mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX
a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN
E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0
WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD
VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0
Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU
cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx
IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN
AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH
YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC
Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX
c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a
mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
-----END CERTIFICATE-----

5
0.13/run.sh Executable file
View File

@@ -0,0 +1,5 @@
sudo docker run --rm -it \
-v /tmp/factorio:/factorio \
--name factorio \
dtandersen/factorio:0.13-dev "$@"
find /tmp/factorio -type f

26
0.14/Dockerfile Normal file
View File

@@ -0,0 +1,26 @@
FROM frolvlad/alpine-glibc:alpine-3.4
MAINTAINER https://github.com/dtandersen/docker_factorio_server
ENV VERSION=0.14.18 \
SHA1=8b919fe1c271ca773754f7644b72a8ddec363ae4
RUN mkdir /opt && \
apk --no-cache add curl tini pwgen && \
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 && \
ln -s /factorio/saves /opt/factorio/saves && \
ln -s /factorio/mods /opt/factorio/mods
VOLUME /factorio
EXPOSE 34197/udp 27015/tcp
COPY ./docker-entrypoint.sh /
ENTRYPOINT ["/sbin/tini", "--"]
CMD ["/docker-entrypoint.sh"]

1
0.14/build.sh Executable file
View File

@@ -0,0 +1 @@
sudo docker build --no-cache -t factorio .

1
0.14/clean.sh Executable file
View File

@@ -0,0 +1 @@
sudo rm -rf /tmp/factorio

35
0.14/docker-entrypoint.sh Executable file
View File

@@ -0,0 +1,35 @@
#!/bin/sh -x
set -e
SAVES=/factorio/saves
CONFIG=/factorio/config
mkdir -p $SAVES
mkdir -p /factorio/mods
mkdir -p $CONFIG
if [ ! -f $CONFIG/rconpw ]; then
echo $(pwgen 15 1) > $CONFIG/rconpw
fi
if [ ! -f $CONFIG/server-settings.json ]; then
cp /opt/factorio/data/server-settings.example.json $CONFIG/server-settings.json
fi
if [ ! -f $CONFIG/map-gen-settings.json ]; then
cp /opt/factorio/data/map-gen-settings.example.json $CONFIG/map-gen-settings.json
fi
if ! find -L $SAVES -iname \*.zip -mindepth 1 -print | grep -q .; then
/opt/factorio/bin/x64/factorio \
--create $SAVES/_autosave1.zip \
--map-gen-settings $CONFIG/map-gen-settings.json
fi
exec /opt/factorio/bin/x64/factorio \
--port 34197 \
--start-server-load-latest \
--server-settings $CONFIG/server-settings.json \
--rcon-port 27015 \
--rcon-password "$(cat $CONFIG/rconpw)"

5
0.14/run.sh Executable file
View File

@@ -0,0 +1,5 @@
sudo docker run --rm -it \
-v /tmp/factorio:/factorio \
--name factorio \
factorio "$@"
find /tmp/factorio -type f

128
README.md
View File

@@ -1,2 +1,126 @@
# docker_factorio_server
Factorio Server in Docker
# 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/)
* `0.14.18`, `0.14`, `latest` [(0.14.18/Dockerfile)](https://github.com/dtandersen/docker_factorio_server/blob/0.14.18/0.14/Dockerfile)
* `0.14.17` [(0.14.17/Dockerfile)](https://github.com/dtandersen/docker_factorio_server/blob/0.14.17/0.14/Dockerfile)
* `0.14.16` [(0.14.16/Dockerfile)](https://github.com/dtandersen/docker_factorio_server/blob/0.14.16/0.14/Dockerfile)
* `0.13.20`, `0.13`, `stable` [(0.13.20/Dockerfile)](https://github.com/dtandersen/docker_factorio_server/blob/0.13.20/0.13/Dockerfile)
# What is Factorio?
[Factorio](https://www.factorio.com) is a game in which you build and maintain factories.
You will be mining resources, researching technologies, building infrastructure, automating production and fighting enemies. Use your imagination to design your factory, combine simple elements into ingenious structures, apply management skills to keep it working and finally protect it from the creatures who don't really like you.
The game is very stable and optimized for building massive factories. You can create your own maps, write mods in Lua or play with friends via Multiplayer.
NOTE: This is only the server. The game is available at [factorio.com](https://www.factorio.com) and [Steam](http://store.steampowered.com/app/427520/).
# Usage
## Quick Start
Run the server to create the necessary folder structure and configuration files. For this example data is stored in `/tmp/factorio`.
```
docker run -d -P -v /tmp/factorio:/factorio --name factorio dtandersen/factorio
```
For those new to Docker, here is an explanation of the options:
* `-d` - Run as a daemon ("detached").
* `-P` - Expose all ports.
* `-v` - Mount `/tmp/factorio` on the local file system to `/factorio` in the container.
* `--name` - Name the container "factorio" (otherwise it has a funny random name).
Check the logs to see what happened:
```
docker logs factorio
```
Stop the server:
```
docker stop factorio
```
Now there's a `server-settings.json` file in the folder `/tmp/factorio/config`. Modify this to your liking and restart the server:
```
docker start factorio
```
Try to connect to the server. Check the logs if it isn't working.
## 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.
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.
To generate a new map stop the server, delete all of the saves and restart the server.
## Mods
Copy mods into the mods folder and restart the server.
## RCON
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 "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.
# Container Details
The philosophy is to [keep it simple](http://wiki.c2.com/?KeepItSimple).
* The server should bootstrap itself.
* Prefer configuration files over environment variables.
* Use one volume for data.
## Volumes
To keep things simple, the container uses a single volume mounted at `/factorio`. This volume stores configuration, mods, and saves.
factorio
|-- config
| |-- map-gen-settings.json
| |-- rconpw
| `-- server-settings.json
|-- mods
| `-- fancymod.zip
`-- saves
`-- _autosave1.zip
## Ports
* `34197/udp` - Factorio clients (required).
* `27015/tcp` - RCON (optional).
## Troubleshooting
**Server is listed in the in-game server browser, but users can't connect**
If the logs say `Own address is RIGHT IP:WRONG PORT`, then this could be the problem.
By default, Docker routes outbound traffic through a proxy. The proxy changes the source UDP port, so the server list detects the wrong port. See [Incorrect port detected for docker hosted server](https://forums.factorio.com/viewtopic.php?f=49&t=35255).
To fix this port problem, start the Docker service with the `--userland-proxy=false` switch. This tells Docker to use iptables rules instead of a proxy. Add the switch to the `DOCKER_OPTS` variable or `ExecStart` in the Docker systemd service definition. The location of these files varies by OS.
# Credits
Ideas borrowed from:
* [Zopanix](https://github.com/zopanix/docker_factorio_server)
* [Rfvgyhn](https://github.com/Rfvgyhn/docker-factorio)