diff --git a/netinstall.sh b/netinstall.sh index e1a2a40..37eb54e 100644 --- a/netinstall.sh +++ b/netinstall.sh @@ -4,7 +4,9 @@ # Net Installer, used with curl # +steamcmd_user="$1" channel=${2:-master} # if defined by 2nd argument install the defined version, otherwise install master +shift 2 # Download and untar installation files cd /tmp @@ -33,7 +35,7 @@ sed -i "s|^arkstCommit='.*'$|arkstCommit='${COMMIT}'|" arkmanager version=`<../.version` sed -i "s|^arkstVersion=\".*\"|arkstVersion='${version}'|" arkmanager chmod +x install.sh -bash install.sh $1 > /dev/null +bash install.sh "$steamcmd_user" "$@" > /dev/null status=$? diff --git a/tools/arkmanager b/tools/arkmanager index 5aadc11..164e0b1 100755 --- a/tools/arkmanager +++ b/tools/arkmanager @@ -45,6 +45,8 @@ arkserverLog="arkserver.log" # here is logged the output of ShooterGameServer appid="${appid:-376030}" mod_appid="${mod_appid:-346110}" arkautorestartfile="${arkautorestartfile:-ShooterGame/Saved/.autorestart}" +install_bindir="${install_bindir:-${0%/*}}" +install_libexecdir="${install_libexecdir:-${install_bindir%/*}/libexec/arkmanager}" # Script version arkstVersion="1.3" @@ -976,11 +978,18 @@ doUpgrade() { echo "arkmanager v${arkstVersion}: Checking for updates..." arkstLatestVersion=`curl -s https://raw.githubusercontent.com/FezVrasta/ark-server-tools/${arkstChannel}/.version` arkstLatestCommit=`curl -s https://api.github.com/repos/FezVrasta/ark-server-tools/git/refs/heads/${arkstChannel} | sed -n 's/^ *"sha": "\(.*\)",.*/\1/p'` + reinstall_args=() + if [ -n "$install_bindir" ]; then + reinstall_args=( "${reinstall_args[@]}" "--bindir" "$install_bindir" ) + fi + if [ -n "$install_libexecdir" ]; then + reinstall_args=( "${reinstall_args[@]}" "--libexecdir" "$install_libexecdir" ) + fi 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} "${reinstall_args[@]}" else exit 0 fi @@ -988,7 +997,7 @@ doUpgrade() { read -p "A hotfix is available for v${arkstLatestVersion}. Do you wish to install it?" -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} "${reinstall_args[@]}" else exit 0 fi diff --git a/tools/arkmanager.cfg b/tools/arkmanager.cfg index e3568e2..ad03cf9 100644 --- a/tools/arkmanager.cfg +++ b/tools/arkmanager.cfg @@ -1,4 +1,6 @@ arkstChannel="master" # change it to a different branch to get non-stable versions +install_bindir="/usr/bin" +install_libexecdir="/usr/libexec/arkmanager" # config SteamCMD steamcmdroot="/home/steam/steamcmd" # path of your steamcmd instance diff --git a/tools/install.sh b/tools/install.sh index 753297e..d190db2 100755 --- a/tools/install.sh +++ b/tools/install.sh @@ -129,6 +129,8 @@ if [ "$userinstall" == "yes" ]; then sed -i -e "s|^steamcmd_user=\"steam\"|steamcmd_user=\"--me\"|" \ -e "s|\"/home/steam|\"${PREFIX}|" \ -e "s|/var/log/arktools|${PREFIX}/logs/arktools|" \ + -e "s|^install_bindir=.*|install_bindir=\"${BINDIR}\"|" \ + -e "s|^install_libexecdir=.*|install_libexecdir=\"${LIBEXECDIR}\"|" \ "${INSTALL_ROOT}${PREFIX}/.arkmanager.cfg.NEW" # Copy arkmanager.cfg to ~/.arkmanager.cfg if it doesn't already exist @@ -229,6 +231,8 @@ else chown "$1" "${INSTALL_ROOT}/etc/arkmanager/arkmanager.cfg.NEW" sed -i -e "s|^steamcmd_user=\"steam\"|steamcmd_user=\"$1\"|" \ -e "s|\"/home/steam|\"/home/$1|" \ + -e "s|^install_bindir=.*|install_bindir=\"${BINDIR}\"|" \ + -e "s|^install_libexecdir=.*|install_libexecdir=\"${LIBEXECDIR}\"|" \ "${INSTALL_ROOT}/etc/arkmanager/arkmanager.cfg" if [ -f "${INSTALL_ROOT}/etc/arkmanager/arkmanager.cfg" ]; then