2022-02-01 02:37:32 +01:00
|
|
|
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
|
2022-02-06 19:07:04 +01:00
|
|
|
if [ -e /etc/systemd/system/unvanquished.service ]; then
|
|
|
|
systemctl stop unvanquished
|
|
|
|
fi
|
|
|
|
|
2022-02-04 23:53:34 +01:00
|
|
|
# Unvanquished
|
2022-02-01 02:37:32 +01:00
|
|
|
unvanquished_directory="/opt/unvanquished-${unvanquished_version}"
|
|
|
|
curl --location "https://github.com/Unvanquished/Unvanquished/releases/download/v${unvanquished_version}/unvanquished_${unvanquished_version}.zip" > ${TMPDIR:-/tmp}/unvanquished.zip
|
|
|
|
unzip -o -f -d ${TMPDIR:-/tmp} ${TMPDIR:-/tmp}/unvanquished.zip
|
|
|
|
mkdir -p ${unvanquished_directory}/bin ${unvanquished_directory}/share
|
|
|
|
unzip -o -f -d ${unvanquished_directory}/bin ${TMPDIR:-/tmp}/unvanquished*/linux-amd64.zip
|
|
|
|
if [ -d ${unvanquished_directory}/share/pkg ]; then
|
|
|
|
rm -rf ${unvanquished_directory}/share/pkg
|
|
|
|
fi
|
|
|
|
mv ${TMPDIR:-/tmp}/unvanquished*/pkg ${unvanquished_directory}/share
|
|
|
|
rm -rf ${TMPDIR:-/tmp}/unvanquished*
|
|
|
|
|
2022-02-04 23:53:34 +01:00
|
|
|
mkdir -p ${systemuserhome}/unvanquished_home/config
|
|
|
|
cat > ${systemuserhome}/unvanquished_home/config/unvanquished.cfg <<EOF
|
|
|
|
set server.private 1
|
2022-02-01 02:37:32 +01:00
|
|
|
set g_needpass 0
|
|
|
|
set sv_hostname "^NUnvanquished ^3onFOSS-LAN"
|
|
|
|
set g_motd "^2get news on ^5${LINODE_ID}"
|
|
|
|
set sv_allowdownload 0
|
|
|
|
set sv_maxclients 24
|
|
|
|
set timelimit 0
|
|
|
|
set g_emptyTeamsSkipMapTime 15
|
|
|
|
set g_teamForceBalance 1
|
|
|
|
set g_mapConfigs "map"
|
|
|
|
set g_initialMapRotation rotation1
|
|
|
|
map yocto
|
|
|
|
EOF
|
2022-02-04 23:53:34 +01:00
|
|
|
chown -R ${systemuser}: ${systemuserhome}/unvanquished_home
|
2022-02-01 02:37:32 +01:00
|
|
|
|
2022-02-04 23:53:34 +01:00
|
|
|
cat > /etc/systemd/system/unvanquished.service <<EOF
|
2022-02-01 02:37:32 +01:00
|
|
|
[Unit]
|
2022-02-04 23:53:34 +01:00
|
|
|
Description=Unvanquished server
|
2022-02-01 02:37:32 +01:00
|
|
|
After=network.target
|
|
|
|
|
|
|
|
[Service]
|
2022-02-04 23:53:34 +01:00
|
|
|
ExecStart=/usr/bin/console2web -p 62549 ${unvanquished_directory}/bin/daemonded -pakpath ${unvanquished_directory}/share/pkg/ -libpath ${unvanquished_directory}/bin/ -homepath \${HOME}/unvanquished_home/ +exec unvanquished.cfg
|
2022-02-01 02:37:32 +01:00
|
|
|
Restart=on-failure
|
|
|
|
User=${systemuser}
|
|
|
|
|
|
|
|
[Install]
|
|
|
|
WantedBy=multi-user.target
|
|
|
|
EOF
|
|
|
|
|
|
|
|
systemctl daemon-reload
|
2022-02-04 23:53:34 +01:00
|
|
|
systemctl enable --now unvanquished.service
|
2022-02-01 02:37:32 +01:00
|
|
|
|
|
|
|
firewall-cmd --zone=public --add-port=27960/udp --permanent
|