Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add various servers and rework caching solution #25

Open
wants to merge 71 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
1733723
Fixed OpenTTD so that it builds
matthewh86 Aug 21, 2018
03b75ad
Functional OpenTTD configuration
matthewh86 Aug 21, 2018
bfd569a
Minor space formatting
matthewh86 Aug 21, 2018
98e257b
Add Left4Dead2 metamod
matthewh86 Aug 22, 2018
179e0be
Add Insurgency
matthewh86 Aug 22, 2018
f8ddd43
Add readme
matthewh86 Aug 22, 2018
b31559f
Add GunGame and Hide+Seek
matthewh86 Aug 23, 2018
8e23c20
Add ABM
matthewh86 Aug 25, 2018
5f37157
Change FULL_ADMINS variable (doesn't seem to work)
matthewh86 Aug 25, 2018
35b69cf
Add L4DToolZ and mission changer plugins
matthewh86 Aug 27, 2018
43aad58
Rename l4d2-abm to l4d2-moreslots
matthewh86 Aug 27, 2018
ce409a0
Removed environment/config variables which did not work
matthewh86 Aug 27, 2018
64a2052
Add TICKRATE and update readme with build notes
matthewh86 Aug 27, 2018
f5d6c67
Standardised the css directory contents
matthewh86 Aug 27, 2018
b8fef32
Renamed start scripts
matthewh86 Aug 27, 2018
cd9be2f
Download Trackmania as part of Docker build
matthewh86 Aug 21, 2018
eab7324
Added extra environment variables for configuration
matthewh86 Aug 27, 2018
4b49366
use /openttd as path and set default passwords
matthewh86 Apr 15, 2019
8e9e7fc
Merge remote-tracking branch 'origin/master' into fix-openttd
matthewh86 Apr 15, 2019
f6a5992
Merge pull request #1 from noxtech/fix-openttd
matthewh86 Apr 15, 2019
d5e0971
Merge remote-tracking branch 'origin/master' into fix-trackmania
matthewh86 Apr 15, 2019
0168f3d
Merge pull request #2 from noxtech/fix-trackmania
matthewh86 Apr 15, 2019
2243e2c
Merge remote-tracking branch 'origin/master' into l4d2-metamod
matthewh86 Apr 15, 2019
5ee7490
Merge pull request #3 from noxtech/l4d2-metamod
matthewh86 Apr 15, 2019
c5cda91
Merge remote-tracking branch 'origin/master' into css-hideandseek-gun…
matthewh86 Apr 15, 2019
b17944e
Merge pull request #4 from noxtech/css-hideandseek-gungame
matthewh86 Apr 15, 2019
c5aad24
Merge remote-tracking branch 'origin/master' into add-insurgency
matthewh86 Apr 15, 2019
8f33a65
Merge pull request #5 from noxtech/add-insurgency
matthewh86 Apr 15, 2019
41fd8d0
Merge remote-tracking branch 'origin/master' into l4d2-moreslots
matthewh86 Apr 15, 2019
fc376d5
Merge pull request #6 from noxtech/l4d2-moreslots
matthewh86 Apr 15, 2019
27634c4
Merge remote-tracking branch 'osl/master'
matthewh86 Apr 15, 2019
03ea8a8
Merge remote-tracking branch 'origin/master' into merge-osl
matthewh86 Apr 15, 2019
857f7b0
Merge pull request #7 from noxtech/merge-osl
matthewh86 Apr 15, 2019
38ba50f
remove utility files from CSGO
matthewh86 Apr 15, 2019
b4206a8
update openttd
matthewh86 Apr 16, 2019
7510983
remove common scripts
matthewh86 Apr 16, 2019
c9ef5fd
remove build scripts
matthewh86 Apr 16, 2019
af0a42c
update source readmes with LAN troubleshooting
matthewh86 Apr 16, 2019
85679a2
update l4d2 and steamcmd
matthewh86 Apr 16, 2019
ed7d166
update csgo
matthewh86 Apr 16, 2019
a775d6c
add SCPSL and new caching build script
matthewh86 Aug 22, 2021
64a405f
Merge remote-tracking branch 'osl/master'
matthewh86 Aug 25, 2021
7d98f4e
update csgo and remove build.sh files
matthewh86 Aug 25, 2021
f803030
SCP Secret Laboratory
matthewh86 Aug 22, 2022
9bc3919
l4d2 multislot
matthewh86 Aug 26, 2022
94a98f9
Update SCP EXILED and plugins
matthewh86 Jul 26, 2024
2f5354f
set noninteractive for base
matthewh86 Aug 5, 2024
5931eaf
fix l4d2 and multislot after mod updates
matthewh86 Aug 5, 2024
94fef7d
conform tf2 to new pattern, add metamod and mvm
matthewh86 Aug 5, 2024
d2016be
update scpsl-exiled plugins
matthewh86 Aug 5, 2024
beee73c
conform insurgency to new pattern
matthewh86 Aug 5, 2024
1acdcd3
conform css to new pattern, metamod and gungame
matthewh86 Aug 5, 2024
082f6ad
add EulaAccepted config file
matthewh86 Aug 8, 2024
34e3049
use DOCKER_BUILDKIT
matthewh86 Aug 8, 2024
79fc6eb
tidy up l4d2 filenames
matthewh86 Aug 8, 2024
2b936b9
base and steamcmd minor refactor
matthewh86 Aug 14, 2024
6c988cb
update l4d2
matthewh86 Aug 14, 2024
6bdaf3e
update css
matthewh86 Aug 14, 2024
dfabfca
add cleanup script
matthewh86 Aug 14, 2024
8df3112
update insurgency
matthewh86 Aug 14, 2024
0f90466
update hl2dm
matthewh86 Aug 14, 2024
962a348
move old build servers into legacy folder
matthewh86 Aug 14, 2024
2fadbb3
add wip to wips
matthewh86 Aug 14, 2024
969d15b
refactor base, steamcmd, and update l4d2
matthewh86 Aug 29, 2024
38de9c6
remove legacy .cache-info remnants
matthewh86 Aug 29, 2024
7113fcd
l4d2 start.sh fix
matthewh86 Aug 30, 2024
d393a10
css updates
matthewh86 Aug 30, 2024
8ca9873
move DOCKER_BUILDKIT from docker build
matthewh86 Aug 30, 2024
dc5c445
use COPY instead of ADD
matthewh86 Aug 30, 2024
04792b3
css and gungame improvements
matthewh86 Aug 30, 2024
7e92a5b
rework css configuration and add deathmatch
matthewh86 Sep 2, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ gamedata/
/data
wads/
RemoteControlExamples/


.cache/
tmp/
server_files/
.cache
22 changes: 17 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# gameservers-docker

Putting game servers in Docker containers. Because it makes life easier.

Expand All @@ -8,25 +9,29 @@ or sourcemod for srcds), making it almost one command to install a server.
No binaries are stored in this repo, so make sure you have internet to
download them with.

