diff --git a/Dockerfile b/Dockerfile index 0fc7b9d..cf11f92 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,20 +1,31 @@ FROM ubuntu:vivid MAINTAINER uggla@free.fr +EXPOSE 20545 ENV DEBIAN_FRONTEND noninteractive RUN apt-get update && \ apt-get install -y apt-utils && \ apt-get install -y golang && \ -apt-get install -y golang && \ +apt-get install -y nodejs && \ apt-get install -y wget && \ apt-get install -y vim && \ -apt-get install -y apt-utils && \ +apt-get install -y unzip && \ apt-get install -y libgl1-mesa-glx RUN useradd -k /etc/skel -m pa COPY auth_papatcher.sh /home/pa/auth_papatcher.sh -RUN chown pa:pa /home/pa/auth_papatcher.sh +COPY NodePAMaster_conf.json /home/pa/NodePAMaster_conf.json +COPY update_conf_file.sh /home/pa/update_conf_file.sh +COPY *.sed /home/pa/ +RUN chown pa:pa /home/pa/auth_papatcher.sh && \ +chown pa:pa /home/pa/update_conf_file.sh && \ +chown pa:pa /home/pa/NodePAMaster_conf.json && \ +chown pa:pa /home/pa/*.sed USER pa WORKDIR /home/pa -RUN wget https://bitbucket.org/papatcher/papatcher/raw/a7b8b4febb491d6fc6c45155b238fd42ee34fcc8/papatcher.go +RUN wget https://bitbucket.org/papatcher/papatcher/raw/a7b8b4febb491d6fc6c45155b238fd42ee34fcc8/papatcher.go && \ +wget http://nanodesu.info/stuff/pa/mods/NodePAMaster.zip && \ +wget https://dl.dropboxusercontent.com/u/28565393/Planetary%20Annihilation/colours/color_table.js RUN chmod +x /home/pa/auth_papatcher.sh && \ chmod +x /home/pa/papatcher.go && \ -/home/pa/auth_papatcher.sh +unzip /home/pa/NodePAMaster.zip +#/home/pa/auth_papatcher.sh && \ +#cp color_table.js ./.local/Uber\ Entertainment/Planetary\ Annihilation/stable/media/server-script/lobby/color_table.js && \ diff --git a/NodePAMaster_conf.json b/NodePAMaster_conf.json new file mode 100644 index 0000000..600ddd0 --- /dev/null +++ b/NodePAMaster_conf.json @@ -0,0 +1,11 @@ +{ + "server": "./.local/Uber\ Entertainment/Planetary\ Annihilation/stable/server", + "serverversion": "./.local/Uber\ Entertainment/Planetary\ Annihilation/stable/version.txt", + "serverparams": ["--headless", "--game-mode", "Config", "--allow-lan","--server-name", "DedicatedServerByPAStats"], + "pastats": "176.31.115.99", + "pastatsport": 80, + "listonpastats": true, + "serverip": "127.0.0.1", + "serverport": "20545", + "shownregion": "pastats.com" +} diff --git a/buildImage.sh b/buildImage.sh new file mode 100755 index 0000000..b218496 --- /dev/null +++ b/buildImage.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +# Build PA Server Image + +sudo docker build --rm=true . diff --git a/update_conf_file.sh b/update_conf_file.sh new file mode 100644 index 0000000..72e91bc --- /dev/null +++ b/update_conf_file.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# Update configuration files + +sed -i.bkp -f update_lobby.js.sed ./.local/Uber\ Entertainment/Planetary\ Annihilation/stable/media/server-script/states/lobby.js +sed -i.bkp -f update_sim_utils.js.sed ./.local/Uber\ Entertainment/Planetary\ Annihilation/stable/media/server-script/sim_utils.js diff --git a/update_lobby.js.sed b/update_lobby.js.sed new file mode 100644 index 0000000..fd33067 --- /dev/null +++ b/update_lobby.js.sed @@ -0,0 +1,11 @@ +# Insert function +/^var getAIName/ i setInterval(function() { +/^var getAIName/ i if (server.beacon) { +/^var getAIName/ i console.log(""+JSON.stringify(server.beacon)+""); +/^var getAIName/ i } +/^var getAIName/ i }, 5000); +/^var getAIName/ i \ + +# Update parameters +s/var MAX_PLAYERS = [0-9]\+/MAX_PLAYERS = 16/ +s/var MAX_SPECTATOR = [0-9]\+/MAX_SPECTATOR = 5/ diff --git a/update_sim_utils.js.sed b/update_sim_utils.js.sed new file mode 100644 index 0000000..f2df772 --- /dev/null +++ b/update_sim_utils.js.sed @@ -0,0 +1,2 @@ +# Update parameters +s/exports.MAX_PLANETS = 16;/exports.MAX_PLANETS = 16;/