Support special "--me" user-install

This commit is contained in:
Ben Peddell 2015-07-20 04:39:30 +10:00
parent 3d635fa4c0
commit f58645cc1a
2 changed files with 37 additions and 3 deletions

View File

@ -553,13 +553,17 @@ printStatus(){
}
doUpgrade() {
local sudo=sudo
if [ "$steamcmd_user" == "--me" ]; then
sudo=
fi
echo "arkmanager v${arkstVersion}: Checking for updates..."
arkstLatestVersion=`curl -s https://raw.githubusercontent.com/FezVrasta/ark-server-tools/${arkstChannel}/.version`
if [[ $arkstLatestVersion > $arkstVersion ]]; then
read -p "A new version was found! Do you want to upgrade ARK Server Tools to v${$arkstLatestVersion}?" -n 1 -r
echo -en "\n"
if [[ $REPLY =~ ^[Yy]$ ]]; then
curl -s https://raw.githubusercontent.com/FezVrasta/ark-server-tools/${arkstChannel}/netinstall.sh | sudo bash -s ${steamcmd_user} ${arkstChannel}
curl -s https://raw.githubusercontent.com/FezVrasta/ark-server-tools/${arkstChannel}/netinstall.sh | $sudo bash -s ${steamcmd_user} ${arkstChannel}
else
exit 0
fi

View File

@ -1,8 +1,37 @@
#!/bin/bash
EXECPREFIX="${EXECPREFIX:-/usr/local}"
if [ "$1" == "--me" ]; then
PREFIX="${PREFIX:-${HOME}}"
EXECPREFIX="${EXECPREFIX:-${PREFIX}}"
else
EXECPREFIX="${EXECPREFIX:-/usr/local}"
fi
if [ ! -z "$1" ]; then
if [ "$1" == "--me" -a "$UID" -ne 0 ]; then
# Copy arkmanager to ~/bin
mkdir -p "${INSTALL_ROOT}${EXECPREFIX}/bin"
cp arkmanager "${INSTALL_ROOT}${EXECPREFIX}/bin/arkmanager"
chmod +x "${INSTALL_ROOT}${EXECPREFIX}/bin/arkmanager"
# Create a folder in ~/logs to let Ark tools write its own log files
mkdir -p "${INSTALL_ROOT}${PREFIX}/logs/arktools"
# Copy arkmanager.cfg to ~/.arkmanager.cfg if it doesn't already exist
if [ -f "${INSTALL_ROOT}${PREFIX}/.arkmanager.cfg" ]; then
cp -n arkmanager.cfg "${INSTALL_ROOT}${PREFIX}/.arkmanager.cfg.NEW"
sed -i "s|^steamcmd_user=\"steam\"|steamcmd_user=\"me\"|;s|\"/home/steam|\"${PREFIX}|;s|/var/log/arktools|${PREFIX}/logs/arktools|" "${INSTALL_ROOT}${PREFIX}/.arkmanager.cfg.NEW"
echo "A previous version of ARK Server Tools was detected in your system, your old configuration was not overwritten. You may need to manually update it."
echo "A copy of the new configuration file was included in '${INSTALL_ROOT}${PREFIX}/.arkmanager.cfg.NEW'. Make sure to review any changes and update your config accordingly!"
exit 2
else
cp -n arkmanager.cfg "${INSTALL_ROOT}${PREFIX}/.arkmanager.cfg"
sed -i "s|^steamcmd_user=\"steam\"|steamcmd_user=\"me\"|;s|\"/home/steam|\"${PREFIX}|;s|/var/log/arktools|${PREFIX}/logs/arktools|" "${INSTALL_ROOT}${PREFIX}/.arkmanager.cfg"
fi
elif [ "$1" == "me" ]; then
echo "You specified the special 'me' user while running as root. This is not permitted."
exit 1
else
# Copy arkmanager to /usr/bin and set permissions
cp arkmanager "${INSTALL_ROOT}${EXECPREFIX}/bin/arkmanager"
chmod +x "${INSTALL_ROOT}${EXECPREFIX}/bin/arkmanager"
@ -99,9 +128,10 @@ if [ ! -z "$1" ]; then
chown "$1" "${INSTALL_ROOT}/etc/arkmanager/arkmanager.cfg"
sed -i "s|^steamcmd_user=\"steam\"|steamcmd_user=\"$1\"|;s|\"/home/steam|\"/home/$1|" "${INSTALL_ROOT}/etc/arkmanager/arkmanager.cfg"
fi
fi
else
echo "You must specify your system steam user who own steamcmd directory to install ARK Tools."
echo "Specify the special used '--me' to perform a user-install."
echo "Usage: ./install.sh steam"
echo
echo "Environment variables affecting install:"