Includes a utility script `start_server.sh` which mounts save data to an
external volume and sorts out networking for you.
Includes utility scripts:

- `start_server.sh` - mounts save data to an external volume and sorts out networking for you
- `docker_build.sh` - builds the specified list of containers. e.g. `docker_build.sh css,css-metamod,tf2`

## Quick start

Assuming you are on a blank server with Git and docker installed:

```
git clone https://github.com/OpenSourceLAN/gameservers-docker.git .
./build.sh factorio
```
Check the game directory for existing templates and make your configurations before building.
```
./docker_build.sh factorio

./start_server.sh factorio
# Or
docker run -it --net=host -e "SERVER_NAME=Some really cool server"\
-v `pwd`/save:`cat factorio/mounts` --name factorio factorio

```

Most servers have environment variables that can be used to configure them.
Most servers have environment variables that can be used to configure them after building them.
Read the README.md file in each directory to see what is available.

## Tutorial
Expand Down Expand Up @@ -146,6 +151,13 @@ Make an easy way to import config files in to the servers (eg mounting cfg direc

Add more games

### Useful scripts

- Remove container data
```
sudo rm -fr /var/lib/docker/containers && sudo mkdir containers && sudo chmod 700 containers
```

### LICENSE

This project is licensed under GPL 3.0. See LICENSE for more information.
33 changes: 25 additions & 8 deletions base/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,10 +1,27 @@
FROM ubuntu:16.04
ARG DISTRO="20.04"

FROM ubuntu:${DISTRO}

ARG TZ="Etc/UTC"
RUN sed -i 's/archive.ubuntu.com/au.archive.ubuntu.com/' /etc/apt/sources.list
RUN apt-get update && apt-get dist-upgrade -y &&\
apt-get install -y unzip p7zip-full curl wget lib32gcc1 iproute2 vim-tiny bzip2 jq software-properties-common apt-transport-https lib32stdc++6 && \
apt-get clean
RUN echo "$TZ" > /etc/timezone
RUN ln -fs /usr/share/zoneinfo/$TZ /etc/localtime
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update \
&& apt-get dist-upgrade -y \
&& apt-get install -y \
git \
unzip \
p7zip-full\
curl\
wget\
lib32gcc1\
lib32stdc++6\
iproute2\
vim-tiny\
bzip2\
jq\
software-properties-common\
apt-transport-https\
rsync \
&& apt-get clean

# add to base install:
RUN echo "$TZ" > /etc/timezone \
&& ln -fs /usr/share/zoneinfo/$TZ /etc/localtime
5 changes: 0 additions & 5 deletions base/build.sh

This file was deleted.

7 changes: 0 additions & 7 deletions build.sh

This file was deleted.

37 changes: 0 additions & 37 deletions common.sh

This file was deleted.

3 changes: 0 additions & 3 deletions csgo-gg/build.sh

This file was deleted.

16 changes: 0 additions & 16 deletions csgo/Dockerfile

This file was deleted.

3 changes: 0 additions & 3 deletions csgo/build.sh

This file was deleted.

4 changes: 0 additions & 4 deletions csgo/startcontainer.sh

This file was deleted.

11 changes: 0 additions & 11 deletions csgo/update.Dockerfile

This file was deleted.

3 changes: 0 additions & 3 deletions csgo/update.sh

This file was deleted.

4 changes: 4 additions & 0 deletions css-deathmatch/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.git
.gitignore
README.md
Dockerfile
File renamed without changes.
20 changes: 20 additions & 0 deletions css-deathmatch/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
FROM css-metamod

USER steam

WORKDIR /steam/css/cstrike

COPY --chown=steam download.sh .
RUN ./download.sh

WORKDIR /steam/css

COPY --chown=steam config/ /steam/css/cstrike/

COPY --chown=steam configure.sh \
configure-deathmatch.sh \
./

ENV SV_HOSTNAME="Counterstrike Source (Deathmatch)"

ENTRYPOINT [ "./start.sh" ]
13 changes: 13 additions & 0 deletions css-deathmatch/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Counterstrike Source - Death Match

Counterstrike Source Death Match server based on the css-metamod docker image.

## Build notes

1. Build the `css` docker image
2. Build the `css-metamod` docker image
3. Build this one!

## Plugins

* [CS:S/CS:GO DeathMatch SM](https://forums.alliedmods.net/showthread.php?t=103242)
Loading