diff --git a/Dockerfile b/Dockerfile index a2fd93e..a3bcfbd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,11 +15,18 @@ RUN apt-get update && apt-get upgrade RUN apt-get install --yes --quiet libsdl-image1.2 zandronum -RUN mkdir -p /zandronum/config && mkdir /zandronum/wads && \ -mkdir /zandronum/iwads && mkdir /zandronum/srv-exec/ && /zandronum/templates/ -ADD /config/ /zandronum/config/ -ADD /srv-exec/ /zandronum/serv-exec/ -ADD /templates/ /zandronum/templates/ +#Create a non-privileged user +RUN useradd -ms /bin/bash zandronum +USER zandronum +WORKDIR /home/zandronum + +#Build the application directory and add files +RUN mkdir /home/zandronum/config && \ + mkdir /home/zandronum/wads && \ + mkdir /home/zandronum/iwads && \ + mkdir /home/zandronum/bin/ +ADD /config/ /home/zandronum/config/ +ADD /bin/ /home/zandronum/bin/ CMD ["/zandronum/srv-exec/summon.sh"] ENTRYPOINT ["/zandronum/srv-exec/summon"] diff --git a/Dockerfile b/Dockerfile index a2fd93e..a3bcfbd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,11 +15,18 @@ RUN apt-get update && apt-get upgrade RUN apt-get install --yes --quiet libsdl-image1.2 zandronum -RUN mkdir -p /zandronum/config && mkdir /zandronum/wads && \ -mkdir /zandronum/iwads && mkdir /zandronum/srv-exec/ && /zandronum/templates/ -ADD /config/ /zandronum/config/ -ADD /srv-exec/ /zandronum/serv-exec/ -ADD /templates/ /zandronum/templates/ +#Create a non-privileged user +RUN useradd -ms /bin/bash zandronum +USER zandronum +WORKDIR /home/zandronum + +#Build the application directory and add files +RUN mkdir /home/zandronum/config && \ + mkdir /home/zandronum/wads && \ + mkdir /home/zandronum/iwads && \ + mkdir /home/zandronum/bin/ +ADD /config/ /home/zandronum/config/ +ADD /bin/ /home/zandronum/bin/ CMD ["/zandronum/srv-exec/summon.sh"] ENTRYPOINT ["/zandronum/srv-exec/summon"] diff --git a/configs/template.cfg b/configs/template.cfg deleted file mode 100644 index 80cbb38..0000000 --- a/configs/template.cfg +++ /dev/null @@ -1,53 +0,0 @@ -//game options -dmflags 0 -dmflags2 0 -compatflags 0 -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags true -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/Dockerfile b/Dockerfile index a2fd93e..a3bcfbd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,11 +15,18 @@ RUN apt-get update && apt-get upgrade RUN apt-get install --yes --quiet libsdl-image1.2 zandronum -RUN mkdir -p /zandronum/config && mkdir /zandronum/wads && \ -mkdir /zandronum/iwads && mkdir /zandronum/srv-exec/ && /zandronum/templates/ -ADD /config/ /zandronum/config/ -ADD /srv-exec/ /zandronum/serv-exec/ -ADD /templates/ /zandronum/templates/ +#Create a non-privileged user +RUN useradd -ms /bin/bash zandronum +USER zandronum +WORKDIR /home/zandronum + +#Build the application directory and add files +RUN mkdir /home/zandronum/config && \ + mkdir /home/zandronum/wads && \ + mkdir /home/zandronum/iwads && \ + mkdir /home/zandronum/bin/ +ADD /config/ /home/zandronum/config/ +ADD /bin/ /home/zandronum/bin/ CMD ["/zandronum/srv-exec/summon.sh"] ENTRYPOINT ["/zandronum/srv-exec/summon"] diff --git a/configs/template.cfg b/configs/template.cfg deleted file mode 100644 index 80cbb38..0000000 --- a/configs/template.cfg +++ /dev/null @@ -1,53 +0,0 @@ -//game options -dmflags 0 -dmflags2 0 -compatflags 0 -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags true -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/servers/zandronum-server-template.sh b/servers/zandronum-server-template.sh deleted file mode 100755 index ce2297d..0000000 --- a/servers/zandronum-server-template.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/Dockerfile b/Dockerfile index a2fd93e..a3bcfbd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,11 +15,18 @@ RUN apt-get update && apt-get upgrade RUN apt-get install --yes --quiet libsdl-image1.2 zandronum -RUN mkdir -p /zandronum/config && mkdir /zandronum/wads && \ -mkdir /zandronum/iwads && mkdir /zandronum/srv-exec/ && /zandronum/templates/ -ADD /config/ /zandronum/config/ -ADD /srv-exec/ /zandronum/serv-exec/ -ADD /templates/ /zandronum/templates/ +#Create a non-privileged user +RUN useradd -ms /bin/bash zandronum +USER zandronum +WORKDIR /home/zandronum + +#Build the application directory and add files +RUN mkdir /home/zandronum/config && \ + mkdir /home/zandronum/wads && \ + mkdir /home/zandronum/iwads && \ + mkdir /home/zandronum/bin/ +ADD /config/ /home/zandronum/config/ +ADD /bin/ /home/zandronum/bin/ CMD ["/zandronum/srv-exec/summon.sh"] ENTRYPOINT ["/zandronum/srv-exec/summon"] diff --git a/configs/template.cfg b/configs/template.cfg deleted file mode 100644 index 80cbb38..0000000 --- a/configs/template.cfg +++ /dev/null @@ -1,53 +0,0 @@ -//game options -dmflags 0 -dmflags2 0 -compatflags 0 -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags true -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/servers/zandronum-server-template.sh b/servers/zandronum-server-template.sh deleted file mode 100755 index ce2297d..0000000 --- a/servers/zandronum-server-template.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/bin/service-template.sh b/templates/bin/service-template.sh new file mode 100644 index 0000000..fb1fa54 --- /dev/null +++ b/templates/bin/service-template.sh @@ -0,0 +1,50 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: zandronum-servers +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# X-Interactive: false +# Short-Description: Zandronum service handler +# Description: Enables the launching of all Zandronum server exec files located +# in the path specified by EXEC_PATH. Also provides facilities for +# killing all running instances of zandronum-server. +### END INIT INFO + +DESC="zandronum-servers" +NAME=zandronum +EXEC_PATH="/home/zandronum/srv-exec/" + +start_service() +{ + running=`ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | wc -l` + if [ $running -gt 0 ] ; then + echo "$running Zandronum servers are already running." + else + echo "Launching all Zandronum servers in $EXEC_PATH ...."; + sudo -u zandronum find "$EXEC_PATH" | grep .sh | cat | sh 2>&1 > /dev/null + fi +} + +stop_service() +{ + echo "Killing all running Zandronum servers ...." + sudo -u zandronum ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | awk '{print $2}' | xargs kill -9 2>&1 > /dev/null +} + +case "$1" in + start) + start_service + ;; + stop) + stop_service + ;; + restart) + stop_service + start_service + ;; +esac + +exit 0 + diff --git a/Dockerfile b/Dockerfile index a2fd93e..a3bcfbd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,11 +15,18 @@ RUN apt-get update && apt-get upgrade RUN apt-get install --yes --quiet libsdl-image1.2 zandronum -RUN mkdir -p /zandronum/config && mkdir /zandronum/wads && \ -mkdir /zandronum/iwads && mkdir /zandronum/srv-exec/ && /zandronum/templates/ -ADD /config/ /zandronum/config/ -ADD /srv-exec/ /zandronum/serv-exec/ -ADD /templates/ /zandronum/templates/ +#Create a non-privileged user +RUN useradd -ms /bin/bash zandronum +USER zandronum +WORKDIR /home/zandronum + +#Build the application directory and add files +RUN mkdir /home/zandronum/config && \ + mkdir /home/zandronum/wads && \ + mkdir /home/zandronum/iwads && \ + mkdir /home/zandronum/bin/ +ADD /config/ /home/zandronum/config/ +ADD /bin/ /home/zandronum/bin/ CMD ["/zandronum/srv-exec/summon.sh"] ENTRYPOINT ["/zandronum/srv-exec/summon"] diff --git a/configs/template.cfg b/configs/template.cfg deleted file mode 100644 index 80cbb38..0000000 --- a/configs/template.cfg +++ /dev/null @@ -1,53 +0,0 @@ -//game options -dmflags 0 -dmflags2 0 -compatflags 0 -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags true -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/servers/zandronum-server-template.sh b/servers/zandronum-server-template.sh deleted file mode 100755 index ce2297d..0000000 --- a/servers/zandronum-server-template.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/bin/service-template.sh b/templates/bin/service-template.sh new file mode 100644 index 0000000..fb1fa54 --- /dev/null +++ b/templates/bin/service-template.sh @@ -0,0 +1,50 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: zandronum-servers +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# X-Interactive: false +# Short-Description: Zandronum service handler +# Description: Enables the launching of all Zandronum server exec files located +# in the path specified by EXEC_PATH. Also provides facilities for +# killing all running instances of zandronum-server. +### END INIT INFO + +DESC="zandronum-servers" +NAME=zandronum +EXEC_PATH="/home/zandronum/srv-exec/" + +start_service() +{ + running=`ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | wc -l` + if [ $running -gt 0 ] ; then + echo "$running Zandronum servers are already running." + else + echo "Launching all Zandronum servers in $EXEC_PATH ...."; + sudo -u zandronum find "$EXEC_PATH" | grep .sh | cat | sh 2>&1 > /dev/null + fi +} + +stop_service() +{ + echo "Killing all running Zandronum servers ...." + sudo -u zandronum ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | awk '{print $2}' | xargs kill -9 2>&1 > /dev/null +} + +case "$1" in + start) + start_service + ;; + stop) + stop_service + ;; + restart) + stop_service + start_service + ;; +esac + +exit 0 + diff --git a/templates/bin/zandronum-server-template.sh b/templates/bin/zandronum-server-template.sh new file mode 100644 index 0000000..ce2297d --- /dev/null +++ b/templates/bin/zandronum-server-template.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/Dockerfile b/Dockerfile index a2fd93e..a3bcfbd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,11 +15,18 @@ RUN apt-get update && apt-get upgrade RUN apt-get install --yes --quiet libsdl-image1.2 zandronum -RUN mkdir -p /zandronum/config && mkdir /zandronum/wads && \ -mkdir /zandronum/iwads && mkdir /zandronum/srv-exec/ && /zandronum/templates/ -ADD /config/ /zandronum/config/ -ADD /srv-exec/ /zandronum/serv-exec/ -ADD /templates/ /zandronum/templates/ +#Create a non-privileged user +RUN useradd -ms /bin/bash zandronum +USER zandronum +WORKDIR /home/zandronum + +#Build the application directory and add files +RUN mkdir /home/zandronum/config && \ + mkdir /home/zandronum/wads && \ + mkdir /home/zandronum/iwads && \ + mkdir /home/zandronum/bin/ +ADD /config/ /home/zandronum/config/ +ADD /bin/ /home/zandronum/bin/ CMD ["/zandronum/srv-exec/summon.sh"] ENTRYPOINT ["/zandronum/srv-exec/summon"] diff --git a/configs/template.cfg b/configs/template.cfg deleted file mode 100644 index 80cbb38..0000000 --- a/configs/template.cfg +++ /dev/null @@ -1,53 +0,0 @@ -//game options -dmflags 0 -dmflags2 0 -compatflags 0 -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags true -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/servers/zandronum-server-template.sh b/servers/zandronum-server-template.sh deleted file mode 100755 index ce2297d..0000000 --- a/servers/zandronum-server-template.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/bin/service-template.sh b/templates/bin/service-template.sh new file mode 100644 index 0000000..fb1fa54 --- /dev/null +++ b/templates/bin/service-template.sh @@ -0,0 +1,50 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: zandronum-servers +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# X-Interactive: false +# Short-Description: Zandronum service handler +# Description: Enables the launching of all Zandronum server exec files located +# in the path specified by EXEC_PATH. Also provides facilities for +# killing all running instances of zandronum-server. +### END INIT INFO + +DESC="zandronum-servers" +NAME=zandronum +EXEC_PATH="/home/zandronum/srv-exec/" + +start_service() +{ + running=`ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | wc -l` + if [ $running -gt 0 ] ; then + echo "$running Zandronum servers are already running." + else + echo "Launching all Zandronum servers in $EXEC_PATH ...."; + sudo -u zandronum find "$EXEC_PATH" | grep .sh | cat | sh 2>&1 > /dev/null + fi +} + +stop_service() +{ + echo "Killing all running Zandronum servers ...." + sudo -u zandronum ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | awk '{print $2}' | xargs kill -9 2>&1 > /dev/null +} + +case "$1" in + start) + start_service + ;; + stop) + stop_service + ;; + restart) + stop_service + start_service + ;; +esac + +exit 0 + diff --git a/templates/bin/zandronum-server-template.sh b/templates/bin/zandronum-server-template.sh new file mode 100644 index 0000000..ce2297d --- /dev/null +++ b/templates/bin/zandronum-server-template.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/config/coop-template.cfg b/templates/config/coop-template.cfg new file mode 100644 index 0000000..92636ee --- /dev/null +++ b/templates/config/coop-template.cfg @@ -0,0 +1,60 @@ +//game options +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_weaponstay true +sv_itemrespawn true +sv_coop_losekeys true +sv_coop_loseinventory true +sv_coop_loseweapons true +sv_coop_loseammo true +sv_barrelrespawn true +sv_weapondrop true +sv_nojump false +sv_nocrouch true +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags false +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/Dockerfile b/Dockerfile index a2fd93e..a3bcfbd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,11 +15,18 @@ RUN apt-get update && apt-get upgrade RUN apt-get install --yes --quiet libsdl-image1.2 zandronum -RUN mkdir -p /zandronum/config && mkdir /zandronum/wads && \ -mkdir /zandronum/iwads && mkdir /zandronum/srv-exec/ && /zandronum/templates/ -ADD /config/ /zandronum/config/ -ADD /srv-exec/ /zandronum/serv-exec/ -ADD /templates/ /zandronum/templates/ +#Create a non-privileged user +RUN useradd -ms /bin/bash zandronum +USER zandronum +WORKDIR /home/zandronum + +#Build the application directory and add files +RUN mkdir /home/zandronum/config && \ + mkdir /home/zandronum/wads && \ + mkdir /home/zandronum/iwads && \ + mkdir /home/zandronum/bin/ +ADD /config/ /home/zandronum/config/ +ADD /bin/ /home/zandronum/bin/ CMD ["/zandronum/srv-exec/summon.sh"] ENTRYPOINT ["/zandronum/srv-exec/summon"] diff --git a/configs/template.cfg b/configs/template.cfg deleted file mode 100644 index 80cbb38..0000000 --- a/configs/template.cfg +++ /dev/null @@ -1,53 +0,0 @@ -//game options -dmflags 0 -dmflags2 0 -compatflags 0 -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags true -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/servers/zandronum-server-template.sh b/servers/zandronum-server-template.sh deleted file mode 100755 index ce2297d..0000000 --- a/servers/zandronum-server-template.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/bin/service-template.sh b/templates/bin/service-template.sh new file mode 100644 index 0000000..fb1fa54 --- /dev/null +++ b/templates/bin/service-template.sh @@ -0,0 +1,50 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: zandronum-servers +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# X-Interactive: false +# Short-Description: Zandronum service handler +# Description: Enables the launching of all Zandronum server exec files located +# in the path specified by EXEC_PATH. Also provides facilities for +# killing all running instances of zandronum-server. +### END INIT INFO + +DESC="zandronum-servers" +NAME=zandronum +EXEC_PATH="/home/zandronum/srv-exec/" + +start_service() +{ + running=`ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | wc -l` + if [ $running -gt 0 ] ; then + echo "$running Zandronum servers are already running." + else + echo "Launching all Zandronum servers in $EXEC_PATH ...."; + sudo -u zandronum find "$EXEC_PATH" | grep .sh | cat | sh 2>&1 > /dev/null + fi +} + +stop_service() +{ + echo "Killing all running Zandronum servers ...." + sudo -u zandronum ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | awk '{print $2}' | xargs kill -9 2>&1 > /dev/null +} + +case "$1" in + start) + start_service + ;; + stop) + stop_service + ;; + restart) + stop_service + start_service + ;; +esac + +exit 0 + diff --git a/templates/bin/zandronum-server-template.sh b/templates/bin/zandronum-server-template.sh new file mode 100644 index 0000000..ce2297d --- /dev/null +++ b/templates/bin/zandronum-server-template.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/config/coop-template.cfg b/templates/config/coop-template.cfg new file mode 100644 index 0000000..92636ee --- /dev/null +++ b/templates/config/coop-template.cfg @@ -0,0 +1,60 @@ +//game options +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_weaponstay true +sv_itemrespawn true +sv_coop_losekeys true +sv_coop_loseinventory true +sv_coop_loseweapons true +sv_coop_loseammo true +sv_barrelrespawn true +sv_weapondrop true +sv_nojump false +sv_nocrouch true +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags false +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/templates/config/template.cfg b/templates/config/template.cfg new file mode 100644 index 0000000..ce071be --- /dev/null +++ b/templates/config/template.cfg @@ -0,0 +1,53 @@ +//game options +dmflags 0 +dmflags2 0 +compatflags 0 +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags true +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/Dockerfile b/Dockerfile index a2fd93e..a3bcfbd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,11 +15,18 @@ RUN apt-get update && apt-get upgrade RUN apt-get install --yes --quiet libsdl-image1.2 zandronum -RUN mkdir -p /zandronum/config && mkdir /zandronum/wads && \ -mkdir /zandronum/iwads && mkdir /zandronum/srv-exec/ && /zandronum/templates/ -ADD /config/ /zandronum/config/ -ADD /srv-exec/ /zandronum/serv-exec/ -ADD /templates/ /zandronum/templates/ +#Create a non-privileged user +RUN useradd -ms /bin/bash zandronum +USER zandronum +WORKDIR /home/zandronum + +#Build the application directory and add files +RUN mkdir /home/zandronum/config && \ + mkdir /home/zandronum/wads && \ + mkdir /home/zandronum/iwads && \ + mkdir /home/zandronum/bin/ +ADD /config/ /home/zandronum/config/ +ADD /bin/ /home/zandronum/bin/ CMD ["/zandronum/srv-exec/summon.sh"] ENTRYPOINT ["/zandronum/srv-exec/summon"] diff --git a/configs/template.cfg b/configs/template.cfg deleted file mode 100644 index 80cbb38..0000000 --- a/configs/template.cfg +++ /dev/null @@ -1,53 +0,0 @@ -//game options -dmflags 0 -dmflags2 0 -compatflags 0 -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags true -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/servers/zandronum-server-template.sh b/servers/zandronum-server-template.sh deleted file mode 100755 index ce2297d..0000000 --- a/servers/zandronum-server-template.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/bin/service-template.sh b/templates/bin/service-template.sh new file mode 100644 index 0000000..fb1fa54 --- /dev/null +++ b/templates/bin/service-template.sh @@ -0,0 +1,50 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: zandronum-servers +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# X-Interactive: false +# Short-Description: Zandronum service handler +# Description: Enables the launching of all Zandronum server exec files located +# in the path specified by EXEC_PATH. Also provides facilities for +# killing all running instances of zandronum-server. +### END INIT INFO + +DESC="zandronum-servers" +NAME=zandronum +EXEC_PATH="/home/zandronum/srv-exec/" + +start_service() +{ + running=`ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | wc -l` + if [ $running -gt 0 ] ; then + echo "$running Zandronum servers are already running." + else + echo "Launching all Zandronum servers in $EXEC_PATH ...."; + sudo -u zandronum find "$EXEC_PATH" | grep .sh | cat | sh 2>&1 > /dev/null + fi +} + +stop_service() +{ + echo "Killing all running Zandronum servers ...." + sudo -u zandronum ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | awk '{print $2}' | xargs kill -9 2>&1 > /dev/null +} + +case "$1" in + start) + start_service + ;; + stop) + stop_service + ;; + restart) + stop_service + start_service + ;; +esac + +exit 0 + diff --git a/templates/bin/zandronum-server-template.sh b/templates/bin/zandronum-server-template.sh new file mode 100644 index 0000000..ce2297d --- /dev/null +++ b/templates/bin/zandronum-server-template.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/config/coop-template.cfg b/templates/config/coop-template.cfg new file mode 100644 index 0000000..92636ee --- /dev/null +++ b/templates/config/coop-template.cfg @@ -0,0 +1,60 @@ +//game options +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_weaponstay true +sv_itemrespawn true +sv_coop_losekeys true +sv_coop_loseinventory true +sv_coop_loseweapons true +sv_coop_loseammo true +sv_barrelrespawn true +sv_weapondrop true +sv_nojump false +sv_nocrouch true +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags false +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/templates/config/template.cfg b/templates/config/template.cfg new file mode 100644 index 0000000..ce071be --- /dev/null +++ b/templates/config/template.cfg @@ -0,0 +1,53 @@ +//game options +dmflags 0 +dmflags2 0 +compatflags 0 +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags true +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/zandronum/bin/GeoIP.dat b/zandronum/bin/GeoIP.dat new file mode 100644 index 0000000..d780363 --- /dev/null +++ b/zandronum/bin/GeoIP.dat Binary files differ diff --git a/Dockerfile b/Dockerfile index a2fd93e..a3bcfbd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,11 +15,18 @@ RUN apt-get update && apt-get upgrade RUN apt-get install --yes --quiet libsdl-image1.2 zandronum -RUN mkdir -p /zandronum/config && mkdir /zandronum/wads && \ -mkdir /zandronum/iwads && mkdir /zandronum/srv-exec/ && /zandronum/templates/ -ADD /config/ /zandronum/config/ -ADD /srv-exec/ /zandronum/serv-exec/ -ADD /templates/ /zandronum/templates/ +#Create a non-privileged user +RUN useradd -ms /bin/bash zandronum +USER zandronum +WORKDIR /home/zandronum + +#Build the application directory and add files +RUN mkdir /home/zandronum/config && \ + mkdir /home/zandronum/wads && \ + mkdir /home/zandronum/iwads && \ + mkdir /home/zandronum/bin/ +ADD /config/ /home/zandronum/config/ +ADD /bin/ /home/zandronum/bin/ CMD ["/zandronum/srv-exec/summon.sh"] ENTRYPOINT ["/zandronum/srv-exec/summon"] diff --git a/configs/template.cfg b/configs/template.cfg deleted file mode 100644 index 80cbb38..0000000 --- a/configs/template.cfg +++ /dev/null @@ -1,53 +0,0 @@ -//game options -dmflags 0 -dmflags2 0 -compatflags 0 -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags true -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/servers/zandronum-server-template.sh b/servers/zandronum-server-template.sh deleted file mode 100755 index ce2297d..0000000 --- a/servers/zandronum-server-template.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/bin/service-template.sh b/templates/bin/service-template.sh new file mode 100644 index 0000000..fb1fa54 --- /dev/null +++ b/templates/bin/service-template.sh @@ -0,0 +1,50 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: zandronum-servers +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# X-Interactive: false +# Short-Description: Zandronum service handler +# Description: Enables the launching of all Zandronum server exec files located +# in the path specified by EXEC_PATH. Also provides facilities for +# killing all running instances of zandronum-server. +### END INIT INFO + +DESC="zandronum-servers" +NAME=zandronum +EXEC_PATH="/home/zandronum/srv-exec/" + +start_service() +{ + running=`ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | wc -l` + if [ $running -gt 0 ] ; then + echo "$running Zandronum servers are already running." + else + echo "Launching all Zandronum servers in $EXEC_PATH ...."; + sudo -u zandronum find "$EXEC_PATH" | grep .sh | cat | sh 2>&1 > /dev/null + fi +} + +stop_service() +{ + echo "Killing all running Zandronum servers ...." + sudo -u zandronum ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | awk '{print $2}' | xargs kill -9 2>&1 > /dev/null +} + +case "$1" in + start) + start_service + ;; + stop) + stop_service + ;; + restart) + stop_service + start_service + ;; +esac + +exit 0 + diff --git a/templates/bin/zandronum-server-template.sh b/templates/bin/zandronum-server-template.sh new file mode 100644 index 0000000..ce2297d --- /dev/null +++ b/templates/bin/zandronum-server-template.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/config/coop-template.cfg b/templates/config/coop-template.cfg new file mode 100644 index 0000000..92636ee --- /dev/null +++ b/templates/config/coop-template.cfg @@ -0,0 +1,60 @@ +//game options +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_weaponstay true +sv_itemrespawn true +sv_coop_losekeys true +sv_coop_loseinventory true +sv_coop_loseweapons true +sv_coop_loseammo true +sv_barrelrespawn true +sv_weapondrop true +sv_nojump false +sv_nocrouch true +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags false +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/templates/config/template.cfg b/templates/config/template.cfg new file mode 100644 index 0000000..ce071be --- /dev/null +++ b/templates/config/template.cfg @@ -0,0 +1,53 @@ +//game options +dmflags 0 +dmflags2 0 +compatflags 0 +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags true +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/zandronum/bin/GeoIP.dat b/zandronum/bin/GeoIP.dat new file mode 100644 index 0000000..d780363 --- /dev/null +++ b/zandronum/bin/GeoIP.dat Binary files differ diff --git a/zandronum/bin/zandronum-coop-d1-brutal-server.sh b/zandronum/bin/zandronum-coop-d1-brutal-server.sh new file mode 100644 index 0000000..b269789 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/Dockerfile b/Dockerfile index a2fd93e..a3bcfbd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,11 +15,18 @@ RUN apt-get update && apt-get upgrade RUN apt-get install --yes --quiet libsdl-image1.2 zandronum -RUN mkdir -p /zandronum/config && mkdir /zandronum/wads && \ -mkdir /zandronum/iwads && mkdir /zandronum/srv-exec/ && /zandronum/templates/ -ADD /config/ /zandronum/config/ -ADD /srv-exec/ /zandronum/serv-exec/ -ADD /templates/ /zandronum/templates/ +#Create a non-privileged user +RUN useradd -ms /bin/bash zandronum +USER zandronum +WORKDIR /home/zandronum + +#Build the application directory and add files +RUN mkdir /home/zandronum/config && \ + mkdir /home/zandronum/wads && \ + mkdir /home/zandronum/iwads && \ + mkdir /home/zandronum/bin/ +ADD /config/ /home/zandronum/config/ +ADD /bin/ /home/zandronum/bin/ CMD ["/zandronum/srv-exec/summon.sh"] ENTRYPOINT ["/zandronum/srv-exec/summon"] diff --git a/configs/template.cfg b/configs/template.cfg deleted file mode 100644 index 80cbb38..0000000 --- a/configs/template.cfg +++ /dev/null @@ -1,53 +0,0 @@ -//game options -dmflags 0 -dmflags2 0 -compatflags 0 -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags true -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/servers/zandronum-server-template.sh b/servers/zandronum-server-template.sh deleted file mode 100755 index ce2297d..0000000 --- a/servers/zandronum-server-template.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/bin/service-template.sh b/templates/bin/service-template.sh new file mode 100644 index 0000000..fb1fa54 --- /dev/null +++ b/templates/bin/service-template.sh @@ -0,0 +1,50 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: zandronum-servers +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# X-Interactive: false +# Short-Description: Zandronum service handler +# Description: Enables the launching of all Zandronum server exec files located +# in the path specified by EXEC_PATH. Also provides facilities for +# killing all running instances of zandronum-server. +### END INIT INFO + +DESC="zandronum-servers" +NAME=zandronum +EXEC_PATH="/home/zandronum/srv-exec/" + +start_service() +{ + running=`ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | wc -l` + if [ $running -gt 0 ] ; then + echo "$running Zandronum servers are already running." + else + echo "Launching all Zandronum servers in $EXEC_PATH ...."; + sudo -u zandronum find "$EXEC_PATH" | grep .sh | cat | sh 2>&1 > /dev/null + fi +} + +stop_service() +{ + echo "Killing all running Zandronum servers ...." + sudo -u zandronum ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | awk '{print $2}' | xargs kill -9 2>&1 > /dev/null +} + +case "$1" in + start) + start_service + ;; + stop) + stop_service + ;; + restart) + stop_service + start_service + ;; +esac + +exit 0 + diff --git a/templates/bin/zandronum-server-template.sh b/templates/bin/zandronum-server-template.sh new file mode 100644 index 0000000..ce2297d --- /dev/null +++ b/templates/bin/zandronum-server-template.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/config/coop-template.cfg b/templates/config/coop-template.cfg new file mode 100644 index 0000000..92636ee --- /dev/null +++ b/templates/config/coop-template.cfg @@ -0,0 +1,60 @@ +//game options +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_weaponstay true +sv_itemrespawn true +sv_coop_losekeys true +sv_coop_loseinventory true +sv_coop_loseweapons true +sv_coop_loseammo true +sv_barrelrespawn true +sv_weapondrop true +sv_nojump false +sv_nocrouch true +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags false +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/templates/config/template.cfg b/templates/config/template.cfg new file mode 100644 index 0000000..ce071be --- /dev/null +++ b/templates/config/template.cfg @@ -0,0 +1,53 @@ +//game options +dmflags 0 +dmflags2 0 +compatflags 0 +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags true +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/zandronum/bin/GeoIP.dat b/zandronum/bin/GeoIP.dat new file mode 100644 index 0000000..d780363 --- /dev/null +++ b/zandronum/bin/GeoIP.dat Binary files differ diff --git a/zandronum/bin/zandronum-coop-d1-brutal-server.sh b/zandronum/bin/zandronum-coop-d1-brutal-server.sh new file mode 100644 index 0000000..b269789 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d1-server.sh b/zandronum/bin/zandronum-coop-d1-server.sh new file mode 100644 index 0000000..2749009 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/Dockerfile b/Dockerfile index a2fd93e..a3bcfbd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,11 +15,18 @@ RUN apt-get update && apt-get upgrade RUN apt-get install --yes --quiet libsdl-image1.2 zandronum -RUN mkdir -p /zandronum/config && mkdir /zandronum/wads && \ -mkdir /zandronum/iwads && mkdir /zandronum/srv-exec/ && /zandronum/templates/ -ADD /config/ /zandronum/config/ -ADD /srv-exec/ /zandronum/serv-exec/ -ADD /templates/ /zandronum/templates/ +#Create a non-privileged user +RUN useradd -ms /bin/bash zandronum +USER zandronum +WORKDIR /home/zandronum + +#Build the application directory and add files +RUN mkdir /home/zandronum/config && \ + mkdir /home/zandronum/wads && \ + mkdir /home/zandronum/iwads && \ + mkdir /home/zandronum/bin/ +ADD /config/ /home/zandronum/config/ +ADD /bin/ /home/zandronum/bin/ CMD ["/zandronum/srv-exec/summon.sh"] ENTRYPOINT ["/zandronum/srv-exec/summon"] diff --git a/configs/template.cfg b/configs/template.cfg deleted file mode 100644 index 80cbb38..0000000 --- a/configs/template.cfg +++ /dev/null @@ -1,53 +0,0 @@ -//game options -dmflags 0 -dmflags2 0 -compatflags 0 -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags true -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/servers/zandronum-server-template.sh b/servers/zandronum-server-template.sh deleted file mode 100755 index ce2297d..0000000 --- a/servers/zandronum-server-template.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/bin/service-template.sh b/templates/bin/service-template.sh new file mode 100644 index 0000000..fb1fa54 --- /dev/null +++ b/templates/bin/service-template.sh @@ -0,0 +1,50 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: zandronum-servers +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# X-Interactive: false +# Short-Description: Zandronum service handler +# Description: Enables the launching of all Zandronum server exec files located +# in the path specified by EXEC_PATH. Also provides facilities for +# killing all running instances of zandronum-server. +### END INIT INFO + +DESC="zandronum-servers" +NAME=zandronum +EXEC_PATH="/home/zandronum/srv-exec/" + +start_service() +{ + running=`ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | wc -l` + if [ $running -gt 0 ] ; then + echo "$running Zandronum servers are already running." + else + echo "Launching all Zandronum servers in $EXEC_PATH ...."; + sudo -u zandronum find "$EXEC_PATH" | grep .sh | cat | sh 2>&1 > /dev/null + fi +} + +stop_service() +{ + echo "Killing all running Zandronum servers ...." + sudo -u zandronum ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | awk '{print $2}' | xargs kill -9 2>&1 > /dev/null +} + +case "$1" in + start) + start_service + ;; + stop) + stop_service + ;; + restart) + stop_service + start_service + ;; +esac + +exit 0 + diff --git a/templates/bin/zandronum-server-template.sh b/templates/bin/zandronum-server-template.sh new file mode 100644 index 0000000..ce2297d --- /dev/null +++ b/templates/bin/zandronum-server-template.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/config/coop-template.cfg b/templates/config/coop-template.cfg new file mode 100644 index 0000000..92636ee --- /dev/null +++ b/templates/config/coop-template.cfg @@ -0,0 +1,60 @@ +//game options +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_weaponstay true +sv_itemrespawn true +sv_coop_losekeys true +sv_coop_loseinventory true +sv_coop_loseweapons true +sv_coop_loseammo true +sv_barrelrespawn true +sv_weapondrop true +sv_nojump false +sv_nocrouch true +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags false +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/templates/config/template.cfg b/templates/config/template.cfg new file mode 100644 index 0000000..ce071be --- /dev/null +++ b/templates/config/template.cfg @@ -0,0 +1,53 @@ +//game options +dmflags 0 +dmflags2 0 +compatflags 0 +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags true +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/zandronum/bin/GeoIP.dat b/zandronum/bin/GeoIP.dat new file mode 100644 index 0000000..d780363 --- /dev/null +++ b/zandronum/bin/GeoIP.dat Binary files differ diff --git a/zandronum/bin/zandronum-coop-d1-brutal-server.sh b/zandronum/bin/zandronum-coop-d1-brutal-server.sh new file mode 100644 index 0000000..b269789 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d1-server.sh b/zandronum/bin/zandronum-coop-d1-server.sh new file mode 100644 index 0000000..2749009 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-brutal-server.sh b/zandronum/bin/zandronum-coop-d2-brutal-server.sh new file mode 100644 index 0000000..c6c49c1 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d2-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/Dockerfile b/Dockerfile index a2fd93e..a3bcfbd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,11 +15,18 @@ RUN apt-get update && apt-get upgrade RUN apt-get install --yes --quiet libsdl-image1.2 zandronum -RUN mkdir -p /zandronum/config && mkdir /zandronum/wads && \ -mkdir /zandronum/iwads && mkdir /zandronum/srv-exec/ && /zandronum/templates/ -ADD /config/ /zandronum/config/ -ADD /srv-exec/ /zandronum/serv-exec/ -ADD /templates/ /zandronum/templates/ +#Create a non-privileged user +RUN useradd -ms /bin/bash zandronum +USER zandronum +WORKDIR /home/zandronum + +#Build the application directory and add files +RUN mkdir /home/zandronum/config && \ + mkdir /home/zandronum/wads && \ + mkdir /home/zandronum/iwads && \ + mkdir /home/zandronum/bin/ +ADD /config/ /home/zandronum/config/ +ADD /bin/ /home/zandronum/bin/ CMD ["/zandronum/srv-exec/summon.sh"] ENTRYPOINT ["/zandronum/srv-exec/summon"] diff --git a/configs/template.cfg b/configs/template.cfg deleted file mode 100644 index 80cbb38..0000000 --- a/configs/template.cfg +++ /dev/null @@ -1,53 +0,0 @@ -//game options -dmflags 0 -dmflags2 0 -compatflags 0 -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags true -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/servers/zandronum-server-template.sh b/servers/zandronum-server-template.sh deleted file mode 100755 index ce2297d..0000000 --- a/servers/zandronum-server-template.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/bin/service-template.sh b/templates/bin/service-template.sh new file mode 100644 index 0000000..fb1fa54 --- /dev/null +++ b/templates/bin/service-template.sh @@ -0,0 +1,50 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: zandronum-servers +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# X-Interactive: false +# Short-Description: Zandronum service handler +# Description: Enables the launching of all Zandronum server exec files located +# in the path specified by EXEC_PATH. Also provides facilities for +# killing all running instances of zandronum-server. +### END INIT INFO + +DESC="zandronum-servers" +NAME=zandronum +EXEC_PATH="/home/zandronum/srv-exec/" + +start_service() +{ + running=`ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | wc -l` + if [ $running -gt 0 ] ; then + echo "$running Zandronum servers are already running." + else + echo "Launching all Zandronum servers in $EXEC_PATH ...."; + sudo -u zandronum find "$EXEC_PATH" | grep .sh | cat | sh 2>&1 > /dev/null + fi +} + +stop_service() +{ + echo "Killing all running Zandronum servers ...." + sudo -u zandronum ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | awk '{print $2}' | xargs kill -9 2>&1 > /dev/null +} + +case "$1" in + start) + start_service + ;; + stop) + stop_service + ;; + restart) + stop_service + start_service + ;; +esac + +exit 0 + diff --git a/templates/bin/zandronum-server-template.sh b/templates/bin/zandronum-server-template.sh new file mode 100644 index 0000000..ce2297d --- /dev/null +++ b/templates/bin/zandronum-server-template.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/config/coop-template.cfg b/templates/config/coop-template.cfg new file mode 100644 index 0000000..92636ee --- /dev/null +++ b/templates/config/coop-template.cfg @@ -0,0 +1,60 @@ +//game options +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_weaponstay true +sv_itemrespawn true +sv_coop_losekeys true +sv_coop_loseinventory true +sv_coop_loseweapons true +sv_coop_loseammo true +sv_barrelrespawn true +sv_weapondrop true +sv_nojump false +sv_nocrouch true +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags false +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/templates/config/template.cfg b/templates/config/template.cfg new file mode 100644 index 0000000..ce071be --- /dev/null +++ b/templates/config/template.cfg @@ -0,0 +1,53 @@ +//game options +dmflags 0 +dmflags2 0 +compatflags 0 +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags true +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/zandronum/bin/GeoIP.dat b/zandronum/bin/GeoIP.dat new file mode 100644 index 0000000..d780363 --- /dev/null +++ b/zandronum/bin/GeoIP.dat Binary files differ diff --git a/zandronum/bin/zandronum-coop-d1-brutal-server.sh b/zandronum/bin/zandronum-coop-d1-brutal-server.sh new file mode 100644 index 0000000..b269789 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d1-server.sh b/zandronum/bin/zandronum-coop-d1-server.sh new file mode 100644 index 0000000..2749009 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-brutal-server.sh b/zandronum/bin/zandronum-coop-d2-brutal-server.sh new file mode 100644 index 0000000..c6c49c1 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d2-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-server.sh b/zandronum/bin/zandronum-coop-d2-server.sh new file mode 100644 index 0000000..7074086 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10769 -iwad "/home/zandronum/.zandronum/doom2.wad" +exec /home/zandronum/config/coop-d2.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2" +CrashLogs 2 2>&1 /dev/null & diff --git a/Dockerfile b/Dockerfile index a2fd93e..a3bcfbd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,11 +15,18 @@ RUN apt-get update && apt-get upgrade RUN apt-get install --yes --quiet libsdl-image1.2 zandronum -RUN mkdir -p /zandronum/config && mkdir /zandronum/wads && \ -mkdir /zandronum/iwads && mkdir /zandronum/srv-exec/ && /zandronum/templates/ -ADD /config/ /zandronum/config/ -ADD /srv-exec/ /zandronum/serv-exec/ -ADD /templates/ /zandronum/templates/ +#Create a non-privileged user +RUN useradd -ms /bin/bash zandronum +USER zandronum +WORKDIR /home/zandronum + +#Build the application directory and add files +RUN mkdir /home/zandronum/config && \ + mkdir /home/zandronum/wads && \ + mkdir /home/zandronum/iwads && \ + mkdir /home/zandronum/bin/ +ADD /config/ /home/zandronum/config/ +ADD /bin/ /home/zandronum/bin/ CMD ["/zandronum/srv-exec/summon.sh"] ENTRYPOINT ["/zandronum/srv-exec/summon"] diff --git a/configs/template.cfg b/configs/template.cfg deleted file mode 100644 index 80cbb38..0000000 --- a/configs/template.cfg +++ /dev/null @@ -1,53 +0,0 @@ -//game options -dmflags 0 -dmflags2 0 -compatflags 0 -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags true -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/servers/zandronum-server-template.sh b/servers/zandronum-server-template.sh deleted file mode 100755 index ce2297d..0000000 --- a/servers/zandronum-server-template.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/bin/service-template.sh b/templates/bin/service-template.sh new file mode 100644 index 0000000..fb1fa54 --- /dev/null +++ b/templates/bin/service-template.sh @@ -0,0 +1,50 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: zandronum-servers +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# X-Interactive: false +# Short-Description: Zandronum service handler +# Description: Enables the launching of all Zandronum server exec files located +# in the path specified by EXEC_PATH. Also provides facilities for +# killing all running instances of zandronum-server. +### END INIT INFO + +DESC="zandronum-servers" +NAME=zandronum +EXEC_PATH="/home/zandronum/srv-exec/" + +start_service() +{ + running=`ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | wc -l` + if [ $running -gt 0 ] ; then + echo "$running Zandronum servers are already running." + else + echo "Launching all Zandronum servers in $EXEC_PATH ...."; + sudo -u zandronum find "$EXEC_PATH" | grep .sh | cat | sh 2>&1 > /dev/null + fi +} + +stop_service() +{ + echo "Killing all running Zandronum servers ...." + sudo -u zandronum ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | awk '{print $2}' | xargs kill -9 2>&1 > /dev/null +} + +case "$1" in + start) + start_service + ;; + stop) + stop_service + ;; + restart) + stop_service + start_service + ;; +esac + +exit 0 + diff --git a/templates/bin/zandronum-server-template.sh b/templates/bin/zandronum-server-template.sh new file mode 100644 index 0000000..ce2297d --- /dev/null +++ b/templates/bin/zandronum-server-template.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/config/coop-template.cfg b/templates/config/coop-template.cfg new file mode 100644 index 0000000..92636ee --- /dev/null +++ b/templates/config/coop-template.cfg @@ -0,0 +1,60 @@ +//game options +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_weaponstay true +sv_itemrespawn true +sv_coop_losekeys true +sv_coop_loseinventory true +sv_coop_loseweapons true +sv_coop_loseammo true +sv_barrelrespawn true +sv_weapondrop true +sv_nojump false +sv_nocrouch true +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags false +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/templates/config/template.cfg b/templates/config/template.cfg new file mode 100644 index 0000000..ce071be --- /dev/null +++ b/templates/config/template.cfg @@ -0,0 +1,53 @@ +//game options +dmflags 0 +dmflags2 0 +compatflags 0 +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags true +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/zandronum/bin/GeoIP.dat b/zandronum/bin/GeoIP.dat new file mode 100644 index 0000000..d780363 --- /dev/null +++ b/zandronum/bin/GeoIP.dat Binary files differ diff --git a/zandronum/bin/zandronum-coop-d1-brutal-server.sh b/zandronum/bin/zandronum-coop-d1-brutal-server.sh new file mode 100644 index 0000000..b269789 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d1-server.sh b/zandronum/bin/zandronum-coop-d1-server.sh new file mode 100644 index 0000000..2749009 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-brutal-server.sh b/zandronum/bin/zandronum-coop-d2-brutal-server.sh new file mode 100644 index 0000000..c6c49c1 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d2-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-server.sh b/zandronum/bin/zandronum-coop-d2-server.sh new file mode 100644 index 0000000..7074086 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10769 -iwad "/home/zandronum/.zandronum/doom2.wad" +exec /home/zandronum/config/coop-d2.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh new file mode 100644 index 0000000..29761ee --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10666 -iwad "/home/zandronum/.zandronum/plutonia.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-plutonia-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/Dockerfile b/Dockerfile index a2fd93e..a3bcfbd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,11 +15,18 @@ RUN apt-get update && apt-get upgrade RUN apt-get install --yes --quiet libsdl-image1.2 zandronum -RUN mkdir -p /zandronum/config && mkdir /zandronum/wads && \ -mkdir /zandronum/iwads && mkdir /zandronum/srv-exec/ && /zandronum/templates/ -ADD /config/ /zandronum/config/ -ADD /srv-exec/ /zandronum/serv-exec/ -ADD /templates/ /zandronum/templates/ +#Create a non-privileged user +RUN useradd -ms /bin/bash zandronum +USER zandronum +WORKDIR /home/zandronum + +#Build the application directory and add files +RUN mkdir /home/zandronum/config && \ + mkdir /home/zandronum/wads && \ + mkdir /home/zandronum/iwads && \ + mkdir /home/zandronum/bin/ +ADD /config/ /home/zandronum/config/ +ADD /bin/ /home/zandronum/bin/ CMD ["/zandronum/srv-exec/summon.sh"] ENTRYPOINT ["/zandronum/srv-exec/summon"] diff --git a/configs/template.cfg b/configs/template.cfg deleted file mode 100644 index 80cbb38..0000000 --- a/configs/template.cfg +++ /dev/null @@ -1,53 +0,0 @@ -//game options -dmflags 0 -dmflags2 0 -compatflags 0 -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags true -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/servers/zandronum-server-template.sh b/servers/zandronum-server-template.sh deleted file mode 100755 index ce2297d..0000000 --- a/servers/zandronum-server-template.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/bin/service-template.sh b/templates/bin/service-template.sh new file mode 100644 index 0000000..fb1fa54 --- /dev/null +++ b/templates/bin/service-template.sh @@ -0,0 +1,50 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: zandronum-servers +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# X-Interactive: false +# Short-Description: Zandronum service handler +# Description: Enables the launching of all Zandronum server exec files located +# in the path specified by EXEC_PATH. Also provides facilities for +# killing all running instances of zandronum-server. +### END INIT INFO + +DESC="zandronum-servers" +NAME=zandronum +EXEC_PATH="/home/zandronum/srv-exec/" + +start_service() +{ + running=`ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | wc -l` + if [ $running -gt 0 ] ; then + echo "$running Zandronum servers are already running." + else + echo "Launching all Zandronum servers in $EXEC_PATH ...."; + sudo -u zandronum find "$EXEC_PATH" | grep .sh | cat | sh 2>&1 > /dev/null + fi +} + +stop_service() +{ + echo "Killing all running Zandronum servers ...." + sudo -u zandronum ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | awk '{print $2}' | xargs kill -9 2>&1 > /dev/null +} + +case "$1" in + start) + start_service + ;; + stop) + stop_service + ;; + restart) + stop_service + start_service + ;; +esac + +exit 0 + diff --git a/templates/bin/zandronum-server-template.sh b/templates/bin/zandronum-server-template.sh new file mode 100644 index 0000000..ce2297d --- /dev/null +++ b/templates/bin/zandronum-server-template.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/config/coop-template.cfg b/templates/config/coop-template.cfg new file mode 100644 index 0000000..92636ee --- /dev/null +++ b/templates/config/coop-template.cfg @@ -0,0 +1,60 @@ +//game options +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_weaponstay true +sv_itemrespawn true +sv_coop_losekeys true +sv_coop_loseinventory true +sv_coop_loseweapons true +sv_coop_loseammo true +sv_barrelrespawn true +sv_weapondrop true +sv_nojump false +sv_nocrouch true +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags false +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/templates/config/template.cfg b/templates/config/template.cfg new file mode 100644 index 0000000..ce071be --- /dev/null +++ b/templates/config/template.cfg @@ -0,0 +1,53 @@ +//game options +dmflags 0 +dmflags2 0 +compatflags 0 +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags true +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/zandronum/bin/GeoIP.dat b/zandronum/bin/GeoIP.dat new file mode 100644 index 0000000..d780363 --- /dev/null +++ b/zandronum/bin/GeoIP.dat Binary files differ diff --git a/zandronum/bin/zandronum-coop-d1-brutal-server.sh b/zandronum/bin/zandronum-coop-d1-brutal-server.sh new file mode 100644 index 0000000..b269789 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d1-server.sh b/zandronum/bin/zandronum-coop-d1-server.sh new file mode 100644 index 0000000..2749009 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-brutal-server.sh b/zandronum/bin/zandronum-coop-d2-brutal-server.sh new file mode 100644 index 0000000..c6c49c1 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d2-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-server.sh b/zandronum/bin/zandronum-coop-d2-server.sh new file mode 100644 index 0000000..7074086 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10769 -iwad "/home/zandronum/.zandronum/doom2.wad" +exec /home/zandronum/config/coop-d2.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh new file mode 100644 index 0000000..29761ee --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10666 -iwad "/home/zandronum/.zandronum/plutonia.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-plutonia-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-server.sh b/zandronum/bin/zandronum-coop-plutonia-server.sh new file mode 100644 index 0000000..b442a40 --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10766 -iwad "/home/zandronum/.zandronum/plutonia.wad" +exec /home/zandronum/config/coop-plutonia.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia" +CrashLogs 2 2>&1 /dev/null & diff --git a/Dockerfile b/Dockerfile index a2fd93e..a3bcfbd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,11 +15,18 @@ RUN apt-get update && apt-get upgrade RUN apt-get install --yes --quiet libsdl-image1.2 zandronum -RUN mkdir -p /zandronum/config && mkdir /zandronum/wads && \ -mkdir /zandronum/iwads && mkdir /zandronum/srv-exec/ && /zandronum/templates/ -ADD /config/ /zandronum/config/ -ADD /srv-exec/ /zandronum/serv-exec/ -ADD /templates/ /zandronum/templates/ +#Create a non-privileged user +RUN useradd -ms /bin/bash zandronum +USER zandronum +WORKDIR /home/zandronum + +#Build the application directory and add files +RUN mkdir /home/zandronum/config && \ + mkdir /home/zandronum/wads && \ + mkdir /home/zandronum/iwads && \ + mkdir /home/zandronum/bin/ +ADD /config/ /home/zandronum/config/ +ADD /bin/ /home/zandronum/bin/ CMD ["/zandronum/srv-exec/summon.sh"] ENTRYPOINT ["/zandronum/srv-exec/summon"] diff --git a/configs/template.cfg b/configs/template.cfg deleted file mode 100644 index 80cbb38..0000000 --- a/configs/template.cfg +++ /dev/null @@ -1,53 +0,0 @@ -//game options -dmflags 0 -dmflags2 0 -compatflags 0 -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags true -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/servers/zandronum-server-template.sh b/servers/zandronum-server-template.sh deleted file mode 100755 index ce2297d..0000000 --- a/servers/zandronum-server-template.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/bin/service-template.sh b/templates/bin/service-template.sh new file mode 100644 index 0000000..fb1fa54 --- /dev/null +++ b/templates/bin/service-template.sh @@ -0,0 +1,50 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: zandronum-servers +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# X-Interactive: false +# Short-Description: Zandronum service handler +# Description: Enables the launching of all Zandronum server exec files located +# in the path specified by EXEC_PATH. Also provides facilities for +# killing all running instances of zandronum-server. +### END INIT INFO + +DESC="zandronum-servers" +NAME=zandronum +EXEC_PATH="/home/zandronum/srv-exec/" + +start_service() +{ + running=`ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | wc -l` + if [ $running -gt 0 ] ; then + echo "$running Zandronum servers are already running." + else + echo "Launching all Zandronum servers in $EXEC_PATH ...."; + sudo -u zandronum find "$EXEC_PATH" | grep .sh | cat | sh 2>&1 > /dev/null + fi +} + +stop_service() +{ + echo "Killing all running Zandronum servers ...." + sudo -u zandronum ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | awk '{print $2}' | xargs kill -9 2>&1 > /dev/null +} + +case "$1" in + start) + start_service + ;; + stop) + stop_service + ;; + restart) + stop_service + start_service + ;; +esac + +exit 0 + diff --git a/templates/bin/zandronum-server-template.sh b/templates/bin/zandronum-server-template.sh new file mode 100644 index 0000000..ce2297d --- /dev/null +++ b/templates/bin/zandronum-server-template.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/config/coop-template.cfg b/templates/config/coop-template.cfg new file mode 100644 index 0000000..92636ee --- /dev/null +++ b/templates/config/coop-template.cfg @@ -0,0 +1,60 @@ +//game options +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_weaponstay true +sv_itemrespawn true +sv_coop_losekeys true +sv_coop_loseinventory true +sv_coop_loseweapons true +sv_coop_loseammo true +sv_barrelrespawn true +sv_weapondrop true +sv_nojump false +sv_nocrouch true +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags false +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/templates/config/template.cfg b/templates/config/template.cfg new file mode 100644 index 0000000..ce071be --- /dev/null +++ b/templates/config/template.cfg @@ -0,0 +1,53 @@ +//game options +dmflags 0 +dmflags2 0 +compatflags 0 +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags true +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/zandronum/bin/GeoIP.dat b/zandronum/bin/GeoIP.dat new file mode 100644 index 0000000..d780363 --- /dev/null +++ b/zandronum/bin/GeoIP.dat Binary files differ diff --git a/zandronum/bin/zandronum-coop-d1-brutal-server.sh b/zandronum/bin/zandronum-coop-d1-brutal-server.sh new file mode 100644 index 0000000..b269789 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d1-server.sh b/zandronum/bin/zandronum-coop-d1-server.sh new file mode 100644 index 0000000..2749009 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-brutal-server.sh b/zandronum/bin/zandronum-coop-d2-brutal-server.sh new file mode 100644 index 0000000..c6c49c1 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d2-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-server.sh b/zandronum/bin/zandronum-coop-d2-server.sh new file mode 100644 index 0000000..7074086 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10769 -iwad "/home/zandronum/.zandronum/doom2.wad" +exec /home/zandronum/config/coop-d2.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh new file mode 100644 index 0000000..29761ee --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10666 -iwad "/home/zandronum/.zandronum/plutonia.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-plutonia-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-server.sh b/zandronum/bin/zandronum-coop-plutonia-server.sh new file mode 100644 index 0000000..b442a40 --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10766 -iwad "/home/zandronum/.zandronum/plutonia.wad" +exec /home/zandronum/config/coop-plutonia.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-tnt-brutal-server.sh b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh new file mode 100644 index 0000000..d4f6670 --- /dev/null +++ b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10667 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/wad/brutalv20.pk3" "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/Dockerfile b/Dockerfile index a2fd93e..a3bcfbd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,11 +15,18 @@ RUN apt-get update && apt-get upgrade RUN apt-get install --yes --quiet libsdl-image1.2 zandronum -RUN mkdir -p /zandronum/config && mkdir /zandronum/wads && \ -mkdir /zandronum/iwads && mkdir /zandronum/srv-exec/ && /zandronum/templates/ -ADD /config/ /zandronum/config/ -ADD /srv-exec/ /zandronum/serv-exec/ -ADD /templates/ /zandronum/templates/ +#Create a non-privileged user +RUN useradd -ms /bin/bash zandronum +USER zandronum +WORKDIR /home/zandronum + +#Build the application directory and add files +RUN mkdir /home/zandronum/config && \ + mkdir /home/zandronum/wads && \ + mkdir /home/zandronum/iwads && \ + mkdir /home/zandronum/bin/ +ADD /config/ /home/zandronum/config/ +ADD /bin/ /home/zandronum/bin/ CMD ["/zandronum/srv-exec/summon.sh"] ENTRYPOINT ["/zandronum/srv-exec/summon"] diff --git a/configs/template.cfg b/configs/template.cfg deleted file mode 100644 index 80cbb38..0000000 --- a/configs/template.cfg +++ /dev/null @@ -1,53 +0,0 @@ -//game options -dmflags 0 -dmflags2 0 -compatflags 0 -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags true -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/servers/zandronum-server-template.sh b/servers/zandronum-server-template.sh deleted file mode 100755 index ce2297d..0000000 --- a/servers/zandronum-server-template.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/bin/service-template.sh b/templates/bin/service-template.sh new file mode 100644 index 0000000..fb1fa54 --- /dev/null +++ b/templates/bin/service-template.sh @@ -0,0 +1,50 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: zandronum-servers +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# X-Interactive: false +# Short-Description: Zandronum service handler +# Description: Enables the launching of all Zandronum server exec files located +# in the path specified by EXEC_PATH. Also provides facilities for +# killing all running instances of zandronum-server. +### END INIT INFO + +DESC="zandronum-servers" +NAME=zandronum +EXEC_PATH="/home/zandronum/srv-exec/" + +start_service() +{ + running=`ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | wc -l` + if [ $running -gt 0 ] ; then + echo "$running Zandronum servers are already running." + else + echo "Launching all Zandronum servers in $EXEC_PATH ...."; + sudo -u zandronum find "$EXEC_PATH" | grep .sh | cat | sh 2>&1 > /dev/null + fi +} + +stop_service() +{ + echo "Killing all running Zandronum servers ...." + sudo -u zandronum ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | awk '{print $2}' | xargs kill -9 2>&1 > /dev/null +} + +case "$1" in + start) + start_service + ;; + stop) + stop_service + ;; + restart) + stop_service + start_service + ;; +esac + +exit 0 + diff --git a/templates/bin/zandronum-server-template.sh b/templates/bin/zandronum-server-template.sh new file mode 100644 index 0000000..ce2297d --- /dev/null +++ b/templates/bin/zandronum-server-template.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/config/coop-template.cfg b/templates/config/coop-template.cfg new file mode 100644 index 0000000..92636ee --- /dev/null +++ b/templates/config/coop-template.cfg @@ -0,0 +1,60 @@ +//game options +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_weaponstay true +sv_itemrespawn true +sv_coop_losekeys true +sv_coop_loseinventory true +sv_coop_loseweapons true +sv_coop_loseammo true +sv_barrelrespawn true +sv_weapondrop true +sv_nojump false +sv_nocrouch true +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags false +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/templates/config/template.cfg b/templates/config/template.cfg new file mode 100644 index 0000000..ce071be --- /dev/null +++ b/templates/config/template.cfg @@ -0,0 +1,53 @@ +//game options +dmflags 0 +dmflags2 0 +compatflags 0 +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags true +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/zandronum/bin/GeoIP.dat b/zandronum/bin/GeoIP.dat new file mode 100644 index 0000000..d780363 --- /dev/null +++ b/zandronum/bin/GeoIP.dat Binary files differ diff --git a/zandronum/bin/zandronum-coop-d1-brutal-server.sh b/zandronum/bin/zandronum-coop-d1-brutal-server.sh new file mode 100644 index 0000000..b269789 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d1-server.sh b/zandronum/bin/zandronum-coop-d1-server.sh new file mode 100644 index 0000000..2749009 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-brutal-server.sh b/zandronum/bin/zandronum-coop-d2-brutal-server.sh new file mode 100644 index 0000000..c6c49c1 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d2-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-server.sh b/zandronum/bin/zandronum-coop-d2-server.sh new file mode 100644 index 0000000..7074086 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10769 -iwad "/home/zandronum/.zandronum/doom2.wad" +exec /home/zandronum/config/coop-d2.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh new file mode 100644 index 0000000..29761ee --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10666 -iwad "/home/zandronum/.zandronum/plutonia.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-plutonia-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-server.sh b/zandronum/bin/zandronum-coop-plutonia-server.sh new file mode 100644 index 0000000..b442a40 --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10766 -iwad "/home/zandronum/.zandronum/plutonia.wad" +exec /home/zandronum/config/coop-plutonia.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-tnt-brutal-server.sh b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh new file mode 100644 index 0000000..d4f6670 --- /dev/null +++ b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10667 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/wad/brutalv20.pk3" "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-tnt-server.sh b/zandronum/bin/zandronum-coop-tnt-server.sh new file mode 100644 index 0000000..0430b52 --- /dev/null +++ b/zandronum/bin/zandronum-coop-tnt-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10767 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt" +CrashLogs 2 2>&1 /dev/null & diff --git a/Dockerfile b/Dockerfile index a2fd93e..a3bcfbd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,11 +15,18 @@ RUN apt-get update && apt-get upgrade RUN apt-get install --yes --quiet libsdl-image1.2 zandronum -RUN mkdir -p /zandronum/config && mkdir /zandronum/wads && \ -mkdir /zandronum/iwads && mkdir /zandronum/srv-exec/ && /zandronum/templates/ -ADD /config/ /zandronum/config/ -ADD /srv-exec/ /zandronum/serv-exec/ -ADD /templates/ /zandronum/templates/ +#Create a non-privileged user +RUN useradd -ms /bin/bash zandronum +USER zandronum +WORKDIR /home/zandronum + +#Build the application directory and add files +RUN mkdir /home/zandronum/config && \ + mkdir /home/zandronum/wads && \ + mkdir /home/zandronum/iwads && \ + mkdir /home/zandronum/bin/ +ADD /config/ /home/zandronum/config/ +ADD /bin/ /home/zandronum/bin/ CMD ["/zandronum/srv-exec/summon.sh"] ENTRYPOINT ["/zandronum/srv-exec/summon"] diff --git a/configs/template.cfg b/configs/template.cfg deleted file mode 100644 index 80cbb38..0000000 --- a/configs/template.cfg +++ /dev/null @@ -1,53 +0,0 @@ -//game options -dmflags 0 -dmflags2 0 -compatflags 0 -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags true -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/servers/zandronum-server-template.sh b/servers/zandronum-server-template.sh deleted file mode 100755 index ce2297d..0000000 --- a/servers/zandronum-server-template.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/bin/service-template.sh b/templates/bin/service-template.sh new file mode 100644 index 0000000..fb1fa54 --- /dev/null +++ b/templates/bin/service-template.sh @@ -0,0 +1,50 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: zandronum-servers +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# X-Interactive: false +# Short-Description: Zandronum service handler +# Description: Enables the launching of all Zandronum server exec files located +# in the path specified by EXEC_PATH. Also provides facilities for +# killing all running instances of zandronum-server. +### END INIT INFO + +DESC="zandronum-servers" +NAME=zandronum +EXEC_PATH="/home/zandronum/srv-exec/" + +start_service() +{ + running=`ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | wc -l` + if [ $running -gt 0 ] ; then + echo "$running Zandronum servers are already running." + else + echo "Launching all Zandronum servers in $EXEC_PATH ...."; + sudo -u zandronum find "$EXEC_PATH" | grep .sh | cat | sh 2>&1 > /dev/null + fi +} + +stop_service() +{ + echo "Killing all running Zandronum servers ...." + sudo -u zandronum ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | awk '{print $2}' | xargs kill -9 2>&1 > /dev/null +} + +case "$1" in + start) + start_service + ;; + stop) + stop_service + ;; + restart) + stop_service + start_service + ;; +esac + +exit 0 + diff --git a/templates/bin/zandronum-server-template.sh b/templates/bin/zandronum-server-template.sh new file mode 100644 index 0000000..ce2297d --- /dev/null +++ b/templates/bin/zandronum-server-template.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/config/coop-template.cfg b/templates/config/coop-template.cfg new file mode 100644 index 0000000..92636ee --- /dev/null +++ b/templates/config/coop-template.cfg @@ -0,0 +1,60 @@ +//game options +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_weaponstay true +sv_itemrespawn true +sv_coop_losekeys true +sv_coop_loseinventory true +sv_coop_loseweapons true +sv_coop_loseammo true +sv_barrelrespawn true +sv_weapondrop true +sv_nojump false +sv_nocrouch true +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags false +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/templates/config/template.cfg b/templates/config/template.cfg new file mode 100644 index 0000000..ce071be --- /dev/null +++ b/templates/config/template.cfg @@ -0,0 +1,53 @@ +//game options +dmflags 0 +dmflags2 0 +compatflags 0 +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags true +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/zandronum/bin/GeoIP.dat b/zandronum/bin/GeoIP.dat new file mode 100644 index 0000000..d780363 --- /dev/null +++ b/zandronum/bin/GeoIP.dat Binary files differ diff --git a/zandronum/bin/zandronum-coop-d1-brutal-server.sh b/zandronum/bin/zandronum-coop-d1-brutal-server.sh new file mode 100644 index 0000000..b269789 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d1-server.sh b/zandronum/bin/zandronum-coop-d1-server.sh new file mode 100644 index 0000000..2749009 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-brutal-server.sh b/zandronum/bin/zandronum-coop-d2-brutal-server.sh new file mode 100644 index 0000000..c6c49c1 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d2-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-server.sh b/zandronum/bin/zandronum-coop-d2-server.sh new file mode 100644 index 0000000..7074086 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10769 -iwad "/home/zandronum/.zandronum/doom2.wad" +exec /home/zandronum/config/coop-d2.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh new file mode 100644 index 0000000..29761ee --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10666 -iwad "/home/zandronum/.zandronum/plutonia.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-plutonia-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-server.sh b/zandronum/bin/zandronum-coop-plutonia-server.sh new file mode 100644 index 0000000..b442a40 --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10766 -iwad "/home/zandronum/.zandronum/plutonia.wad" +exec /home/zandronum/config/coop-plutonia.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-tnt-brutal-server.sh b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh new file mode 100644 index 0000000..d4f6670 --- /dev/null +++ b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10667 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/wad/brutalv20.pk3" "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-tnt-server.sh b/zandronum/bin/zandronum-coop-tnt-server.sh new file mode 100644 index 0000000..0430b52 --- /dev/null +++ b/zandronum/bin/zandronum-coop-tnt-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10767 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/GeoIP.dat b/zandronum/srv-exec/GeoIP.dat deleted file mode 100644 index d780363..0000000 --- a/zandronum/srv-exec/GeoIP.dat +++ /dev/null Binary files differ diff --git a/Dockerfile b/Dockerfile index a2fd93e..a3bcfbd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,11 +15,18 @@ RUN apt-get update && apt-get upgrade RUN apt-get install --yes --quiet libsdl-image1.2 zandronum -RUN mkdir -p /zandronum/config && mkdir /zandronum/wads && \ -mkdir /zandronum/iwads && mkdir /zandronum/srv-exec/ && /zandronum/templates/ -ADD /config/ /zandronum/config/ -ADD /srv-exec/ /zandronum/serv-exec/ -ADD /templates/ /zandronum/templates/ +#Create a non-privileged user +RUN useradd -ms /bin/bash zandronum +USER zandronum +WORKDIR /home/zandronum + +#Build the application directory and add files +RUN mkdir /home/zandronum/config && \ + mkdir /home/zandronum/wads && \ + mkdir /home/zandronum/iwads && \ + mkdir /home/zandronum/bin/ +ADD /config/ /home/zandronum/config/ +ADD /bin/ /home/zandronum/bin/ CMD ["/zandronum/srv-exec/summon.sh"] ENTRYPOINT ["/zandronum/srv-exec/summon"] diff --git a/configs/template.cfg b/configs/template.cfg deleted file mode 100644 index 80cbb38..0000000 --- a/configs/template.cfg +++ /dev/null @@ -1,53 +0,0 @@ -//game options -dmflags 0 -dmflags2 0 -compatflags 0 -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags true -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/servers/zandronum-server-template.sh b/servers/zandronum-server-template.sh deleted file mode 100755 index ce2297d..0000000 --- a/servers/zandronum-server-template.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/bin/service-template.sh b/templates/bin/service-template.sh new file mode 100644 index 0000000..fb1fa54 --- /dev/null +++ b/templates/bin/service-template.sh @@ -0,0 +1,50 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: zandronum-servers +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# X-Interactive: false +# Short-Description: Zandronum service handler +# Description: Enables the launching of all Zandronum server exec files located +# in the path specified by EXEC_PATH. Also provides facilities for +# killing all running instances of zandronum-server. +### END INIT INFO + +DESC="zandronum-servers" +NAME=zandronum +EXEC_PATH="/home/zandronum/srv-exec/" + +start_service() +{ + running=`ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | wc -l` + if [ $running -gt 0 ] ; then + echo "$running Zandronum servers are already running." + else + echo "Launching all Zandronum servers in $EXEC_PATH ...."; + sudo -u zandronum find "$EXEC_PATH" | grep .sh | cat | sh 2>&1 > /dev/null + fi +} + +stop_service() +{ + echo "Killing all running Zandronum servers ...." + sudo -u zandronum ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | awk '{print $2}' | xargs kill -9 2>&1 > /dev/null +} + +case "$1" in + start) + start_service + ;; + stop) + stop_service + ;; + restart) + stop_service + start_service + ;; +esac + +exit 0 + diff --git a/templates/bin/zandronum-server-template.sh b/templates/bin/zandronum-server-template.sh new file mode 100644 index 0000000..ce2297d --- /dev/null +++ b/templates/bin/zandronum-server-template.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/config/coop-template.cfg b/templates/config/coop-template.cfg new file mode 100644 index 0000000..92636ee --- /dev/null +++ b/templates/config/coop-template.cfg @@ -0,0 +1,60 @@ +//game options +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_weaponstay true +sv_itemrespawn true +sv_coop_losekeys true +sv_coop_loseinventory true +sv_coop_loseweapons true +sv_coop_loseammo true +sv_barrelrespawn true +sv_weapondrop true +sv_nojump false +sv_nocrouch true +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags false +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/templates/config/template.cfg b/templates/config/template.cfg new file mode 100644 index 0000000..ce071be --- /dev/null +++ b/templates/config/template.cfg @@ -0,0 +1,53 @@ +//game options +dmflags 0 +dmflags2 0 +compatflags 0 +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags true +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/zandronum/bin/GeoIP.dat b/zandronum/bin/GeoIP.dat new file mode 100644 index 0000000..d780363 --- /dev/null +++ b/zandronum/bin/GeoIP.dat Binary files differ diff --git a/zandronum/bin/zandronum-coop-d1-brutal-server.sh b/zandronum/bin/zandronum-coop-d1-brutal-server.sh new file mode 100644 index 0000000..b269789 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d1-server.sh b/zandronum/bin/zandronum-coop-d1-server.sh new file mode 100644 index 0000000..2749009 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-brutal-server.sh b/zandronum/bin/zandronum-coop-d2-brutal-server.sh new file mode 100644 index 0000000..c6c49c1 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d2-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-server.sh b/zandronum/bin/zandronum-coop-d2-server.sh new file mode 100644 index 0000000..7074086 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10769 -iwad "/home/zandronum/.zandronum/doom2.wad" +exec /home/zandronum/config/coop-d2.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh new file mode 100644 index 0000000..29761ee --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10666 -iwad "/home/zandronum/.zandronum/plutonia.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-plutonia-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-server.sh b/zandronum/bin/zandronum-coop-plutonia-server.sh new file mode 100644 index 0000000..b442a40 --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10766 -iwad "/home/zandronum/.zandronum/plutonia.wad" +exec /home/zandronum/config/coop-plutonia.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-tnt-brutal-server.sh b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh new file mode 100644 index 0000000..d4f6670 --- /dev/null +++ b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10667 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/wad/brutalv20.pk3" "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-tnt-server.sh b/zandronum/bin/zandronum-coop-tnt-server.sh new file mode 100644 index 0000000..0430b52 --- /dev/null +++ b/zandronum/bin/zandronum-coop-tnt-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10767 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/GeoIP.dat b/zandronum/srv-exec/GeoIP.dat deleted file mode 100644 index d780363..0000000 --- a/zandronum/srv-exec/GeoIP.dat +++ /dev/null Binary files differ diff --git a/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh deleted file mode 100755 index b269789..0000000 --- a/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/Dockerfile b/Dockerfile index a2fd93e..a3bcfbd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,11 +15,18 @@ RUN apt-get update && apt-get upgrade RUN apt-get install --yes --quiet libsdl-image1.2 zandronum -RUN mkdir -p /zandronum/config && mkdir /zandronum/wads && \ -mkdir /zandronum/iwads && mkdir /zandronum/srv-exec/ && /zandronum/templates/ -ADD /config/ /zandronum/config/ -ADD /srv-exec/ /zandronum/serv-exec/ -ADD /templates/ /zandronum/templates/ +#Create a non-privileged user +RUN useradd -ms /bin/bash zandronum +USER zandronum +WORKDIR /home/zandronum + +#Build the application directory and add files +RUN mkdir /home/zandronum/config && \ + mkdir /home/zandronum/wads && \ + mkdir /home/zandronum/iwads && \ + mkdir /home/zandronum/bin/ +ADD /config/ /home/zandronum/config/ +ADD /bin/ /home/zandronum/bin/ CMD ["/zandronum/srv-exec/summon.sh"] ENTRYPOINT ["/zandronum/srv-exec/summon"] diff --git a/configs/template.cfg b/configs/template.cfg deleted file mode 100644 index 80cbb38..0000000 --- a/configs/template.cfg +++ /dev/null @@ -1,53 +0,0 @@ -//game options -dmflags 0 -dmflags2 0 -compatflags 0 -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags true -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/servers/zandronum-server-template.sh b/servers/zandronum-server-template.sh deleted file mode 100755 index ce2297d..0000000 --- a/servers/zandronum-server-template.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/bin/service-template.sh b/templates/bin/service-template.sh new file mode 100644 index 0000000..fb1fa54 --- /dev/null +++ b/templates/bin/service-template.sh @@ -0,0 +1,50 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: zandronum-servers +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# X-Interactive: false +# Short-Description: Zandronum service handler +# Description: Enables the launching of all Zandronum server exec files located +# in the path specified by EXEC_PATH. Also provides facilities for +# killing all running instances of zandronum-server. +### END INIT INFO + +DESC="zandronum-servers" +NAME=zandronum +EXEC_PATH="/home/zandronum/srv-exec/" + +start_service() +{ + running=`ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | wc -l` + if [ $running -gt 0 ] ; then + echo "$running Zandronum servers are already running." + else + echo "Launching all Zandronum servers in $EXEC_PATH ...."; + sudo -u zandronum find "$EXEC_PATH" | grep .sh | cat | sh 2>&1 > /dev/null + fi +} + +stop_service() +{ + echo "Killing all running Zandronum servers ...." + sudo -u zandronum ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | awk '{print $2}' | xargs kill -9 2>&1 > /dev/null +} + +case "$1" in + start) + start_service + ;; + stop) + stop_service + ;; + restart) + stop_service + start_service + ;; +esac + +exit 0 + diff --git a/templates/bin/zandronum-server-template.sh b/templates/bin/zandronum-server-template.sh new file mode 100644 index 0000000..ce2297d --- /dev/null +++ b/templates/bin/zandronum-server-template.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/config/coop-template.cfg b/templates/config/coop-template.cfg new file mode 100644 index 0000000..92636ee --- /dev/null +++ b/templates/config/coop-template.cfg @@ -0,0 +1,60 @@ +//game options +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_weaponstay true +sv_itemrespawn true +sv_coop_losekeys true +sv_coop_loseinventory true +sv_coop_loseweapons true +sv_coop_loseammo true +sv_barrelrespawn true +sv_weapondrop true +sv_nojump false +sv_nocrouch true +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags false +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/templates/config/template.cfg b/templates/config/template.cfg new file mode 100644 index 0000000..ce071be --- /dev/null +++ b/templates/config/template.cfg @@ -0,0 +1,53 @@ +//game options +dmflags 0 +dmflags2 0 +compatflags 0 +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags true +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/zandronum/bin/GeoIP.dat b/zandronum/bin/GeoIP.dat new file mode 100644 index 0000000..d780363 --- /dev/null +++ b/zandronum/bin/GeoIP.dat Binary files differ diff --git a/zandronum/bin/zandronum-coop-d1-brutal-server.sh b/zandronum/bin/zandronum-coop-d1-brutal-server.sh new file mode 100644 index 0000000..b269789 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d1-server.sh b/zandronum/bin/zandronum-coop-d1-server.sh new file mode 100644 index 0000000..2749009 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-brutal-server.sh b/zandronum/bin/zandronum-coop-d2-brutal-server.sh new file mode 100644 index 0000000..c6c49c1 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d2-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-server.sh b/zandronum/bin/zandronum-coop-d2-server.sh new file mode 100644 index 0000000..7074086 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10769 -iwad "/home/zandronum/.zandronum/doom2.wad" +exec /home/zandronum/config/coop-d2.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh new file mode 100644 index 0000000..29761ee --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10666 -iwad "/home/zandronum/.zandronum/plutonia.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-plutonia-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-server.sh b/zandronum/bin/zandronum-coop-plutonia-server.sh new file mode 100644 index 0000000..b442a40 --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10766 -iwad "/home/zandronum/.zandronum/plutonia.wad" +exec /home/zandronum/config/coop-plutonia.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-tnt-brutal-server.sh b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh new file mode 100644 index 0000000..d4f6670 --- /dev/null +++ b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10667 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/wad/brutalv20.pk3" "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-tnt-server.sh b/zandronum/bin/zandronum-coop-tnt-server.sh new file mode 100644 index 0000000..0430b52 --- /dev/null +++ b/zandronum/bin/zandronum-coop-tnt-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10767 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/GeoIP.dat b/zandronum/srv-exec/GeoIP.dat deleted file mode 100644 index d780363..0000000 --- a/zandronum/srv-exec/GeoIP.dat +++ /dev/null Binary files differ diff --git a/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh deleted file mode 100755 index b269789..0000000 --- a/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d1-server.sh b/zandronum/srv-exec/zandronum-coop-d1-server.sh deleted file mode 100755 index 2749009..0000000 --- a/zandronum/srv-exec/zandronum-coop-d1-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/Dockerfile b/Dockerfile index a2fd93e..a3bcfbd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,11 +15,18 @@ RUN apt-get update && apt-get upgrade RUN apt-get install --yes --quiet libsdl-image1.2 zandronum -RUN mkdir -p /zandronum/config && mkdir /zandronum/wads && \ -mkdir /zandronum/iwads && mkdir /zandronum/srv-exec/ && /zandronum/templates/ -ADD /config/ /zandronum/config/ -ADD /srv-exec/ /zandronum/serv-exec/ -ADD /templates/ /zandronum/templates/ +#Create a non-privileged user +RUN useradd -ms /bin/bash zandronum +USER zandronum +WORKDIR /home/zandronum + +#Build the application directory and add files +RUN mkdir /home/zandronum/config && \ + mkdir /home/zandronum/wads && \ + mkdir /home/zandronum/iwads && \ + mkdir /home/zandronum/bin/ +ADD /config/ /home/zandronum/config/ +ADD /bin/ /home/zandronum/bin/ CMD ["/zandronum/srv-exec/summon.sh"] ENTRYPOINT ["/zandronum/srv-exec/summon"] diff --git a/configs/template.cfg b/configs/template.cfg deleted file mode 100644 index 80cbb38..0000000 --- a/configs/template.cfg +++ /dev/null @@ -1,53 +0,0 @@ -//game options -dmflags 0 -dmflags2 0 -compatflags 0 -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags true -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/servers/zandronum-server-template.sh b/servers/zandronum-server-template.sh deleted file mode 100755 index ce2297d..0000000 --- a/servers/zandronum-server-template.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/bin/service-template.sh b/templates/bin/service-template.sh new file mode 100644 index 0000000..fb1fa54 --- /dev/null +++ b/templates/bin/service-template.sh @@ -0,0 +1,50 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: zandronum-servers +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# X-Interactive: false +# Short-Description: Zandronum service handler +# Description: Enables the launching of all Zandronum server exec files located +# in the path specified by EXEC_PATH. Also provides facilities for +# killing all running instances of zandronum-server. +### END INIT INFO + +DESC="zandronum-servers" +NAME=zandronum +EXEC_PATH="/home/zandronum/srv-exec/" + +start_service() +{ + running=`ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | wc -l` + if [ $running -gt 0 ] ; then + echo "$running Zandronum servers are already running." + else + echo "Launching all Zandronum servers in $EXEC_PATH ...."; + sudo -u zandronum find "$EXEC_PATH" | grep .sh | cat | sh 2>&1 > /dev/null + fi +} + +stop_service() +{ + echo "Killing all running Zandronum servers ...." + sudo -u zandronum ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | awk '{print $2}' | xargs kill -9 2>&1 > /dev/null +} + +case "$1" in + start) + start_service + ;; + stop) + stop_service + ;; + restart) + stop_service + start_service + ;; +esac + +exit 0 + diff --git a/templates/bin/zandronum-server-template.sh b/templates/bin/zandronum-server-template.sh new file mode 100644 index 0000000..ce2297d --- /dev/null +++ b/templates/bin/zandronum-server-template.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/config/coop-template.cfg b/templates/config/coop-template.cfg new file mode 100644 index 0000000..92636ee --- /dev/null +++ b/templates/config/coop-template.cfg @@ -0,0 +1,60 @@ +//game options +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_weaponstay true +sv_itemrespawn true +sv_coop_losekeys true +sv_coop_loseinventory true +sv_coop_loseweapons true +sv_coop_loseammo true +sv_barrelrespawn true +sv_weapondrop true +sv_nojump false +sv_nocrouch true +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags false +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/templates/config/template.cfg b/templates/config/template.cfg new file mode 100644 index 0000000..ce071be --- /dev/null +++ b/templates/config/template.cfg @@ -0,0 +1,53 @@ +//game options +dmflags 0 +dmflags2 0 +compatflags 0 +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags true +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/zandronum/bin/GeoIP.dat b/zandronum/bin/GeoIP.dat new file mode 100644 index 0000000..d780363 --- /dev/null +++ b/zandronum/bin/GeoIP.dat Binary files differ diff --git a/zandronum/bin/zandronum-coop-d1-brutal-server.sh b/zandronum/bin/zandronum-coop-d1-brutal-server.sh new file mode 100644 index 0000000..b269789 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d1-server.sh b/zandronum/bin/zandronum-coop-d1-server.sh new file mode 100644 index 0000000..2749009 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-brutal-server.sh b/zandronum/bin/zandronum-coop-d2-brutal-server.sh new file mode 100644 index 0000000..c6c49c1 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d2-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-server.sh b/zandronum/bin/zandronum-coop-d2-server.sh new file mode 100644 index 0000000..7074086 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10769 -iwad "/home/zandronum/.zandronum/doom2.wad" +exec /home/zandronum/config/coop-d2.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh new file mode 100644 index 0000000..29761ee --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10666 -iwad "/home/zandronum/.zandronum/plutonia.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-plutonia-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-server.sh b/zandronum/bin/zandronum-coop-plutonia-server.sh new file mode 100644 index 0000000..b442a40 --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10766 -iwad "/home/zandronum/.zandronum/plutonia.wad" +exec /home/zandronum/config/coop-plutonia.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-tnt-brutal-server.sh b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh new file mode 100644 index 0000000..d4f6670 --- /dev/null +++ b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10667 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/wad/brutalv20.pk3" "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-tnt-server.sh b/zandronum/bin/zandronum-coop-tnt-server.sh new file mode 100644 index 0000000..0430b52 --- /dev/null +++ b/zandronum/bin/zandronum-coop-tnt-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10767 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/GeoIP.dat b/zandronum/srv-exec/GeoIP.dat deleted file mode 100644 index d780363..0000000 --- a/zandronum/srv-exec/GeoIP.dat +++ /dev/null Binary files differ diff --git a/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh deleted file mode 100755 index b269789..0000000 --- a/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d1-server.sh b/zandronum/srv-exec/zandronum-coop-d1-server.sh deleted file mode 100755 index 2749009..0000000 --- a/zandronum/srv-exec/zandronum-coop-d1-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh deleted file mode 100755 index c6c49c1..0000000 --- a/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d2-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/Dockerfile b/Dockerfile index a2fd93e..a3bcfbd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,11 +15,18 @@ RUN apt-get update && apt-get upgrade RUN apt-get install --yes --quiet libsdl-image1.2 zandronum -RUN mkdir -p /zandronum/config && mkdir /zandronum/wads && \ -mkdir /zandronum/iwads && mkdir /zandronum/srv-exec/ && /zandronum/templates/ -ADD /config/ /zandronum/config/ -ADD /srv-exec/ /zandronum/serv-exec/ -ADD /templates/ /zandronum/templates/ +#Create a non-privileged user +RUN useradd -ms /bin/bash zandronum +USER zandronum +WORKDIR /home/zandronum + +#Build the application directory and add files +RUN mkdir /home/zandronum/config && \ + mkdir /home/zandronum/wads && \ + mkdir /home/zandronum/iwads && \ + mkdir /home/zandronum/bin/ +ADD /config/ /home/zandronum/config/ +ADD /bin/ /home/zandronum/bin/ CMD ["/zandronum/srv-exec/summon.sh"] ENTRYPOINT ["/zandronum/srv-exec/summon"] diff --git a/configs/template.cfg b/configs/template.cfg deleted file mode 100644 index 80cbb38..0000000 --- a/configs/template.cfg +++ /dev/null @@ -1,53 +0,0 @@ -//game options -dmflags 0 -dmflags2 0 -compatflags 0 -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags true -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/servers/zandronum-server-template.sh b/servers/zandronum-server-template.sh deleted file mode 100755 index ce2297d..0000000 --- a/servers/zandronum-server-template.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/bin/service-template.sh b/templates/bin/service-template.sh new file mode 100644 index 0000000..fb1fa54 --- /dev/null +++ b/templates/bin/service-template.sh @@ -0,0 +1,50 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: zandronum-servers +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# X-Interactive: false +# Short-Description: Zandronum service handler +# Description: Enables the launching of all Zandronum server exec files located +# in the path specified by EXEC_PATH. Also provides facilities for +# killing all running instances of zandronum-server. +### END INIT INFO + +DESC="zandronum-servers" +NAME=zandronum +EXEC_PATH="/home/zandronum/srv-exec/" + +start_service() +{ + running=`ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | wc -l` + if [ $running -gt 0 ] ; then + echo "$running Zandronum servers are already running." + else + echo "Launching all Zandronum servers in $EXEC_PATH ...."; + sudo -u zandronum find "$EXEC_PATH" | grep .sh | cat | sh 2>&1 > /dev/null + fi +} + +stop_service() +{ + echo "Killing all running Zandronum servers ...." + sudo -u zandronum ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | awk '{print $2}' | xargs kill -9 2>&1 > /dev/null +} + +case "$1" in + start) + start_service + ;; + stop) + stop_service + ;; + restart) + stop_service + start_service + ;; +esac + +exit 0 + diff --git a/templates/bin/zandronum-server-template.sh b/templates/bin/zandronum-server-template.sh new file mode 100644 index 0000000..ce2297d --- /dev/null +++ b/templates/bin/zandronum-server-template.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/config/coop-template.cfg b/templates/config/coop-template.cfg new file mode 100644 index 0000000..92636ee --- /dev/null +++ b/templates/config/coop-template.cfg @@ -0,0 +1,60 @@ +//game options +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_weaponstay true +sv_itemrespawn true +sv_coop_losekeys true +sv_coop_loseinventory true +sv_coop_loseweapons true +sv_coop_loseammo true +sv_barrelrespawn true +sv_weapondrop true +sv_nojump false +sv_nocrouch true +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags false +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/templates/config/template.cfg b/templates/config/template.cfg new file mode 100644 index 0000000..ce071be --- /dev/null +++ b/templates/config/template.cfg @@ -0,0 +1,53 @@ +//game options +dmflags 0 +dmflags2 0 +compatflags 0 +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags true +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/zandronum/bin/GeoIP.dat b/zandronum/bin/GeoIP.dat new file mode 100644 index 0000000..d780363 --- /dev/null +++ b/zandronum/bin/GeoIP.dat Binary files differ diff --git a/zandronum/bin/zandronum-coop-d1-brutal-server.sh b/zandronum/bin/zandronum-coop-d1-brutal-server.sh new file mode 100644 index 0000000..b269789 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d1-server.sh b/zandronum/bin/zandronum-coop-d1-server.sh new file mode 100644 index 0000000..2749009 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-brutal-server.sh b/zandronum/bin/zandronum-coop-d2-brutal-server.sh new file mode 100644 index 0000000..c6c49c1 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d2-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-server.sh b/zandronum/bin/zandronum-coop-d2-server.sh new file mode 100644 index 0000000..7074086 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10769 -iwad "/home/zandronum/.zandronum/doom2.wad" +exec /home/zandronum/config/coop-d2.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh new file mode 100644 index 0000000..29761ee --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10666 -iwad "/home/zandronum/.zandronum/plutonia.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-plutonia-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-server.sh b/zandronum/bin/zandronum-coop-plutonia-server.sh new file mode 100644 index 0000000..b442a40 --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10766 -iwad "/home/zandronum/.zandronum/plutonia.wad" +exec /home/zandronum/config/coop-plutonia.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-tnt-brutal-server.sh b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh new file mode 100644 index 0000000..d4f6670 --- /dev/null +++ b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10667 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/wad/brutalv20.pk3" "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-tnt-server.sh b/zandronum/bin/zandronum-coop-tnt-server.sh new file mode 100644 index 0000000..0430b52 --- /dev/null +++ b/zandronum/bin/zandronum-coop-tnt-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10767 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/GeoIP.dat b/zandronum/srv-exec/GeoIP.dat deleted file mode 100644 index d780363..0000000 --- a/zandronum/srv-exec/GeoIP.dat +++ /dev/null Binary files differ diff --git a/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh deleted file mode 100755 index b269789..0000000 --- a/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d1-server.sh b/zandronum/srv-exec/zandronum-coop-d1-server.sh deleted file mode 100755 index 2749009..0000000 --- a/zandronum/srv-exec/zandronum-coop-d1-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh deleted file mode 100755 index c6c49c1..0000000 --- a/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d2-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d2-server.sh b/zandronum/srv-exec/zandronum-coop-d2-server.sh deleted file mode 100755 index 7074086..0000000 --- a/zandronum/srv-exec/zandronum-coop-d2-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10769 -iwad "/home/zandronum/.zandronum/doom2.wad" +exec /home/zandronum/config/coop-d2.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2" +CrashLogs 2 2>&1 /dev/null & diff --git a/Dockerfile b/Dockerfile index a2fd93e..a3bcfbd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,11 +15,18 @@ RUN apt-get update && apt-get upgrade RUN apt-get install --yes --quiet libsdl-image1.2 zandronum -RUN mkdir -p /zandronum/config && mkdir /zandronum/wads && \ -mkdir /zandronum/iwads && mkdir /zandronum/srv-exec/ && /zandronum/templates/ -ADD /config/ /zandronum/config/ -ADD /srv-exec/ /zandronum/serv-exec/ -ADD /templates/ /zandronum/templates/ +#Create a non-privileged user +RUN useradd -ms /bin/bash zandronum +USER zandronum +WORKDIR /home/zandronum + +#Build the application directory and add files +RUN mkdir /home/zandronum/config && \ + mkdir /home/zandronum/wads && \ + mkdir /home/zandronum/iwads && \ + mkdir /home/zandronum/bin/ +ADD /config/ /home/zandronum/config/ +ADD /bin/ /home/zandronum/bin/ CMD ["/zandronum/srv-exec/summon.sh"] ENTRYPOINT ["/zandronum/srv-exec/summon"] diff --git a/configs/template.cfg b/configs/template.cfg deleted file mode 100644 index 80cbb38..0000000 --- a/configs/template.cfg +++ /dev/null @@ -1,53 +0,0 @@ -//game options -dmflags 0 -dmflags2 0 -compatflags 0 -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags true -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/servers/zandronum-server-template.sh b/servers/zandronum-server-template.sh deleted file mode 100755 index ce2297d..0000000 --- a/servers/zandronum-server-template.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/bin/service-template.sh b/templates/bin/service-template.sh new file mode 100644 index 0000000..fb1fa54 --- /dev/null +++ b/templates/bin/service-template.sh @@ -0,0 +1,50 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: zandronum-servers +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# X-Interactive: false +# Short-Description: Zandronum service handler +# Description: Enables the launching of all Zandronum server exec files located +# in the path specified by EXEC_PATH. Also provides facilities for +# killing all running instances of zandronum-server. +### END INIT INFO + +DESC="zandronum-servers" +NAME=zandronum +EXEC_PATH="/home/zandronum/srv-exec/" + +start_service() +{ + running=`ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | wc -l` + if [ $running -gt 0 ] ; then + echo "$running Zandronum servers are already running." + else + echo "Launching all Zandronum servers in $EXEC_PATH ...."; + sudo -u zandronum find "$EXEC_PATH" | grep .sh | cat | sh 2>&1 > /dev/null + fi +} + +stop_service() +{ + echo "Killing all running Zandronum servers ...." + sudo -u zandronum ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | awk '{print $2}' | xargs kill -9 2>&1 > /dev/null +} + +case "$1" in + start) + start_service + ;; + stop) + stop_service + ;; + restart) + stop_service + start_service + ;; +esac + +exit 0 + diff --git a/templates/bin/zandronum-server-template.sh b/templates/bin/zandronum-server-template.sh new file mode 100644 index 0000000..ce2297d --- /dev/null +++ b/templates/bin/zandronum-server-template.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/config/coop-template.cfg b/templates/config/coop-template.cfg new file mode 100644 index 0000000..92636ee --- /dev/null +++ b/templates/config/coop-template.cfg @@ -0,0 +1,60 @@ +//game options +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_weaponstay true +sv_itemrespawn true +sv_coop_losekeys true +sv_coop_loseinventory true +sv_coop_loseweapons true +sv_coop_loseammo true +sv_barrelrespawn true +sv_weapondrop true +sv_nojump false +sv_nocrouch true +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags false +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/templates/config/template.cfg b/templates/config/template.cfg new file mode 100644 index 0000000..ce071be --- /dev/null +++ b/templates/config/template.cfg @@ -0,0 +1,53 @@ +//game options +dmflags 0 +dmflags2 0 +compatflags 0 +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags true +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/zandronum/bin/GeoIP.dat b/zandronum/bin/GeoIP.dat new file mode 100644 index 0000000..d780363 --- /dev/null +++ b/zandronum/bin/GeoIP.dat Binary files differ diff --git a/zandronum/bin/zandronum-coop-d1-brutal-server.sh b/zandronum/bin/zandronum-coop-d1-brutal-server.sh new file mode 100644 index 0000000..b269789 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d1-server.sh b/zandronum/bin/zandronum-coop-d1-server.sh new file mode 100644 index 0000000..2749009 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-brutal-server.sh b/zandronum/bin/zandronum-coop-d2-brutal-server.sh new file mode 100644 index 0000000..c6c49c1 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d2-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-server.sh b/zandronum/bin/zandronum-coop-d2-server.sh new file mode 100644 index 0000000..7074086 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10769 -iwad "/home/zandronum/.zandronum/doom2.wad" +exec /home/zandronum/config/coop-d2.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh new file mode 100644 index 0000000..29761ee --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10666 -iwad "/home/zandronum/.zandronum/plutonia.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-plutonia-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-server.sh b/zandronum/bin/zandronum-coop-plutonia-server.sh new file mode 100644 index 0000000..b442a40 --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10766 -iwad "/home/zandronum/.zandronum/plutonia.wad" +exec /home/zandronum/config/coop-plutonia.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-tnt-brutal-server.sh b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh new file mode 100644 index 0000000..d4f6670 --- /dev/null +++ b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10667 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/wad/brutalv20.pk3" "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-tnt-server.sh b/zandronum/bin/zandronum-coop-tnt-server.sh new file mode 100644 index 0000000..0430b52 --- /dev/null +++ b/zandronum/bin/zandronum-coop-tnt-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10767 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/GeoIP.dat b/zandronum/srv-exec/GeoIP.dat deleted file mode 100644 index d780363..0000000 --- a/zandronum/srv-exec/GeoIP.dat +++ /dev/null Binary files differ diff --git a/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh deleted file mode 100755 index b269789..0000000 --- a/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d1-server.sh b/zandronum/srv-exec/zandronum-coop-d1-server.sh deleted file mode 100755 index 2749009..0000000 --- a/zandronum/srv-exec/zandronum-coop-d1-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh deleted file mode 100755 index c6c49c1..0000000 --- a/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d2-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d2-server.sh b/zandronum/srv-exec/zandronum-coop-d2-server.sh deleted file mode 100755 index 7074086..0000000 --- a/zandronum/srv-exec/zandronum-coop-d2-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10769 -iwad "/home/zandronum/.zandronum/doom2.wad" +exec /home/zandronum/config/coop-d2.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-plutonia-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-plutonia-brutal-server.sh deleted file mode 100755 index 29761ee..0000000 --- a/zandronum/srv-exec/zandronum-coop-plutonia-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10666 -iwad "/home/zandronum/.zandronum/plutonia.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-plutonia-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/Dockerfile b/Dockerfile index a2fd93e..a3bcfbd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,11 +15,18 @@ RUN apt-get update && apt-get upgrade RUN apt-get install --yes --quiet libsdl-image1.2 zandronum -RUN mkdir -p /zandronum/config && mkdir /zandronum/wads && \ -mkdir /zandronum/iwads && mkdir /zandronum/srv-exec/ && /zandronum/templates/ -ADD /config/ /zandronum/config/ -ADD /srv-exec/ /zandronum/serv-exec/ -ADD /templates/ /zandronum/templates/ +#Create a non-privileged user +RUN useradd -ms /bin/bash zandronum +USER zandronum +WORKDIR /home/zandronum + +#Build the application directory and add files +RUN mkdir /home/zandronum/config && \ + mkdir /home/zandronum/wads && \ + mkdir /home/zandronum/iwads && \ + mkdir /home/zandronum/bin/ +ADD /config/ /home/zandronum/config/ +ADD /bin/ /home/zandronum/bin/ CMD ["/zandronum/srv-exec/summon.sh"] ENTRYPOINT ["/zandronum/srv-exec/summon"] diff --git a/configs/template.cfg b/configs/template.cfg deleted file mode 100644 index 80cbb38..0000000 --- a/configs/template.cfg +++ /dev/null @@ -1,53 +0,0 @@ -//game options -dmflags 0 -dmflags2 0 -compatflags 0 -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags true -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/servers/zandronum-server-template.sh b/servers/zandronum-server-template.sh deleted file mode 100755 index ce2297d..0000000 --- a/servers/zandronum-server-template.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/bin/service-template.sh b/templates/bin/service-template.sh new file mode 100644 index 0000000..fb1fa54 --- /dev/null +++ b/templates/bin/service-template.sh @@ -0,0 +1,50 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: zandronum-servers +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# X-Interactive: false +# Short-Description: Zandronum service handler +# Description: Enables the launching of all Zandronum server exec files located +# in the path specified by EXEC_PATH. Also provides facilities for +# killing all running instances of zandronum-server. +### END INIT INFO + +DESC="zandronum-servers" +NAME=zandronum +EXEC_PATH="/home/zandronum/srv-exec/" + +start_service() +{ + running=`ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | wc -l` + if [ $running -gt 0 ] ; then + echo "$running Zandronum servers are already running." + else + echo "Launching all Zandronum servers in $EXEC_PATH ...."; + sudo -u zandronum find "$EXEC_PATH" | grep .sh | cat | sh 2>&1 > /dev/null + fi +} + +stop_service() +{ + echo "Killing all running Zandronum servers ...." + sudo -u zandronum ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | awk '{print $2}' | xargs kill -9 2>&1 > /dev/null +} + +case "$1" in + start) + start_service + ;; + stop) + stop_service + ;; + restart) + stop_service + start_service + ;; +esac + +exit 0 + diff --git a/templates/bin/zandronum-server-template.sh b/templates/bin/zandronum-server-template.sh new file mode 100644 index 0000000..ce2297d --- /dev/null +++ b/templates/bin/zandronum-server-template.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/config/coop-template.cfg b/templates/config/coop-template.cfg new file mode 100644 index 0000000..92636ee --- /dev/null +++ b/templates/config/coop-template.cfg @@ -0,0 +1,60 @@ +//game options +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_weaponstay true +sv_itemrespawn true +sv_coop_losekeys true +sv_coop_loseinventory true +sv_coop_loseweapons true +sv_coop_loseammo true +sv_barrelrespawn true +sv_weapondrop true +sv_nojump false +sv_nocrouch true +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags false +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/templates/config/template.cfg b/templates/config/template.cfg new file mode 100644 index 0000000..ce071be --- /dev/null +++ b/templates/config/template.cfg @@ -0,0 +1,53 @@ +//game options +dmflags 0 +dmflags2 0 +compatflags 0 +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags true +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/zandronum/bin/GeoIP.dat b/zandronum/bin/GeoIP.dat new file mode 100644 index 0000000..d780363 --- /dev/null +++ b/zandronum/bin/GeoIP.dat Binary files differ diff --git a/zandronum/bin/zandronum-coop-d1-brutal-server.sh b/zandronum/bin/zandronum-coop-d1-brutal-server.sh new file mode 100644 index 0000000..b269789 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d1-server.sh b/zandronum/bin/zandronum-coop-d1-server.sh new file mode 100644 index 0000000..2749009 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-brutal-server.sh b/zandronum/bin/zandronum-coop-d2-brutal-server.sh new file mode 100644 index 0000000..c6c49c1 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d2-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-server.sh b/zandronum/bin/zandronum-coop-d2-server.sh new file mode 100644 index 0000000..7074086 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10769 -iwad "/home/zandronum/.zandronum/doom2.wad" +exec /home/zandronum/config/coop-d2.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh new file mode 100644 index 0000000..29761ee --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10666 -iwad "/home/zandronum/.zandronum/plutonia.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-plutonia-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-server.sh b/zandronum/bin/zandronum-coop-plutonia-server.sh new file mode 100644 index 0000000..b442a40 --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10766 -iwad "/home/zandronum/.zandronum/plutonia.wad" +exec /home/zandronum/config/coop-plutonia.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-tnt-brutal-server.sh b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh new file mode 100644 index 0000000..d4f6670 --- /dev/null +++ b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10667 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/wad/brutalv20.pk3" "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-tnt-server.sh b/zandronum/bin/zandronum-coop-tnt-server.sh new file mode 100644 index 0000000..0430b52 --- /dev/null +++ b/zandronum/bin/zandronum-coop-tnt-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10767 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/GeoIP.dat b/zandronum/srv-exec/GeoIP.dat deleted file mode 100644 index d780363..0000000 --- a/zandronum/srv-exec/GeoIP.dat +++ /dev/null Binary files differ diff --git a/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh deleted file mode 100755 index b269789..0000000 --- a/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d1-server.sh b/zandronum/srv-exec/zandronum-coop-d1-server.sh deleted file mode 100755 index 2749009..0000000 --- a/zandronum/srv-exec/zandronum-coop-d1-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh deleted file mode 100755 index c6c49c1..0000000 --- a/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d2-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d2-server.sh b/zandronum/srv-exec/zandronum-coop-d2-server.sh deleted file mode 100755 index 7074086..0000000 --- a/zandronum/srv-exec/zandronum-coop-d2-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10769 -iwad "/home/zandronum/.zandronum/doom2.wad" +exec /home/zandronum/config/coop-d2.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-plutonia-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-plutonia-brutal-server.sh deleted file mode 100755 index 29761ee..0000000 --- a/zandronum/srv-exec/zandronum-coop-plutonia-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10666 -iwad "/home/zandronum/.zandronum/plutonia.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-plutonia-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-plutonia-server.sh b/zandronum/srv-exec/zandronum-coop-plutonia-server.sh deleted file mode 100755 index b442a40..0000000 --- a/zandronum/srv-exec/zandronum-coop-plutonia-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10766 -iwad "/home/zandronum/.zandronum/plutonia.wad" +exec /home/zandronum/config/coop-plutonia.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia" +CrashLogs 2 2>&1 /dev/null & diff --git a/Dockerfile b/Dockerfile index a2fd93e..a3bcfbd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,11 +15,18 @@ RUN apt-get update && apt-get upgrade RUN apt-get install --yes --quiet libsdl-image1.2 zandronum -RUN mkdir -p /zandronum/config && mkdir /zandronum/wads && \ -mkdir /zandronum/iwads && mkdir /zandronum/srv-exec/ && /zandronum/templates/ -ADD /config/ /zandronum/config/ -ADD /srv-exec/ /zandronum/serv-exec/ -ADD /templates/ /zandronum/templates/ +#Create a non-privileged user +RUN useradd -ms /bin/bash zandronum +USER zandronum +WORKDIR /home/zandronum + +#Build the application directory and add files +RUN mkdir /home/zandronum/config && \ + mkdir /home/zandronum/wads && \ + mkdir /home/zandronum/iwads && \ + mkdir /home/zandronum/bin/ +ADD /config/ /home/zandronum/config/ +ADD /bin/ /home/zandronum/bin/ CMD ["/zandronum/srv-exec/summon.sh"] ENTRYPOINT ["/zandronum/srv-exec/summon"] diff --git a/configs/template.cfg b/configs/template.cfg deleted file mode 100644 index 80cbb38..0000000 --- a/configs/template.cfg +++ /dev/null @@ -1,53 +0,0 @@ -//game options -dmflags 0 -dmflags2 0 -compatflags 0 -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags true -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/servers/zandronum-server-template.sh b/servers/zandronum-server-template.sh deleted file mode 100755 index ce2297d..0000000 --- a/servers/zandronum-server-template.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/bin/service-template.sh b/templates/bin/service-template.sh new file mode 100644 index 0000000..fb1fa54 --- /dev/null +++ b/templates/bin/service-template.sh @@ -0,0 +1,50 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: zandronum-servers +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# X-Interactive: false +# Short-Description: Zandronum service handler +# Description: Enables the launching of all Zandronum server exec files located +# in the path specified by EXEC_PATH. Also provides facilities for +# killing all running instances of zandronum-server. +### END INIT INFO + +DESC="zandronum-servers" +NAME=zandronum +EXEC_PATH="/home/zandronum/srv-exec/" + +start_service() +{ + running=`ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | wc -l` + if [ $running -gt 0 ] ; then + echo "$running Zandronum servers are already running." + else + echo "Launching all Zandronum servers in $EXEC_PATH ...."; + sudo -u zandronum find "$EXEC_PATH" | grep .sh | cat | sh 2>&1 > /dev/null + fi +} + +stop_service() +{ + echo "Killing all running Zandronum servers ...." + sudo -u zandronum ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | awk '{print $2}' | xargs kill -9 2>&1 > /dev/null +} + +case "$1" in + start) + start_service + ;; + stop) + stop_service + ;; + restart) + stop_service + start_service + ;; +esac + +exit 0 + diff --git a/templates/bin/zandronum-server-template.sh b/templates/bin/zandronum-server-template.sh new file mode 100644 index 0000000..ce2297d --- /dev/null +++ b/templates/bin/zandronum-server-template.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/config/coop-template.cfg b/templates/config/coop-template.cfg new file mode 100644 index 0000000..92636ee --- /dev/null +++ b/templates/config/coop-template.cfg @@ -0,0 +1,60 @@ +//game options +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_weaponstay true +sv_itemrespawn true +sv_coop_losekeys true +sv_coop_loseinventory true +sv_coop_loseweapons true +sv_coop_loseammo true +sv_barrelrespawn true +sv_weapondrop true +sv_nojump false +sv_nocrouch true +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags false +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/templates/config/template.cfg b/templates/config/template.cfg new file mode 100644 index 0000000..ce071be --- /dev/null +++ b/templates/config/template.cfg @@ -0,0 +1,53 @@ +//game options +dmflags 0 +dmflags2 0 +compatflags 0 +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags true +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/zandronum/bin/GeoIP.dat b/zandronum/bin/GeoIP.dat new file mode 100644 index 0000000..d780363 --- /dev/null +++ b/zandronum/bin/GeoIP.dat Binary files differ diff --git a/zandronum/bin/zandronum-coop-d1-brutal-server.sh b/zandronum/bin/zandronum-coop-d1-brutal-server.sh new file mode 100644 index 0000000..b269789 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d1-server.sh b/zandronum/bin/zandronum-coop-d1-server.sh new file mode 100644 index 0000000..2749009 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-brutal-server.sh b/zandronum/bin/zandronum-coop-d2-brutal-server.sh new file mode 100644 index 0000000..c6c49c1 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d2-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-server.sh b/zandronum/bin/zandronum-coop-d2-server.sh new file mode 100644 index 0000000..7074086 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10769 -iwad "/home/zandronum/.zandronum/doom2.wad" +exec /home/zandronum/config/coop-d2.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh new file mode 100644 index 0000000..29761ee --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10666 -iwad "/home/zandronum/.zandronum/plutonia.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-plutonia-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-server.sh b/zandronum/bin/zandronum-coop-plutonia-server.sh new file mode 100644 index 0000000..b442a40 --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10766 -iwad "/home/zandronum/.zandronum/plutonia.wad" +exec /home/zandronum/config/coop-plutonia.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-tnt-brutal-server.sh b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh new file mode 100644 index 0000000..d4f6670 --- /dev/null +++ b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10667 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/wad/brutalv20.pk3" "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-tnt-server.sh b/zandronum/bin/zandronum-coop-tnt-server.sh new file mode 100644 index 0000000..0430b52 --- /dev/null +++ b/zandronum/bin/zandronum-coop-tnt-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10767 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/GeoIP.dat b/zandronum/srv-exec/GeoIP.dat deleted file mode 100644 index d780363..0000000 --- a/zandronum/srv-exec/GeoIP.dat +++ /dev/null Binary files differ diff --git a/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh deleted file mode 100755 index b269789..0000000 --- a/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d1-server.sh b/zandronum/srv-exec/zandronum-coop-d1-server.sh deleted file mode 100755 index 2749009..0000000 --- a/zandronum/srv-exec/zandronum-coop-d1-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh deleted file mode 100755 index c6c49c1..0000000 --- a/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d2-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d2-server.sh b/zandronum/srv-exec/zandronum-coop-d2-server.sh deleted file mode 100755 index 7074086..0000000 --- a/zandronum/srv-exec/zandronum-coop-d2-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10769 -iwad "/home/zandronum/.zandronum/doom2.wad" +exec /home/zandronum/config/coop-d2.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-plutonia-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-plutonia-brutal-server.sh deleted file mode 100755 index 29761ee..0000000 --- a/zandronum/srv-exec/zandronum-coop-plutonia-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10666 -iwad "/home/zandronum/.zandronum/plutonia.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-plutonia-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-plutonia-server.sh b/zandronum/srv-exec/zandronum-coop-plutonia-server.sh deleted file mode 100755 index b442a40..0000000 --- a/zandronum/srv-exec/zandronum-coop-plutonia-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10766 -iwad "/home/zandronum/.zandronum/plutonia.wad" +exec /home/zandronum/config/coop-plutonia.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-tnt-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-tnt-brutal-server.sh deleted file mode 100755 index d4f6670..0000000 --- a/zandronum/srv-exec/zandronum-coop-tnt-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10667 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/wad/brutalv20.pk3" "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/Dockerfile b/Dockerfile index a2fd93e..a3bcfbd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,11 +15,18 @@ RUN apt-get update && apt-get upgrade RUN apt-get install --yes --quiet libsdl-image1.2 zandronum -RUN mkdir -p /zandronum/config && mkdir /zandronum/wads && \ -mkdir /zandronum/iwads && mkdir /zandronum/srv-exec/ && /zandronum/templates/ -ADD /config/ /zandronum/config/ -ADD /srv-exec/ /zandronum/serv-exec/ -ADD /templates/ /zandronum/templates/ +#Create a non-privileged user +RUN useradd -ms /bin/bash zandronum +USER zandronum +WORKDIR /home/zandronum + +#Build the application directory and add files +RUN mkdir /home/zandronum/config && \ + mkdir /home/zandronum/wads && \ + mkdir /home/zandronum/iwads && \ + mkdir /home/zandronum/bin/ +ADD /config/ /home/zandronum/config/ +ADD /bin/ /home/zandronum/bin/ CMD ["/zandronum/srv-exec/summon.sh"] ENTRYPOINT ["/zandronum/srv-exec/summon"] diff --git a/configs/template.cfg b/configs/template.cfg deleted file mode 100644 index 80cbb38..0000000 --- a/configs/template.cfg +++ /dev/null @@ -1,53 +0,0 @@ -//game options -dmflags 0 -dmflags2 0 -compatflags 0 -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags true -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/servers/zandronum-server-template.sh b/servers/zandronum-server-template.sh deleted file mode 100755 index ce2297d..0000000 --- a/servers/zandronum-server-template.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/bin/service-template.sh b/templates/bin/service-template.sh new file mode 100644 index 0000000..fb1fa54 --- /dev/null +++ b/templates/bin/service-template.sh @@ -0,0 +1,50 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: zandronum-servers +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# X-Interactive: false +# Short-Description: Zandronum service handler +# Description: Enables the launching of all Zandronum server exec files located +# in the path specified by EXEC_PATH. Also provides facilities for +# killing all running instances of zandronum-server. +### END INIT INFO + +DESC="zandronum-servers" +NAME=zandronum +EXEC_PATH="/home/zandronum/srv-exec/" + +start_service() +{ + running=`ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | wc -l` + if [ $running -gt 0 ] ; then + echo "$running Zandronum servers are already running." + else + echo "Launching all Zandronum servers in $EXEC_PATH ...."; + sudo -u zandronum find "$EXEC_PATH" | grep .sh | cat | sh 2>&1 > /dev/null + fi +} + +stop_service() +{ + echo "Killing all running Zandronum servers ...." + sudo -u zandronum ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | awk '{print $2}' | xargs kill -9 2>&1 > /dev/null +} + +case "$1" in + start) + start_service + ;; + stop) + stop_service + ;; + restart) + stop_service + start_service + ;; +esac + +exit 0 + diff --git a/templates/bin/zandronum-server-template.sh b/templates/bin/zandronum-server-template.sh new file mode 100644 index 0000000..ce2297d --- /dev/null +++ b/templates/bin/zandronum-server-template.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/config/coop-template.cfg b/templates/config/coop-template.cfg new file mode 100644 index 0000000..92636ee --- /dev/null +++ b/templates/config/coop-template.cfg @@ -0,0 +1,60 @@ +//game options +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_weaponstay true +sv_itemrespawn true +sv_coop_losekeys true +sv_coop_loseinventory true +sv_coop_loseweapons true +sv_coop_loseammo true +sv_barrelrespawn true +sv_weapondrop true +sv_nojump false +sv_nocrouch true +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags false +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/templates/config/template.cfg b/templates/config/template.cfg new file mode 100644 index 0000000..ce071be --- /dev/null +++ b/templates/config/template.cfg @@ -0,0 +1,53 @@ +//game options +dmflags 0 +dmflags2 0 +compatflags 0 +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags true +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/zandronum/bin/GeoIP.dat b/zandronum/bin/GeoIP.dat new file mode 100644 index 0000000..d780363 --- /dev/null +++ b/zandronum/bin/GeoIP.dat Binary files differ diff --git a/zandronum/bin/zandronum-coop-d1-brutal-server.sh b/zandronum/bin/zandronum-coop-d1-brutal-server.sh new file mode 100644 index 0000000..b269789 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d1-server.sh b/zandronum/bin/zandronum-coop-d1-server.sh new file mode 100644 index 0000000..2749009 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-brutal-server.sh b/zandronum/bin/zandronum-coop-d2-brutal-server.sh new file mode 100644 index 0000000..c6c49c1 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d2-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-server.sh b/zandronum/bin/zandronum-coop-d2-server.sh new file mode 100644 index 0000000..7074086 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10769 -iwad "/home/zandronum/.zandronum/doom2.wad" +exec /home/zandronum/config/coop-d2.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh new file mode 100644 index 0000000..29761ee --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10666 -iwad "/home/zandronum/.zandronum/plutonia.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-plutonia-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-server.sh b/zandronum/bin/zandronum-coop-plutonia-server.sh new file mode 100644 index 0000000..b442a40 --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10766 -iwad "/home/zandronum/.zandronum/plutonia.wad" +exec /home/zandronum/config/coop-plutonia.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-tnt-brutal-server.sh b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh new file mode 100644 index 0000000..d4f6670 --- /dev/null +++ b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10667 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/wad/brutalv20.pk3" "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-tnt-server.sh b/zandronum/bin/zandronum-coop-tnt-server.sh new file mode 100644 index 0000000..0430b52 --- /dev/null +++ b/zandronum/bin/zandronum-coop-tnt-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10767 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/GeoIP.dat b/zandronum/srv-exec/GeoIP.dat deleted file mode 100644 index d780363..0000000 --- a/zandronum/srv-exec/GeoIP.dat +++ /dev/null Binary files differ diff --git a/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh deleted file mode 100755 index b269789..0000000 --- a/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d1-server.sh b/zandronum/srv-exec/zandronum-coop-d1-server.sh deleted file mode 100755 index 2749009..0000000 --- a/zandronum/srv-exec/zandronum-coop-d1-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh deleted file mode 100755 index c6c49c1..0000000 --- a/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d2-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d2-server.sh b/zandronum/srv-exec/zandronum-coop-d2-server.sh deleted file mode 100755 index 7074086..0000000 --- a/zandronum/srv-exec/zandronum-coop-d2-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10769 -iwad "/home/zandronum/.zandronum/doom2.wad" +exec /home/zandronum/config/coop-d2.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-plutonia-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-plutonia-brutal-server.sh deleted file mode 100755 index 29761ee..0000000 --- a/zandronum/srv-exec/zandronum-coop-plutonia-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10666 -iwad "/home/zandronum/.zandronum/plutonia.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-plutonia-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-plutonia-server.sh b/zandronum/srv-exec/zandronum-coop-plutonia-server.sh deleted file mode 100755 index b442a40..0000000 --- a/zandronum/srv-exec/zandronum-coop-plutonia-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10766 -iwad "/home/zandronum/.zandronum/plutonia.wad" +exec /home/zandronum/config/coop-plutonia.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-tnt-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-tnt-brutal-server.sh deleted file mode 100755 index d4f6670..0000000 --- a/zandronum/srv-exec/zandronum-coop-tnt-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10667 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/wad/brutalv20.pk3" "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-tnt-server.sh b/zandronum/srv-exec/zandronum-coop-tnt-server.sh deleted file mode 100755 index 0430b52..0000000 --- a/zandronum/srv-exec/zandronum-coop-tnt-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10767 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt" +CrashLogs 2 2>&1 /dev/null & diff --git a/Dockerfile b/Dockerfile index a2fd93e..a3bcfbd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,11 +15,18 @@ RUN apt-get update && apt-get upgrade RUN apt-get install --yes --quiet libsdl-image1.2 zandronum -RUN mkdir -p /zandronum/config && mkdir /zandronum/wads && \ -mkdir /zandronum/iwads && mkdir /zandronum/srv-exec/ && /zandronum/templates/ -ADD /config/ /zandronum/config/ -ADD /srv-exec/ /zandronum/serv-exec/ -ADD /templates/ /zandronum/templates/ +#Create a non-privileged user +RUN useradd -ms /bin/bash zandronum +USER zandronum +WORKDIR /home/zandronum + +#Build the application directory and add files +RUN mkdir /home/zandronum/config && \ + mkdir /home/zandronum/wads && \ + mkdir /home/zandronum/iwads && \ + mkdir /home/zandronum/bin/ +ADD /config/ /home/zandronum/config/ +ADD /bin/ /home/zandronum/bin/ CMD ["/zandronum/srv-exec/summon.sh"] ENTRYPOINT ["/zandronum/srv-exec/summon"] diff --git a/configs/template.cfg b/configs/template.cfg deleted file mode 100644 index 80cbb38..0000000 --- a/configs/template.cfg +++ /dev/null @@ -1,53 +0,0 @@ -//game options -dmflags 0 -dmflags2 0 -compatflags 0 -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags true -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/servers/zandronum-server-template.sh b/servers/zandronum-server-template.sh deleted file mode 100755 index ce2297d..0000000 --- a/servers/zandronum-server-template.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/bin/service-template.sh b/templates/bin/service-template.sh new file mode 100644 index 0000000..fb1fa54 --- /dev/null +++ b/templates/bin/service-template.sh @@ -0,0 +1,50 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: zandronum-servers +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# X-Interactive: false +# Short-Description: Zandronum service handler +# Description: Enables the launching of all Zandronum server exec files located +# in the path specified by EXEC_PATH. Also provides facilities for +# killing all running instances of zandronum-server. +### END INIT INFO + +DESC="zandronum-servers" +NAME=zandronum +EXEC_PATH="/home/zandronum/srv-exec/" + +start_service() +{ + running=`ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | wc -l` + if [ $running -gt 0 ] ; then + echo "$running Zandronum servers are already running." + else + echo "Launching all Zandronum servers in $EXEC_PATH ...."; + sudo -u zandronum find "$EXEC_PATH" | grep .sh | cat | sh 2>&1 > /dev/null + fi +} + +stop_service() +{ + echo "Killing all running Zandronum servers ...." + sudo -u zandronum ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | awk '{print $2}' | xargs kill -9 2>&1 > /dev/null +} + +case "$1" in + start) + start_service + ;; + stop) + stop_service + ;; + restart) + stop_service + start_service + ;; +esac + +exit 0 + diff --git a/templates/bin/zandronum-server-template.sh b/templates/bin/zandronum-server-template.sh new file mode 100644 index 0000000..ce2297d --- /dev/null +++ b/templates/bin/zandronum-server-template.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/config/coop-template.cfg b/templates/config/coop-template.cfg new file mode 100644 index 0000000..92636ee --- /dev/null +++ b/templates/config/coop-template.cfg @@ -0,0 +1,60 @@ +//game options +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_weaponstay true +sv_itemrespawn true +sv_coop_losekeys true +sv_coop_loseinventory true +sv_coop_loseweapons true +sv_coop_loseammo true +sv_barrelrespawn true +sv_weapondrop true +sv_nojump false +sv_nocrouch true +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags false +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/templates/config/template.cfg b/templates/config/template.cfg new file mode 100644 index 0000000..ce071be --- /dev/null +++ b/templates/config/template.cfg @@ -0,0 +1,53 @@ +//game options +dmflags 0 +dmflags2 0 +compatflags 0 +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags true +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/zandronum/bin/GeoIP.dat b/zandronum/bin/GeoIP.dat new file mode 100644 index 0000000..d780363 --- /dev/null +++ b/zandronum/bin/GeoIP.dat Binary files differ diff --git a/zandronum/bin/zandronum-coop-d1-brutal-server.sh b/zandronum/bin/zandronum-coop-d1-brutal-server.sh new file mode 100644 index 0000000..b269789 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d1-server.sh b/zandronum/bin/zandronum-coop-d1-server.sh new file mode 100644 index 0000000..2749009 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-brutal-server.sh b/zandronum/bin/zandronum-coop-d2-brutal-server.sh new file mode 100644 index 0000000..c6c49c1 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d2-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-server.sh b/zandronum/bin/zandronum-coop-d2-server.sh new file mode 100644 index 0000000..7074086 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10769 -iwad "/home/zandronum/.zandronum/doom2.wad" +exec /home/zandronum/config/coop-d2.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh new file mode 100644 index 0000000..29761ee --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10666 -iwad "/home/zandronum/.zandronum/plutonia.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-plutonia-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-server.sh b/zandronum/bin/zandronum-coop-plutonia-server.sh new file mode 100644 index 0000000..b442a40 --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10766 -iwad "/home/zandronum/.zandronum/plutonia.wad" +exec /home/zandronum/config/coop-plutonia.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-tnt-brutal-server.sh b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh new file mode 100644 index 0000000..d4f6670 --- /dev/null +++ b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10667 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/wad/brutalv20.pk3" "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-tnt-server.sh b/zandronum/bin/zandronum-coop-tnt-server.sh new file mode 100644 index 0000000..0430b52 --- /dev/null +++ b/zandronum/bin/zandronum-coop-tnt-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10767 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/GeoIP.dat b/zandronum/srv-exec/GeoIP.dat deleted file mode 100644 index d780363..0000000 --- a/zandronum/srv-exec/GeoIP.dat +++ /dev/null Binary files differ diff --git a/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh deleted file mode 100755 index b269789..0000000 --- a/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d1-server.sh b/zandronum/srv-exec/zandronum-coop-d1-server.sh deleted file mode 100755 index 2749009..0000000 --- a/zandronum/srv-exec/zandronum-coop-d1-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh deleted file mode 100755 index c6c49c1..0000000 --- a/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d2-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d2-server.sh b/zandronum/srv-exec/zandronum-coop-d2-server.sh deleted file mode 100755 index 7074086..0000000 --- a/zandronum/srv-exec/zandronum-coop-d2-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10769 -iwad "/home/zandronum/.zandronum/doom2.wad" +exec /home/zandronum/config/coop-d2.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-plutonia-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-plutonia-brutal-server.sh deleted file mode 100755 index 29761ee..0000000 --- a/zandronum/srv-exec/zandronum-coop-plutonia-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10666 -iwad "/home/zandronum/.zandronum/plutonia.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-plutonia-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-plutonia-server.sh b/zandronum/srv-exec/zandronum-coop-plutonia-server.sh deleted file mode 100755 index b442a40..0000000 --- a/zandronum/srv-exec/zandronum-coop-plutonia-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10766 -iwad "/home/zandronum/.zandronum/plutonia.wad" +exec /home/zandronum/config/coop-plutonia.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-tnt-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-tnt-brutal-server.sh deleted file mode 100755 index d4f6670..0000000 --- a/zandronum/srv-exec/zandronum-coop-tnt-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10667 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/wad/brutalv20.pk3" "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-tnt-server.sh b/zandronum/srv-exec/zandronum-coop-tnt-server.sh deleted file mode 100755 index 0430b52..0000000 --- a/zandronum/srv-exec/zandronum-coop-tnt-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10767 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/summon.sh b/zandronum/summon.sh new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/zandronum/summon.sh diff --git a/Dockerfile b/Dockerfile index a2fd93e..a3bcfbd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,11 +15,18 @@ RUN apt-get update && apt-get upgrade RUN apt-get install --yes --quiet libsdl-image1.2 zandronum -RUN mkdir -p /zandronum/config && mkdir /zandronum/wads && \ -mkdir /zandronum/iwads && mkdir /zandronum/srv-exec/ && /zandronum/templates/ -ADD /config/ /zandronum/config/ -ADD /srv-exec/ /zandronum/serv-exec/ -ADD /templates/ /zandronum/templates/ +#Create a non-privileged user +RUN useradd -ms /bin/bash zandronum +USER zandronum +WORKDIR /home/zandronum + +#Build the application directory and add files +RUN mkdir /home/zandronum/config && \ + mkdir /home/zandronum/wads && \ + mkdir /home/zandronum/iwads && \ + mkdir /home/zandronum/bin/ +ADD /config/ /home/zandronum/config/ +ADD /bin/ /home/zandronum/bin/ CMD ["/zandronum/srv-exec/summon.sh"] ENTRYPOINT ["/zandronum/srv-exec/summon"] diff --git a/configs/template.cfg b/configs/template.cfg deleted file mode 100644 index 80cbb38..0000000 --- a/configs/template.cfg +++ /dev/null @@ -1,53 +0,0 @@ -//game options -dmflags 0 -dmflags2 0 -compatflags 0 -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags true -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/servers/zandronum-server-template.sh b/servers/zandronum-server-template.sh deleted file mode 100755 index ce2297d..0000000 --- a/servers/zandronum-server-template.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/bin/service-template.sh b/templates/bin/service-template.sh new file mode 100644 index 0000000..fb1fa54 --- /dev/null +++ b/templates/bin/service-template.sh @@ -0,0 +1,50 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: zandronum-servers +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# X-Interactive: false +# Short-Description: Zandronum service handler +# Description: Enables the launching of all Zandronum server exec files located +# in the path specified by EXEC_PATH. Also provides facilities for +# killing all running instances of zandronum-server. +### END INIT INFO + +DESC="zandronum-servers" +NAME=zandronum +EXEC_PATH="/home/zandronum/srv-exec/" + +start_service() +{ + running=`ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | wc -l` + if [ $running -gt 0 ] ; then + echo "$running Zandronum servers are already running." + else + echo "Launching all Zandronum servers in $EXEC_PATH ...."; + sudo -u zandronum find "$EXEC_PATH" | grep .sh | cat | sh 2>&1 > /dev/null + fi +} + +stop_service() +{ + echo "Killing all running Zandronum servers ...." + sudo -u zandronum ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | awk '{print $2}' | xargs kill -9 2>&1 > /dev/null +} + +case "$1" in + start) + start_service + ;; + stop) + stop_service + ;; + restart) + stop_service + start_service + ;; +esac + +exit 0 + diff --git a/templates/bin/zandronum-server-template.sh b/templates/bin/zandronum-server-template.sh new file mode 100644 index 0000000..ce2297d --- /dev/null +++ b/templates/bin/zandronum-server-template.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/config/coop-template.cfg b/templates/config/coop-template.cfg new file mode 100644 index 0000000..92636ee --- /dev/null +++ b/templates/config/coop-template.cfg @@ -0,0 +1,60 @@ +//game options +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_weaponstay true +sv_itemrespawn true +sv_coop_losekeys true +sv_coop_loseinventory true +sv_coop_loseweapons true +sv_coop_loseammo true +sv_barrelrespawn true +sv_weapondrop true +sv_nojump false +sv_nocrouch true +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags false +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/templates/config/template.cfg b/templates/config/template.cfg new file mode 100644 index 0000000..ce071be --- /dev/null +++ b/templates/config/template.cfg @@ -0,0 +1,53 @@ +//game options +dmflags 0 +dmflags2 0 +compatflags 0 +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags true +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/zandronum/bin/GeoIP.dat b/zandronum/bin/GeoIP.dat new file mode 100644 index 0000000..d780363 --- /dev/null +++ b/zandronum/bin/GeoIP.dat Binary files differ diff --git a/zandronum/bin/zandronum-coop-d1-brutal-server.sh b/zandronum/bin/zandronum-coop-d1-brutal-server.sh new file mode 100644 index 0000000..b269789 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d1-server.sh b/zandronum/bin/zandronum-coop-d1-server.sh new file mode 100644 index 0000000..2749009 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-brutal-server.sh b/zandronum/bin/zandronum-coop-d2-brutal-server.sh new file mode 100644 index 0000000..c6c49c1 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d2-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-server.sh b/zandronum/bin/zandronum-coop-d2-server.sh new file mode 100644 index 0000000..7074086 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10769 -iwad "/home/zandronum/.zandronum/doom2.wad" +exec /home/zandronum/config/coop-d2.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh new file mode 100644 index 0000000..29761ee --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10666 -iwad "/home/zandronum/.zandronum/plutonia.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-plutonia-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-server.sh b/zandronum/bin/zandronum-coop-plutonia-server.sh new file mode 100644 index 0000000..b442a40 --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10766 -iwad "/home/zandronum/.zandronum/plutonia.wad" +exec /home/zandronum/config/coop-plutonia.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-tnt-brutal-server.sh b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh new file mode 100644 index 0000000..d4f6670 --- /dev/null +++ b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10667 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/wad/brutalv20.pk3" "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-tnt-server.sh b/zandronum/bin/zandronum-coop-tnt-server.sh new file mode 100644 index 0000000..0430b52 --- /dev/null +++ b/zandronum/bin/zandronum-coop-tnt-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10767 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/GeoIP.dat b/zandronum/srv-exec/GeoIP.dat deleted file mode 100644 index d780363..0000000 --- a/zandronum/srv-exec/GeoIP.dat +++ /dev/null Binary files differ diff --git a/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh deleted file mode 100755 index b269789..0000000 --- a/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d1-server.sh b/zandronum/srv-exec/zandronum-coop-d1-server.sh deleted file mode 100755 index 2749009..0000000 --- a/zandronum/srv-exec/zandronum-coop-d1-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh deleted file mode 100755 index c6c49c1..0000000 --- a/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d2-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d2-server.sh b/zandronum/srv-exec/zandronum-coop-d2-server.sh deleted file mode 100755 index 7074086..0000000 --- a/zandronum/srv-exec/zandronum-coop-d2-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10769 -iwad "/home/zandronum/.zandronum/doom2.wad" +exec /home/zandronum/config/coop-d2.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-plutonia-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-plutonia-brutal-server.sh deleted file mode 100755 index 29761ee..0000000 --- a/zandronum/srv-exec/zandronum-coop-plutonia-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10666 -iwad "/home/zandronum/.zandronum/plutonia.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-plutonia-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-plutonia-server.sh b/zandronum/srv-exec/zandronum-coop-plutonia-server.sh deleted file mode 100755 index b442a40..0000000 --- a/zandronum/srv-exec/zandronum-coop-plutonia-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10766 -iwad "/home/zandronum/.zandronum/plutonia.wad" +exec /home/zandronum/config/coop-plutonia.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-tnt-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-tnt-brutal-server.sh deleted file mode 100755 index d4f6670..0000000 --- a/zandronum/srv-exec/zandronum-coop-tnt-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10667 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/wad/brutalv20.pk3" "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-tnt-server.sh b/zandronum/srv-exec/zandronum-coop-tnt-server.sh deleted file mode 100755 index 0430b52..0000000 --- a/zandronum/srv-exec/zandronum-coop-tnt-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10767 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/summon.sh b/zandronum/summon.sh new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/zandronum/summon.sh diff --git a/zandronum/templates/coop-template.cfg b/zandronum/templates/coop-template.cfg deleted file mode 100644 index 3421594..0000000 --- a/zandronum/templates/coop-template.cfg +++ /dev/null @@ -1,60 +0,0 @@ -//game options -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_weaponstay true -sv_itemrespawn true -sv_coop_losekeys true -sv_coop_loseinventory true -sv_coop_loseweapons true -sv_coop_loseammo true -sv_barrelrespawn true -sv_weapondrop true -sv_nojump false -sv_nocrouch true -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags false -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/Dockerfile b/Dockerfile index a2fd93e..a3bcfbd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,11 +15,18 @@ RUN apt-get update && apt-get upgrade RUN apt-get install --yes --quiet libsdl-image1.2 zandronum -RUN mkdir -p /zandronum/config && mkdir /zandronum/wads && \ -mkdir /zandronum/iwads && mkdir /zandronum/srv-exec/ && /zandronum/templates/ -ADD /config/ /zandronum/config/ -ADD /srv-exec/ /zandronum/serv-exec/ -ADD /templates/ /zandronum/templates/ +#Create a non-privileged user +RUN useradd -ms /bin/bash zandronum +USER zandronum +WORKDIR /home/zandronum + +#Build the application directory and add files +RUN mkdir /home/zandronum/config && \ + mkdir /home/zandronum/wads && \ + mkdir /home/zandronum/iwads && \ + mkdir /home/zandronum/bin/ +ADD /config/ /home/zandronum/config/ +ADD /bin/ /home/zandronum/bin/ CMD ["/zandronum/srv-exec/summon.sh"] ENTRYPOINT ["/zandronum/srv-exec/summon"] diff --git a/configs/template.cfg b/configs/template.cfg deleted file mode 100644 index 80cbb38..0000000 --- a/configs/template.cfg +++ /dev/null @@ -1,53 +0,0 @@ -//game options -dmflags 0 -dmflags2 0 -compatflags 0 -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags true -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/servers/zandronum-server-template.sh b/servers/zandronum-server-template.sh deleted file mode 100755 index ce2297d..0000000 --- a/servers/zandronum-server-template.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/bin/service-template.sh b/templates/bin/service-template.sh new file mode 100644 index 0000000..fb1fa54 --- /dev/null +++ b/templates/bin/service-template.sh @@ -0,0 +1,50 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: zandronum-servers +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# X-Interactive: false +# Short-Description: Zandronum service handler +# Description: Enables the launching of all Zandronum server exec files located +# in the path specified by EXEC_PATH. Also provides facilities for +# killing all running instances of zandronum-server. +### END INIT INFO + +DESC="zandronum-servers" +NAME=zandronum +EXEC_PATH="/home/zandronum/srv-exec/" + +start_service() +{ + running=`ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | wc -l` + if [ $running -gt 0 ] ; then + echo "$running Zandronum servers are already running." + else + echo "Launching all Zandronum servers in $EXEC_PATH ...."; + sudo -u zandronum find "$EXEC_PATH" | grep .sh | cat | sh 2>&1 > /dev/null + fi +} + +stop_service() +{ + echo "Killing all running Zandronum servers ...." + sudo -u zandronum ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | awk '{print $2}' | xargs kill -9 2>&1 > /dev/null +} + +case "$1" in + start) + start_service + ;; + stop) + stop_service + ;; + restart) + stop_service + start_service + ;; +esac + +exit 0 + diff --git a/templates/bin/zandronum-server-template.sh b/templates/bin/zandronum-server-template.sh new file mode 100644 index 0000000..ce2297d --- /dev/null +++ b/templates/bin/zandronum-server-template.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/config/coop-template.cfg b/templates/config/coop-template.cfg new file mode 100644 index 0000000..92636ee --- /dev/null +++ b/templates/config/coop-template.cfg @@ -0,0 +1,60 @@ +//game options +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_weaponstay true +sv_itemrespawn true +sv_coop_losekeys true +sv_coop_loseinventory true +sv_coop_loseweapons true +sv_coop_loseammo true +sv_barrelrespawn true +sv_weapondrop true +sv_nojump false +sv_nocrouch true +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags false +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/templates/config/template.cfg b/templates/config/template.cfg new file mode 100644 index 0000000..ce071be --- /dev/null +++ b/templates/config/template.cfg @@ -0,0 +1,53 @@ +//game options +dmflags 0 +dmflags2 0 +compatflags 0 +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags true +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/zandronum/bin/GeoIP.dat b/zandronum/bin/GeoIP.dat new file mode 100644 index 0000000..d780363 --- /dev/null +++ b/zandronum/bin/GeoIP.dat Binary files differ diff --git a/zandronum/bin/zandronum-coop-d1-brutal-server.sh b/zandronum/bin/zandronum-coop-d1-brutal-server.sh new file mode 100644 index 0000000..b269789 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d1-server.sh b/zandronum/bin/zandronum-coop-d1-server.sh new file mode 100644 index 0000000..2749009 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-brutal-server.sh b/zandronum/bin/zandronum-coop-d2-brutal-server.sh new file mode 100644 index 0000000..c6c49c1 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d2-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-server.sh b/zandronum/bin/zandronum-coop-d2-server.sh new file mode 100644 index 0000000..7074086 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10769 -iwad "/home/zandronum/.zandronum/doom2.wad" +exec /home/zandronum/config/coop-d2.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh new file mode 100644 index 0000000..29761ee --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10666 -iwad "/home/zandronum/.zandronum/plutonia.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-plutonia-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-server.sh b/zandronum/bin/zandronum-coop-plutonia-server.sh new file mode 100644 index 0000000..b442a40 --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10766 -iwad "/home/zandronum/.zandronum/plutonia.wad" +exec /home/zandronum/config/coop-plutonia.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-tnt-brutal-server.sh b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh new file mode 100644 index 0000000..d4f6670 --- /dev/null +++ b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10667 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/wad/brutalv20.pk3" "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-tnt-server.sh b/zandronum/bin/zandronum-coop-tnt-server.sh new file mode 100644 index 0000000..0430b52 --- /dev/null +++ b/zandronum/bin/zandronum-coop-tnt-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10767 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/GeoIP.dat b/zandronum/srv-exec/GeoIP.dat deleted file mode 100644 index d780363..0000000 --- a/zandronum/srv-exec/GeoIP.dat +++ /dev/null Binary files differ diff --git a/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh deleted file mode 100755 index b269789..0000000 --- a/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d1-server.sh b/zandronum/srv-exec/zandronum-coop-d1-server.sh deleted file mode 100755 index 2749009..0000000 --- a/zandronum/srv-exec/zandronum-coop-d1-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh deleted file mode 100755 index c6c49c1..0000000 --- a/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d2-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d2-server.sh b/zandronum/srv-exec/zandronum-coop-d2-server.sh deleted file mode 100755 index 7074086..0000000 --- a/zandronum/srv-exec/zandronum-coop-d2-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10769 -iwad "/home/zandronum/.zandronum/doom2.wad" +exec /home/zandronum/config/coop-d2.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-plutonia-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-plutonia-brutal-server.sh deleted file mode 100755 index 29761ee..0000000 --- a/zandronum/srv-exec/zandronum-coop-plutonia-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10666 -iwad "/home/zandronum/.zandronum/plutonia.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-plutonia-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-plutonia-server.sh b/zandronum/srv-exec/zandronum-coop-plutonia-server.sh deleted file mode 100755 index b442a40..0000000 --- a/zandronum/srv-exec/zandronum-coop-plutonia-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10766 -iwad "/home/zandronum/.zandronum/plutonia.wad" +exec /home/zandronum/config/coop-plutonia.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-tnt-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-tnt-brutal-server.sh deleted file mode 100755 index d4f6670..0000000 --- a/zandronum/srv-exec/zandronum-coop-tnt-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10667 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/wad/brutalv20.pk3" "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-tnt-server.sh b/zandronum/srv-exec/zandronum-coop-tnt-server.sh deleted file mode 100755 index 0430b52..0000000 --- a/zandronum/srv-exec/zandronum-coop-tnt-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10767 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/summon.sh b/zandronum/summon.sh new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/zandronum/summon.sh diff --git a/zandronum/templates/coop-template.cfg b/zandronum/templates/coop-template.cfg deleted file mode 100644 index 3421594..0000000 --- a/zandronum/templates/coop-template.cfg +++ /dev/null @@ -1,60 +0,0 @@ -//game options -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_weaponstay true -sv_itemrespawn true -sv_coop_losekeys true -sv_coop_loseinventory true -sv_coop_loseweapons true -sv_coop_loseammo true -sv_barrelrespawn true -sv_weapondrop true -sv_nojump false -sv_nocrouch true -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags false -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/zandronum/templates/service-template.sh b/zandronum/templates/service-template.sh deleted file mode 100755 index fb1fa54..0000000 --- a/zandronum/templates/service-template.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/sh -### BEGIN INIT INFO -# Provides: zandronum-servers -# Required-Start: $local_fs -# Required-Stop: $local_fs -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# X-Interactive: false -# Short-Description: Zandronum service handler -# Description: Enables the launching of all Zandronum server exec files located -# in the path specified by EXEC_PATH. Also provides facilities for -# killing all running instances of zandronum-server. -### END INIT INFO - -DESC="zandronum-servers" -NAME=zandronum -EXEC_PATH="/home/zandronum/srv-exec/" - -start_service() -{ - running=`ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | wc -l` - if [ $running -gt 0 ] ; then - echo "$running Zandronum servers are already running." - else - echo "Launching all Zandronum servers in $EXEC_PATH ...."; - sudo -u zandronum find "$EXEC_PATH" | grep .sh | cat | sh 2>&1 > /dev/null - fi -} - -stop_service() -{ - echo "Killing all running Zandronum servers ...." - sudo -u zandronum ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | awk '{print $2}' | xargs kill -9 2>&1 > /dev/null -} - -case "$1" in - start) - start_service - ;; - stop) - stop_service - ;; - restart) - stop_service - start_service - ;; -esac - -exit 0 - diff --git a/Dockerfile b/Dockerfile index a2fd93e..a3bcfbd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,11 +15,18 @@ RUN apt-get update && apt-get upgrade RUN apt-get install --yes --quiet libsdl-image1.2 zandronum -RUN mkdir -p /zandronum/config && mkdir /zandronum/wads && \ -mkdir /zandronum/iwads && mkdir /zandronum/srv-exec/ && /zandronum/templates/ -ADD /config/ /zandronum/config/ -ADD /srv-exec/ /zandronum/serv-exec/ -ADD /templates/ /zandronum/templates/ +#Create a non-privileged user +RUN useradd -ms /bin/bash zandronum +USER zandronum +WORKDIR /home/zandronum + +#Build the application directory and add files +RUN mkdir /home/zandronum/config && \ + mkdir /home/zandronum/wads && \ + mkdir /home/zandronum/iwads && \ + mkdir /home/zandronum/bin/ +ADD /config/ /home/zandronum/config/ +ADD /bin/ /home/zandronum/bin/ CMD ["/zandronum/srv-exec/summon.sh"] ENTRYPOINT ["/zandronum/srv-exec/summon"] diff --git a/configs/template.cfg b/configs/template.cfg deleted file mode 100644 index 80cbb38..0000000 --- a/configs/template.cfg +++ /dev/null @@ -1,53 +0,0 @@ -//game options -dmflags 0 -dmflags2 0 -compatflags 0 -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags true -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/servers/zandronum-server-template.sh b/servers/zandronum-server-template.sh deleted file mode 100755 index ce2297d..0000000 --- a/servers/zandronum-server-template.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/bin/service-template.sh b/templates/bin/service-template.sh new file mode 100644 index 0000000..fb1fa54 --- /dev/null +++ b/templates/bin/service-template.sh @@ -0,0 +1,50 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: zandronum-servers +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# X-Interactive: false +# Short-Description: Zandronum service handler +# Description: Enables the launching of all Zandronum server exec files located +# in the path specified by EXEC_PATH. Also provides facilities for +# killing all running instances of zandronum-server. +### END INIT INFO + +DESC="zandronum-servers" +NAME=zandronum +EXEC_PATH="/home/zandronum/srv-exec/" + +start_service() +{ + running=`ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | wc -l` + if [ $running -gt 0 ] ; then + echo "$running Zandronum servers are already running." + else + echo "Launching all Zandronum servers in $EXEC_PATH ...."; + sudo -u zandronum find "$EXEC_PATH" | grep .sh | cat | sh 2>&1 > /dev/null + fi +} + +stop_service() +{ + echo "Killing all running Zandronum servers ...." + sudo -u zandronum ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | awk '{print $2}' | xargs kill -9 2>&1 > /dev/null +} + +case "$1" in + start) + start_service + ;; + stop) + stop_service + ;; + restart) + stop_service + start_service + ;; +esac + +exit 0 + diff --git a/templates/bin/zandronum-server-template.sh b/templates/bin/zandronum-server-template.sh new file mode 100644 index 0000000..ce2297d --- /dev/null +++ b/templates/bin/zandronum-server-template.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/config/coop-template.cfg b/templates/config/coop-template.cfg new file mode 100644 index 0000000..92636ee --- /dev/null +++ b/templates/config/coop-template.cfg @@ -0,0 +1,60 @@ +//game options +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_weaponstay true +sv_itemrespawn true +sv_coop_losekeys true +sv_coop_loseinventory true +sv_coop_loseweapons true +sv_coop_loseammo true +sv_barrelrespawn true +sv_weapondrop true +sv_nojump false +sv_nocrouch true +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags false +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/templates/config/template.cfg b/templates/config/template.cfg new file mode 100644 index 0000000..ce071be --- /dev/null +++ b/templates/config/template.cfg @@ -0,0 +1,53 @@ +//game options +dmflags 0 +dmflags2 0 +compatflags 0 +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags true +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/zandronum/bin/GeoIP.dat b/zandronum/bin/GeoIP.dat new file mode 100644 index 0000000..d780363 --- /dev/null +++ b/zandronum/bin/GeoIP.dat Binary files differ diff --git a/zandronum/bin/zandronum-coop-d1-brutal-server.sh b/zandronum/bin/zandronum-coop-d1-brutal-server.sh new file mode 100644 index 0000000..b269789 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d1-server.sh b/zandronum/bin/zandronum-coop-d1-server.sh new file mode 100644 index 0000000..2749009 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-brutal-server.sh b/zandronum/bin/zandronum-coop-d2-brutal-server.sh new file mode 100644 index 0000000..c6c49c1 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d2-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-server.sh b/zandronum/bin/zandronum-coop-d2-server.sh new file mode 100644 index 0000000..7074086 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10769 -iwad "/home/zandronum/.zandronum/doom2.wad" +exec /home/zandronum/config/coop-d2.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh new file mode 100644 index 0000000..29761ee --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10666 -iwad "/home/zandronum/.zandronum/plutonia.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-plutonia-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-server.sh b/zandronum/bin/zandronum-coop-plutonia-server.sh new file mode 100644 index 0000000..b442a40 --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10766 -iwad "/home/zandronum/.zandronum/plutonia.wad" +exec /home/zandronum/config/coop-plutonia.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-tnt-brutal-server.sh b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh new file mode 100644 index 0000000..d4f6670 --- /dev/null +++ b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10667 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/wad/brutalv20.pk3" "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-tnt-server.sh b/zandronum/bin/zandronum-coop-tnt-server.sh new file mode 100644 index 0000000..0430b52 --- /dev/null +++ b/zandronum/bin/zandronum-coop-tnt-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10767 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/GeoIP.dat b/zandronum/srv-exec/GeoIP.dat deleted file mode 100644 index d780363..0000000 --- a/zandronum/srv-exec/GeoIP.dat +++ /dev/null Binary files differ diff --git a/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh deleted file mode 100755 index b269789..0000000 --- a/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d1-server.sh b/zandronum/srv-exec/zandronum-coop-d1-server.sh deleted file mode 100755 index 2749009..0000000 --- a/zandronum/srv-exec/zandronum-coop-d1-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh deleted file mode 100755 index c6c49c1..0000000 --- a/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d2-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d2-server.sh b/zandronum/srv-exec/zandronum-coop-d2-server.sh deleted file mode 100755 index 7074086..0000000 --- a/zandronum/srv-exec/zandronum-coop-d2-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10769 -iwad "/home/zandronum/.zandronum/doom2.wad" +exec /home/zandronum/config/coop-d2.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-plutonia-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-plutonia-brutal-server.sh deleted file mode 100755 index 29761ee..0000000 --- a/zandronum/srv-exec/zandronum-coop-plutonia-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10666 -iwad "/home/zandronum/.zandronum/plutonia.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-plutonia-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-plutonia-server.sh b/zandronum/srv-exec/zandronum-coop-plutonia-server.sh deleted file mode 100755 index b442a40..0000000 --- a/zandronum/srv-exec/zandronum-coop-plutonia-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10766 -iwad "/home/zandronum/.zandronum/plutonia.wad" +exec /home/zandronum/config/coop-plutonia.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-tnt-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-tnt-brutal-server.sh deleted file mode 100755 index d4f6670..0000000 --- a/zandronum/srv-exec/zandronum-coop-tnt-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10667 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/wad/brutalv20.pk3" "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-tnt-server.sh b/zandronum/srv-exec/zandronum-coop-tnt-server.sh deleted file mode 100755 index 0430b52..0000000 --- a/zandronum/srv-exec/zandronum-coop-tnt-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10767 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/summon.sh b/zandronum/summon.sh new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/zandronum/summon.sh diff --git a/zandronum/templates/coop-template.cfg b/zandronum/templates/coop-template.cfg deleted file mode 100644 index 3421594..0000000 --- a/zandronum/templates/coop-template.cfg +++ /dev/null @@ -1,60 +0,0 @@ -//game options -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_weaponstay true -sv_itemrespawn true -sv_coop_losekeys true -sv_coop_loseinventory true -sv_coop_loseweapons true -sv_coop_loseammo true -sv_barrelrespawn true -sv_weapondrop true -sv_nojump false -sv_nocrouch true -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags false -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/zandronum/templates/service-template.sh b/zandronum/templates/service-template.sh deleted file mode 100755 index fb1fa54..0000000 --- a/zandronum/templates/service-template.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/sh -### BEGIN INIT INFO -# Provides: zandronum-servers -# Required-Start: $local_fs -# Required-Stop: $local_fs -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# X-Interactive: false -# Short-Description: Zandronum service handler -# Description: Enables the launching of all Zandronum server exec files located -# in the path specified by EXEC_PATH. Also provides facilities for -# killing all running instances of zandronum-server. -### END INIT INFO - -DESC="zandronum-servers" -NAME=zandronum -EXEC_PATH="/home/zandronum/srv-exec/" - -start_service() -{ - running=`ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | wc -l` - if [ $running -gt 0 ] ; then - echo "$running Zandronum servers are already running." - else - echo "Launching all Zandronum servers in $EXEC_PATH ...."; - sudo -u zandronum find "$EXEC_PATH" | grep .sh | cat | sh 2>&1 > /dev/null - fi -} - -stop_service() -{ - echo "Killing all running Zandronum servers ...." - sudo -u zandronum ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | awk '{print $2}' | xargs kill -9 2>&1 > /dev/null -} - -case "$1" in - start) - start_service - ;; - stop) - stop_service - ;; - restart) - stop_service - start_service - ;; -esac - -exit 0 - diff --git a/zandronum/templates/template.cfg b/zandronum/templates/template.cfg deleted file mode 100644 index 80cbb38..0000000 --- a/zandronum/templates/template.cfg +++ /dev/null @@ -1,53 +0,0 @@ -//game options -dmflags 0 -dmflags2 0 -compatflags 0 -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags true -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/Dockerfile b/Dockerfile index a2fd93e..a3bcfbd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,11 +15,18 @@ RUN apt-get update && apt-get upgrade RUN apt-get install --yes --quiet libsdl-image1.2 zandronum -RUN mkdir -p /zandronum/config && mkdir /zandronum/wads && \ -mkdir /zandronum/iwads && mkdir /zandronum/srv-exec/ && /zandronum/templates/ -ADD /config/ /zandronum/config/ -ADD /srv-exec/ /zandronum/serv-exec/ -ADD /templates/ /zandronum/templates/ +#Create a non-privileged user +RUN useradd -ms /bin/bash zandronum +USER zandronum +WORKDIR /home/zandronum + +#Build the application directory and add files +RUN mkdir /home/zandronum/config && \ + mkdir /home/zandronum/wads && \ + mkdir /home/zandronum/iwads && \ + mkdir /home/zandronum/bin/ +ADD /config/ /home/zandronum/config/ +ADD /bin/ /home/zandronum/bin/ CMD ["/zandronum/srv-exec/summon.sh"] ENTRYPOINT ["/zandronum/srv-exec/summon"] diff --git a/configs/template.cfg b/configs/template.cfg deleted file mode 100644 index 80cbb38..0000000 --- a/configs/template.cfg +++ /dev/null @@ -1,53 +0,0 @@ -//game options -dmflags 0 -dmflags2 0 -compatflags 0 -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags true -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/servers/zandronum-server-template.sh b/servers/zandronum-server-template.sh deleted file mode 100755 index ce2297d..0000000 --- a/servers/zandronum-server-template.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/bin/service-template.sh b/templates/bin/service-template.sh new file mode 100644 index 0000000..fb1fa54 --- /dev/null +++ b/templates/bin/service-template.sh @@ -0,0 +1,50 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: zandronum-servers +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# X-Interactive: false +# Short-Description: Zandronum service handler +# Description: Enables the launching of all Zandronum server exec files located +# in the path specified by EXEC_PATH. Also provides facilities for +# killing all running instances of zandronum-server. +### END INIT INFO + +DESC="zandronum-servers" +NAME=zandronum +EXEC_PATH="/home/zandronum/srv-exec/" + +start_service() +{ + running=`ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | wc -l` + if [ $running -gt 0 ] ; then + echo "$running Zandronum servers are already running." + else + echo "Launching all Zandronum servers in $EXEC_PATH ...."; + sudo -u zandronum find "$EXEC_PATH" | grep .sh | cat | sh 2>&1 > /dev/null + fi +} + +stop_service() +{ + echo "Killing all running Zandronum servers ...." + sudo -u zandronum ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | awk '{print $2}' | xargs kill -9 2>&1 > /dev/null +} + +case "$1" in + start) + start_service + ;; + stop) + stop_service + ;; + restart) + stop_service + start_service + ;; +esac + +exit 0 + diff --git a/templates/bin/zandronum-server-template.sh b/templates/bin/zandronum-server-template.sh new file mode 100644 index 0000000..ce2297d --- /dev/null +++ b/templates/bin/zandronum-server-template.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null & diff --git a/templates/config/coop-template.cfg b/templates/config/coop-template.cfg new file mode 100644 index 0000000..92636ee --- /dev/null +++ b/templates/config/coop-template.cfg @@ -0,0 +1,60 @@ +//game options +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_weaponstay true +sv_itemrespawn true +sv_coop_losekeys true +sv_coop_loseinventory true +sv_coop_loseweapons true +sv_coop_loseammo true +sv_barrelrespawn true +sv_weapondrop true +sv_nojump false +sv_nocrouch true +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags false +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/templates/config/template.cfg b/templates/config/template.cfg new file mode 100644 index 0000000..ce071be --- /dev/null +++ b/templates/config/template.cfg @@ -0,0 +1,53 @@ +//game options +dmflags 0 +dmflags2 0 +compatflags 0 +skill 4 +deathmatch 0 //coop +fraglimit 0 +timelimit 0 +winlimit 0 +pointlimit 0 +duellimit 0 +map MAP01 +sv_randomcoopstarts true +sv_disallowbots false +sv_defaultdmflags true +sv_killallmonsters_percentage 95 + +//community +sv_website "http://javalangmeth.org" +sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." +sv_hostemail fart@poop.fuckyou + +//host settings +sv_hostname "Brutal Doom II" +sv_maxplayers 12 +sv_maxclients 12 +sv_broadcast 0 //Broadbast to LAN? +sv_maprotation false +sv_randommaprotation false + +//master server settings +sv_updatemaster true +sv_masterip master.zandronum.com:15300 +sv_enforcemasterbanlist true + +//logging +logfile "/home/zandronum/log/gameplay.log" +sv_markchatlines true +sv_logfilenametimestamp true +sv_showlauncherqueries false + +//administration +sv_adminlistfile "/home/zandronum/log/adminlist" +sv_banexemptionfile "/home/zandronum/log/whitelist" +sv_banfile "/home/zandronum/log/bans" +sv_enforcebans true +sv_rconpassword "zandronum" +sv_password "" +sv_joinpassword "" +sv_forcejoinpassword false +sv_forcepassword false +sv_nocallvote false //Want people to be able to vote various things? + diff --git a/zandronum/bin/GeoIP.dat b/zandronum/bin/GeoIP.dat new file mode 100644 index 0000000..d780363 --- /dev/null +++ b/zandronum/bin/GeoIP.dat Binary files differ diff --git a/zandronum/bin/zandronum-coop-d1-brutal-server.sh b/zandronum/bin/zandronum-coop-d1-brutal-server.sh new file mode 100644 index 0000000..b269789 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d1-server.sh b/zandronum/bin/zandronum-coop-d1-server.sh new file mode 100644 index 0000000..2749009 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d1-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-brutal-server.sh b/zandronum/bin/zandronum-coop-d2-brutal-server.sh new file mode 100644 index 0000000..c6c49c1 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d2-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-d2-server.sh b/zandronum/bin/zandronum-coop-d2-server.sh new file mode 100644 index 0000000..7074086 --- /dev/null +++ b/zandronum/bin/zandronum-coop-d2-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10769 -iwad "/home/zandronum/.zandronum/doom2.wad" +exec /home/zandronum/config/coop-d2.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh new file mode 100644 index 0000000..29761ee --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10666 -iwad "/home/zandronum/.zandronum/plutonia.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-plutonia-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-plutonia-server.sh b/zandronum/bin/zandronum-coop-plutonia-server.sh new file mode 100644 index 0000000..b442a40 --- /dev/null +++ b/zandronum/bin/zandronum-coop-plutonia-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10766 -iwad "/home/zandronum/.zandronum/plutonia.wad" +exec /home/zandronum/config/coop-plutonia.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-tnt-brutal-server.sh b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh new file mode 100644 index 0000000..d4f6670 --- /dev/null +++ b/zandronum/bin/zandronum-coop-tnt-brutal-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10667 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/wad/brutalv20.pk3" "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/bin/zandronum-coop-tnt-server.sh b/zandronum/bin/zandronum-coop-tnt-server.sh new file mode 100644 index 0000000..0430b52 --- /dev/null +++ b/zandronum/bin/zandronum-coop-tnt-server.sh @@ -0,0 +1,2 @@ +#!/bin/bash +/usr/games/zandronum/zandronum-server -host -port 10767 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/GeoIP.dat b/zandronum/srv-exec/GeoIP.dat deleted file mode 100644 index d780363..0000000 --- a/zandronum/srv-exec/GeoIP.dat +++ /dev/null Binary files differ diff --git a/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh deleted file mode 100755 index b269789..0000000 --- a/zandronum/srv-exec/zandronum-coop-d1-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10668 -iwad "/home/zandronum/.zandronum/doom.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d1-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1-brutal" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d1-server.sh b/zandronum/srv-exec/zandronum-coop-d1-server.sh deleted file mode 100755 index 2749009..0000000 --- a/zandronum/srv-exec/zandronum-coop-d1-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10768 -iwad "/home/zandronum/.zandronum/doom.wad" +exec /home/zandronum/config/coop-d1.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d1" +CrashLogs 2 +map E4M1 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh deleted file mode 100755 index c6c49c1..0000000 --- a/zandronum/srv-exec/zandronum-coop-d2-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-d2-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-d2-server.sh b/zandronum/srv-exec/zandronum-coop-d2-server.sh deleted file mode 100755 index 7074086..0000000 --- a/zandronum/srv-exec/zandronum-coop-d2-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10769 -iwad "/home/zandronum/.zandronum/doom2.wad" +exec /home/zandronum/config/coop-d2.cfg +CrashLog_Dir "/home/zandronum/logs/coop-d2" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-plutonia-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-plutonia-brutal-server.sh deleted file mode 100755 index 29761ee..0000000 --- a/zandronum/srv-exec/zandronum-coop-plutonia-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10666 -iwad "/home/zandronum/.zandronum/plutonia.wad" -file "/home/zandronum/wad/brutalv20.pk3" +exec /home/zandronum/config/coop-plutonia-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-plutonia-server.sh b/zandronum/srv-exec/zandronum-coop-plutonia-server.sh deleted file mode 100755 index b442a40..0000000 --- a/zandronum/srv-exec/zandronum-coop-plutonia-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10766 -iwad "/home/zandronum/.zandronum/plutonia.wad" +exec /home/zandronum/config/coop-plutonia.cfg +CrashLog_Dir "/home/zandronum/logs/coop-plutonia" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-tnt-brutal-server.sh b/zandronum/srv-exec/zandronum-coop-tnt-brutal-server.sh deleted file mode 100755 index d4f6670..0000000 --- a/zandronum/srv-exec/zandronum-coop-tnt-brutal-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10667 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/wad/brutalv20.pk3" "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt-brutal.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt-brutal" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/srv-exec/zandronum-coop-tnt-server.sh b/zandronum/srv-exec/zandronum-coop-tnt-server.sh deleted file mode 100755 index 0430b52..0000000 --- a/zandronum/srv-exec/zandronum-coop-tnt-server.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10767 -iwad "/home/zandronum/.zandronum/tnt.wad" -file "/home/zandronum/.zandronum/TNT31.WAD" +exec /home/zandronum/config/coop-tnt.cfg +CrashLog_Dir "/home/zandronum/logs/coop-tnt" +CrashLogs 2 2>&1 /dev/null & diff --git a/zandronum/summon.sh b/zandronum/summon.sh new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/zandronum/summon.sh diff --git a/zandronum/templates/coop-template.cfg b/zandronum/templates/coop-template.cfg deleted file mode 100644 index 3421594..0000000 --- a/zandronum/templates/coop-template.cfg +++ /dev/null @@ -1,60 +0,0 @@ -//game options -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_weaponstay true -sv_itemrespawn true -sv_coop_losekeys true -sv_coop_loseinventory true -sv_coop_loseweapons true -sv_coop_loseammo true -sv_barrelrespawn true -sv_weapondrop true -sv_nojump false -sv_nocrouch true -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags false -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/zandronum/templates/service-template.sh b/zandronum/templates/service-template.sh deleted file mode 100755 index fb1fa54..0000000 --- a/zandronum/templates/service-template.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/sh -### BEGIN INIT INFO -# Provides: zandronum-servers -# Required-Start: $local_fs -# Required-Stop: $local_fs -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# X-Interactive: false -# Short-Description: Zandronum service handler -# Description: Enables the launching of all Zandronum server exec files located -# in the path specified by EXEC_PATH. Also provides facilities for -# killing all running instances of zandronum-server. -### END INIT INFO - -DESC="zandronum-servers" -NAME=zandronum -EXEC_PATH="/home/zandronum/srv-exec/" - -start_service() -{ - running=`ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | wc -l` - if [ $running -gt 0 ] ; then - echo "$running Zandronum servers are already running." - else - echo "Launching all Zandronum servers in $EXEC_PATH ...."; - sudo -u zandronum find "$EXEC_PATH" | grep .sh | cat | sh 2>&1 > /dev/null - fi -} - -stop_service() -{ - echo "Killing all running Zandronum servers ...." - sudo -u zandronum ps aux | grep zandronum-server | grep -v grep | grep -v zandronum-servers | awk '{print $2}' | xargs kill -9 2>&1 > /dev/null -} - -case "$1" in - start) - start_service - ;; - stop) - stop_service - ;; - restart) - stop_service - start_service - ;; -esac - -exit 0 - diff --git a/zandronum/templates/template.cfg b/zandronum/templates/template.cfg deleted file mode 100644 index 80cbb38..0000000 --- a/zandronum/templates/template.cfg +++ /dev/null @@ -1,53 +0,0 @@ -//game options -dmflags 0 -dmflags2 0 -compatflags 0 -skill 4 -deathmatch 0 //coop -fraglimit 0 -timelimit 0 -winlimit 0 -pointlimit 0 -duellimit 0 -map MAP01 -sv_randomcoopstarts true -sv_disallowbots false -sv_defaultdmflags true -sv_killallmonsters_percentage 95 - -//community -sv_website "http://javalangmeth.org" -sv_motd "THIS IS A LINUX SYSTEM. YOU KNOW THIS." -sv_hostemail fart@poop.fuckyou - -//host settings -sv_hostname "Brutal Doom II" -sv_maxplayers 12 -sv_maxclients 12 -sv_broadcast 0 //Broadbast to LAN? -sv_maprotation false -sv_randommaprotation false - -//master server settings -sv_updatemaster true -sv_masterip master.zandronum.com:15300 -sv_enforcemasterbanlist true - -//logging -logfile "/home/zandronum/log/gameplay.log" -sv_markchatlines true -sv_logfilenametimestamp true -sv_showlauncherqueries false - -//administration -sv_adminlistfile "/home/zandronum/log/adminlist" -sv_banexemptionfile "/home/zandronum/log/whitelist" -sv_banfile "/home/zandronum/log/bans" -sv_enforcebans true -sv_rconpassword "zandronum" -sv_password "" -sv_joinpassword "" -sv_forcejoinpassword false -sv_forcepassword false -sv_nocallvote false //Want people to be able to vote various things? - diff --git a/zandronum/templates/zandronum-server-template.sh b/zandronum/templates/zandronum-server-template.sh deleted file mode 100755 index ce2297d..0000000 --- a/zandronum/templates/zandronum-server-template.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -/usr/games/zandronum/zandronum-server -host -port 10669 -iwad "/home/zandronum/.zandronum/doom2.wad" -file "/home/zandronum/wad/brutal19.pk3" +exec /home/zandronum/config/coop.cfg > /dev/null &