rebase on alpine-s6
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
29f13c163f
commit
4e991c662d
13
.drone.yml
13
.drone.yml
|
@ -24,13 +24,18 @@ steps:
|
|||
- name: notify
|
||||
image: appleboy/drone-discord
|
||||
settings:
|
||||
avatar_url: https://files.nephatrine.net/Images/Buttons/Drone.png
|
||||
message: "Automated build of **{{repo.name}}:{{commit.branch}}** has returned [{{build.status}}]({{build.link}})."
|
||||
avatar_url: https://nephatrine.net/images/buttons/drone-ci.png
|
||||
message: "Build of **[{{repo.name}}:{{commit.branch}}](<https://code.nephatrine.net/nephatrine/{{repo.name}}/src/branch/{{commit.branch}}>)** returned [{{build.status}}](<{{build.link}}>)."
|
||||
username: DroneCI
|
||||
webhook_id:
|
||||
from_secret: webhook-id
|
||||
from_secret: wh-quake2-id
|
||||
webhook_token:
|
||||
from_secret: webhook-token
|
||||
from_secret: wh-quake2-tok
|
||||
|
||||
depends_on:
|
||||
- default
|
||||
---
|
||||
kind: signature
|
||||
hmac: 682f4a4c0c5bec6e64d66a2b63a327f467d785821a1c6d4b58ff90019954c970
|
||||
|
||||
...
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
fix-perms.sh
|
||||
sign-build.sh
|
||||
test-build.sh
|
||||
|
|
83
Dockerfile
83
Dockerfile
|
@ -1,57 +1,36 @@
|
|||
FROM ubuntu:rolling
|
||||
FROM nephatrine/alpine-s6:latest
|
||||
LABEL maintainer="Daniel Wolf <nephatrine@gmail.com>"
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
RUN echo "====== INSTALL PACKAGES ======" \
|
||||
&& apt-get update -q \
|
||||
&& apt-get -y -qq install apt-utils \
|
||||
&& apt-get -y -q -o Dpkg::Options::="--force-confnew" install \
|
||||
quake2-server yamagi-quake2-core \
|
||||
wget \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /tmp/* /var/lib/apt/lists/* /var/tmp/*
|
||||
|
||||
RUN echo "====== BUILD MODULES ======" \
|
||||
&& rm -rf /usr/share/games/quake2/baseq2/* \
|
||||
&& apt-get update -q \
|
||||
&& apt-get -y -q -o Dpkg::Options::="--force-confnew" install cmake g++ git make \
|
||||
&& cd /usr/src \
|
||||
&& git clone https://github.com/yquake2/ctf.git && cd ctf \
|
||||
&& mkdir build && cd build \
|
||||
&& cmake -DCMAKE_BUILD_TYPE=Release .. && make \
|
||||
&& mkdir -p /usr/lib/yamagi-quake2/ctf && cp Release/game.so /usr/lib/yamagi-quake2/ctf/ \
|
||||
&& mkdir /usr/share/games/quake2/ctf \
|
||||
&& cd /usr/src \
|
||||
&& git clone https://github.com/yquake2/3zb2.git && cd 3zb2 \
|
||||
&& grep -v g_turret.c CMakeLists.txt > CMakeLists2.txt && mv CMakeLists2.txt CMakeLists.txt \
|
||||
&& mkdir build && cd build \
|
||||
&& cmake -DCMAKE_BUILD_TYPE=Release .. && make \
|
||||
&& mkdir /usr/lib/yamagi-quake2/3zb2 && cp Release/game.so /usr/lib/yamagi-quake2/3zb2/ \
|
||||
&& mkdir /usr/share/games/quake2/3zb2 \
|
||||
&& cd /usr/src \
|
||||
&& git clone https://github.com/yquake2/xatrix.git && cd xatrix \
|
||||
&& mkdir build && cd build \
|
||||
&& cmake -DCMAKE_BUILD_TYPE=Release .. && make \
|
||||
&& mkdir /usr/lib/yamagi-quake2/xatrix && cp Release/game.so /usr/lib/yamagi-quake2/xatrix/ \
|
||||
&& mkdir /usr/share/games/quake2/xatrix \
|
||||
&& cd /usr/src \
|
||||
&& git clone https://github.com/yquake2/rogue.git && cd rogue \
|
||||
&& mkdir build && cd build \
|
||||
&& cmake -DCMAKE_BUILD_TYPE=Release .. && make \
|
||||
&& mkdir /usr/lib/yamagi-quake2/rogue && cp Release/game.so /usr/lib/yamagi-quake2/rogue/ \
|
||||
&& mkdir /usr/share/games/quake2/rogue \
|
||||
&& cd /usr/src \
|
||||
&& git clone https://github.com/yquake2/zaero.git && cd zaero \
|
||||
&& mkdir build && cd build \
|
||||
&& cmake -DCMAKE_BUILD_TYPE=Release .. && make \
|
||||
&& mkdir /usr/lib/yamagi-quake2/zaero && cp Release/game.so /usr/lib/yamagi-quake2/zaero/ \
|
||||
&& mkdir /usr/share/games/quake2/zaero \
|
||||
&& apt-get -y -q purge cmake g++ git make \
|
||||
&& apt-get -y -q autoremove \
|
||||
&& cd /usr/src && rm -rf /tmp/* /usr/src/* /var/lib/apt/lists/* /var/tmp/*
|
||||
RUN echo "====== COMPILE QUAKE II ======" \
|
||||
&& apk add \
|
||||
screen sdl2 \
|
||||
&& apk add --virtual .build-quake2 build-base \
|
||||
clang \
|
||||
git \
|
||||
linux-headers \
|
||||
sdl2-dev \
|
||||
&& git -C /usr/src clone --single-branch --depth=1 https://github.com/yquake2/yquake2.git && cd /usr/src/yquake2 \
|
||||
&& make server game && mv release /opt/quake2 \
|
||||
&& mkdir -p /opt/quake2/baseq2/maps && cp stuff/mapfixes/baseq2/*.ent /opt/quake2/baseq2/maps/ \
|
||||
&& mkdir -p /opt/quake2/jugfull/maps && cp stuff/mapfixes/juggernaut/*.ent /opt/quake2/jugfull/maps/ \
|
||||
&& cp stuff/yq2.cfg /opt/quake2/baseq2 \
|
||||
&& git -C /usr/src clone --single-branch --depth=1 https://github.com/yquake2/ctf.git && cd /usr/src/ctf \
|
||||
&& make && mv release /opt/quake2/ctf \
|
||||
&& git -C /usr/src clone --single-branch --depth=1 https://github.com/yquake2/xatrix.git && cd /usr/src/xatrix \
|
||||
&& make && mv release /opt/quake2/xatrix \
|
||||
&& mkdir -p /opt/quake2/xatrix/maps && cp stuff/mapfixes/*.ent /opt/quake2/xatrix/maps/ \
|
||||
&& git -C /usr/src clone --single-branch --depth=1 https://github.com/yquake2/rogue.git && cd /usr/src/rogue \
|
||||
&& make && mv release /opt/quake2/rogue \
|
||||
&& mkdir -p /opt/quake2/rogue/maps && cp stuff/mapfixes/*.ent /opt/quake2/rogue/maps/ \
|
||||
&& git -C /usr/src clone --single-branch --depth=1 https://github.com/yquake2/zaero.git && cd /usr/src/zaero \
|
||||
&& make && mv release /opt/quake2/zaero \
|
||||
&& mkdir -p /opt/quake2/zaero/maps && cp stuff/mapfixes/*.ent /opt/quake2/zaero/maps/ \
|
||||
&& git -C /usr/src clone --single-branch --depth=1 https://github.com/yquake2/slightmechanicaldestruction.git && cd /usr/src/slightmechanicaldestruction \
|
||||
&& make && mv release /opt/quake2/smd \
|
||||
&& git -C /usr/src clone --single-branch --depth=1 https://github.com/yquake2/pakextract.git && cd /usr/src/pakextract \
|
||||
&& make && mv pakextract /usr/local/bin/ \
|
||||
&& cd /usr/src && rm -rf /usr/src/* \
|
||||
&& apk del --purge .build-quake2 && rm -rf /var/cache/apk/*
|
||||
|
||||
COPY override /
|
||||
USER quake2-server
|
||||
EXPOSE 27910/udp
|
||||
ENTRYPOINT ["/usr/share/games/quake2/quake2-server"]
|
||||
CMD ["+exec", "server.cfg"]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
Copyright © 2019 Daniel Wolf <<nephatrine@gmail.com>>
|
||||
Copyright © 2021 Daniel Wolf <<nephatrine@gmail.com>>
|
||||
|
||||
**Permission to use, copy, modify, and distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
|
|
51
README.md
51
README.md
|
@ -1,19 +1,20 @@
|
|||
[Git](https://code.nephatrine.net/nephatrine/docker-quake2) |
|
||||
[Git](https://code.nephatrine.net/nephatrine/docker-quake2/src/branch/master) |
|
||||
[Docker](https://hub.docker.com/r/nephatrine/quake2-server/) |
|
||||
[unRAID](https://code.nephatrine.net/nephatrine/unraid-containers)
|
||||
|
||||
[![Build Status](https://ci.nephatrine.net/api/badges/nephatrine/docker-quake2/status.svg?ref=refs/heads/master)](https://ci.nephatrine.net/nephatrine/docker-quake2)
|
||||
|
||||
# Docker Registry
|
||||
# Quake II Server
|
||||
|
||||
This docker image contains a Docker Registry server to self-host your own
|
||||
docker registry.
|
||||
This docker image contains a Quake II dedicated server.
|
||||
|
||||
**YOU WILL NEED TO USE A SEPARATE REVERSE PROXY SERVER TO SECURE THIS SERVICE.
|
||||
SEE THE [DOCUMENTATION](https://docs.docker.com/registry/recipes/nginx/) FOR
|
||||
MORE DETAILS ON HOW TO CONFIGURE SUCH A PROXY.**
|
||||
FOR INSTANCE, AN [NGINX](https://nginx.com/) REVERSE PROXY CONTAINER.**
|
||||
|
||||
- [Docker Registry](https://docs.docker.com/registry/)
|
||||
- [Alpine Linux](https://alpinelinux.org/)
|
||||
- [Skarnet Software](https://skarnet.org/software/)
|
||||
- [S6 Overlay](https://github.com/just-containers/s6-overlay)
|
||||
- [Yamagi Quake II](https://yamagi.org/quake2/)
|
||||
|
||||
You can spin up a quick temporary test container like this:
|
||||
|
||||
|
@ -21,6 +22,18 @@ You can spin up a quick temporary test container like this:
|
|||
docker run --rm -p 27910:27910 -it nephatrine/quake2-server:latest /bin/bash
|
||||
~~~
|
||||
|
||||
## Configuration Variables
|
||||
|
||||
You can set these parameters using the syntax ``-e "VARNAME=VALUE"`` on your
|
||||
``docker run`` command. Some of these may only be used during initial
|
||||
configuration and further changes may need to be made in the generated
|
||||
configuration files.
|
||||
|
||||
- ``GAME_START``: Startup Arguments (*"+exec server.cfg"*)
|
||||
- ``PUID``: Mount Owner UID (*1000*)
|
||||
- ``PGID``: Mount Owner GID (*100*)
|
||||
- ``TZ``: System Timezone (*America/New_York*)
|
||||
|
||||
## Persistent Mounts
|
||||
|
||||
You can provide a persistent mountpoint using the ``-v /host/path:/container/path``
|
||||
|
@ -28,18 +41,22 @@ syntax. These mountpoints are intended to house important configuration files,
|
|||
logs, and application state (e.g. databases) so they are not lost on image
|
||||
update.
|
||||
|
||||
- ``/usr/share/games/quake2/baseq2``: Quake II Game Data.
|
||||
- ``/usr/share/games/quake2/ctf``: CTF Game Data.
|
||||
- ``/usr/share/games/quake2/xatrix``: The Reckoning Game Data.
|
||||
- ``/usr/share/games/quake2/rogue``: Ground Zero Game Data.
|
||||
- ``/usr/share/games/quake2/zaero``: Zaero Game Data.
|
||||
- ``/usr/share/games/quake2/3zb2``: 3rd Zigock Bot Game Data.
|
||||
- ``/mnt/config``: Persistent Data.
|
||||
|
||||
There is no game data included in the image - not even the shareware demo.
|
||||
Please populate this yourself with a legal copy of Quake II.
|
||||
Do not share ``/mnt/config`` volumes between multiple containers as they may
|
||||
interfere with the operation of one another.
|
||||
|
||||
On startup, the game will execute the ``server.cfg`` found in the ``baseq2``
|
||||
folder and so you can configure settings there.
|
||||
You can perform some basic configuration of the container using the files and
|
||||
directories listed below.
|
||||
|
||||
- ``/mnt/config/data/quake2/``: Game Data. [*]
|
||||
- ``/mnt/config/data/quake2/baseq2/server.cfg``: Default Quake II Configuration. [*]
|
||||
- ``/mnt/config/etc/crontabs/<user>``: User Crontabs. [*]
|
||||
- ``/mnt/config/etc/logrotate.conf``: Logrotate Global Configuration.
|
||||
- ``/mnt/config/etc/logrotate.d/``: Logrotate Additional Configuration.
|
||||
|
||||
**[*] Changes to some configuration files may require service restart to take
|
||||
immediate effect.**
|
||||
|
||||
## Network Services
|
||||
|
||||
|
|
|
@ -1,229 +0,0 @@
|
|||
[MessDeathMatch] V printable limit
|
||||
<*>**************************<*>
|
||||
* 3rd-Zigock II 0.97 *
|
||||
* Quake2 Multiplayer *
|
||||
* Deathmatch Simulator *
|
||||
<*>**************************<*>
|
||||
.
|
||||
[MessChainDM]
|
||||
3rd-Zigock II 0.96
|
||||
|
||||
Chaining mode
|
||||
.
|
||||
[MessCTF]
|
||||
<*>**************************<*>
|
||||
* 3rd-Zigock II 0.97 *
|
||||
* Quake2 Multiplayer *
|
||||
* Capture The Flag Simulator *
|
||||
<*>**************************<*>
|
||||
.
|
||||
[MessChainCTF]
|
||||
3rd-Zigock II 0.96
|
||||
|
||||
CTF Chaining mode
|
||||
.
|
||||
|
||||
[BotList]
|
||||
#Format is
|
||||
#
|
||||
#\\Netname \Model \Skin \Params0-8 \team \ASpawn
|
||||
#
|
||||
#Params
|
||||
#0 walking flag (0 - 1) 1-walk 0-always run
|
||||
#1 aiming skill level (0 - 9) high-hard aiming
|
||||
#2 frq. of pickup items (0 - 9) high-mania
|
||||
#3 character type (0 - 9) high-offensive low-defensive
|
||||
#4 combat skill (0 - 9) high-professional
|
||||
#5 rocket jump flag (0 - 1) 1-on 0-off
|
||||
#6 reaction skill (0 - 9) high-high reaction skill
|
||||
|
||||
#7 vertical view range (10 - 180) degree(abs)
|
||||
#8 horizontal view range (10 - 180) degree(abs)
|
||||
#9 primary weapon (0 - 13) 0-none
|
||||
#10 secondary weapon (0 - 13) 0-none
|
||||
|
||||
#1 Blaster - 2 ShotGun - 3 SuperShotgun - 4 MachineGun - 5 ChainGun - 6 Hand Grenade
|
||||
#7 Grenade Launcher - 8 Rocket Launcher - 9 Hyper Blaster - 10 Rail Gun - 11 BFG10K
|
||||
#12 Plasma Gun - 13 Ion Ripper
|
||||
|
||||
#11 dodge(depend on combat skill) (0 - 1) 1-On 0-Off
|
||||
#12 estimate(need to activate param 13) (0 - 1) 1-On 0-Off
|
||||
#13 enemy's noise check (0 - 1) 1-On 0-Off
|
||||
#14 can't see through water (0 - 1) 1-On 0-Off
|
||||
#15 teamworking
|
||||
#.......................................#0#1#2#3#4#5#6 #7 #8 #9 #10 #11#12#13#14#15
|
||||
# Description botlist name
|
||||
# #------------------------#-------------------#
|
||||
# | Default Free For All | default |
|
||||
# | Dueling bots | 1v1sk1 to 1v1sk10 |
|
||||
# | 1human + 1bot v 2bots | 2v2sk1 to 2v2sk10 |
|
||||
# | 1human + 3bots v 3bots | 4v4sk1 to 4v4sk10 |
|
||||
# #------------------------#-------------------#
|
||||
#
|
||||
#
|
||||
#Default Bots
|
||||
\\Evil Zeep \cyborg \ps9000 \0\7\5\5\9\1\9 \090\090\08\05 \1\1\1\1\0 \R\0
|
||||
\\Claw Finger \male \psycho \0\7\5\5\4\1\9 \090\090\0\0 \1\1\1\1\0 \B\0
|
||||
\\Biohazard \crakhor\crakhorb \0\4\5\5\8\0\9 \045\090\10\0 \1\1\1\1\0 \R\0
|
||||
\\Carcass \male \cipher \0\6\6\5\5\0\5 \045\090\0\0 \1\1\1\1\0 \B\0
|
||||
\\Prong \male \psycho \0\8\7\6\8\1\7 \090\090\10\05 \0\1\1\1\0 \R\0
|
||||
\\Sodom \cyborg \oni911 \0\9\8\5\5\1\7 \090\090\0\0 \0\0\1\1\0 \B\0
|
||||
\\Korn \female \cobalt \0\5\6\5\7\1\8 \090\090\08\08 \0\0\0\1\0 \R\0
|
||||
\\Sepultura \male \flak \1\6\5\5\9\1\5 \090\090\05\05 \0\0\0\0\0 \B\0
|
||||
\\Soul fly \female \brianna \0\9\5\5\0\0\5 \090\090\11\08 \0\0\0\0\0 \R\0
|
||||
\\Flotsam&Jetsam\cyborg \ps9000 \0\9\5\5\0\0\5 \090\090\11\08 \0\0\0\0\0 \B\0
|
||||
\\Overkill \male \claymore \0\4\5\5\0\0\5 \090\180\11\08 \0\0\0\0\0 \R\0
|
||||
\\Urge \female \lotus \0\0\5\5\0\0\5 \090\180\11\08 \0\0\0\0\0 \B\0
|
||||
\\Napalm Death \cyborg \tyr574 \0\1\5\5\0\0\5 \090\180\11\08 \0\0\0\0\0 \R\0
|
||||
\\Cathedral \male \howitzer \0\1\5\5\0\0\5 \090\180\11\08 \0\0\0\0\0 \B\0
|
||||
\\Entombed \female \ensign \0\1\5\5\0\0\5 \090\180\11\08 \0\0\0\0\0 \R\0
|
||||
\\Helmet \male \rampage \0\1\5\5\0\0\5 \090\180\11\08 \0\0\0\0\0 \B\0
|
||||
\\Brutal Truth \male \recon \0\1\5\5\0\0\5 \090\180\11\08 \0\0\0\0\0 \R\0
|
||||
\\Ultra head \female \jungle \0\1\5\5\0\0\5 \090\180\11\08 \0\0\0\0\0 \R\0
|
||||
\\Exodus \male \viper \0\1\5\5\0\0\5 \090\180\11\08 \0\0\0\0\0 \B\0
|
||||
|
||||
# Dueling Bots Skill 1-10
|
||||
[1v1sk1]
|
||||
\\Prong \cyborg \oni911 \1\2\3\1\3\0\3 \060\060\0\0 \0\0\0\1\0 \R\1
|
||||
[1v1sk2]
|
||||
\\Prong \cyborg \oni911 \0\3\3\2\4\0\3 \065\065\03\0 \0\0\1\1\2 \R\1
|
||||
[1v1sk3]
|
||||
\\Prong \cyborg \oni911 \0\3\3\2\6\0\5 \075\075\08\0 \1\0\1\1\4 \R\1
|
||||
[1v1sk4]
|
||||
\\Prong \cyborg \oni911 \0\5\4\4\7\1\5 \075\075\08\05 \1\0\1\1\5 \R\1
|
||||
[1v1sk5]
|
||||
\\Prong \cyborg \oni911 \0\7\4\5\8\1\6 \080\080\08\05 \1\0\1\1\8 \R\1
|
||||
[1v1sk6]
|
||||
\\Prong \cyborg \oni911 \0\8\4\6\9\1\7 \090\090\05\05 \1\1\1\1\8 \R\1
|
||||
[1v1sk7]
|
||||
\\Prong \cyborg \oni911 \0\8\4\8\9\1\7 \100\095\10\05 \1\1\1\1\9 \R\1
|
||||
[1v1sk8]
|
||||
\\Prong \cyborg \oni911 \0\9\6\8\9\1\7 \105\105\10\05 \1\1\1\1\9 \R\1
|
||||
[1v1sk9]
|
||||
\\Prong \cyborg \oni911 \0\9\6\8\9\1\7 \110\110\10\05 \1\1\1\1\9 \R\1
|
||||
[1v1sk10]
|
||||
\\Prong \cyborg \oni911 \0\9\6\8\9\1\8 \115\115\10\05 \1\1\1\1\9 \R\1
|
||||
# 2v2 (1Human+1Bot v's 2Bots) Skill 1-10
|
||||
[2v2sk1]
|
||||
\\Evil Zeep \male \claymore \1\2\3\1\3\0\3 \060\060\0\0 \0\0\0\1\0 \R\1
|
||||
\\Prong \cyborg \oni911 \1\2\3\1\3\0\3 \060\060\0\0 \0\0\0\1\0 \R\1
|
||||
\\Sodom \cyborg \oni911 \1\2\3\2\2\0\3 \060\060\0\0 \0\0\0\1\0 \R\1
|
||||
[2v2sk2]
|
||||
\\Evil Zeep \male \claymore \0\3\3\2\4\0\3 \065\065\08\0 \0\0\1\1\2 \R\1
|
||||
\\Prong \cyborg \oni911 \0\3\3\2\4\0\3 \065\065\08\0 \0\0\1\1\2 \R\1
|
||||
\\Sodom \cyborg \oni911 \0\3\3\3\2\0\4 \065\065\05\0 \0\0\0\1\2 \R\1
|
||||
[2v2sk3]
|
||||
\\Evil Zeep \male \claymore \0\3\3\2\6\0\4 \075\075\08\0 \1\0\1\1\4 \R\1
|
||||
\\Prong \cyborg \oni911 \0\3\3\2\6\0\5 \075\075\08\0 \1\0\1\1\4 \R\1
|
||||
\\Sodom \cyborg \oni911 \0\3\3\3\5\0\4 \070\070\05\0 \1\1\1\1\4 \R\1
|
||||
[2v2sk4]
|
||||
\\Evil Zeep \male \claymore \0\5\4\4\7\1\4 \075\075\08\05 \1\0\1\1\5 \R\1
|
||||
\\Prong \cyborg \oni911 \0\5\4\4\7\1\5 \075\075\08\05 \1\0\1\1\5 \R\1
|
||||
\\Sodom \cyborg \oni911 \0\4\3\3\5\0\4 \075\075\08\0 \1\1\1\1\5 \R\1
|
||||
[2v2sk5]
|
||||
\\Evil Zeep \male \claymore \0\7\4\5\8\1\5 \080\080\08\05 \1\0\1\1\8 \R\1
|
||||
\\Prong \cyborg \oni911 \0\7\4\5\8\1\6 \080\080\08\05 \1\0\1\1\8 \R\1
|
||||
\\Sodom \cyborg \oni911 \0\5\3\4\6\0\5 \080\080\08\0 \1\1\1\1\6 \R\1
|
||||
[2v2sk6]
|
||||
\\Evil Zeep \male \claymore \0\8\4\6\9\1\7 \090\090\05\05 \1\1\1\1\8 \R\1
|
||||
\\Prong \cyborg \oni911 \0\8\4\6\9\1\7 \090\090\05\05 \1\1\1\1\8 \R\1
|
||||
\\Sodom \cyborg \oni911 \0\6\3\5\8\1\8 \090\080\08\0 \1\1\1\1\7 \R\1
|
||||
[2v2sk7]
|
||||
\\Evil Zeep \male \claymore \0\8\4\8\9\1\7 \100\090\10\05 \1\1\1\1\9 \R\1
|
||||
\\Prong \cyborg \oni911 \0\8\4\8\9\1\7 \100\095\10\05 \1\1\1\1\9 \R\1
|
||||
\\Sodom \cyborg \oni911 \0\6\3\6\8\1\8 \095\090\08\05 \1\1\1\1\8 \R\1
|
||||
[2v2sk8]
|
||||
\\Evil Zeep \male \claymore \0\8\6\8\9\1\7 \105\105\10\05 \1\1\1\1\9 \R\1
|
||||
\\Prong \cyborg \oni911 \0\8\6\8\9\1\7 \105\105\10\05 \1\1\1\1\9 \R\1
|
||||
\\Sodom \cyborg \oni911 \0\7\5\6\8\1\8 \105\100\08\05 \1\1\1\1\8 \R\1
|
||||
[2v2sk9]
|
||||
\\Evil Zeep \male \claymore \0\8\6\8\9\1\7 \110\105\10\05 \1\1\1\1\9 \R\1
|
||||
\\Prong \cyborg \oni911 \0\8\6\8\9\1\7 \110\105\10\05 \1\1\1\1\9 \R\1
|
||||
\\Sodom \cyborg \oni911 \0\7\5\6\8\1\8 \105\105\08\05 \1\1\1\1\8 \R\1
|
||||
[2v2sk10]
|
||||
\\Evil Zeep \male \claymore \0\8\6\8\9\1\7 \110\110\10\05 \1\1\1\1\9 \R\1
|
||||
\\Prong \cyborg \oni911 \0\8\6\8\9\1\7 \110\110\10\05 \1\1\1\1\9 \R\1
|
||||
\\Sodom \cyborg \oni911 \0\7\5\6\8\1\8 \110\110\08\05 \1\1\1\1\8 \R\1
|
||||
|
||||
# 4v4 (1Human+3Bots v's 4Bots) Skill 1-10
|
||||
[4v4sk1]
|
||||
\\Evil Zeep \male \claymore \1\2\3\1\3\0\3 \060\060\0\0 \0\0\0\1\0 \R\1
|
||||
\\Claw Finger \male \claymore \1\2\3\2\2\0\3 \060\060\0\0 \0\0\0\1\0 \R\1
|
||||
\\Biohazard \male \claymore \1\1\4\3\1\1\3 \060\060\0\0 \0\0\0\1\0 \R\1
|
||||
\\Prong \cyborg \oni911 \1\2\3\1\3\0\3 \060\060\0\0 \0\0\0\1\0 \R\1
|
||||
\\Sodom \cyborg \oni911 \1\2\3\2\2\0\3 \060\060\0\0 \0\0\0\1\0 \R\1
|
||||
\\Korn \cyborg \oni911 \1\1\4\3\1\1\3 \060\060\0\0 \0\0\0\1\0 \R\1
|
||||
\\Sepultura \cyborg \oni911 \1\2\3\2\2\0\3 \060\060\0\0 \0\0\0\1\0 \R\1
|
||||
[4v4sk2]
|
||||
\\Evil Zeep \male \claymore \0\3\3\2\4\0\3 \065\065\08\0 \0\0\1\1\2 \R\1
|
||||
\\Claw Finger \male \claymore \0\3\3\3\2\0\4 \065\065\05\0 \0\0\0\1\2 \R\1
|
||||
\\Biohazard \male \claymore \1\2\4\4\1\1\3 \065\065\03\0 \0\0\0\1\0 \R\1
|
||||
\\Prong \cyborg \oni911 \0\3\3\2\4\0\3 \065\065\08\0 \0\0\1\1\2 \R\1
|
||||
\\Sodom \cyborg \oni911 \0\3\3\3\2\0\4 \065\065\05\0 \0\0\0\1\2 \R\1
|
||||
\\Korn \cyborg \oni911 \0\2\4\4\1\1\3 \065\065\03\0 \0\0\1\1\0 \R\1
|
||||
\\Sepultura \cyborg \oni911 \1\3\3\3\2\0\4 \065\065\0\0 \0\0\0\1\0 \R\1
|
||||
[4v4sk3]
|
||||
\\Evil Zeep \male \claymore \0\3\3\2\6\0\4 \075\075\08\0 \1\0\1\1\4 \R\1
|
||||
\\Claw Finger \male \claymore \0\3\3\3\5\0\5 \070\070\05\0 \1\1\1\1\4 \R\1
|
||||
\\Biohazard \male \claymore \1\2\4\4\4\1\4 \070\070\03\0 \0\0\0\1\2 \R\1
|
||||
\\Prong \cyborg \oni911 \0\3\3\2\6\0\5 \075\075\08\0 \1\0\1\1\4 \R\1
|
||||
\\Sodom \cyborg \oni911 \0\3\3\3\5\0\4 \070\070\05\0 \1\1\1\1\4 \R\1
|
||||
\\Korn \cyborg \oni911 \0\2\4\4\4\1\5 \070\070\03\0 \0\0\1\1\2 \R\1
|
||||
\\Sepultura \cyborg \oni911 \1\3\3\3\3\0\4 \070\070\0\0 \0\0\0\1\0 \R\1
|
||||
[4v4sk4]
|
||||
\\Evil Zeep \male \claymore \0\5\4\4\7\1\4 \075\075\08\05 \1\0\1\1\5 \R\1
|
||||
\\Claw Finger \male \claymore \0\4\3\3\5\0\5 \075\075\08\0 \1\1\1\1\5 \R\1
|
||||
\\Biohazard \male \claymore \0\3\4\5\4\1\4 \075\075\05\0 \0\0\1\1\3 \R\1
|
||||
\\Prong \cyborg \oni911 \0\5\4\4\7\1\5 \075\075\08\05 \1\0\1\1\5 \R\1
|
||||
\\Sodom \cyborg \oni911 \0\4\3\3\5\0\4 \075\075\08\0 \1\1\1\1\5 \R\1
|
||||
\\Korn \cyborg \oni911 \0\3\4\5\4\1\5 \075\075\05\0 \0\0\1\1\3 \R\1
|
||||
\\Sepultura \cyborg \oni911 \0\3\3\3\3\0\4 \075\075\0\0 \0\0\1\1\2 \R\1
|
||||
[4v4sk5]
|
||||
\\Evil Zeep \male \claymore \0\7\4\5\8\1\5 \080\080\05\05 \1\0\1\1\8 \R\1
|
||||
\\Claw Finger \male \claymore \0\5\3\4\6\0\6 \080\080\08\0 \1\1\1\1\6 \R\1
|
||||
\\Biohazard \male \claymore \0\4\4\6\4\1\5 \080\075\05\05 \0\1\1\1\5 \R\1
|
||||
\\Prong \cyborg \oni911 \0\7\4\5\8\1\6 \080\080\05\05 \1\0\1\1\8 \R\1
|
||||
\\Sodom \cyborg \oni911 \0\5\3\4\6\0\5 \080\080\08\0 \1\1\1\1\6 \R\1
|
||||
\\Korn \cyborg \oni911 \0\4\4\6\4\1\6 \080\075\05\05 \0\0\1\1\5 \R\1
|
||||
\\Sepultura \cyborg \oni911 \0\4\3\4\3\0\5 \075\075\0\0 \1\1\1\1\3 \R\1
|
||||
[4v4sk6]
|
||||
\\Evil Zeep \male \claymore \0\8\4\6\9\1\7 \090\090\05\05 \1\1\1\1\8 \R\1
|
||||
\\Claw Finger \male \claymore \0\6\3\5\8\1\8 \090\080\08\05 \1\1\1\1\7 \R\1
|
||||
\\Biohazard \male \claymore \0\5\4\7\7\1\5 \080\075\05\05 \1\1\1\1\5 \R\1
|
||||
\\Prong \cyborg \oni911 \0\8\4\6\9\1\7 \090\090\05\05 \1\1\1\1\8 \R\1
|
||||
\\Sodom \cyborg \oni911 \0\6\3\5\8\1\8 \090\080\08\05 \1\1\1\1\7 \R\1
|
||||
\\Korn \cyborg \oni911 \0\5\4\7\7\1\6 \085\085\05\05 \1\1\1\1\5 \R\1
|
||||
\\Sepultura \cyborg \oni911 \0\5\3\5\6\1\5 \085\085\0\0 \1\1\1\1\4 \R\1
|
||||
[4v4sk7]
|
||||
\\Evil Zeep \male \claymore \0\8\4\8\9\1\7 \100\090\10\05 \1\1\1\1\9 \R\1
|
||||
\\Claw Finger \male \claymore \0\6\3\6\8\1\8 \095\095\08\05 \1\1\1\1\8 \R\1
|
||||
\\Biohazard \male \claymore \0\5\4\8\7\1\5 \095\085\05\05 \1\1\1\1\6 \R\1
|
||||
\\Prong \cyborg \oni911 \0\8\4\8\9\1\7 \100\095\10\05 \1\1\1\1\9 \R\1
|
||||
\\Sodom \cyborg \oni911 \0\6\3\6\8\1\8 \095\090\08\05 \1\1\1\1\8 \R\1
|
||||
\\Korn \cyborg \oni911 \0\5\4\8\7\1\6 \095\085\05\05 \1\1\1\1\6 \R\1
|
||||
\\Sepultura \cyborg \oni911 \0\5\3\6\6\1\5 \095\085\0\0 \1\1\1\1\5 \R\1
|
||||
[4v4sk8]
|
||||
\\Evil Zeep \male \claymore \0\9\6\8\9\1\7 \105\105\10\05 \1\1\1\1\9 \R\1
|
||||
\\Claw Finger \male \claymore \0\7\5\6\8\1\8 \105\100\08\05 \1\1\1\1\8 \R\1
|
||||
\\Biohazard \male \claymore \0\6\5\8\7\1\5 \095\095\05\05 \1\1\1\1\6 \R\1
|
||||
\\Prong \cyborg \oni911 \0\9\6\8\9\1\7 \105\105\10\05 \1\1\1\1\9 \R\1
|
||||
\\Sodom \cyborg \oni911 \0\7\5\6\8\1\8 \105\100\08\05 \1\1\1\1\8 \R\1
|
||||
\\Korn \cyborg \oni911 \0\6\6\8\7\1\6 \100\095\05\05 \1\1\1\1\6 \R\1
|
||||
\\Sepultura \cyborg \oni911 \0\5\5\6\6\1\5 \095\085\0\0 \1\1\1\1\5 \R\1
|
||||
[4v4sk9]
|
||||
\\Evil Zeep \male \claymore \0\9\6\8\9\1\7 \105\105\10\05 \1\1\1\1\9 \R\1
|
||||
\\Claw Finger \male \claymore \0\7\5\6\8\1\8 \105\105\08\05 \1\1\1\1\8 \R\1
|
||||
\\Biohazard \male \claymore \0\6\5\8\7\1\5 \100\095\05\05 \1\1\1\1\7 \R\1
|
||||
\\Prong \cyborg \oni911 \0\9\6\8\9\1\7 \105\105\10\05 \1\1\1\1\9 \R\1
|
||||
\\Sodom \cyborg \oni911 \0\7\5\6\8\1\8 \105\105\08\05 \1\1\1\1\8 \R\1
|
||||
\\Korn \cyborg \oni911 \0\6\6\8\7\1\6 \100\095\05\05 \1\1\1\1\7 \R\1
|
||||
\\Sepultura \cyborg \oni911 \0\5\5\6\6\1\5 \095\085\0\0 \1\1\1\1\5 \R\1
|
||||
[4v4sk10]
|
||||
\\Evil Zeep \male \claymore \0\9\6\8\9\1\7 \110\105\10\05 \1\1\1\1\9 \R\1
|
||||
\\Claw Finger \male \claymore \0\8\5\6\8\1\8 \110\105\08\05 \1\1\1\1\9 \R\1
|
||||
\\Biohazard \male \claymore \0\7\5\8\7\1\5 \105\100\05\05 \1\1\1\1\8 \R\1
|
||||
\\Prong \cyborg \oni911 \0\9\6\8\9\1\7 \110\105\10\05 \1\1\1\1\9 \R\1
|
||||
\\Sodom \cyborg \oni911 \0\8\5\6\8\1\8 \110\105\08\05 \1\1\1\1\9 \R\1
|
||||
\\Korn \cyborg \oni911 \0\7\6\8\7\1\6 \105\100\05\05 \1\1\1\1\8 \R\1
|
||||
\\Sepultura \cyborg \oni911 \0\6\5\6\6\1\5 \095\095\0\0 \1\1\1\1\6 \R\1
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
[base]
|
||||
base1 "Outer Base"
|
||||
base2 "Installation"
|
||||
base3 "Comm Center"
|
||||
|
||||
[q2dmx]
|
||||
q2dm1 "The Edge"
|
||||
q2dm2 "Tokay's Towers"
|
||||
q2dm3 "The Frag Pipe"
|
||||
q2dm4 "Lost Hallways"
|
||||
q2dm5 "The Pits"
|
||||
q2dm6 "Lava Tomb"
|
||||
q2dm7 "The Slimy Place"
|
||||
q2dm8 "WareHouse"
|
||||
|
||||
[ware]
|
||||
ware1 "Supply Station"
|
||||
ware2 "Warehouse"
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,12 @@
|
|||
#!/usr/bin/with-contenv bash
|
||||
if pgrep -f quakedock >/dev/null; then
|
||||
s6-setuidgid guardian screen -S quakedock -X stuff "`echo -ne \"say QUAKE II SERVER SHUTTING DOWN!\r\"`"
|
||||
s6-setuidgid guardian screen -S quakedock -X stuff "`echo -ne \"say 3\r\"`"
|
||||
sleep 2
|
||||
s6-setuidgid guardian screen -S quakedock -X stuff "`echo -ne \"say 2\r\"`"
|
||||
sleep 2
|
||||
s6-setuidgid guardian screen -S quakedock -X stuff "`echo -ne \"say 1\r\"`"
|
||||
sleep 2
|
||||
s6-setuidgid guardian screen -S quakedock -X stuff "`echo -ne \"quit\r\"`"
|
||||
sleep 2
|
||||
fi
|
|
@ -0,0 +1,94 @@
|
|||
#!/usr/bin/with-contenv bash
|
||||
|
||||
if [[ ! -d /mnt/config/data/quake2/baseq2 ]]; then
|
||||
s6-setuidgid guardian mkdir -p /mnt/config/data/quake2/baseq2/maps
|
||||
s6-setuidgid guardian cp -n /opt/quake2/baseq2/*.cfg /mnt/config/data/quake2/baseq2/
|
||||
cd /usr/src
|
||||
if [[ ! -e /tmp/q2-314-demo-x86.exe ]]; then
|
||||
wget -qO /tmp/q2-314-demo-x86.exe https://files.nephatrine.net/Q2/idstuff/q2-314-demo-x86.exe
|
||||
fi
|
||||
if [[ ! -e /tmp/q2-3.20-x86-full-ctf.exe ]]; then
|
||||
wget -qO /tmp/q2-3.20-x86-full-ctf.exe https://files.nephatrine.net/Q2/idstuff/q2-3.20-x86-full-ctf.exe
|
||||
fi
|
||||
if [[ ! -e /tmp/match1.tar.gz ]]; then
|
||||
wget -qO /tmp/match1.tar.gz https://files.nephatrine.net/Q2/idstuff/match1.tar.gz
|
||||
fi
|
||||
if [[ ! -e /tmp/dm_64.tar.gz ]]; then
|
||||
wget -qO /tmp/dm_64.tar.gz https://files.nephatrine.net/Q2/idstuff/dm_64.tar.gz
|
||||
fi
|
||||
unzip -jq -d /mnt/config/data/quake2/baseq2/ /tmp/q2-314-demo-x86.exe \
|
||||
Install/Data/baseq2/pak0.pak \
|
||||
Install/Data/DOCS/license.txt
|
||||
unzip -jq -d /mnt/config/data/quake2/baseq2/ /tmp/q2-3.20-x86-full-ctf.exe \
|
||||
baseq2/maps.lst \
|
||||
baseq2/pak1.pak \
|
||||
baseq2/pak2.pak
|
||||
tar x -C /mnt/config/data/quake2/baseq2/ -zf /tmp/match1.tar.gz \
|
||||
pak3.pak
|
||||
tar x -C /mnt/config/data/quake2/baseq2/maps/ -zf /tmp/dm_64.tar.gz \
|
||||
base64.bsp \
|
||||
city64.bsp \
|
||||
sewer64.bsp
|
||||
fi
|
||||
|
||||
if [[ ! -d /mnt/config/data/quake2/ctf ]]; then
|
||||
s6-setuidgid guardian mkdir -p /mnt/config/data/quake2/ctf/maps
|
||||
cd /usr/src
|
||||
if [[ ! -e /tmp/q2-3.20-x86-full-ctf.exe ]]; then
|
||||
wget -qO /tmp/q2-3.20-x86-full-ctf.exe https://files.nephatrine.net/Q2/idstuff/q2-3.20-x86-full-ctf.exe
|
||||
fi
|
||||
if [[ ! -e /tmp/q2ctf150upgrade.zip ]]; then
|
||||
wget -qO /tmp/q2ctf150upgrade.zip https://files.nephatrine.net/Q2/q2ctf/q2ctf150upgrade.zip
|
||||
fi
|
||||
if [[ ! -e /tmp/q2ctf4a.tar.gz ]]; then
|
||||
wget -qO /tmp/q2ctf4a.tar.gz https://files.nephatrine.net/Q2/q2ctf/q2ctf4a.tar.gz
|
||||
fi
|
||||
unzip -jq -d /mnt/config/data/quake2/ctf/ /tmp/q2-3.20-x86-full-ctf.exe \
|
||||
ctf/pak0.pak \
|
||||
ctf/server.cfg
|
||||
unzip -jq -d /mnt/config/data/quake2/ctf/ /tmp/q2ctf150upgrade.zip \
|
||||
pak1.pak
|
||||
tar x -C /mnt/config/data/quake2/ctf/maps/ -zf /tmp/q2ctf4a.tar.gz \
|
||||
q2ctf4a.bsp
|
||||
fi
|
||||
|
||||
if [[ -d /mnt/config/data/quake2/baseq2 ]]; then
|
||||
if [[ ! -d /mnt/config/data/quake2/baseq2/maps ]]; then
|
||||
s6-setuidgid guardian mkdir -p /mnt/config/data/quake2/baseq2/maps
|
||||
fi
|
||||
s6-setuidgid guardian cp -n /opt/quake2/baseq2/maps/*.ent /mnt/config/data/quake2/baseq2/maps/
|
||||
fi
|
||||
|
||||
if [[ -d /mnt/config/data/quake2/jugfull ]]; then
|
||||
if [[ ! -d /mnt/config/data/quake2/jugfull/maps ]]; then
|
||||
s6-setuidgid guardian mkdir -p /mnt/config/data/quake2/jugfull/maps
|
||||
fi
|
||||
s6-setuidgid guardian cp -n /opt/quake2/jugfull/maps/*.ent /mnt/config/data/quake2/jugfull/maps/
|
||||
fi
|
||||
|
||||
if [[ -d /mnt/config/data/quake2/xatrix ]]; then
|
||||
if [[ ! -d /mnt/config/data/quake2/xatrix/maps ]]; then
|
||||
s6-setuidgid guardian mkdir -p /mnt/config/data/quake2/xatrix/maps
|
||||
fi
|
||||
s6-setuidgid guardian cp -n /opt/quake2/xatrix/maps/*.ent /mnt/config/data/quake2/xatrix/maps/
|
||||
fi
|
||||
|
||||
if [[ -d /mnt/config/data/quake2/rogue ]]; then
|
||||
if [[ ! -d /mnt/config/data/quake2/rogue/maps ]]; then
|
||||
s6-setuidgid guardian mkdir -p /mnt/config/data/quake2/rogue/maps
|
||||
fi
|
||||
s6-setuidgid guardian cp -n /opt/quake2/rogue/maps/*.ent /mnt/config/data/quake2/rogue/maps/
|
||||
fi
|
||||
|
||||
if [[ -d /mnt/config/data/quake2/zaero ]]; then
|
||||
if [[ ! -d /mnt/config/data/quake2/zaero/maps ]]; then
|
||||
s6-setuidgid guardian mkdir -p /mnt/config/data/quake2/zaero/maps
|
||||
fi
|
||||
s6-setuidgid guardian cp -n /opt/quake2/zaero/maps/*.ent /mnt/config/data/quake2/zaero/maps/
|
||||
fi
|
||||
|
||||
GAME_LIBS=`find /mnt/config/data/quake2 -type f -name game.so | wc -l`
|
||||
if [[ ${GAME_LIBS} -gt 0 ]]; then
|
||||
cd /mnt/config/data/quake2
|
||||
cp --parents -R */game.so /opt/quake2/
|
||||
fi
|
|
@ -0,0 +1 @@
|
|||
/mnt/config/data/quake2 true guardian:users,1000:100 0644 0755
|
|
@ -0,0 +1,12 @@
|
|||
#!/usr/bin/with-contenv bash
|
||||
|
||||
GAME_START=${GAME_START:-"+exec server.cfg"}
|
||||
|
||||
if ! pgrep -f quakedock >/dev/null; then
|
||||
cd /opt/quake2
|
||||
HOME=/mnt/config/home s6-setuidgid guardian screen -dmS quakedock ./q2ded -datadir /mnt/config/data/quake2 ${GAME_START};
|
||||
fi
|
||||
sleep 10
|
||||
while pgrep -f quakedock >/dev/null; do
|
||||
sleep 30
|
||||
done
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue