initial commit

This commit is contained in:
paul 2017-04-30 21:58:44 +02:00 committed by Hive
commit d62bc29f2d
4 changed files with 100 additions and 0 deletions

18
Dockerfile Normal file
View file

@ -0,0 +1,18 @@
FROM debian:jessie
EXPOSE 34197/udp
RUN \
apt-get --yes update &&\
apt-get --yes install wget xz-utils &&\
apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
WORKDIR /root/
RUN \
wget -O /tmp/headless.tgz https://www.factorio.com/get-download/0.15.5/headless/linux64 &&\
tar xfv /tmp/headless.tgz && rm /tmp/headless.tgz
ADD bin/entrypoint.sh /entrypoint.sh
ADD default-config.json config/default.json
ENTRYPOINT ["/entrypoint.sh"]
CMD ["--server-settings", "config/default.json"]

10
bin/entrypoint.sh Executable file
View file

@ -0,0 +1,10 @@
#!/bin/bash
set -e
FACTORIO_BIN=/root/factorio/bin/x64/factorio
WORLDNAME=/root/saves/world.zip
# Create savefile, if none exists
[ ! -f ${WORLDNAME} ] && ${FACTORIO_BIN} --create ${WORLDNAME}
exec ${FACTORIO_BIN} --start-server ${WORLDNAME} "$@"

60
default-config.json Normal file
View file

@ -0,0 +1,60 @@
{
"name": "Name of the game as it will appear in the game listing",
"description": "Description of the game that will appear in the listing",
"tags": ["game", "tags"],
"_comment_max_players": "Maximum number of players allowed, admins can join even a full server. 0 means unlimited.",
"max_players": 10,
"_comment_visibility": ["public: Game will be published on the official Factorio matching server",
"lan: Game will be broadcast on LAN"],
"visibility":
{
"public": false,
"lan": true
},
"_comment_credentials": "Your factorio.com login credentials. Required for games with visibility public",
"username": "",
"password": "",
"_comment_token": "Authentication token. May be used instead of 'password' above.",
"token": "",
"game_password": "",
"_comment_require_user_verification": "When set to true, the server will only allow clients that have a valid Factorio.com account",
"require_user_verification": true,
"_comment_max_upload_in_kilobytes_per_second" : "optional, default value is 0. 0 means unlimited.",
"max_upload_in_kilobytes_per_second": 0,
"_comment_minimum_latency_in_ticks": "optional one tick is 16ms in default speed, default value is 0. 0 means no minimum.",
"minimum_latency_in_ticks": 0,
"_comment_ignore_player_limit_for_returning_players": "Players that played on this map already can join even when the max player limit was reached.",
"ignore_player_limit_for_returning_players": false,
"_comment_allow_commands": "possible values are, true, false and admins-only",
"allow_commands": "admins-only",
"_comment_autosave_interval": "Autosave interval in minutes",
"autosave_interval": 10,
"_comment_autosave_slots": "server autosave slots, it is cycled through when the server autosaves.",
"autosave_slots": 5,
"_comment_afk_autokick_interval": "How many minutes until someone is kicked when doing nothing, 0 for never.",
"afk_autokick_interval": 0,
"_comment_auto_pause": "Whether should the server be paused when no players are present.",
"auto_pause": true,
"only_admins_can_pause_the_game": true,
"_comment_autosave_only_on_server": "Whether autosaves should be saved only on server or also on all connected clients. Default is true.",
"autosave_only_on_server": true,
"_comment_admins": "List of case insensitive usernames, that will be promoted immediately",
"admins": []
}

12
docker-compose.yml Normal file
View file

@ -0,0 +1,12 @@
version: "3"
services:
factorio:
build: .
ports:
- 34197:34197/udp
volumes:
- world:/root/saves/
volumes:
world: