[game-data-packager] 07/10: Run game servers using the Python launcher
Simon McVittie
smcv at debian.org
Fri Oct 14 22:12:17 UTC 2016
This is an automated email from the git hooks/post-receive script.
smcv pushed a commit to branch master
in repository game-data-packager.
commit c779d048666d0772fa43be739750c54b317d8cab
Author: Simon McVittie <smcv at debian.org>
Date: Fri Oct 14 22:13:41 2016 +0100
Run game servers using the Python launcher
---
Makefile | 93 ++++++------------------
debian/control | 5 ++
debian/etqw-server.install | 3 +
debian/etqw-server.service | 2 +-
debian/etqw.install | 1 +
debian/game-data-packager-runtime.install | 11 ++-
debian/quake-server.install | 3 +
debian/quake.install | 1 +
debian/quake2-server.install | 3 +
debian/quake2.install | 1 +
debian/quake3-server.install | 3 +
debian/quake3.install | 1 +
debian/quake4-server.install | 5 +-
debian/quake4-server.service | 2 +-
debian/quake4.install | 1 +
runtime/launch-etqw-dedicated.yaml.in | 16 +++++
runtime/launch-quake-server.yaml.in | 32 +++++++++
runtime/launch-quake2-server.yaml.in | 29 ++++++++
runtime/launch-quake3-server.yaml.in | 48 +++++++++++++
runtime/launch-quake4-dedicated.yaml.in | 16 +++++
runtime/quake.in | 87 -----------------------
runtime/quake2.in | 95 -------------------------
runtime/quake3.in | 109 ----------------------------
runtime/quake4.in | 113 ------------------------------
24 files changed, 200 insertions(+), 480 deletions(-)
diff --git a/Makefile b/Makefile
index 5ffdfd2..4c40a08 100644
--- a/Makefile
+++ b/Makefile
@@ -38,14 +38,6 @@ launcher_desktops := \
quake_layer_sizes = 16 22 32 48 256
-quake_text = \
- out/quake-server \
- out/quake2-server \
- out/quake3-server \
- out/quake4-dedicated \
- out/etqw-dedicated \
- $(NULL)
-
quake_icons = \
out/24/quake.png \
out/24/quake-armagon.png \
@@ -75,7 +67,7 @@ quake_icons = \
$(NULL)
default: $(png) $(svgz) $(json_from_data) $(launcher_json) \
- $(copyright) $(dot_in) $(desktop) $(quake_text) $(quake_icons) \
+ $(copyright) $(dot_in) $(desktop) $(quake_icons) \
out/bash_completion out/changelog.gz \
out/game-data-packager out/vfs.zip out/memento-mori-2.svg
@@ -190,64 +182,6 @@ out/48/quake3-team-arena.png: out/256/quake3-team-arena.png Makefile out/CACHEDI
install -d out/48
convert -resize 48x48 $< $@
-out/quake2-server: runtime/quake2.in out/CACHEDIR.TAG
- sed -e 's/@self@/quake2-server/g' \
- -e 's/@role@/dedicated server/g' \
- -e 's/@options@/+set dedicated 1/g' \
- -e 's/@alternative@/quake2-engine-server/g' \
- < $< > $@
- chmod +x $@
-
-out/quake-server: runtime/quake.in out/CACHEDIR.TAG
- sed -e 's/@self@/quake-server/g' \
- -e 's/@role@/server/g' \
- -e 's/@options@/-dedicated/g' \
- -e 's/@alternative@/quake-engine-server/g' \
- < $< > $@
- chmod +x $@
-
-out/quake3-server: runtime/quake3.in Makefile out/CACHEDIR.TAG
- sed \
- -e 's!@IOQ3BINARY@!ioq3ded!' \
- -e 's!@IOQ3SELF@!quake3-server!' \
- -e 's!@IOQ3ROLE@!server!' \
- < $< > $@
- chmod +x $@
-
-out/quake4-dedicated: runtime/quake4.in Makefile out/CACHEDIR.TAG
- sed \
- -e 's!@id@!quake4!' \
- -e 's!@icon@!/usr/share/icons/hicolor/48x48/apps/quake4.png!' \
- -e 's!@longname@!Quake 4!' \
- -e 's!@shortname@!Quake 4!' \
- -e 's!@binary@!q4ded.x86!' \
- -e 's!@smpbinary@!!' \
- -e 's!@self@!quake4-dedicated!' \
- -e 's!@role@!server!' \
- -e 's!@pkglibdir@!/usr/lib/quake4!' \
- -e 's!@paks@!pak001 pak021 pak022 zpak_english!' \
- -e 's!@basegame@!q4base!' \
- -e 's!@dotdir@!quake4!' \
- < $< > $@
- chmod +x $@
-
-out/etqw-dedicated: runtime/quake4.in Makefile out/CACHEDIR.TAG
- sed \
- -e 's!@id@!etqw!' \
- -e 's!@icon@!/usr/share/pixmaps/etqw.png!' \
- -e 's!@longname@!Enemy Territory: Quake Wars!' \
- -e 's!@shortname@!ETQW!' \
- -e 's!@binary@!etqwded.x86!' \
- -e 's!@smpbinary@!!' \
- -e 's!@self@!etqw-dedicated!' \
- -e 's!@role@!server!' \
- -e 's!@pkglibdir@!/usr/lib/etqw!' \
- -e 's!@paks@!pak008 game000 pak000 zpak_english000!' \
- -e 's!@basegame@!base!' \
- -e 's!@dotdir@!etqw!' \
- < $< > $@
- chmod +x $@
-
out/tmp/recolour-dissolution.svg: data/quake1+2.svg Makefile out/CACHEDIR.TAG
install -d out/tmp
sed -e 's/#c17d11/#999984/' \
@@ -438,6 +372,21 @@ install:
install -m0644 runtime/confirm-binary-only.txt $(DESTDIR)$(runtimedir)/
install -m0644 runtime/missing-data.txt $(DESTDIR)$(runtimedir)/
install -m0644 $(launcher_json) $(DESTDIR)$(runtimedir)/
+ install -d $(DESTDIR)${gamedatadir}/quake/
+ install -m644 out/installed-version.py $(DESTDIR)${gamedatadir}/quake/gdp_launcher_version.py
+ install -m755 runtime/gdp_launcher_base.py $(DESTDIR)${gamedatadir}/quake/quake-server
+ install -d $(DESTDIR)${gamedatadir}/quake2/
+ install -m644 out/installed-version.py $(DESTDIR)${gamedatadir}/quake2/gdp_launcher_version.py
+ install -m755 runtime/gdp_launcher_base.py $(DESTDIR)${gamedatadir}/quake2/quake2-server
+ install -d $(DESTDIR)${gamedatadir}/quake3/
+ install -m644 out/installed-version.py $(DESTDIR)${gamedatadir}/quake3/gdp_launcher_version.py
+ install -m755 runtime/gdp_launcher_base.py $(DESTDIR)${gamedatadir}/quake3/quake3-server
+ install -d $(DESTDIR)${gamedatadir}/quake4/
+ install -m644 out/installed-version.py $(DESTDIR)${gamedatadir}/quake4/gdp_launcher_version.py
+ install -m755 runtime/gdp_launcher_base.py $(DESTDIR)${gamedatadir}/quake4/quake4-dedicated
+ install -d $(DESTDIR)${libdir}/etqw/
+ install -m644 out/installed-version.py $(DESTDIR)${libdir}/etqw/gdp_launcher_version.py
+ install -m755 runtime/gdp_launcher_base.py $(DESTDIR)${libdir}/etqw/etqw-dedicated
install -d $(DESTDIR)/etc/apparmor.d/
install -m0644 etc/apparmor.d/* $(DESTDIR)/etc/apparmor.d/
@@ -462,15 +411,15 @@ install:
install -m0644 out/doom-common.png $(DESTDIR)/usr/share/pixmaps/doom2-masterlevels.png
install -d $(DESTDIR)$(bindir)
ln -s ${runtimedir}/gdp-launcher $(DESTDIR)$(bindir)/quake
- install -m755 out/quake-server $(DESTDIR)$(bindir)
+ ln -s ${gamedatadir}/quake/quake-server $(DESTDIR)$(bindir)/
ln -s ${runtimedir}/gdp-launcher $(DESTDIR)$(bindir)/quake2
- install -m755 out/quake2-server $(DESTDIR)$(bindir)
+ ln -s ${gamedatadir}/quake2/quake2-server $(DESTDIR)$(bindir)/
ln -s ${runtimedir}/gdp-launcher $(DESTDIR)$(bindir)/quake3
- install -m755 out/quake3-server $(DESTDIR)$(bindir)
+ ln -s ${gamedatadir}/quake3/quake3-server $(DESTDIR)$(bindir)/
ln -s ${runtimedir}/gdp-launcher $(DESTDIR)$(bindir)/quake4
- install -m755 out/quake4-dedicated $(DESTDIR)$(bindir)
+ ln -s ${gamedatadir}/quake4/quake4-dedicated $(DESTDIR)$(bindir)/
ln -s ${runtimedir}/gdp-launcher $(DESTDIR)$(bindir)/etqw
- install -m755 out/etqw-dedicated $(DESTDIR)$(bindir)
+ ln -s ${libdir}/etqw/etqw-dedicated $(DESTDIR)$(bindir)/
install -d $(DESTDIR)$(datadir)/applications
install -m644 out/etqw.desktop $(DESTDIR)$(datadir)/applications
install -m644 out/quake*.desktop $(DESTDIR)$(datadir)/applications
diff --git a/debian/control b/debian/control
index 70dbd13..8051d61 100644
--- a/debian/control
+++ b/debian/control
@@ -257,6 +257,7 @@ Depends:
etqw-data | game-data-packager (>= 44),
lsb-base (>= 3.0-6),
${misc:Depends},
+ ${python3:Depends},
Recommends:
systemd-sysv,
Suggests:
@@ -355,6 +356,7 @@ Depends:
quake-registered | quake-shareware | game-data-packager,
quakespasm | quake-engine-server,
${misc:Depends},
+ ${python3:Depends},
Description: classic first person shooter - server and init script
This package contains a launcher script and init script to run a
Quake 1 server automatically, with any suitable engine.
@@ -399,6 +401,7 @@ Depends:
quake2-full-data | quake2-demo-data | game-data-packager (>= 34),
yamagi-quake2-core | quake2-engine-server,
${misc:Depends},
+ ${python3:Depends},
Suggests:
quake2-groundzero-data,
quake2-reckoning-data,
@@ -446,6 +449,7 @@ Depends:
lsb-base (>= 3.0-6),
quake3-data | game-data-packager (>= 23),
${misc:Depends},
+ ${python3:Depends},
Recommends:
game-data-packager (>= 39),
Suggests:
@@ -488,6 +492,7 @@ Depends:
quake4-bin | game-data-packager (>= 43),
quake4-data | quake4-censored-de-data | game-data-packager (>= 43),
${misc:Depends},
+ ${python3:Depends},
Recommends:
systemd-sysv,
Description: dedicated server for Quake 4
diff --git a/debian/etqw-server.install b/debian/etqw-server.install
index 73d0ec5..e5897ce 100644
--- a/debian/etqw-server.install
+++ b/debian/etqw-server.install
@@ -1,3 +1,6 @@
runtime/README.etqw-data usr/share/doc/etqw-server
usr/games/etqw-dedicated
+usr/lib/etqw/etqw-dedicated
+usr/lib/etqw/gdp_launcher_version.py
+usr/share/games/game-data-packager-runtime/launch-etqw-dedicated.json
usr/share/man/man6/etqw-dedicated.6
diff --git a/debian/etqw-server.service b/debian/etqw-server.service
index 1db3c2d..e0142da 100644
--- a/debian/etqw-server.service
+++ b/debian/etqw-server.service
@@ -8,7 +8,7 @@ Type=simple
User=etqw-server
Environment=DAEMON_OPTS=
EnvironmentFile=-/etc/default/etqw-server
-ExecStart=/usr/games/etqw-dedicated $DAEMON_OPTS +exec etc/etqw-server/server.cfg
+ExecStart=/usr/games/etqw-dedicated --allow-binary-only $DAEMON_OPTS +exec etc/etqw-server/server.cfg
Restart=on-failure
RestartPreventExitStatus=72
# hardening
diff --git a/debian/etqw.install b/debian/etqw.install
index 572ca84..f6ab735 100644
--- a/debian/etqw.install
+++ b/debian/etqw.install
@@ -1,3 +1,4 @@
usr/games/etqw
usr/share/applications/etqw.desktop
+usr/share/games/game-data-packager-runtime/launch-etqw.json
usr/share/man/man6/etqw.6
diff --git a/debian/game-data-packager-runtime.install b/debian/game-data-packager-runtime.install
index ef85934..45babd1 100644
--- a/debian/game-data-packager-runtime.install
+++ b/debian/game-data-packager-runtime.install
@@ -1,6 +1,15 @@
debian/tmp/etc/apparmor.d
usr/games/doom2-masterlevels
usr/share/applications/doom2-masterlevels.desktop
-usr/share/games/game-data-packager-runtime
+usr/share/games/game-data-packager-runtime/confirm-binary-only.txt
+usr/share/games/game-data-packager-runtime/gdp-launcher
+usr/share/games/game-data-packager-runtime/gdp_launcher_base.py
+usr/share/games/game-data-packager-runtime/gdp_launcher_version.py
+usr/share/games/game-data-packager-runtime/gdp-openurl
+usr/share/games/game-data-packager-runtime/launch-unreal-gold.json
+usr/share/games/game-data-packager-runtime/launch-unreal.json
+usr/share/games/game-data-packager-runtime/missing-data.txt
+usr/share/games/game-data-packager-runtime/unreal-gold.desktop
+usr/share/games/game-data-packager-runtime/unreal.desktop
usr/share/man/man6/doom2-masterlevels.6
usr/share/pixmaps/doom2-masterlevels.png
diff --git a/debian/quake-server.install b/debian/quake-server.install
index 866f3cd..d096a4d 100644
--- a/debian/quake-server.install
+++ b/debian/quake-server.install
@@ -1,4 +1,7 @@
debian/quake-server at .service lib/systemd/system
debian/q1/server.cfg /etc/quake-server
usr/games/quake-server
+usr/share/games/game-data-packager-runtime/launch-quake-server.json
+usr/share/games/quake/gdp_launcher_version.py
+usr/share/games/quake/quake-server
usr/share/man/man6/quake-server.6
diff --git a/debian/quake.install b/debian/quake.install
index 5fd5efd..38ead5d 100644
--- a/debian/quake.install
+++ b/debian/quake.install
@@ -1,6 +1,7 @@
usr/games/quake
usr/share/applications/quake-*.desktop
usr/share/applications/quake.desktop
+usr/share/games/game-data-packager-runtime/launch-quake.json
usr/share/icons/hicolor/*/apps/quake-*.png
usr/share/icons/hicolor/*/apps/quake-*.svg
usr/share/icons/hicolor/*/apps/quake.png
diff --git a/debian/quake2-server.install b/debian/quake2-server.install
index 50a1614..5e1181c 100644
--- a/debian/quake2-server.install
+++ b/debian/quake2-server.install
@@ -2,4 +2,7 @@ debian/q2/debian_server.cfg /etc/quake2-server
debian/q2/demo/debian_server.cfg /etc/quake2-server/demo
debian/quake2-server at .service lib/systemd/system
usr/games/quake2-server
+usr/share/games/game-data-packager-runtime/launch-quake2-server.json
+usr/share/games/quake2/gdp_launcher_version.py
+usr/share/games/quake2/quake2-server
usr/share/man/man6/quake2-server.6
diff --git a/debian/quake2.install b/debian/quake2.install
index 31b8a0d..d09319d 100644
--- a/debian/quake2.install
+++ b/debian/quake2.install
@@ -1,5 +1,6 @@
usr/games/quake2
usr/share/applications/quake2*.desktop
+usr/share/games/game-data-packager-runtime/launch-quake2.json
usr/share/icons/hicolor/*/apps/quake2*.png
usr/share/icons/hicolor/*/apps/quake2*.svg
usr/share/man/man6/quake2.6
diff --git a/debian/quake3-server.install b/debian/quake3-server.install
index 03702e7..0539a71 100644
--- a/debian/quake3-server.install
+++ b/debian/quake3-server.install
@@ -2,4 +2,7 @@ debian/q3/server.cfg etc/quake3-server
debian/quake3-server at .service lib/systemd/system
runtime/README.quake3-data usr/share/doc/quake3-server
usr/games/quake3-server
+usr/share/games/game-data-packager-runtime/launch-quake3-server.json
+usr/share/games/quake3/gdp_launcher_version.py
+usr/share/games/quake3/quake3-server
usr/share/man/man6/quake3-server.6
diff --git a/debian/quake3.install b/debian/quake3.install
index f0814ef..892c225 100644
--- a/debian/quake3.install
+++ b/debian/quake3.install
@@ -1,4 +1,5 @@
usr/games/quake3
usr/share/applications/quake3*.desktop
+usr/share/games/game-data-packager-runtime/launch-quake3.json
usr/share/icons/hicolor/*/apps/quake3*.png
usr/share/man/man6/quake3.6
diff --git a/debian/quake4-server.install b/debian/quake4-server.install
index b1b5bec..bb6a147 100644
--- a/debian/quake4-server.install
+++ b/debian/quake4-server.install
@@ -1,5 +1,8 @@
debian/apparmor.d/usr.lib.quake4.q4ded.x86 etc/apparmor.d
debian/q4/server.cfg etc/quake4-server
-runtime/README.quake4-data usr/share/doc/quake3-server
+runtime/README.quake4-data usr/share/doc/quake4-server
usr/games/quake4-dedicated
+usr/share/games/game-data-packager-runtime/launch-quake4-dedicated.json
+usr/share/games/quake4/gdp_launcher_version.py
+usr/share/games/quake4/quake4-dedicated
usr/share/man/man6/quake4-dedicated.6
diff --git a/debian/quake4-server.service b/debian/quake4-server.service
index 4ad3056..466480a 100644
--- a/debian/quake4-server.service
+++ b/debian/quake4-server.service
@@ -8,7 +8,7 @@ Type=simple
User=quake4-server
Environment=DAEMON_OPTS=
EnvironmentFile=-/etc/default/quake4-server
-ExecStart=/usr/games/quake4-dedicated $DAEMON_OPTS +exec etc/quake4-server/server.cfg
+ExecStart=/usr/games/quake4-dedicated --allow-binary-only $DAEMON_OPTS +exec etc/quake4-server/server.cfg
Restart=on-failure
RestartPreventExitStatus=72
# hardening
diff --git a/debian/quake4.install b/debian/quake4.install
index 05e751d..43c5537 100644
--- a/debian/quake4.install
+++ b/debian/quake4.install
@@ -1,6 +1,7 @@
debian/apparmor.d/usr.lib.quake4.quake4.x86 etc/apparmor.d
usr/games/quake4
usr/share/applications/quake4.desktop
+usr/share/games/game-data-packager-runtime/launch-quake4.json
usr/share/icons/hicolor/*/apps/quake4*.png
usr/share/icons/hicolor/*/apps/quake4*.svg
usr/share/man/man6/quake4.6
diff --git a/runtime/launch-etqw-dedicated.yaml.in b/runtime/launch-etqw-dedicated.yaml.in
new file mode 100644
index 0000000..ac8bedd
--- /dev/null
+++ b/runtime/launch-etqw-dedicated.yaml.in
@@ -0,0 +1,16 @@
+---
+binary_only: true
+engine: $prefix/lib/etqw/etqwded.x86
+required_files:
+ - base/pak008.pk4
+ - base/game000.pk4
+ - base/pak000.pk4
+ - base/zpak_english000.pk4
+dot_directory: ~/.etqw
+base_directories:
+ - $prefix/lib/etqw
+working_directory: $prefix/lib/etqw
+library_path:
+ - $prefix/lib/etqw
+argv: +set com_allowconsole 1
+...
diff --git a/runtime/launch-quake-server.yaml.in b/runtime/launch-quake-server.yaml.in
new file mode 100644
index 0000000..c7d3f1c
--- /dev/null
+++ b/runtime/launch-quake-server.yaml.in
@@ -0,0 +1,32 @@
+---
+dot_directory: null
+base_directories:
+ - /usr/share/games/quake
+required_files:
+ - id1/pak0.pak
+engines:
+ - $prefix/lib/quake/quake-engine-server
+ - quakespasm
+ - darkplaces
+argv: >
+ -dedicated
+ -basedir $${base_directory}
+expansions:
+ armagon:
+ aliases: hipnotic
+ extra_argv: >
+ -hipnotic
+ extra_required_files:
+ - hipnotic/pak0.pak
+ dissolution:
+ aliases: rogue
+ extra_argv: >
+ -rogue
+ extra_required_files:
+ - rogue/pak0.pak
+ dopa:
+ extra_argv: >
+ -game dopa
+ extra_required_files:
+ - dopa/pak0.pak
+...
diff --git a/runtime/launch-quake2-server.yaml.in b/runtime/launch-quake2-server.yaml.in
new file mode 100644
index 0000000..e74f65f
--- /dev/null
+++ b/runtime/launch-quake2-server.yaml.in
@@ -0,0 +1,29 @@
+---
+dot_directory: null
+base_directories:
+ - /usr/share/games/quake2
+required_files:
+ - baseq2/pak0.pak
+engines:
+ - $prefix/lib/quake2/quake2-engine-server
+ - $prefix/lib/yamagi-quake2/quake2-server
+ - yquake2-server
+argv: >
+ +set dedicated 1
+ +set basedir $${base_directory}
+expansions:
+ reckoning:
+ aliases: xatrix
+ extra_argv: >
+ +set game xatrix
+ extra_required_files:
+ - xatrix/pak0.pak
+ groundzero:
+ aliases: rogue
+ extra_argv: >
+ +set game rogue
+ extra_required_files:
+ - rogue/pak0.pak
+demo:
+ base_directories:
+ - /usr/share/games/quake2-demo
diff --git a/runtime/launch-quake3-server.yaml.in b/runtime/launch-quake3-server.yaml.in
new file mode 100644
index 0000000..9492762
--- /dev/null
+++ b/runtime/launch-quake3-server.yaml.in
@@ -0,0 +1,48 @@
+---
+dot_directory: ~/.q3a
+engines:
+ - $prefix/lib/ioquake3/ioq3ded
+ - ioq3ded
+argv: >
+ +set fs_basepath $assets/quake3
+base_directories:
+ - $assets/quake3-data
+required_files:
+ - baseq3/pak0.pk3
+ - baseq3/pak1.pk3
+ - baseq3/pak2.pk3
+ - baseq3/pak3.pk3
+ - baseq3/pak4.pk3
+ - baseq3/pak5.pk3
+ - baseq3/pak6.pk3
+ - baseq3/pak7.pk3
+ - baseq3/pak8.pk3
+expansions:
+ team-arena:
+ symlink_into_dot_directory:
+ - missionpack
+ aliases: teamarena
+ base_directories:
+ - $assets/quake3-data
+ - $assets/quake3-team-arena-data
+ extra_argv: >
+ +set fs_game missionpack +set fs_basepath /usr/lib/quake3/ta
+ extra_required_files:
+ - missionpack/pak0.pk3
+ - missionpack/pak1.pk3
+ - missionpack/pak2.pk3
+ - missionpack/pak3.pk3
+demo:
+ dot_directory: ~/.q3ademo
+ base_directories:
+ - $prefix/lib/quake3/demo
+ required_files:
+ - demoq3/pak0.pk3
+ argv: >
+ +set com_homepath .q3ademo
+ +set com_basegame demoq3
+ +set sv_pure 0
+ +set vm_ui 0
+ +set vm_cgame 0
+ +set vm_game 0
+ +set fs_basepath $${base_directory}
diff --git a/runtime/launch-quake4-dedicated.yaml.in b/runtime/launch-quake4-dedicated.yaml.in
new file mode 100644
index 0000000..04c8d86
--- /dev/null
+++ b/runtime/launch-quake4-dedicated.yaml.in
@@ -0,0 +1,16 @@
+---
+binary_only: true
+engine: $prefix/lib/quake4/q4ded.x86
+required_files:
+ - q4base/pak001.pk4
+ - q4base/pak021.pk4
+ - q4base/pak022.pk4
+ - q4base/zpak_english.pk4
+dot_directory: ~/.quake4
+base_directories:
+ - $prefix/lib/quake4
+working_directory: $prefix/lib/quake4
+library_path:
+ - $prefix/lib/quake4
+argv: +set com_allowconsole 1
+...
diff --git a/runtime/quake.in b/runtime/quake.in
deleted file mode 100644
index 0ae7af7..0000000
--- a/runtime/quake.in
+++ /dev/null
@@ -1,87 +0,0 @@
-#! /bin/sh
-
-# quake.sh - launcher script for quake 1
-
-self="@self@"
-role="@role@"
-options="@options@"
-data_location=/usr/share/games/quake
-engine_path=/usr/lib/quake/@alternative@
-no_data_title="Quake"
-no_data_msg="Missing data; see /usr/share/doc/${self}/README.Debian"
-
-main() {
- case "$(basename "$0")" in
- (*armagon*|*hipnotic*)
- set _ "$@" -hipnotic
- shift
- ;;
- (*dissolution*|*rogue*)
- set _ "$@" -rogue
- shift
- ;;
- (*dopa*)
- set _ "$@" -game dopa
- shift
- ;;
- esac
-
- while [ $# -gt 0 ]; do
- case "$1" in
- -h|--help)
- show_help
- exit 2
- ;;
- -v|--version)
- show_version
- exit 2
- ;;
- --engine)
- engine_path="$2"
- shift
- ;;
- --engine=*)
- engine_path="$1"
- engine_path="${engine_path#--engine=}"
- ;;
- *)
- break
- ;;
- esac
-
- shift
- done
-
- if ! [ -f "${data_location}/id1/pak0.pak" ]; then
- if test "${role}" = server; then
- echo "$no_data_msg" >&2
- exit 72 # EX_OSFILE
- else
- exec "$data_location"/need-data.sh "$no_data_title" "$no_data_msg"
- fi
- fi
-
- exec ${engine_path} -basedir ${data_location} ${options} "$@"
-}
-
-show_help() {
- echo "Usage: ${self} [-h|--help] [-v|--version] [ARG1] [ARG2] ..."
- echo "Launch Quake ${role}."
- echo
- echo "This script supports these options:"
- echo " -h, --help show this help information"
- echo " -v, --version show version information"
- echo " --engine BINARY use BINARY as the Quake engine, e.g."
- echo " quake --engine=/usr/games/darkplaces"
- echo
- echo "Any further arguments will be passed directly to the Quake engine."
-}
-
-show_version() {
- echo "Debian Quake 1 wrapper script"
- echo "Please consult your apt database for the version number of this script."
- echo "Looking for data at: '$data_location'"
- echo "Using engine: '$engine_path'"
-}
-
-main "$@"
diff --git a/runtime/quake2.in b/runtime/quake2.in
deleted file mode 100644
index 082be9e..0000000
--- a/runtime/quake2.in
+++ /dev/null
@@ -1,95 +0,0 @@
-#! /bin/sh
-
-# @self@ - launcher script for Quake II @role@
-
-self="@self@"
-role="@role@"
-options="@options@"
-data_location=/usr/share/games/quake2
-engine_path=/usr/lib/quake2/@alternative@
-no_data_title="Quake II"
-no_data_msg="Missing data; see /usr/share/doc/${self}/README.Debian"
-
-use_data_location="$data_location"
-
-main() {
- case "$(basename "$0")" in
- (*reckoning*|*xatrix*)
- set _ "$@" +set game xatrix
- shift
- ;;
- (*groundzero*|*rogue*)
- set _ "$@" +set game rogue
- shift
- ;;
- esac
-
- while [ $# -gt 0 ]; do
- case "$1" in
- -h|--help)
- show_help
- exit 2
- ;;
- -v|--version)
- show_version
- exit 2
- ;;
- --engine)
- engine_path="$2"
- shift
- ;;
- --engine=*)
- engine_path="$1"
- engine_path="${engine_path#--engine=}"
- ;;
- --demo)
- use_data_location="$data_location-demo"
- ;;
- *)
- break
- ;;
- esac
-
- shift
- done
-
- if ! [ -f "${use_data_location}/baseq2/pak0.pak" ]; then
- # try to fall back to the demo data - might work?
- use_data_location="$data_location-demo"
- fi
-
- if ! [ -f "${use_data_location}/baseq2/pak0.pak" ]; then
- if test "${role}" = server; then
- echo "$no_data_msg" >&2
- exit 72 # EX_OSFILE
- else
- exec "$data_location"/need-data.sh "$no_data_title" "$no_data_msg"
- fi
- fi
-
- exec ${engine_path} ${options} +set basedir "$use_data_location" "$@"
-}
-
-show_help() {
- echo "Usage: ${self} [-h|--help] [-v|--version] [ARG1] [ARG2] ..."
- echo "Launch Quake II ${role}."
- echo
- echo "This script supports these options:"
- echo " -h, --help show this help information"
- echo " -v, --version show version information"
- echo " --engine BINARY use BINARY as the Quake II engine, e.g."
- echo " quake2 --engine=/usr/lib/yagami-quake2/quake2"
- echo " --demo use the demo data, even if the full game is"
- echo " also installed"
- echo
- echo "Any further arguments will be passed directly to the engine."
-}
-
-show_version() {
- echo "Debian Quake II wrapper script"
- echo "Please consult your apt database for the version number of this script."
- echo "Looking for data at: '$data_location'"
- echo "Using engine: '$engine_path'"
-}
-
-main "$@"
diff --git a/runtime/quake3.in b/runtime/quake3.in
deleted file mode 100644
index 09e73d3..0000000
--- a/runtime/quake3.in
+++ /dev/null
@@ -1,109 +0,0 @@
-#!/bin/sh
-
-# quake3 or quake3-server or whatever
-IOQ3SELF=@IOQ3SELF@
-# "server" or "client"
-IOQ3ROLE=@IOQ3ROLE@
-# ioquake3 or ioq3ded
-IOQ3BINARY=@IOQ3BINARY@
-# q3a or openarena
-IOQ3DOTDIR=q3a
-
-ENGINE="/usr/lib/ioquake3/${IOQ3BINARY}"
-
-BASEGAME="baseq3"
-BASEPATH="/usr/share/games/quake3"
-DEBUGGER="$QUAKE3_DEBUGGER"
-DEMO=
-PAKS="0 1 2 3 4 5 6 7 8"
-QUIET=
-
-EXCUSE="\
-Quake III Arena ${IOQ3ROLE} wrapper for Debian\n\
-\n\
-Usage: ${IOQ3SELF} [OPTION]...\n\
-\n\
- -h, --help\t\tDisplay this help\n\
- -q, --quiet\t\tDisable console output\n\
- +<internal command>\tPass commands to the engine\n"
-
-CVARS="+set com_standalone 0"
-
-case "$(basename "$0")" in
- (*team-arena*|*teamarena*)
- set _ "$@" +set fs_game missionpack
- shift
- ;;
- (*demo*)
- set _ --demo "$@"
- shift
- ;;
-esac
-
-while [ "$1" != "" ]; do
-
- case "$1" in
- -h|--help)
- echo ${EXCUSE}
- exit 0
- ;;
- -q|--quiet)
- CVARS="$CVARS +set ttycon 0"
- QUIET=1
- ;;
- --demo)
- BASEPATH="/usr/lib/quake3/demo"
- DEMO=1
- ;;
- *)
- break
- ;;
- esac
- shift
-done
-
-if [ -n "$DEMO" ]; then
- BASEPATH="/usr/lib/quake3/demo"
-elif [ -e "/usr/lib/quake3/ta/missionpack/pak0.pk3" ]; then
- BASEPATH="/usr/lib/quake3/ta"
-elif [ -e "/usr/lib/quake3/base/baseq3/pak0.pk3" ]; then
- BASEPATH="/usr/lib/quake3/base"
-elif [ -e "$BASEPATH/baseq3/pak0.pk3" ]; then
- :
-elif [ -e "/usr/lib/quake3/demo/demoq3/pak0.pk3" ]; then
- BASEPATH="/usr/lib/quake3/demo"
- DEMO=1
-fi
-
-if [ -n "$DEMO" ]; then
- CVARS="$CVARS +set com_homepath .q3ademo +set com_basegame demoq3"
- CVARS="$CVARS +set sv_pure 0 +set vm_ui 0 +set vm_cgame 0 +set vm_game 0"
- paks="0"
- basegame=demoq3
-fi
-
-CVARS="$CVARS +set fs_basepath $BASEPATH"
-
-# sanity check: the engine doesn't cope well with missing data
-for i in $paks; do
- if test -f $BASEPATH/$basegame/pak$i.pk3; then
- :
- else
- if test "$IOQ3ROLE" = client; then
- $BASEPATH/need-data.sh "Quake III Arena" "`cat $BASEPATH/README.quake3-data`"
- else
- echo "Quake III Arena data missing, see /usr/share/doc/quake3-server/README.quake3-data"
- fi
- exit 72 # EX_OSFILE
- fi
-done
-
-if test "z$QUIET" = z1; then
- exec >/dev/null 2>&1;
-fi
-
-if test -n "$QUAKE3_BACKTRACE"; then
- exec gdb -return-child-result -batch -ex run -ex 'thread apply all bt full' -ex kill -ex quit --args ${ENGINE} ${CVARS} "$@"
-else
- exec ${DEBUGGER} ${ENGINE} ${CVARS} "$@"
-fi
diff --git a/runtime/quake4.in b/runtime/quake4.in
deleted file mode 100644
index c87c329..0000000
--- a/runtime/quake4.in
+++ /dev/null
@@ -1,113 +0,0 @@
-#!/bin/sh
-
-# Quake 4 or Enemy Territory: Quake Wars
-longname="@longname@"
-# Quake 4 or ETQW
-shortname="@shortname@"
-# quake4 or etqw
-id="@id@"
-# quake4, etqw or *-dedicated
-self="@self@"
-# client or server
-role="@role@"
-# *.x86 (not SMP)
-binary="@binary@"
-# quake4smp.x86 or etqw-rthread.x86
-smpbinary="@smpbinary@"
-# q4base or base
-basegame="@basegame@"
-# required packages
-paks="@paks@"
-# absolute path to icon
-icon="@icon@"
-# ~/.quake4 or ~/.etqwcl or ~/.etqw
-dotdir="${HOME}/. at dotdir@"
-
-pkglibdir="/usr/lib/${id}"
-
-help() {
- cat <<EOF
-${longname} ${role} wrapper for Debian
-
-Usage: ${self} [OPTION]...
-
- -h, --help\t\tDisplay this help
-EOF
-
- if [ -n "${smpbinary}" ] && [ -x "${pkglibdir}/${smpbinary}" ]; then
- cat <<EOF
- --smp\t\tUse the multi-threaded version of the client
-EOF
- fi
-
- cat <<EOF
- +<internal command>\tPass idTech4 console commands to the engine
-EOF
-}
-
-while [ "$1" != "" ]; do
- case "$1" in
- -h|--help)
- help
- exit 0
- ;;
- --smp)
- if [ -n "${smpbinary}" ] && [ -x "${pkglibdir}/${smpbinary}" ]; then
- binary="${smpbinary}"
- fi
- ;;
- *)
- break
- ;;
- esac
- shift
-done
-
-# sanity check: the engine doesn't cope well with missing data
-for i in ${paks}; do
- if [ -f $pkglibdir/$basegame/$i.pk4 ]; then
- :
- else
- if [ "$role" = client ]; then
- $pkglibdir/need-data.sh "${longname}" "$(cat $pkglibdir/README.${id}-data)"
- else
- echo "${shortname} data missing, see /usr/share/doc/${id}-server/README.${id}-data"
- fi
- exit 72 # EX_OSFILE
- fi
-done
-
-cvars="+set com_allowconsole 1"
-
-# Quake 4 expects to run in its installation directory
-cd "$pkglibdir"
-
-if test -n "$QUAKE4_BACKTRACE"; then
- set gdb -return-child-result -batch \
- -ex run -ex 'thread apply all bt full' -ex kill -ex quit \
- --args "${pkglibdir}/${binary}" ${cvars} \
- "$@"
-else
- set _ ${QUAKE4_DEBUGGER} "${pkglibdir}/${binary}" ${cvars} "$@"
- shift
-fi
-
-# The SMP binary needs a modified bundled copy of SDL. We don't set this
-# environment variable until after going through confirm-binary-only.sh,
-# so that we can't accidentally load sourceless binaries.
-set \
- env LD_LIBRARY_PATH="${pkglibdir}${LD_LIBRARY_PATH:+":${LD_LIBRARY_PATH}"}" \
- "$@"
-
-if [ "${role}" = "client" ]; then
- exec "${pkglibdir}/confirm-binary-only.sh" \
- --icon "${icon}" \
- --dotdir "${dotdir}" \
- --text-file "${pkglibdir}/README.${id}-bin" \
- --title "${longname}" \
- -- "$@"
-else
- exec "$@"
-fi
-
-# vim:set sw=2 sts=2 et:
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/game-data-packager.git
More information about the Pkg-games-commits
mailing list