Compare commits

...

205 Commits

Author SHA1 Message Date
7b351c473a 0.14.23 2017-04-24 17:17:15 +00:00
b839d7d339 use --port $PORT to start server 2017-04-24 09:43:32 -07:00
40974755b6 fixed markdown in readme 2017-04-24 09:02:07 -07:00
548f9b27d0 preparation for 0.15 2017-04-24 09:00:45 -07:00
be99942271 Merge pull request #2 from jaredledvina/feature/update-v-0.14.22
Bump version to 0.14.22
2017-02-04 20:05:18 -08:00
f19f731662 Bump version to 0.14.22 2017-02-03 18:26:26 -05:00
eea4c90fa5 0.14.21 is stable 2016-11-30 10:35:58 -08:00
ce161daf33 minor text changes 2016-11-24 19:47:53 -08:00
a3d7c55f68 minor text changes 2016-11-24 19:46:21 -08:00
736dbea3b3 minor text changes 2016-11-24 19:45:05 -08:00
aeb549b3b5 0.14.21 2016-11-24 19:32:02 -08:00
2906b59721 0.14.21 2016-11-24 19:28:57 -08:00
abdce572de promoted 0.14.20 to stable 2016-11-17 10:12:34 -08:00
ca7fc9ff13 0.14.20 2016-11-09 18:03:33 -08:00
ebcca5251c 0.14.19 2016-11-04 13:38:12 -07:00
b72b906fdb Merge branch 'master' of github.com:dtandersen/docker_factorio_server
Conflicts:
	0.14/Dockerfile
