diff --git a/deploy.sh b/deploy.sh index 01081d3..b573727 100755 --- a/deploy.sh +++ b/deploy.sh @@ -37,6 +37,7 @@ fi export stk_version="latest" export bzflag_version="2.4" export mindustry_version="latest" +export odamex_version="10.2.0" export openhv_version="latest" export teeworlds_version="latest" export teeworldsddrace_version="16.1" @@ -94,6 +95,7 @@ cp console2web/console2web.py /usr/bin/console2web "$(dirname "$0")"/scripts/deploy_hedgewars.sh "$(dirname "$0")"/scripts/deploy_lix.sh "$(dirname "$0")"/scripts/deploy_mindustry.sh +"$(dirname "$0")"/scripts/deploy_odamex.sh "$(dirname "$0")"/scripts/deploy_openhv.sh "$(dirname "$0")"/scripts/deploy_openspades.sh "$(dirname "$0")"/scripts/deploy_teeworlds.sh diff --git a/scripts/deploy_odamex.sh b/scripts/deploy_odamex.sh new file mode 100755 index 0000000..9a55ffa --- /dev/null +++ b/scripts/deploy_odamex.sh @@ -0,0 +1,82 @@ +#!/bin/bash +# Collection of scripts to deploy a server hosting several open-source games +# Copyright (C) 2022 Jarno van der Kolk +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published +# by the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +set -e + +if [ -e /etc/systemd/system/odamex.service ]; then + systemctl stop odamex +fi + +# Install ODAMEX +apt install --assume-yes libsdl2-dev libsdl2-mixer-dev cmake deutex freedoom +mkdir -p ${TMPDIR:-/tmp}/odamex-build +curl --location https://downloads.sourceforge.net/project/odamex/Odamex/${odamex_version}/odamex-src-${odamex_version}.tar.xz | tar --extract --xz --no-same-owner --directory="${TMPDIR:-/tmp}/odamex-build" +mkdir ${TMPDIR:-/tmp}/odamex-build/odamex-src-${odamex_version}/build +cd ${TMPDIR:-/tmp}/odamex-build/odamex-src-${odamex_version}/build +cmake -DBUILD_CLIENT=OFF -DBUILD_LAUNCHER=OFF -DCMAKE_INSTALL_PREFIX=/opt/odamex-${odamex_version} .. +make +make install +cd - +rm -rf ${TMPDIR:-/tmp}/odamex-build + +# Ugh, these links expire. Always need to download manually +# if curl --location 'https://www.moddb.com/downloads/mirror/189782/123/ec702ae81b867d6096c396335fbff692/?referer=https%3A%2F%2Fwww.moddb.com%2Fmods%2Fdoom-christmas-for-doom-ii-final-doom' > ${TMPDIR:-/tmp}/doomxmas.zip; then +# unzip -o -d /usr/share/games/doom/ ${TMPDIR:-/tmp}/doomxmas.zip +# fi + +proto="http" +if [ x"$NOSSL" = "x" ] || [ $NOSSL -ne 1 ]; then + proto="https" +fi + +mkdir -p /home/${systemuser}/.odamex/ +cat > /home/${systemuser}/.odamex/odasrv.cfg < /etc/systemd/system/odamex.service <Hedgewars
  • Lix
  • Mindustry
  • +
  • Odamex
  • OpenHV
  • OpenSpades
  • Shattered Paradise
  • diff --git a/website/help_odamex.html b/website/help_odamex.html new file mode 100644 index 0000000..0c081de --- /dev/null +++ b/website/help_odamex.html @@ -0,0 +1,59 @@ + + + + + Game server + + + + + + + + + + +
    +
    +
    +

    Odamex

    +

    Multiplayer-focused DOOM engine that allows deathmatch, coop, and capture the flag mode. Here we are using the Freedom assets so you don't need a copy of the original game to play.

    + Screenshot of Odamex +

    Getting the game

    + +

    Tips

    +
      +
    • Use <SPACE> to jump
    • +
    • Use E to open doors or to respawn if dead
    • +
    +

    Connecting

    +

    While Odamex does have a launcher, if requires that you have DOOM assets available locally. It won't launch the game without it, which means you either need the original game data of open assets such as Freedoom.

    +

    However, if you connect to the game server directly, odamex will download the required assets automatically from the server.

    +

    From the terminal, type:

    +

    odamex -connect DOMAINNAME +set cl_name "YourName"

    +

    Of course, substitute "YourName" with the in-game name you want.

    +
    +
    +
    Live stats
    + SERVERSTATE +
    +
    +
    + + + diff --git a/website/img/odamex.png b/website/img/odamex.png new file mode 100644 index 0000000..5ce2c1a Binary files /dev/null and b/website/img/odamex.png differ diff --git a/website/index.html b/website/index.html index bfcb4a3..07d1575 100644 --- a/website/index.html +++ b/website/index.html @@ -84,6 +84,12 @@ A building and tower defence game where you build up an industry and defences against ever larger waves of enemies. More info + + Tiny screenshot of Odamex + Odamex + Multiplayer-focused DOOM engine that allows deathmatch, coop, and capture the flag mode. Here we are using the Freedom assets so you don't need a copy of the original game to play. + More info + Tiny screenshot of OpenHV OpenHV