Compare commits
15 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
ac9d3d9b09 | ||
![]() |
510ab998fe | ||
![]() |
1a40bb596e | ||
![]() |
976be2b62c | ||
![]() |
8e72c29759 | ||
![]() |
9ee6225992 | ||
![]() |
b67f6bd42b | ||
![]() |
9533b2a37b | ||
b48ca970f3 | |||
e08fac47fd | |||
2109635929 | |||
59984ec3bb | |||
![]() |
d651ed3ea0 | ||
91eb5cabef | |||
629c53e055 |
36
.drone.yml
36
.drone.yml
@@ -1,6 +1,42 @@
|
||||
pipeline:
|
||||
dl-cache:
|
||||
image: repo.shimun.net/drone-plugins/davfile
|
||||
url: https://seaf.shimun.net/seafdav/Drone/cache/
|
||||
secrets: ["docker_username", "docker_password"]
|
||||
file: ${DRONE_REPO_NAME}.tar.gz
|
||||
secrets: ["dav_username", "dav_password"]
|
||||
ex-cache:
|
||||
image: repo.shimun.net/plugins/tar
|
||||
dest: /drone/
|
||||
file: ${DRONE_REPO_NAME}.tar.gz
|
||||
quiet: true
|
||||
docker:
|
||||
image: plugins/docker
|
||||
repo: repo.shimun.net/shimun/sauerbraten
|
||||
registry: repo.shimun.net
|
||||
secrets: ["docker_username", "docker_password"]
|
||||
storage_path: /drone/docker
|
||||
use_cache: true
|
||||
mk-cache:
|
||||
image: repo.shimun.net/plugins/tar
|
||||
dest: ${DRONE_REPO_NAME}.tar.gz
|
||||
file: /drone/docker
|
||||
quiet: true
|
||||
up-cache:
|
||||
image: repo.shimun.net/plugins/davfile
|
||||
url: https://seaf.shimun.net/seafdav/Drone/cache/
|
||||
upload: true
|
||||
file: ${DRONE_REPO_NAME}.tar.gz
|
||||
secrets: ["dav_username", "dav_password"]
|
||||
group: fin
|
||||
docker-p:
|
||||
image: plugins/docker
|
||||
repo: repo.shimun.net/sauerbraten
|
||||
registry: repo.shimun.net
|
||||
secrets: ["docker_username", "docker_password"]
|
||||
use_cache: true
|
||||
storage_path: /drone/docker
|
||||
squash: true
|
||||
when:
|
||||
event: tag
|
||||
group: fin
|
||||
|
14
Dockerfile
14
Dockerfile
@@ -11,8 +11,18 @@ RUN apk add --no-cache $BUILD_DEPS && cd /usr/src/sauerbraten && \
|
||||
cp /usr/src/sauerbraten/bin_unix/native_server /usr/bin/sauerbraten-server && \
|
||||
apk del --no-cache $BUILD_DEPS && rm -rf /usr/src/sauerbraten
|
||||
|
||||
EXPOSE 28785 28786
|
||||
COPY entrypoint.sh /sbin/
|
||||
|
||||
ENTRYPOINT /usr/bin/sauerbraten-server
|
||||
COPY src/server-init.cfg /etc/default/sauer-server.cfg
|
||||
|
||||
RUN chmod +x /sbin/entrypoint.sh
|
||||
|
||||
EXPOSE 28785 28786 28785/udp 28786/udp
|
||||
|
||||
VOLUME /opt/sauerbraten
|
||||
|
||||
WORKDIR /opt/sauerbraten
|
||||
|
||||
ENTRYPOINT /sbin/entrypoint.sh
|
||||
|
||||
CMD ["-d1", "-c18", "-g2"]
|
||||
|
11
Dockerfile.client
Normal file
11
Dockerfile.client
Normal file
@@ -0,0 +1,11 @@
|
||||
FROM debian
|
||||
|
||||
ADD https://sourceforge.net/code-snapshots/svn/s/sa/sauerbraten/code/sauerbraten-code-r5385-data.zip /opt/sauerbraten/data.zip
|
||||
|
||||
COPY src /usr/src/sauerbraten
|
||||
|
||||
WORKDIR /usr/src/sauerbraten
|
||||
|
||||
ENV BUILD_DEPS="libghc-zlib-dev libgeoip-dev build-essential libgles2-mesa-dev libsdl2-dev libsdl2-mixer-dev libsdl2-image-dev libsdl2-net-dev"
|
||||
|
||||
RUN apt update && apt install -y $BUILD_DEPS && make -C src install && cp /usr/src/sauerbraten/bin_unix/native_client /opt/sauerbraten/ && apt remove -y $BUILD_DEPS
|
4
build-client.sh
Executable file
4
build-client.sh
Executable file
@@ -0,0 +1,4 @@
|
||||
docker run -ti -v $(pwd):/root $(docker build -f Dockerfile.client . | tail -1 | cut -d' ' -f3) /bin/sh -c "cp -r /opt/sauerbraten /root/ && chown $UID -R /root/sauerbraten"
|
||||
cd sauerbraten
|
||||
unzip data.zip
|
||||
mv sauerbraten-code-*-data data
|
7
entrypoint.sh
Normal file
7
entrypoint.sh
Normal file
@@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ ! -e "/opt/sauerbraten/server-init.cfg" ]; then
|
||||
cp "/etc/default/sauer-server.cfg" "/opt/sauerbraten/server-init.cfg"
|
||||
fi
|
||||
|
||||
/usr/bin/sauerbraten-server "$@"
|
@@ -1,52 +0,0 @@
|
||||
{
|
||||
"app-id": "org.sauerbraten.Cube2",
|
||||
"runtime": "org.kde.Platform",
|
||||
"runtime-version": "5.9",
|
||||
"sdk": "org.kde.Sdk",
|
||||
"command": "sauerbraten",
|
||||
"modules": [
|
||||
{
|
||||
"name": "game",
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"path": "src",
|
||||
"commit": "17d79ca96f8ff9848c527979b90ec468f662f8c2"
|
||||
}
|
||||
],
|
||||
"buildsystem": "simple",
|
||||
"build-commands": [
|
||||
"make -C src install"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "share",
|
||||
"sources": [
|
||||
{
|
||||
"type": "file",
|
||||
"url": "http://quadropolis.us/files/sauerbratenicons.png",
|
||||
"sha256": "4fcd5c0d46f124e64cf92346f32cfc03fe6b239bca098e7909c84f1a58caa71e"
|
||||
},
|
||||
{
|
||||
"type": "dir",
|
||||
"path": "share/applications"
|
||||
}
|
||||
],
|
||||
"buildsystem": "simple",
|
||||
"build-commands":[
|
||||
"#mkdir -p files/share/applications",
|
||||
"#install -D launcher.desktop sauerbratenicons.png files/share/applications/",
|
||||
"#bash -c '(>&2 ls /app/ )'"
|
||||
]
|
||||
}
|
||||
],
|
||||
"rename-icon": "sauerbratenicons",
|
||||
"rename-desktop-file": "launcher.desktop",
|
||||
"finish-args": [
|
||||
"--socket=x11",
|
||||
"--socket=wayland",
|
||||
"--share=network",
|
||||
"--socket=pulseaudio"
|
||||
]
|
||||
}
|
||||
|
26
sauerbraten.service
Normal file
26
sauerbraten.service
Normal file
@@ -0,0 +1,26 @@
|
||||
[Unit]
|
||||
Description=Sauerbraten Server container based on https://github.com/andrius4669/zeromod-sauerbraten
|
||||
|
||||
[Service]
|
||||
Slice=machine.slice
|
||||
# Resource limits
|
||||
Delegate=true
|
||||
CPUShares=256
|
||||
MemoryLimit=128M
|
||||
|
||||
Environment=ROOT_DIR=/srv/sauerbraten
|
||||
Environment=SAUER_PORT=4700
|
||||
Environment=SAUER_CMD="-d1 -c18 -g2"
|
||||
|
||||
ExecStartPre=/bin/mkdir -p ${ROOT_DIR}
|
||||
ExecStart=/usr/bin/rkt --insecure-options=image run --dns 8.8.8.8 --inherit-env --volume volume-opt-sauerbraten,kind=host,source=${ROOT_DIR} \
|
||||
--port 28785-udp:${SAUER_PORT}5 --port 28786-udp:${SAUER_PORT}6 --port 28785-tcp:${SAUER_PORT}5 --port 28786-tcp:${SAUER_PORT}6 \
|
||||
docker://repo.shimun.net/sauerbraten -- ${SAUER_CMD} --- --memory=64M
|
||||
|
||||
ExecStopPost=/usr/bin/rkt gc
|
||||
KillMode=mixed
|
||||
Restart=always
|
||||
RestartSec=30
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
@@ -1,3 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
git submodule update --init --recursive
|
@@ -1,7 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Name=Sauerbraten
|
||||
Exec=sauerbraten
|
||||
Comment=Cube2 Sauerbraten
|
||||
Icon=sauerbraten
|
||||
Type=Application
|
||||
Categories=Games;
|
Reference in New Issue
Block a user