2016-11-04 20:28:37 +00:00
b643a13e88 don't cache 2016-11-04 20:25:41 +00:00
6499b0974e 0.14.19 2016-11-04 20:25:28 +00:00
c9052c3296 minor text changes 2016-11-04 13:21:30 -07:00
832e64511d minor text changes 2016-11-03 12:40:17 -07:00
a3890f37fa minor text changes 2016-11-03 12:26:29 -07:00
4089f8d59a 0.14 is stable 2016-11-03 12:10:08 -07:00
4026ec5359 minor text changes 2016-11-03 08:02:43 -07:00
9e93a34d6e minor text changes 2016-11-03 00:50:03 -07:00
05d697afac minor text changes 2016-11-03 00:41:04 -07:00
d9a5604448 didn't need factorio.crt 2016-11-03 01:12:01 +00:00
128e15db7c 0.4.18 2016-11-02 17:50:00 -07:00
71e9179722 minor text changes 2016-11-02 16:48:00 -07:00
e3a97f3448 minor text changes 2016-11-02 16:42:24 -07:00
5506d33475 minor text changes 2016-11-02 16:40:27 -07:00
0314266309 proxy details 2016-11-02 15:37:22 -07:00
16a85d32e9 keep it simple 2016-11-02 12:20:47 -07:00
d36578a471 add 0.13 version 2016-11-01 14:01:30 -07:00
9f8453645a experimental 0.13 version 2016-11-01 20:47:26 +00:00
eb4814f16c clean /tmp/factorio 2016-11-01 20:32:57 +00:00
c85ce5e75a show contents of /tmp/factorio 2016-11-01 20:32:37 +00:00
d4a5f0f019 Merge branch '0.14-dev' of github.com:dtandersen/docker_factorio_server into 0.14-dev 2016-11-01 20:32:00 +00:00
8222bd1b45 use sh instead of bash 2016-11-01 20:31:24 +00:00
de26a241af minor text changes 2016-11-01 10:15:18 -07:00
ea4843498b more on save files 2016-10-31 13:30:08 -07:00
009548446f first save is _autosave1.zip 2016-10-31 13:28:13 -07:00
a48b23201b first save is _autosave1.zip 2016-10-31 20:27:11 +00:00
e9962a431b pretty up tree 2016-10-31 13:20:47 -07:00
2f41a0d660 rcon docs 2016-10-31 13:15:24 -07:00
53c953707b update docs for rcon 2016-10-31 13:07:26 -07:00
b53d98cb2a set rcon password 2016-10-31 19:59:57 +00:00
833de3cc46 run with tini 2016-10-31 19:55:01 +00:00
d94543bbcd minor text changes 2016-10-27 16:14:16 -07:00
7074d5284b fix links 2016-10-27 16:07:35 -07:00
c119b077c8 updated to 0.14.17 2016-10-27 22:37:09 +00:00
479d7e2fe1 move stuff to 0.14 2016-10-27 14:52:54 -07:00
1247c62b13 minor text changes 2016-10-27 12:41:35 -07:00
a7f765a070 Merge branch 'master' of github.com:dtandersen/docker_factorio_server into 0.14.16-dev 2016-10-27 12:28:35 -07:00
1c8b9fd5b9 minor text changes 2016-10-27 12:27:42 -07:00
1ddcbec2c5 Merge pull request #1 from dtandersen/0.14.16-dev
added 0.14 version
2016-10-27 12:06:17 -07:00
2d82e0a19c added 0.14 version 2016-10-27 11:58:19 -07:00
6320dd04df minor text changes 2016-10-27 11:49:22 -07:00
1ea5ddfbee update badges 2016-10-27 11:48:00 -07:00
067ac0ac14 troubleshooting 2016-10-27 11:44:05 -07:00
036a15ce1e minor text changes 2016-10-27 11:36:55 -07:00
003f0cdbe6 minor text changes 2016-10-27 11:30:19 -07:00
43fafdcfe5 minor text changes 2016-10-26 17:36:00 -07:00
667bd97388 Merge remote-tracking branch 'remotes/origin/0.14.16'
# Conflicts:
#	Dockerfile
#	README.md
2016-10-26 17:15:54 -07:00
62da6f5f56 follow symlink 2016-10-27 00:08:21 +00:00
47ca759742 remove sample settings 2016-10-26 16:58:31 -07:00
e12e303d2d docs 2016-10-26 16:56:00 -07:00
ebf0afa524 format list 2016-10-26 16:53:13 -07:00
1b5a9d5b9e format list 2016-10-26 16:52:05 -07:00
3404976818 doc updates 2016-10-26 16:46:21 -07:00
ba68274a7b revise docs 2016-10-26 16:41:54 -07:00
ee509835db describe new volume structure 2016-10-26 16:30:32 -07:00
ee3385959d use one main /factorio volume 2016-10-26 23:15:09 +00:00
0ac68ac31a log example 2016-10-26 15:08:06 -07:00
552520136d remove curl after use 2016-10-26 15:08:06 -07:00
2b63d0ef0e log example 2016-10-26 14:44:56 -07:00
390c76906b remove curl after use 2016-10-26 18:32:06 +00:00
5bc0e128f1 Merge remote-tracking branch 'remotes/origin/0.14.16' 2016-10-26 10:48:08 -07:00
0fdac9cebb specify port 2016-10-26 17:46:34 +00:00
86ec899b06 mount volumes to /tmp 2016-10-26 17:27:28 +00:00
81edeb0183 fixed json syntax 2016-10-26 17:27:11 +00:00
08090e70a0 fixed check for saves 2016-10-26 17:26:47 +00:00
16602ba40b specify location of settings 2016-10-25 21:57:49 -07:00
16b6a5b253 Merge branch '0.14.16' 2016-10-25 14:08:09 -07:00
44f5ffd6b4 add badges 2016-10-25 13:48:02 -07:00
8fd01ef07f Merge remote-tracking branch 'remotes/origin/0.14.16'
# Conflicts:
#	Dockerfile
#	README.md
2016-10-25 13:39:45 -07:00
6b8c0f01ab update checksum 2016-10-25 13:35:32 -07:00
284e7f00b0 update example config 2016-10-25 13:34:55 -07:00
abe0c82a8e add back exec 2016-10-25 12:33:45 -07:00
f90f3c7569 removed exec 2016-10-25 19:30:12 +00:00
9dca3590ae update docs 2016-10-25 11:59:50 -07:00
1e7c8bc8b7 typo 2016-10-25 11:40:53 -07:00
4ed57b0c20 rename entrypoint 2016-10-25 18:39:28 +00:00
88258a263e utility script 2016-10-25 18:31:07 +00:00
f3df464856 simplify startup 2016-10-25 18:30:24 +00:00
3a007b377f update alpine 2016-10-25 18:02:33 +00:00
ddf7f99a2b doc update 2016-10-25 10:28:04 -07:00
8a3df67b52 example config 2016-10-25 10:11:09 -07:00
14b11329d7 updated readme 2016-10-25 17:03:50 +00:00
2d79854697 update readme 2016-10-25 16:58:54 +00:00
65658b10d6 use server-settings.json for settings 2016-10-25 16:49:23 +00:00
be4c89d937 updated to 0.14.14 2016-10-25 15:51:34 +00:00
cb52eb3dff Merge pull request #8 from bkach/0.12.33
Updated to 0.12.33
2016-05-04 07:23:54 +02:00
322fe61b13 Corrected SHA1 2016-05-04 01:43:57 +01:00
3e42118a04 Updated to 0.12.33
- Updated Dockerfile and SHA1
- Updated README
2016-05-03 15:00:35 +01:00
ee861acee5 Merge pull request #7 from dtandersen/0.12.32_update
0.12.32 update
2016-04-30 17:35:26 +02:00
f69732d4f8 updated readme to 0.12.32 2016-04-29 16:08:48 -07:00
86914046e0 updated version and sha1 for 0.12.32 2016-04-29 16:07:55 -07:00
f7c2b144ce updated readme for 0.12.32 2016-04-29 15:56:19 -07:00
a2179f3f61 updated version and sha1 for 0.12.32 2016-04-29 15:51:47 -07:00
3cc553c786 Merge branch 'master' of https://github.com/zopanix/docker_factorio_server into dt_0.12.31 2016-04-29 15:48:27 -07:00
0b3a7bd84c Merge pull request #6 from dtandersen/0.12.31_update
updated to 0.12.31
2016-04-27 13:18:07 +02:00
a28d8315aa updated imagelayers.io badge url 2016-04-26 15:05:59 -07:00
14d1af4d9e updated dockerfile links 2016-04-26 15:01:32 -07:00
b8c0e42baa Merge branch '0.12.31_update' into dt_develop
# Conflicts:
#	Dockerfile
#	README.md
2016-04-26 14:44:56 -07:00
148c01eab0 updated to 0.12.31 2016-04-26 14:26:18 -07:00
99c79f7e64 Revert "Set version to 0.12.29"
This reverts commit 7e0718a332.
2016-04-26 13:51:29 +02:00
11f92f34d8 Set version to 0.12.29 2016-04-26 13:48:32 +02:00
186af111d9 Set Version to 0.12.30 2016-04-24 14:14:19 +02:00
b6f14800ab Set Version to 0.12.29 2016-04-24 14:13:51 +02:00
4a5504cdb6 Set Version to 0.12.28 2016-04-24 14:13:35 +02:00
0e8cb6c26c Set Version to 0.12.27 2016-04-24 14:13:14 +02:00
b950fe99c6 Set Version to 0.12.25 2016-04-24 14:12:44 +02:00
6ed85052ff Set Version to 0.12.25 2016-04-24 14:12:17 +02:00
30425c8d66 Set Version to 0.12.24 2016-04-24 14:11:45 +02:00
522a3a2e93 Trying to fix with alpine 2016-04-24 14:06:44 +02:00
e37cdcc508 Fixing some things 2016-04-24 13:42:15 +02:00
7babfe47ff Fixed typo 2016-04-24 13:36:37 +02:00
bfd2c5f600 Set version back to 0.12.30 2016-04-24 12:56:23 +02:00
3fc2e97f7e Set version to 0.12.29 2016-04-24 12:55:53 +02:00
d141764f44 Remove sha1sum 2016-04-24 12:54:12 +02:00
4a816ad5f9 Added feature alpine with ssl verification and sha1 verification of the image 2016-04-24 12:45:15 +02:00
d1aa470d25 Merge branch 'alpine' 2016-04-14 23:04:50 -07:00
70e936c7e3 how to see logs 2016-04-14 22:54:17 -07:00
f17e773885 formatted the word dockerfile as code 2016-04-14 22:50:29 -07:00
c8af86eaef reformat docs 2016-04-14 22:48:52 -07:00
dcac7d0c46 added versions to top 2016-04-14 22:45:25 -07:00
b6d1748deb added fancy bagde 2016-04-14 22:41:33 -07:00
e1e8ff07e6 added description of factorio 2016-04-14 22:37:25 -07:00
601ee80a47 Merge pull request #4 from dtandersen/autopausetypo2
Fixed spelling of FACTORIO
2016-04-15 07:37:17 +02:00
fd4ed925b2 point to dtandersen repo 2016-04-14 22:23:36 -07:00
2d1f625219 Merge branch 'readme' 2016-04-14 22:14:12 -07:00
7d5e58d4a0 re-enabled SSL security 2016-04-14 22:06:32 -07:00
c535246dac added CA root; removed domain cert 2016-04-14 22:05:59 -07:00
16959ea374 factorio ssl cert 2016-04-14 17:55:35 -07:00
8f6446f088 try using alpine images 2016-04-14 17:55:24 -07:00
65a32b3cbf Corrected a typo.
Merge branch 'autopausetypo2'

# Conflicts:
#	Dockerfile
2016-04-14 16:08:37 -07:00
7ca5892e5e corrected a typo 2016-04-14 16:04:06 -07:00
327fd1c925 Moved factorio link to the top 2016-04-14 16:02:34 -07:00
323718b631 combined ENVs to reduce layer count 2016-04-14 15:20:14 -07:00
8049134ed5 verify SHA1 checksum 2016-04-14 15:03:35 -07:00
0a35d754ec fixed spelling of FACTORIO 2016-04-14 14:36:34 -07:00
cf60f77d53 Merge pull request #2 from guyspronck/master
Updated version to 0.12.30
2016-04-07 10:23:16 +02:00
65315ccfa8 Updated Version number in README 2016-04-06 12:17:42 +02:00
e7ac99c855 Updated version in Dockerfile 2016-04-06 12:16:26 +02:00
7798e07daf Added some env variables to make it more clear 2016-03-28 09:14:53 +02:00
993ca2631c Add a todo 2016-03-27 20:52:16 +02:00
a0551876fa Removed todo as it is done 2016-03-27 19:25:16 +02:00
74a32021de Fixed typo in variable 2016-03-27 19:17:39 +02:00
545297c443 Fixed typo 2016-03-27 19:15:05 +02:00
a9fc7f32d9 Added no auto pause feature 2016-03-27 19:10:33 +02:00
fd2f656e57 Fixed if statement in options 2016-03-27 18:55:08 +02:00
d99ff47bbc Fixed small typo 2016-03-27 18:45:29 +02:00
b056148d75 Added dissalow_commands feature 2016-03-27 18:39:55 +02:00
dfb8b32a10 Refactor Dockerfile 2016-03-27 09:02:10 +02:00
78c79d8fe9 Fixed readme 2016-03-27 08:57:43 +02:00
aa587d172c Fixed readme 2016-03-27 08:56:09 +02:00
a4f5d9a10a Gave readme better readebility 2016-03-27 08:50:17 +02:00
09be8bf68a Add a todo 2016-03-27 08:23:46 +02:00
f589953648 Fixed typo in dockerfile 2016-03-26 18:52:56 +01:00
46d525bcf7 Added mods feature and refactored readme 2016-03-26 18:45:31 +01:00
115dc3b1a9 Made a small fix on autosave features 2016-03-26 18:04:55 +01:00
310cb82749 Fixed minor errors 2016-03-26 15:25:32 +01:00
308f7cad10 Added autosave feature 2016-03-26 10:49:27 +01:00
9044045dac corrected readme 2016-03-26 10:23:21 +01:00
a1e701df66 Added text in readme 2016-03-24 10:35:28 +01:00
87141b2835 Added a link in readme 2016-03-24 10:30:17 +01:00
a6476af82f Corrected small typo 2016-03-24 10:00:34 +01:00
12ec73be53 Added feature to take latest save 2016-03-24 09:43:21 +01:00
ef4c0132d4 Added current version 2016-03-24 09:42:04 +01:00
764b214723 Set version in readme 2016-03-24 08:39:16 +01:00
dcd07982a8 Set version to 0.12.29 2016-03-24 08:26:28 +01:00
7880bd9f65 Set version to 0.12.28 2016-03-23 09:12:59 +01:00
27fc3b97bc Set factorio in 0.1.27 2016-03-21 11:00:04 +01:00
ce1320100b Changed from ubuntu to debian so it would be lighter 2016-03-10 17:44:11 +01:00
3ea1619384 Changed readme 2016-03-10 11:35:35 +01:00
52bd19356f Made some minor correction on dockerfile 2016-03-10 11:01:15 +01:00
bc55163f5c Changed readme 2016-03-10 10:23:22 +01:00
5a4e0d8ebf Set factorio at 0.12.26 2016-03-06 17:48:32 +01:00
361bb94857 Looking to loose some weight 2016-03-05 14:13:05 +01:00
048d12ef75 Enriched readme 2016-03-04 15:50:01 +01:00
4d8c94a6c8 Fixed typo in dockerfile 2016-03-04 15:28:03 +01:00
fa1af6c03d Removed unsued command 2016-03-04 15:25:20 +01:00
d8b20e5531 Removed unsused command 2016-03-04 15:23:17 +01:00
bdb51f5020 Fixed tar issues and apt issues 2016-03-04 15:21:09 +01:00
87d1c4b0a3 Fixing tar issues 2016-03-04 15:15:28 +01:00
89ef301d3d Fixing tar issues 2016-03-04 14:36:44 +01:00
0960c7c371 Fixing some issues with tar 2016-03-04 14:35:05 +01:00
cc496ccaa0 Skipped certif verification 2016-03-04 14:29:43 +01:00
f9e62fe90d Added full path to docker file 2016-03-04 14:21:38 +01:00
94494299ee Get server from site and removed some files 2016-03-04 13:35:29 +01:00
677dc983e8 Testing docker build 2016-02-29 11:34:01 +01:00
8588fdd6fd Fixed typo 2016-02-26 15:03:32 +01:00
eb22619e44 Removed unused layer 2016-02-26 15:00:46 +01:00
6f33dd8444 Added dynamic creation of map only if needed 2016-02-26 14:59:01 +01:00
43af3aaf33 Initial commit 2016-02-26 11:09:47 +01:00
17 changed files with 434 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.23 \
SHA1=6ef84341c6fc1cf45cfdd6acc8468aaa117b9e8a
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

