Install, patch config files, and run.
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
f645b11ddc
commit
049c5df9e3
|
@ -0,0 +1,9 @@
|
||||||
|
FROM steamcmd/steamcmd:ubuntu
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y libcurl4 && apt-get clean
|
||||||
|
|
||||||
|
WORKDIR /game
|
||||||
|
COPY start.sh /start.sh
|
||||||
|
|
||||||
|
ENTRYPOINT [ "bash" ]
|
||||||
|
CMD [ "/start.sh" ]
|
36
README.md
36
README.md
|
@ -1,3 +1,37 @@
|
||||||
# KillingFloor2Docker
|
# Killing Floor 2 - Docker
|
||||||
|
|
||||||
Dockerised Killing Floor 2 server.
|
Dockerised Killing Floor 2 server.
|
||||||
|
|
||||||
|
Run with the following environment variables:
|
||||||
|
|
||||||
|
```
|
||||||
|
SERVER_NAME (default: KillingFloor2)
|
||||||
|
MOTD (default: KillingFloor)
|
||||||
|
WEBSITE_LINK (default: none)
|
||||||
|
PASSWORD (default: none)
|
||||||
|
ADMIN_PASSWORD (default: VerySecurePassword)
|
||||||
|
WEB_PASSWORD (default: none)
|
||||||
|
MAX_PLAYERS (default: 12)
|
||||||
|
GAME_DIFFICULTY (default: 1)
|
||||||
|
```
|
||||||
|
|
||||||
|
Example `docker-compose.yml` file:
|
||||||
|
|
||||||
|
```yml
|
||||||
|
version: '3'
|
||||||
|
services:
|
||||||
|
killingfloor2:
|
||||||
|
image: docker.nexus.jacknet.io/jackhadrill/games/killingfloor2:latest
|
||||||
|
ports:
|
||||||
|
- '7777:7777/udp'
|
||||||
|
- '27015:27015/tcp'
|
||||||
|
- '8080:8080/tcp'
|
||||||
|
environment:
|
||||||
|
SERVER_NAME: 'JackNet'
|
||||||
|
MOTD: 'Welcome to the JackNet KF2 server.'
|
||||||
|
WEBSITE_LINK: 'https://jacknet.io/'
|
||||||
|
PASSWORD: password123
|
||||||
|
ADMIN_PASSWORD: password123
|
||||||
|
```
|
||||||
|
|
||||||
|
Mount `/game` if you want to persist the server files. Else, it will download on each launch.
|
|
@ -0,0 +1,30 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
ServerName="${SERVER_NAME:-KillingFloor2}"
|
||||||
|
Motd="${MOTD:-KillingFloor2}"
|
||||||
|
WebsiteLink="${WEBSITE_LINK:-}"
|
||||||
|
Password="${PASSWORD:-}"
|
||||||
|
AdminPassword="${ADMIN_PASSWORD:-VerySecurePassword}"
|
||||||
|
WebPassword="${WEB_PASSWORD:-}"
|
||||||
|
MaxPlayers="${MAX_PLAYERS:-12}"
|
||||||
|
GameDifficulty="${GAME_DIFFICULTY:-1}"
|
||||||
|
|
||||||
|
# Update server.
|
||||||
|
steamcmd +login anonymous +force_install_dir /game +app_update 232130 validate +exit
|
||||||
|
|
||||||
|
# Generate default config.
|
||||||
|
/game/Binaries/Win64/KFGameSteamServer.bin.x86_64 exit
|
||||||
|
|
||||||
|
# Patch config files.
|
||||||
|
sed -i "s/GamePassword=.*/GamePassword=${Password}/g" /game/KFGame/Config/LinuxServer-KFGame.ini
|
||||||
|
sed -i "s/AdminPassword=.*/AdminPassword=${AdminPassword}/g" /game/KFGame/Config/LinuxServer-KFGame.ini
|
||||||
|
sed -i "s/MaxPlayers=.*/MaxPlayers=${MaxPlayers}/g" /game/KFGame/Config/LinuxServer-KFGame.ini
|
||||||
|
sed -i "s/GameDifficulty=.*/GameDifficulty=${GameDifficulty}/g" /game/KFGame/Config/LinuxServer-KFGame.ini
|
||||||
|
sed -i "s/ServerMOTD=.*/ServerMOTD=${Motd}/g" /game/KFGame/Config/LinuxServer-KFGame.ini
|
||||||
|
sed -i "s/WebsiteLink=.*/WebsiteLink=${WebsiteLink}/g" /game/KFGame/Config/LinuxServer-KFGame.ini
|
||||||
|
sed -i "s/ServerName=.*/ServerName=${ServerName}/g" /game/KFGame/Config/LinuxServer-KFGame.ini
|
||||||
|
sed -i "s/ShortName=.*/ShortName=${ServerName}/g" /game/KFGame/Config/LinuxServer-KFGame.ini
|
||||||
|
sed -i "s/bEnabled=.*/bEnabled=true/g" /game/KFGame/Config/KFWeb.ini
|
||||||
|
|
||||||
|
# Run
|
||||||
|
/game/Binaries/Win64/KFGameSteamServer.bin.x86_64
|
Loading…
Reference in New Issue