diff --git a/.drone.yml b/.drone.yml index 013446a..9fe6bcb 100644 --- a/.drone.yml +++ b/.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}}]()** 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 \ No newline at end of file +- default +--- +kind: signature +hmac: 682f4a4c0c5bec6e64d66a2b63a327f467d785821a1c6d4b58ff90019954c970 + +... diff --git a/.gitignore b/.gitignore index f8fa68e..7d64be2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -fix-perms.sh +sign-build.sh test-build.sh diff --git a/Dockerfile b/Dockerfile index 36510e9..ddc7d62 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,57 +1,36 @@ -FROM ubuntu:rolling +FROM nephatrine/alpine-s6:latest LABEL maintainer="Daniel Wolf " -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"] diff --git a/LICENSE.md b/LICENSE.md index 707dde9..3e6a2f2 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,4 +1,4 @@ -Copyright © 2019 Daniel Wolf <> +Copyright © 2021 Daniel Wolf <> **Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above @@ -10,4 +10,4 @@ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. \ No newline at end of file +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/README.md b/README.md index 057690f..31602d5 100644 --- a/README.md +++ b/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 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 diff --git a/override/3zb2/3ZBConfig.cfg b/override/3zb2/3ZBConfig.cfg deleted file mode 100644 index 5e3b470..0000000 --- a/override/3zb2/3ZBConfig.cfg +++ /dev/null @@ -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 - diff --git a/override/3zb2/3ZBMaps.lst b/override/3zb2/3ZBMaps.lst deleted file mode 100644 index 894781c..0000000 --- a/override/3zb2/3ZBMaps.lst +++ /dev/null @@ -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" diff --git a/override/3zb2/chctf/lmctf21.chf b/override/3zb2/chctf/lmctf21.chf deleted file mode 100644 index 9f21809..0000000 Binary files a/override/3zb2/chctf/lmctf21.chf and /dev/null differ diff --git a/override/3zb2/chctf/lmctf22.chf b/override/3zb2/chctf/lmctf22.chf deleted file mode 100644 index 03d863b..0000000 Binary files a/override/3zb2/chctf/lmctf22.chf and /dev/null differ diff --git a/override/3zb2/chctf/lmctf23.chf b/override/3zb2/chctf/lmctf23.chf deleted file mode 100644 index 1ea4532..0000000 Binary files a/override/3zb2/chctf/lmctf23.chf and /dev/null differ diff --git a/override/3zb2/chctf/lmctf24.chf b/override/3zb2/chctf/lmctf24.chf deleted file mode 100644 index f989c22..0000000 Binary files a/override/3zb2/chctf/lmctf24.chf and /dev/null differ diff --git a/override/3zb2/chctf/lmctf25.chf b/override/3zb2/chctf/lmctf25.chf deleted file mode 100644 index 0e33a93..0000000 Binary files a/override/3zb2/chctf/lmctf25.chf and /dev/null differ diff --git a/override/3zb2/chctf/lmctf26.chf b/override/3zb2/chctf/lmctf26.chf deleted file mode 100644 index edb0bf0..0000000 Binary files a/override/3zb2/chctf/lmctf26.chf and /dev/null differ diff --git a/override/3zb2/chctf/lmctf27.chf b/override/3zb2/chctf/lmctf27.chf deleted file mode 100644 index d439021..0000000 Binary files a/override/3zb2/chctf/lmctf27.chf and /dev/null differ diff --git a/override/3zb2/chctf/lmctf28.chf b/override/3zb2/chctf/lmctf28.chf deleted file mode 100644 index bc59f10..0000000 Binary files a/override/3zb2/chctf/lmctf28.chf and /dev/null differ diff --git a/override/3zb2/chctf/lmctf29.chf b/override/3zb2/chctf/lmctf29.chf deleted file mode 100644 index f6cb59d..0000000 Binary files a/override/3zb2/chctf/lmctf29.chf and /dev/null differ diff --git a/override/3zb2/chctf/lmctf30.chf b/override/3zb2/chctf/lmctf30.chf deleted file mode 100644 index 8c67c8e..0000000 Binary files a/override/3zb2/chctf/lmctf30.chf and /dev/null differ diff --git a/override/3zb2/chctf/q2ctf6.chf b/override/3zb2/chctf/q2ctf6.chf deleted file mode 100644 index 65b2b2a..0000000 Binary files a/override/3zb2/chctf/q2ctf6.chf and /dev/null differ diff --git a/override/3zb2/chctf/q2ctf7.chf b/override/3zb2/chctf/q2ctf7.chf deleted file mode 100644 index 656c019..0000000 Binary files a/override/3zb2/chctf/q2ctf7.chf and /dev/null differ diff --git a/override/3zb2/chctf/xmap01.chf b/override/3zb2/chctf/xmap01.chf deleted file mode 100644 index 6c2969b..0000000 Binary files a/override/3zb2/chctf/xmap01.chf and /dev/null differ diff --git a/override/3zb2/chctf/xmap02.chf b/override/3zb2/chctf/xmap02.chf deleted file mode 100644 index 22b1da6..0000000 Binary files a/override/3zb2/chctf/xmap02.chf and /dev/null differ diff --git a/override/3zb2/chctf/xmap03.chf b/override/3zb2/chctf/xmap03.chf deleted file mode 100644 index cd41e02..0000000 Binary files a/override/3zb2/chctf/xmap03.chf and /dev/null differ diff --git a/override/3zb2/chctf/xmap04.chf b/override/3zb2/chctf/xmap04.chf deleted file mode 100644 index e0c1f0a..0000000 Binary files a/override/3zb2/chctf/xmap04.chf and /dev/null differ diff --git a/override/3zb2/chctf/xmap05.chf b/override/3zb2/chctf/xmap05.chf deleted file mode 100644 index d60aba5..0000000 Binary files a/override/3zb2/chctf/xmap05.chf and /dev/null differ diff --git a/override/3zb2/chctf/xmap06.chf b/override/3zb2/chctf/xmap06.chf deleted file mode 100644 index 0e5efde..0000000 Binary files a/override/3zb2/chctf/xmap06.chf and /dev/null differ diff --git a/override/3zb2/chctf/xmap07.chf b/override/3zb2/chctf/xmap07.chf deleted file mode 100644 index f1a7341..0000000 Binary files a/override/3zb2/chctf/xmap07.chf and /dev/null differ diff --git a/override/3zb2/chctf/xmap08.chf b/override/3zb2/chctf/xmap08.chf deleted file mode 100644 index 644a95e..0000000 Binary files a/override/3zb2/chctf/xmap08.chf and /dev/null differ diff --git a/override/3zb2/chctf/xmap09.chf b/override/3zb2/chctf/xmap09.chf deleted file mode 100644 index 7bf5de8..0000000 Binary files a/override/3zb2/chctf/xmap09.chf and /dev/null differ diff --git a/override/3zb2/chdtm/base64.chn b/override/3zb2/chdtm/base64.chn deleted file mode 100644 index ef2185a..0000000 Binary files a/override/3zb2/chdtm/base64.chn and /dev/null differ diff --git a/override/3zb2/chdtm/broken1.chn b/override/3zb2/chdtm/broken1.chn deleted file mode 100644 index 3a41519..0000000 Binary files a/override/3zb2/chdtm/broken1.chn and /dev/null differ diff --git a/override/3zb2/chdtm/broken2.chn b/override/3zb2/chdtm/broken2.chn deleted file mode 100644 index c1b529a..0000000 Binary files a/override/3zb2/chdtm/broken2.chn and /dev/null differ diff --git a/override/3zb2/chdtm/broken3.chn b/override/3zb2/chdtm/broken3.chn deleted file mode 100644 index 29204c3..0000000 Binary files a/override/3zb2/chdtm/broken3.chn and /dev/null differ diff --git a/override/3zb2/chdtm/city64.chn b/override/3zb2/chdtm/city64.chn deleted file mode 100644 index a0b4c81..0000000 Binary files a/override/3zb2/chdtm/city64.chn and /dev/null differ diff --git a/override/3zb2/chdtm/cxdm1.chn b/override/3zb2/chdtm/cxdm1.chn deleted file mode 100644 index 019ffc1..0000000 Binary files a/override/3zb2/chdtm/cxdm1.chn and /dev/null differ diff --git a/override/3zb2/chdtm/cxdm2.chn b/override/3zb2/chdtm/cxdm2.chn deleted file mode 100644 index 04261c8..0000000 Binary files a/override/3zb2/chdtm/cxdm2.chn and /dev/null differ diff --git a/override/3zb2/chdtm/cxdm3.chn b/override/3zb2/chdtm/cxdm3.chn deleted file mode 100644 index ef90df5..0000000 Binary files a/override/3zb2/chdtm/cxdm3.chn and /dev/null differ diff --git a/override/3zb2/chdtm/cxdm4.chn b/override/3zb2/chdtm/cxdm4.chn deleted file mode 100644 index eaae73f..0000000 Binary files a/override/3zb2/chdtm/cxdm4.chn and /dev/null differ diff --git a/override/3zb2/chdtm/cxxdm1.chn b/override/3zb2/chdtm/cxxdm1.chn deleted file mode 100644 index 6361ce9..0000000 Binary files a/override/3zb2/chdtm/cxxdm1.chn and /dev/null differ diff --git a/override/3zb2/chdtm/cxxdm2.chn b/override/3zb2/chdtm/cxxdm2.chn deleted file mode 100644 index e671f6b..0000000 Binary files a/override/3zb2/chdtm/cxxdm2.chn and /dev/null differ diff --git a/override/3zb2/chdtm/fixed1.chn b/override/3zb2/chdtm/fixed1.chn deleted file mode 100644 index ba78fec..0000000 Binary files a/override/3zb2/chdtm/fixed1.chn and /dev/null differ diff --git a/override/3zb2/chdtm/ikdm1.chn b/override/3zb2/chdtm/ikdm1.chn deleted file mode 100644 index 7bc6d28..0000000 Binary files a/override/3zb2/chdtm/ikdm1.chn and /dev/null differ diff --git a/override/3zb2/chdtm/ikdm2.chn b/override/3zb2/chdtm/ikdm2.chn deleted file mode 100644 index 790dbd0..0000000 Binary files a/override/3zb2/chdtm/ikdm2.chn and /dev/null differ diff --git a/override/3zb2/chdtm/ikdm3.chn b/override/3zb2/chdtm/ikdm3.chn deleted file mode 100644 index fbd5c38..0000000 Binary files a/override/3zb2/chdtm/ikdm3.chn and /dev/null differ diff --git a/override/3zb2/chdtm/ikdm4.chn b/override/3zb2/chdtm/ikdm4.chn deleted file mode 100644 index 05c4312..0000000 Binary files a/override/3zb2/chdtm/ikdm4.chn and /dev/null differ diff --git a/override/3zb2/chdtm/ikdm5.chn b/override/3zb2/chdtm/ikdm5.chn deleted file mode 100644 index ab8937f..0000000 Binary files a/override/3zb2/chdtm/ikdm5.chn and /dev/null differ diff --git a/override/3zb2/chdtm/ikdm6.chn b/override/3zb2/chdtm/ikdm6.chn deleted file mode 100644 index 6001702..0000000 Binary files a/override/3zb2/chdtm/ikdm6.chn and /dev/null differ diff --git a/override/3zb2/chdtm/ikdm7.chn b/override/3zb2/chdtm/ikdm7.chn deleted file mode 100644 index edab41b..0000000 Binary files a/override/3zb2/chdtm/ikdm7.chn and /dev/null differ diff --git a/override/3zb2/chdtm/ikdm8.chn b/override/3zb2/chdtm/ikdm8.chn deleted file mode 100644 index 4bdc3ec..0000000 Binary files a/override/3zb2/chdtm/ikdm8.chn and /dev/null differ diff --git a/override/3zb2/chdtm/match1.chn b/override/3zb2/chdtm/match1.chn deleted file mode 100644 index 26eaac1..0000000 Binary files a/override/3zb2/chdtm/match1.chn and /dev/null differ diff --git a/override/3zb2/chdtm/q2dm1.chn b/override/3zb2/chdtm/q2dm1.chn deleted file mode 100644 index 178e616..0000000 Binary files a/override/3zb2/chdtm/q2dm1.chn and /dev/null differ diff --git a/override/3zb2/chdtm/q2dm2.chn b/override/3zb2/chdtm/q2dm2.chn deleted file mode 100644 index cfd88af..0000000 Binary files a/override/3zb2/chdtm/q2dm2.chn and /dev/null differ diff --git a/override/3zb2/chdtm/q2dm3.chn b/override/3zb2/chdtm/q2dm3.chn deleted file mode 100644 index a68ce47..0000000 Binary files a/override/3zb2/chdtm/q2dm3.chn and /dev/null differ diff --git a/override/3zb2/chdtm/q2dm4.chn b/override/3zb2/chdtm/q2dm4.chn deleted file mode 100644 index df2db9a..0000000 Binary files a/override/3zb2/chdtm/q2dm4.chn and /dev/null differ diff --git a/override/3zb2/chdtm/q2dm5.chn b/override/3zb2/chdtm/q2dm5.chn deleted file mode 100644 index ea50801..0000000 Binary files a/override/3zb2/chdtm/q2dm5.chn and /dev/null differ diff --git a/override/3zb2/chdtm/q2dm6.chn b/override/3zb2/chdtm/q2dm6.chn deleted file mode 100644 index 03db6d3..0000000 Binary files a/override/3zb2/chdtm/q2dm6.chn and /dev/null differ diff --git a/override/3zb2/chdtm/q2dm7.chn b/override/3zb2/chdtm/q2dm7.chn deleted file mode 100644 index 790e8ce..0000000 Binary files a/override/3zb2/chdtm/q2dm7.chn and /dev/null differ diff --git a/override/3zb2/chdtm/q2dm8.chn b/override/3zb2/chdtm/q2dm8.chn deleted file mode 100644 index 2dae367..0000000 Binary files a/override/3zb2/chdtm/q2dm8.chn and /dev/null differ diff --git a/override/3zb2/chdtm/sewer64.chn b/override/3zb2/chdtm/sewer64.chn deleted file mode 100644 index 3bbcd09..0000000 Binary files a/override/3zb2/chdtm/sewer64.chn and /dev/null differ diff --git a/override/3zb2/chdtm/spasmo1.chn b/override/3zb2/chdtm/spasmo1.chn deleted file mode 100644 index 19d391c..0000000 Binary files a/override/3zb2/chdtm/spasmo1.chn and /dev/null differ diff --git a/override/3zb2/chdtm/spasmo2.chn b/override/3zb2/chdtm/spasmo2.chn deleted file mode 100644 index 4df5d57..0000000 Binary files a/override/3zb2/chdtm/spasmo2.chn and /dev/null differ diff --git a/override/3zb2/chdtm/spasmo3.chn b/override/3zb2/chdtm/spasmo3.chn deleted file mode 100644 index 68ffc0d..0000000 Binary files a/override/3zb2/chdtm/spasmo3.chn and /dev/null differ diff --git a/override/3zb2/chdtm/spasmo4.chn b/override/3zb2/chdtm/spasmo4.chn deleted file mode 100644 index 5c6b625..0000000 Binary files a/override/3zb2/chdtm/spasmo4.chn and /dev/null differ diff --git a/override/3zb2/chdtm/spasmo5.chn b/override/3zb2/chdtm/spasmo5.chn deleted file mode 100644 index f357541..0000000 Binary files a/override/3zb2/chdtm/spasmo5.chn and /dev/null differ diff --git a/override/3zb2/chdtm/spasmo6.chn b/override/3zb2/chdtm/spasmo6.chn deleted file mode 100644 index cdf29d1..0000000 Binary files a/override/3zb2/chdtm/spasmo6.chn and /dev/null differ diff --git a/override/3zb2/chdtm/spasmo7.chn b/override/3zb2/chdtm/spasmo7.chn deleted file mode 100644 index 8abc3da..0000000 Binary files a/override/3zb2/chdtm/spasmo7.chn and /dev/null differ diff --git a/override/3zb2/chdtm/spasmo8.chn b/override/3zb2/chdtm/spasmo8.chn deleted file mode 100644 index e0ba533..0000000 Binary files a/override/3zb2/chdtm/spasmo8.chn and /dev/null differ diff --git a/override/3zb2/chdtm/spasmo9.chn b/override/3zb2/chdtm/spasmo9.chn deleted file mode 100644 index 8cfc629..0000000 Binary files a/override/3zb2/chdtm/spasmo9.chn and /dev/null differ diff --git a/override/3zb2/chdtm/trdm01a.chn b/override/3zb2/chdtm/trdm01a.chn deleted file mode 100644 index 29db87b..0000000 Binary files a/override/3zb2/chdtm/trdm01a.chn and /dev/null differ diff --git a/override/3zb2/chdtm/trdm02a.chn b/override/3zb2/chdtm/trdm02a.chn deleted file mode 100644 index 36c0ac8..0000000 Binary files a/override/3zb2/chdtm/trdm02a.chn and /dev/null differ diff --git a/override/3zb2/chdtm/trdm03a.chn b/override/3zb2/chdtm/trdm03a.chn deleted file mode 100644 index bd1ec7c..0000000 Binary files a/override/3zb2/chdtm/trdm03a.chn and /dev/null differ diff --git a/override/3zb2/chdtm/trdm04a.chn b/override/3zb2/chdtm/trdm04a.chn deleted file mode 100644 index d0653c5..0000000 Binary files a/override/3zb2/chdtm/trdm04a.chn and /dev/null differ diff --git a/override/3zb2/chdtm/trdm05a.chn b/override/3zb2/chdtm/trdm05a.chn deleted file mode 100644 index c904a9f..0000000 Binary files a/override/3zb2/chdtm/trdm05a.chn and /dev/null differ diff --git a/override/3zb2/chdtm/trdm06.chn b/override/3zb2/chdtm/trdm06.chn deleted file mode 100644 index 44b4124..0000000 Binary files a/override/3zb2/chdtm/trdm06.chn and /dev/null differ diff --git a/override/3zb2/chdtm/verm01.chn b/override/3zb2/chdtm/verm01.chn deleted file mode 100644 index 76b9454..0000000 Binary files a/override/3zb2/chdtm/verm01.chn and /dev/null differ diff --git a/override/3zb2/chdtm/verm02.chn b/override/3zb2/chdtm/verm02.chn deleted file mode 100644 index c50d561..0000000 Binary files a/override/3zb2/chdtm/verm02.chn and /dev/null differ diff --git a/override/3zb2/chdtm/verm03.chn b/override/3zb2/chdtm/verm03.chn deleted file mode 100644 index c792a44..0000000 Binary files a/override/3zb2/chdtm/verm03.chn and /dev/null differ diff --git a/override/3zb2/chdtm/verm04.chn b/override/3zb2/chdtm/verm04.chn deleted file mode 100644 index 9e22d78..0000000 Binary files a/override/3zb2/chdtm/verm04.chn and /dev/null differ diff --git a/override/3zb2/chdtm/verm05.chn b/override/3zb2/chdtm/verm05.chn deleted file mode 100644 index 76ab29c..0000000 Binary files a/override/3zb2/chdtm/verm05.chn and /dev/null differ diff --git a/override/3zb2/chdtm/verm06.chn b/override/3zb2/chdtm/verm06.chn deleted file mode 100644 index f4b3caf..0000000 Binary files a/override/3zb2/chdtm/verm06.chn and /dev/null differ diff --git a/override/3zb2/chdtm/xdm1.chn b/override/3zb2/chdtm/xdm1.chn deleted file mode 100644 index 269f2f8..0000000 Binary files a/override/3zb2/chdtm/xdm1.chn and /dev/null differ diff --git a/override/3zb2/chdtm/xdm2.chn b/override/3zb2/chdtm/xdm2.chn deleted file mode 100644 index 59f0ced..0000000 Binary files a/override/3zb2/chdtm/xdm2.chn and /dev/null differ diff --git a/override/3zb2/chdtm/xdm3.chn b/override/3zb2/chdtm/xdm3.chn deleted file mode 100644 index 29c7c9a..0000000 Binary files a/override/3zb2/chdtm/xdm3.chn and /dev/null differ diff --git a/override/3zb2/chdtm/xdm4.chn b/override/3zb2/chdtm/xdm4.chn deleted file mode 100644 index 0ac25af..0000000 Binary files a/override/3zb2/chdtm/xdm4.chn and /dev/null differ diff --git a/override/3zb2/chdtm/xdm5.chn b/override/3zb2/chdtm/xdm5.chn deleted file mode 100644 index a62c03e..0000000 Binary files a/override/3zb2/chdtm/xdm5.chn and /dev/null differ diff --git a/override/3zb2/chdtm/xdm6.chn b/override/3zb2/chdtm/xdm6.chn deleted file mode 100644 index 86db4fe..0000000 Binary files a/override/3zb2/chdtm/xdm6.chn and /dev/null differ diff --git a/override/3zb2/chdtm/xdm7.chn b/override/3zb2/chdtm/xdm7.chn deleted file mode 100644 index 92384d3..0000000 Binary files a/override/3zb2/chdtm/xdm7.chn and /dev/null differ diff --git a/override/3zb2/chdtm/xldm1.chn b/override/3zb2/chdtm/xldm1.chn deleted file mode 100644 index 42a0ad8..0000000 Binary files a/override/3zb2/chdtm/xldm1.chn and /dev/null differ diff --git a/override/3zb2/chdtm/xldm2.chn b/override/3zb2/chdtm/xldm2.chn deleted file mode 100644 index 38f4c88..0000000 Binary files a/override/3zb2/chdtm/xldm2.chn and /dev/null differ diff --git a/override/3zb2/chdtm/xldm3.chn b/override/3zb2/chdtm/xldm3.chn deleted file mode 100644 index a9f58a0..0000000 Binary files a/override/3zb2/chdtm/xldm3.chn and /dev/null differ diff --git a/override/3zb2/chdtm/xldm4.chn b/override/3zb2/chdtm/xldm4.chn deleted file mode 100644 index 0b0d825..0000000 Binary files a/override/3zb2/chdtm/xldm4.chn and /dev/null differ diff --git a/override/3zb2/chdtm/xldm5.chn b/override/3zb2/chdtm/xldm5.chn deleted file mode 100644 index 29f8f8b..0000000 Binary files a/override/3zb2/chdtm/xldm5.chn and /dev/null differ diff --git a/override/3zb2/chdtm/ztn2dm1.chn b/override/3zb2/chdtm/ztn2dm1.chn deleted file mode 100644 index ca07483..0000000 Binary files a/override/3zb2/chdtm/ztn2dm1.chn and /dev/null differ diff --git a/override/3zb2/chdtm/ztn2dm2.chn b/override/3zb2/chdtm/ztn2dm2.chn deleted file mode 100644 index 020894f..0000000 Binary files a/override/3zb2/chdtm/ztn2dm2.chn and /dev/null differ diff --git a/override/3zb2/chdtm/ztn2dm3.chn b/override/3zb2/chdtm/ztn2dm3.chn deleted file mode 100644 index 002dd46..0000000 Binary files a/override/3zb2/chdtm/ztn2dm3.chn and /dev/null differ diff --git a/override/3zb2/chdtm/ztn2dm4.chn b/override/3zb2/chdtm/ztn2dm4.chn deleted file mode 100644 index 248272b..0000000 Binary files a/override/3zb2/chdtm/ztn2dm4.chn and /dev/null differ diff --git a/override/3zb2/chdtm/ztn2dm5.chn b/override/3zb2/chdtm/ztn2dm5.chn deleted file mode 100644 index 1210376..0000000 Binary files a/override/3zb2/chdtm/ztn2dm5.chn and /dev/null differ diff --git a/override/etc/cont-finish.d/00-quake2 b/override/etc/cont-finish.d/00-quake2 new file mode 100755 index 0000000..bb3355d --- /dev/null +++ b/override/etc/cont-finish.d/00-quake2 @@ -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 diff --git a/override/etc/cont-init.d/02-quake2 b/override/etc/cont-init.d/02-quake2 new file mode 100755 index 0000000..db79d0a --- /dev/null +++ b/override/etc/cont-init.d/02-quake2 @@ -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 diff --git a/override/etc/fix-attrs.d/01-quake2 b/override/etc/fix-attrs.d/01-quake2 new file mode 100644 index 0000000..594c829 --- /dev/null +++ b/override/etc/fix-attrs.d/01-quake2 @@ -0,0 +1 @@ +/mnt/config/data/quake2 true guardian:users,1000:100 0644 0755 diff --git a/override/etc/services.d/00-quake2/run b/override/etc/services.d/00-quake2/run new file mode 100755 index 0000000..d54aaa8 --- /dev/null +++ b/override/etc/services.d/00-quake2/run @@ -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 diff --git a/override/opt/quake2/baseq2/server.cfg b/override/opt/quake2/baseq2/server.cfg new file mode 100644 index 0000000..82d521d --- /dev/null +++ b/override/opt/quake2/baseq2/server.cfg @@ -0,0 +1,25 @@ +set hostname "SomeServer" +set rcon_password "" +set maxclients 16 +set deathmatch 1 +set timelimit 15 +set fraglimit 30 +set dmflags 16912 + +set sv_downloadserver "" +set allow_download 1 +set allow_download_players 0 +set allow_download_models 1 +set allow_download_sounds 1 +set allow_download_maps 1 + +set setmaster "master.q2servers.com master.quakeservers.net" +set public 0 + +set serveradmin "Jane Doe" +set email "jane@example.net" +set website "https://example.net/" +set location "Somewhere" + +set sv_maplist "q2dm1 q2dm2 q2dm3 q2dm4 q2dm5 q2dm6 q2dm7 q2dm8" +gamemap q2dm1