26
0.15/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.22 \
SHA1=c43fa0d750e8347ec466ce165053db3cd3dc2fe0
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.15/build.sh Normal file
View File

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

1
0.15/clean.sh Normal file
View File

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

35
0.15/docker-entrypoint.sh Normal 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 $PORT \
--start-server-load-latest \
--server-settings $CONFIG/server-settings.json \
--rcon-port 27015 \
--rcon-password "$(cat $CONFIG/rconpw)"

5
0.15/run.sh Normal file
View File

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

138
README.md
View File

@ -1,2 +1,136 @@
# 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.23`, `0.14`, `latest`, `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*
* `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.
# 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 34197:34197/udp -p 27015:27015/tcp \
-v /tmp/factorio:/factorio \
--name factorio \
--restart=always \
dtandersen/factorio
```
For those new to Docker, here is an explanation of the options:
* `-d` - Run as a daemon ("detached").
* `-p` - Expose ports.
* `-v` - Mount `/tmp/factorio` on the local file system to `/factorio` in the container.
* `--restart` - Restart the server if it crashes and at system start
* `--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
**My server is listed in the server browser, but nobody can connect**
Check the logs. If there is the line `Own address is RIGHT IP:WRONG PORT`, then this could be caused by the Docker proxy. If the the IP and port is correct it's probably a port forwarding or firewall issue instead.
By default, Docker routes traffic through a proxy. The proxy changes the source UDP port, so the wrong port is detected. See the forum post *[Incorrect port detected for docker hosted server](https://forums.factorio.com/viewtopic.php?f=49&t=35255)* for details.
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.
# Credits
Ideas borrowed from:
* [Zopanix](https://github.com/zopanix/docker_factorio_server)
* [Rfvgyhn](https://github.com/Rfvgyhn/docker-factorio)