mirror of
https://github.com/eliasstepanik/ark-ac-server-tools.git
synced 2026-01-13 03:18:28 +00:00
commit
3841416822
38
README.md
38
README.md
@ -37,6 +37,12 @@ NB: You may want to change the `bash -s` parameter to fit your steam user if dif
|
||||
|
||||
This will copy the `arkmanager` script and its daemon to the proper directories and will create an empty log directory in `/var/log` for ARK Server Tools.
|
||||
|
||||
To instead perform a user-install of ARK Server Tools as an unprivileged user, run this command:
|
||||
|
||||
```sh
|
||||
curl -sL http://git.io/vtf5N | bash -s -- --me
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
Stored in `/etc/arkmanager/arkmanager.cfg` you can find the variables needed to start the server, like the port numbers, the system environment variables and so on.
|
||||
@ -54,6 +60,12 @@ ark_DifficultyOffset=1
|
||||
Your session name may not contain special characters (eg. `!![EU]!! Aw&some ARK`) as it could break the startup command.
|
||||
In this case you may want to comment out the `ark_SessionName` variable and define it inside your **GameUserSettings.ini** file instead.
|
||||
|
||||
To specify an option without an argument (e.g. `bRawSockets`), specify an empty argument (e.g. `ark_bRawSockets=""`).
|
||||
|
||||
To specify a dash-option without an argument (e.g. `-log`), add the option="" prefixed with `arkflag_` (e.g. `arkflag_log=""`).
|
||||
|
||||
To specify a dash-option with an argument (e.g. `-StructureDestructionTag=DestroySwampSnowStructures`), add the option=value prefixed with `arkopt_` (e.g. `arkopt_StructureDestructionTag=DestroySwampSnowStructures`).
|
||||
|
||||
You can override or add variables for a specific system user creating a file called `.arkmanager.cfg` in the home directory of the system user.
|
||||
|
||||
## Install ARK Server
|
||||
@ -80,30 +92,46 @@ Stops ARK server
|
||||
Restarts ARK server
|
||||
|
||||
#### arkmanager update
|
||||
Manually updates ARK server if a new version is available
|
||||
Manually updates ARK server if a new version is available.
|
||||
This accepts zero or more of the below options.
|
||||
|
||||
#### arkmanager update --force
|
||||
##### arkmanager update --force
|
||||
Apply update without check the current version
|
||||
|
||||
#### arkmanager update --safe
|
||||
##### arkmanager update --safe
|
||||
Waits for server to perform world save and then updates.
|
||||
|
||||
##### arkmanager update --warn
|
||||
Warns the players for a configurable amount of time before updating. Should be suitable for adding to a cron job.
|
||||
|
||||
##### arkmanager update --validate
|
||||
Validates all ARK server files
|
||||
|
||||
##### arkmanager update --update-mods
|
||||
Updates installed and requested mods
|
||||
|
||||
##### arkmanager update --backup
|
||||
Takes a backup of the save files before updating.
|
||||
|
||||
#### arkmanager status
|
||||
Get the status of the server. Show if the process is running, if the server is up and the current version number
|
||||
|
||||
#### arkmanager checkupdate
|
||||
Check if a new version of the server is available but not apply it
|
||||
|
||||
#### arkmanager upgrade
|
||||
#### arkmanager upgrade-tools
|
||||
Check for a new ARK Server Tools version and upgrades it if needed
|
||||
|
||||
#### arkmanager uninstall-tools
|
||||
Uninstalls the ARK Server Tools
|
||||
|
||||
#### arkmanager backup
|
||||
Saves a backup of your server inside the backup directory
|
||||
|
||||
#### arkmanager broadcast "message"
|
||||
Broadcast a message to all curently connected players. Example:
|
||||
```
|
||||
arkmanager broadcast "Hi, admin there"
|
||||
arkmanager broadcast "Hi, admin here"
|
||||
```
|
||||
|
||||
#### arkmanager saveworld
|
||||
|
||||
@ -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=$?
|
||||
|
||||
@ -42,7 +44,7 @@ rm -rf /tmp/ark-server-tools-${channel}
|
||||
# Print messages
|
||||
case "$status" in
|
||||
"0")
|
||||
echo "ARK Server Tools were correctly installed in your system inside the home directory of $1!"
|
||||
echo "ARK Server Tools were correctly installed in your system inside the home directory of $steamcmd_user!"
|
||||
;;
|
||||
|
||||
"1")
|
||||
@ -50,6 +52,6 @@ case "$status" in
|
||||
;;
|
||||
"2")
|
||||
echo "WARNING: 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 "ARK Server Tools were correctly installed in your system inside the home directory of $1!"
|
||||
echo "ARK Server Tools were correctly installed in your system inside the home directory of $steamcmd_user!"
|
||||
;;
|
||||
esac
|
||||
|
||||
898
tools/arkmanager
898
tools/arkmanager
File diff suppressed because it is too large
Load Diff
@ -1,22 +1,34 @@
|
||||
arkstChannel="master" # change it to a different branch to get non-stable versions
|
||||
install_bindir="/usr/bin"
|
||||
install_libexecdir="/usr/libexec/arkmanager"
|
||||
install_datadir="/usr/share/arkmanager"
|
||||
|
||||
# config SteamCMD
|
||||
steamcmdroot="/home/steam/steamcmd" # path of your steamcmd instance
|
||||
steamcmdexec="steamcmd.sh" # name of steamcmd executable
|
||||
steamcmd_user="steam" # name of the system user who own steamcmd folder
|
||||
steamcmd_appinfocache="/home/steam/Steam/appcache/appinfo.vdf" # cache of the appinfo command
|
||||
#steamlogin="anonymous" # Uncomment this to specify steam login instead of using anonymous login
|
||||
|
||||
# config environment
|
||||
arkserverroot="/home/steam/ARK" # path of your ARK server files (default ~/ARK)
|
||||
arkserverexec="ShooterGame/Binaries/Linux/ShooterGameServer" # name of ARK server executable
|
||||
arkbackupdir="/home/steam/ARK-Backups" # path to backup directory
|
||||
arkwarnminutes="60" # number of minutes to warn players when using update --warn
|
||||
arkautorestartfile="ShooterGame/Saved/.autorestart" # path to autorestart file
|
||||
arkBackupPreUpdate="false" # set this to true if you want to perform a backup before updating
|
||||
|
||||
# Update warning messages
|
||||
# Modify as desired, putting the %d replacement operator where the number belongs
|
||||
msgWarnUpdateMinutes="This ARK server will shutdown for an update in %d minutes"
|
||||
msgWarnUpdateSeconds="This ARK server will shutdown for an update in %d seconds"
|
||||
|
||||
# ARK server options - use ark_<optionname>=<value>
|
||||
# comment out these values if you want to define them
|
||||
# inside your GameUserSettings.ini file
|
||||
serverMap="TheIsland" # server map (default TheIsland)
|
||||
#serverMapModId="469987622" # Uncomment this to specify the Map Mod Id (<fileid> in http://steamcommunity.com/sharedfiles/filedetails/?id=<fileid>)
|
||||
#ark_TotalConversionMod="496735411" # Uncomment this to specify a total-conversion mod
|
||||
ark_RCONEnabled="True" # Enable RCON Protocol
|
||||
ark_RCONPort="32330" # RCON Port
|
||||
ark_SessionName="ARK Server Tools" # if your session name needs special characters please use the .ini instead
|
||||
@ -26,6 +38,14 @@ ark_ServerPassword="" # ARK server
|
||||
ark_ServerAdminPassword="keyboardcat" # ARK server admin password, KEEP IT SAFE!
|
||||
ark_MaxPlayers="70"
|
||||
#ark_GameModIds="487516323,487516324,487516325" # Uncomment to specify additional mods by Mod Id separated by commas
|
||||
#ark_AltSaveDirectoryName="SotF" # Uncomment to specify a different save directory name
|
||||
|
||||
# ARK server flags - use arkflag_<optionname>=true
|
||||
#arkflag_OnlyAdminRejoinAsSpectator=true # Uncomment to only allow admins to rejoin as spectator
|
||||
#arkflag_DisableDeathSpectator=true # Uncomment to disable players from becoming spectators when they die
|
||||
|
||||
# ARK server options - i.e. for -optname=val, use arkopt_optname=val
|
||||
#arkopt_StructureDestructionTag=DestroySwampSnowStructures
|
||||
|
||||
# config Service
|
||||
servicename="arkserv" # Name of the service (don't change if you don't know what are you doing)
|
||||
@ -33,7 +53,13 @@ logdir="/var/log/arktools" # Logs path
|
||||
|
||||
# steamdb specific
|
||||
appid=376030 # Linux server App ID
|
||||
mod_appid=346110 # App ID for mods
|
||||
|
||||
# Mod OS Selection
|
||||
mod_branch=Windows
|
||||
# Add mod-specific OS selection below:
|
||||
#mod_branch_496735411=Windows
|
||||
|
||||
# alternate configs
|
||||
# example for config name "ark1":
|
||||
#config_ark1="/path/to/config/file"
|
||||
#configfile_ark1="/path/to/config/file"
|
||||
|
||||
305
tools/install.sh
305
tools/install.sh
@ -1,51 +1,224 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ "$1" == "--me" ]; then
|
||||
PREFIX="${PREFIX:-${HOME}}"
|
||||
EXECPREFIX="${EXECPREFIX:-${PREFIX}}"
|
||||
else
|
||||
EXECPREFIX="${EXECPREFIX:-/usr/local}"
|
||||
userinstall=no
|
||||
steamcmd_user=
|
||||
showusage=no
|
||||
|
||||
while [ -n "$1" ]; do
|
||||
case "$1" in
|
||||
--me)
|
||||
userinstall=yes
|
||||
steamcmd_user="--me"
|
||||
;;
|
||||
-h|--help)
|
||||
showusage=yes
|
||||
break
|
||||
;;
|
||||
--prefix=*)
|
||||
PREFIX="${1#--prefix=}"
|
||||
;;
|
||||
--prefix)
|
||||
PREFIX="$2"
|
||||
shift
|
||||
;;
|
||||
--exec-prefix=*)
|
||||
EXECPREFIX="${1#--exec-prefix=}"
|
||||
;;
|
||||
--exec-prefix)
|
||||
EXECPREFIX="$2"
|
||||
shift
|
||||
;;
|
||||
--data-prefix=*)
|
||||
DATAPREFIX="${1#--data-prefix=}"
|
||||
;;
|
||||
--data-prefix)
|
||||
DATAPREFIX="$2"
|
||||
shift
|
||||
;;
|
||||
--install-root=*)
|
||||
INSTALL_ROOT="${1#--install-root=}"
|
||||
;;
|
||||
--install-root)
|
||||
INSTALL_ROOT="$2"
|
||||
shift
|
||||
;;
|
||||
--bindir=*)
|
||||
BINDIR="${1#--bindir=}"
|
||||
;;
|
||||
--bindir)
|
||||
BINDIR="$2"
|
||||
shift
|
||||
;;
|
||||
--libexecdir=*)
|
||||
LIBEXECDIR="${1#--libexecdir=}"
|
||||
;;
|
||||
--libexecdir)
|
||||
LIBEXECDIR="$2"
|
||||
shift
|
||||
;;
|
||||
--datadir=*)
|
||||
DATADIR="${1#--datadir=}"
|
||||
;;
|
||||
--datadir)
|
||||
DATADIR="$2"
|
||||
shift
|
||||
;;
|
||||
-*)
|
||||
echo "Invalid option '$1'"
|
||||
showusage=yes
|
||||
break;
|
||||
;;
|
||||
*)
|
||||
if [ -n "$steamcmd_user" ]; then
|
||||
echo "Multiple users specified"
|
||||
showusage=yes
|
||||
break;
|
||||
elif getent passwd "$1" >/dev/null 2>&1; then
|
||||
steamcmd_user="$1"
|
||||
else
|
||||
echo "Invalid user '$1'"
|
||||
showusage=yes
|
||||
break;
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if [ "$userinstall" == "yes" -a "$UID" -eq 0 ]; then
|
||||
echo "Refusing to perform user-install as root"
|
||||
showusage=yes
|
||||
fi
|
||||
|
||||
if [ ! -z "$1" ]; then
|
||||
if [ "$1" == "--me" -a "$UID" -ne 0 ]; then
|
||||
if [ "$showusage" == "no" -a -z "$steamcmd_user" ]; then
|
||||
echo "No user specified"
|
||||
showusage=yes
|
||||
fi
|
||||
|
||||
if [ "$userinstall" == "yes" ]; then
|
||||
PREFIX="${PREFIX:-${HOME}}"
|
||||
EXECPREFIX="${EXECPREFIX:-${PREFIX}}"
|
||||
DATAPREFIX="${DATAPREFIX:-${PREFIX}/.local/share}"
|
||||
else
|
||||
PREFIX="${PREFIX:-/usr/local}"
|
||||
EXECPREFIX="${EXECPREFIX:-${PREFIX}}"
|
||||
DATAPREFIX="${DATAPREFIX:-${PREFIX}/share}"
|
||||
fi
|
||||
|
||||
BINDIR="${BINDIR:-${EXECPREFIX}/bin}"
|
||||
LIBEXECDIR="${LIBEXECDIR:-${EXECPREFIX}/libexec/arkmanager}"
|
||||
DATADIR="${DATADIR:-${DATAPREFIX}/arkmanager}"
|
||||
|
||||
if [ "$showusage" == "yes" ]; then
|
||||
echo "Usage: ./install.sh {<user>|--me} [OPTIONS]"
|
||||
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
|
||||
echo "<user> The user arkmanager should be run as"
|
||||
echo
|
||||
echo "Option Description"
|
||||
echo "--help, -h Show this help text"
|
||||
echo "--me Perform a user-install"
|
||||
echo "--prefix Specify the prefix under which to install arkmanager"
|
||||
echo " [PREFIX=${PREFIX}]"
|
||||
echo "--exec-prefix Specify the prefix under which to install executables"
|
||||
echo " [EXECPREFIX=${EXECPREFIX}]"
|
||||
echo "--data-prefix Specify the prefix under which to install suppor files"
|
||||
echo " [DATAPREFIX=${DATAPREFIX}]"
|
||||
echo "--install-root Specify the staging directory in which to perform the install"
|
||||
echo " [INSTALL_ROOT=${INSTALL_ROOT}]"
|
||||
echo "--bindir Specify the directory under which to install executables"
|
||||
echo " [BINDIR=${BINDIR}]"
|
||||
echo "--libexecdir Specify the directory under which to install executable support files"
|
||||
echo " [LIBEXECDIR=${LIBEXECDIR}]"
|
||||
echo "--datadir Specify the directory under which to install support files"
|
||||
echo " [DATADIR=${DATADIR}]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$userinstall" == "yes" ]; 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"
|
||||
mkdir -p "${INSTALL_ROOT}${BINDIR}"
|
||||
cp arkmanager "${INSTALL_ROOT}${BINDIR}/arkmanager"
|
||||
chmod +x "${INSTALL_ROOT}${BINDIR}/arkmanager"
|
||||
|
||||
# Create a folder in ~/.local/share to store arkmanager support files
|
||||
mkdir -p "${INSTALL_ROOT}${DATADIR}"
|
||||
|
||||
# Copy the uninstall script to ~/.local/share/arkmanager
|
||||
cp uninstall-user.sh "${INSTALL_ROOT}${DATADIR}/arkmanager-uninstall.sh"
|
||||
chmod +x "${INSTALL_ROOT}${DATADIR}/arkmanager-uninstall.sh"
|
||||
sed -i -e "s|^BINDIR=.*|BINDIR=\"${BINDIR}\"|" \
|
||||
-e "s|^DATADIR=.*|DATADIR=\"${DATADIR}\"|" \
|
||||
"${INSTALL_ROOT}${DATADIR}/arkmanager-uninstall.sh"
|
||||
|
||||
# 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.NEW
|
||||
cp arkmanager.cfg "${INSTALL_ROOT}${PREFIX}/.arkmanager.cfg.NEW"
|
||||
# Change the defaults in the new config file
|
||||
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}\"|" \
|
||||
-e "s|^install_datadir=.*|install_datadir=\"${DATADIR}\"|" \
|
||||
"${INSTALL_ROOT}${PREFIX}/.arkmanager.cfg.NEW"
|
||||
|
||||
# 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"
|
||||
newopts=( arkbackupdir arkautorestartfile install_bindir install_libexecdir install_datadir mod_appid )
|
||||
newopt_steamcmd_appinfocache="${PREFIX}/Steam/appcache/appinfo.vdf"
|
||||
newopt_arkbackupdir="${PREFIX}/ARK-Backups"
|
||||
newopt_arkautorestartfile="ShooterGame/Saved/.autorestart"
|
||||
newopt_install_bindir="${BINDIR}"
|
||||
newopt_install_libexecdir="${LIBEXECDIR}"
|
||||
newopt_install_datadir="${DATADIR}"
|
||||
newopt_mod_appid=346110
|
||||
|
||||
if grep '^\(servermail\|arkstVersion\)=' "${INSTALL_ROOT}${PREFIX}/.arkmanager.cfg" >/dev/null 2>&1; then
|
||||
sed -i '/^\(servermail\|arkstVersion\)=/d' "${INSTALL_ROOT}${PREFIX}/.arkmanager.cfg"
|
||||
fi
|
||||
|
||||
for optname in "${newopts[@]}"; do
|
||||
if ! grep "^${optname}=" "${INSTALL_ROOT}${PREFIX}/.arkmanager.cfg" >/dev/null 2>&1; then
|
||||
noptname="newopt_${optname}"
|
||||
echo "${optname}='${!noptname}'" >>"${INSTALL_ROOT}${PREFIX}/.arkmanager.cfg"
|
||||
fi
|
||||
done
|
||||
|
||||
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"
|
||||
mv -n "${INSTALL_ROOT}${PREFIX}/.arkmanager.cfg.NEW" "${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
|
||||
else
|
||||
# Copy arkmanager to /usr/bin and set permissions
|
||||
cp arkmanager "${INSTALL_ROOT}${EXECPREFIX}/bin/arkmanager"
|
||||
chmod +x "${INSTALL_ROOT}${EXECPREFIX}/bin/arkmanager"
|
||||
cp arkmanager "${INSTALL_ROOT}${BINDIR}/arkmanager"
|
||||
chmod +x "${INSTALL_ROOT}${BINDIR}/arkmanager"
|
||||
|
||||
# Copy the uninstall script to ~/.local/share/arkmanager
|
||||
mkdir -p "${INSTALL_ROOT}${LIBEXECDIR}"
|
||||
cp uninstall.sh "${INSTALL_ROOT}${LIBEXECDIR}/arkmanager-uninstall.sh"
|
||||
chmod +x "${INSTALL_ROOT}${LIBEXECDIR}/arkmanager-uninstall.sh"
|
||||
sed -i -e "s|^BINDIR=.*|BINDIR=\"${BINDIR}\"|" \
|
||||
-e "s|^LIBEXECDIR=.*|LIBEXECDIR=\"${LIBEXECDIR}\"|" \
|
||||
-e "s|^DATADIR=.*|DATADIR=\"${DATADIR}\"|" \
|
||||
"${INSTALL_ROOT}${LIBEXECDIR}/arkmanager-uninstall.sh"
|
||||
|
||||
# Copy arkdaemon to /etc/init.d ,set permissions and add it to boot
|
||||
if [ -f /lib/lsb/init-functions ]; then
|
||||
# on debian 8, sysvinit and systemd are present. If systemd is available we use it instead of sysvinit
|
||||
if [ -f /etc/systemd/system.conf ]; then # used by systemd
|
||||
mkdir -p "${INSTALL_ROOT}${EXECPREFIX}/libexec/arkmanager"
|
||||
cp lsb/arkdaemon "${INSTALL_ROOT}${EXECPREFIX}/libexec/arkmanager/arkmanager.init"
|
||||
chmod +x "${INSTALL_ROOT}${EXECPREFIX}/libexec/arkmanager/arkmanager.init"
|
||||
cp systemd/arkdeamon.service "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service"
|
||||
sed -i "s|=/usr/|=${EXECPREFIX}/|" "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service"
|
||||
sed -i "s@^DAEMON=\"/usr@DAEMON=\"${EXECPREFIX}@" "${INSTALL_ROOT}${EXECPREFIX}/libexec/arkmanager/arkmanager.init"
|
||||
mkdir -p "${INSTALL_ROOT}${LIBEXECDIR}"
|
||||
cp systemd/arkmanager.init "${INSTALL_ROOT}${LIBEXECDIR}/arkmanager.init"
|
||||
chmod +x "${INSTALL_ROOT}${LIBEXECDIR}/arkmanager.init"
|
||||
cp systemd/arkmanager.service "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service"
|
||||
sed -i "s|=/usr/libexec/arkmanager/|=${LIBEXECDIR}/|" "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service"
|
||||
cp systemd/arkmanager@.service "${INSTALL_ROOT}/etc/systemd/system/arkmanager@.service"
|
||||
sed -i "s|=/usr/bin/|=${BINDIR}/|" "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service"
|
||||
if [ -z "${INSTALL_ROOT}" ]; then
|
||||
systemctl daemon-reload
|
||||
systemctl enable arkmanager.service
|
||||
@ -55,7 +228,7 @@ if [ ! -z "$1" ]; then
|
||||
else # systemd not present, so use sysvinit
|
||||
cp lsb/arkdaemon "${INSTALL_ROOT}/etc/init.d/arkmanager"
|
||||
chmod +x "${INSTALL_ROOT}/etc/init.d/arkmanager"
|
||||
sed -i "s|^DAEMON=\"/usr|DAEMON=\"${EXECPREFIX}|" "${INSTALL_ROOT}/etc/init.d/arkmanager"
|
||||
sed -i "s|^DAEMON=\"/usr/bin/|DAEMON=\"${BINDIR}/|" "${INSTALL_ROOT}/etc/init.d/arkmanager"
|
||||
# add to startup if the system use sysinit
|
||||
if [ -x /usr/sbin/update-rc.d -a -z "${INSTALL_ROOT}" ]; then
|
||||
update-rc.d arkmanager defaults
|
||||
@ -66,12 +239,13 @@ if [ ! -z "$1" ]; then
|
||||
elif [ -f /etc/rc.d/init.d/functions ]; then
|
||||
# on RHEL 7, sysvinit and systemd are present. If systemd is available we use it instead of sysvinit
|
||||
if [ -f /etc/systemd/system.conf ]; then # used by systemd
|
||||
mkdir -p "${INSTALL_ROOT}${EXECPREFIX}/libexec/arkmanager"
|
||||
cp redhat/arkdaemon "${INSTALL_ROOT}${EXECPREFIX}/libexec/arkmanager/arkmanager.init"
|
||||
chmod +x "${INSTALL_ROOT}${EXECPREFIX}/libexec/arkmanager/arkmanager.init"
|
||||
cp systemd/arkdeamon.service "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service"
|
||||
sed -i "s|=/usr/|=${EXECPREFIX}/|" "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service"
|
||||
sed -i "s@^DAEMON=\"/usr@DAEMON=\"${EXECPREFIX}@" "${INSTALL_ROOT}${EXECPREFIX}/libexec/arkmanager/arkmanager.init"
|
||||
mkdir -p "${INSTALL_ROOT}${LIBEXECDIR}"
|
||||
cp systemd/arkmanager.init "${INSTALL_ROOT}${LIBEXECDIR}/arkmanager.init"
|
||||
chmod +x "${INSTALL_ROOT}${LIBEXECDIR}/arkmanager.init"
|
||||
cp systemd/arkmanager.service "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service"
|
||||
sed -i "s|=/usr/libexec/arkmanager/|=${LIBEXECDIR}/|" "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service"
|
||||
cp systemd/arkmanager@.service "${INSTALL_ROOT}/etc/systemd/system/arkmanager@.service"
|
||||
sed -i "s|=/usr/bin/|=${BINDIR}/|" "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service"
|
||||
if [ -z "${INSTALL_ROOT}" ]; then
|
||||
systemctl daemon-reload
|
||||
systemctl enable arkmanager.service
|
||||
@ -81,7 +255,7 @@ if [ ! -z "$1" ]; then
|
||||
else # systemd not preset, so use sysvinit
|
||||
cp redhat/arkdaemon "${INSTALL_ROOT}/etc/rc.d/init.d/arkmanager"
|
||||
chmod +x "${INSTALL_ROOT}/etc/rc.d/init.d/arkmanager"
|
||||
sed -i "s@^DAEMON=\"/usr@DAEMON=\"${EXECPREFIX}@" "${INSTALL_ROOT}/etc/rc.d/init.d/arkmanager"
|
||||
sed -i "s@^DAEMON=\"/usr/bin/@DAEMON=\"${BINDIR}/@" "${INSTALL_ROOT}/etc/rc.d/init.d/arkmanager"
|
||||
if [ -x /sbin/chkconfig -a -z "${INSTALL_ROOT}" ]; then
|
||||
chkconfig --add arkmanager
|
||||
echo "Ark server will now start on boot, if you want to remove this feature run the following line"
|
||||
@ -91,20 +265,22 @@ if [ ! -z "$1" ]; then
|
||||
elif [ -f /sbin/runscript ]; then
|
||||
cp openrc/arkdaemon "${INSTALL_ROOT}/etc/init.d/arkmanager"
|
||||
chmod +x "${INSTALL_ROOT}/etc/init.d/arkmanager"
|
||||
sed -i "s@^DAEMON=\"/usr@DAEMON=\"${EXECPREFIX}@" "${INSTALL_ROOT}/etc/init.d/arkmanager"
|
||||
sed -i "s@^DAEMON=\"/usr/bin/@DAEMON=\"${BINDIR}/@" "${INSTALL_ROOT}/etc/init.d/arkmanager"
|
||||
if [ -x /sbin/rc-update -a -z "${INSTALL_ROOT}" ]; then
|
||||
rc-update add arkmanager default
|
||||
echo "Ark server will now start on boot, if you want to remove this feature run the following line"
|
||||
echo "rc-update del arkmanager default"
|
||||
fi
|
||||
elif [ -f /etc/systemd/system.conf ]; then # used by systemd
|
||||
mkdir -p "${INSTALL_ROOT}${EXECPREFIX}/libexec/arkmanager"
|
||||
cp systemd/arkdaemon.init "${INSTALL_ROOT}${EXECPREFIX}/libexec/arkmanager/arkmanager.init"
|
||||
chmod +x "${INSTALL_ROOT}${EXECPREFIX}/libexec/arkmanager/arkmanager.init"
|
||||
cp systemd/arkdeamon.service "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service"
|
||||
sed -i "s|=/usr/|=${EXECPREFIX}/|" "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service"
|
||||
sed -i "s@^DAEMON=\"/usr@DAEMON=\"${EXECPREFIX}@" "${INSTALL_ROOT}${EXECPREFIX}/libexec/arkmanager/arkmanager.init"
|
||||
mkdir -p "${INSTALL_ROOT}${LIBEXECDIR}"
|
||||
cp systemd/arkmanager.init "${INSTALL_ROOT}${LIBEXECDIR}/arkmanager.init"
|
||||
chmod +x "${INSTALL_ROOT}${LIBEXECDIR}/arkmanager.init"
|
||||
cp systemd/arkmanager.service "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service"
|
||||
sed -i "s|=/usr/libexec/arkmanager/|=${LIBEXECDIR}/|" "${INSTALL_ROOT}/etc/systemd/system/arkmanager.service"
|
||||
cp systemd/arkmanager@.service "${INSTALL_ROOT}/etc/systemd/system/arkmanager@.service"
|
||||
sed -i "s|=/usr/bin/|=${BINDIR}/|" "${INSTALL_ROOT}/etc/systemd/system/arkmanager@.service"
|
||||
if [ -z "${INSTALL_ROOT}" ]; then
|
||||
systemctl daemon-reload
|
||||
systemctl enable arkmanager.service
|
||||
echo "Ark server will now start on boot, if you want to remove this feature run the following line"
|
||||
echo "systemctl disable arkmanager.service"
|
||||
@ -117,29 +293,42 @@ if [ ! -z "$1" ]; then
|
||||
|
||||
# Copy arkmanager.cfg inside linux configuation folder if it doesn't already exists
|
||||
mkdir -p "${INSTALL_ROOT}/etc/arkmanager"
|
||||
cp arkmanager.cfg "${INSTALL_ROOT}/etc/arkmanager/arkmanager.cfg.NEW"
|
||||
chown "$1" "${INSTALL_ROOT}/etc/arkmanager/arkmanager.cfg.NEW"
|
||||
sed -i -e "s|^steamcmd_user=\"steam\"|steamcmd_user=\"$steamcmd_user\"|" \
|
||||
-e "s|\"/home/steam|\"/home/$steamcmd_user|" \
|
||||
-e "s|^install_bindir=.*|install_bindir=\"${BINDIR}\"|" \
|
||||
-e "s|^install_libexecdir=.*|install_libexecdir=\"${LIBEXECDIR}\"|" \
|
||||
-e "s|^install_datadir=.*|install_datadir=\"${DATADIR}\"|" \
|
||||
"${INSTALL_ROOT}/etc/arkmanager/arkmanager.cfg.NEW"
|
||||
|
||||
if [ -f "${INSTALL_ROOT}/etc/arkmanager/arkmanager.cfg" ]; then
|
||||
cp -n arkmanager.cfg "${INSTALL_ROOT}/etc/arkmanager/arkmanager.cfg.NEW"
|
||||
chown "$1" "${INSTALL_ROOT}/etc/arkmanager/arkmanager.cfg.NEW"
|
||||
newopts=( arkbackupdir arkautorestartfile install_bindir install_libexecdir install_datadir mod_appid )
|
||||
newopt_steamcmd_appinfocache="/home/${steamcmd_user}/Steam/appcache/appinfo.vdf"
|
||||
newopt_arkbackupdir="/home/${steamcmd_user}/ARK-Backups"
|
||||
newopt_arkautorestartfile="ShooterGame/Saved/.autorestart"
|
||||
newopt_install_bindir="${BINDIR}"
|
||||
newopt_install_libexecdir="${LIBEXECDIR}"
|
||||
newopt_install_datadir="${DATADIR}"
|
||||
newopt_mod_appid=346110
|
||||
|
||||
if grep '^\(servermail\|arkstVersion\)=' "${INSTALL_ROOT}/etc/arkmanager/arkmanager.cfg" >/dev/null 2>&1; then
|
||||
sed -i '/^\(servermail\|arkstVersion\)=/d' "${INSTALL_ROOT}/etc/arkmanager/arkmanager.cfg"
|
||||
fi
|
||||
|
||||
for optname in "${newopts[@]}"; do
|
||||
if ! grep "^${optname}=" "${INSTALL_ROOT}/etc/arkmanager/arkmanager.cfg" >/dev/null 2>&1; then
|
||||
noptname="newopt_${optname}"
|
||||
echo "${optname}='${!noptname}'" >>"${INSTALL_ROOT}/etc/arkmanager/arkmanager.cfg"
|
||||
fi
|
||||
done
|
||||
|
||||
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 /etc/arkmanager. Make sure to review any changes and update your config accordingly!"
|
||||
exit 2
|
||||
else
|
||||
cp -n arkmanager.cfg "${INSTALL_ROOT}/etc/arkmanager/arkmanager.cfg"
|
||||
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"
|
||||
mv -n "${INSTALL_ROOT}/etc/arkmanager/arkmanager.cfg.NEW" "${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:"
|
||||
echo "EXECPREFIX: prefix in which to install arkmanager executable"
|
||||
echo " [${EXECPREFIX}]"
|
||||
echo "INSTALL_ROOT: staging directory in which to perform install"
|
||||
echo " [${INSTALL_ROOT}]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
||||
@ -29,7 +29,7 @@ case "$1" in
|
||||
start)
|
||||
log_daemon_msg "Starting" "$NAME"
|
||||
ulimit -n 100000
|
||||
su -s /bin/sh -c "$DAEMON start" $steamcmd_user
|
||||
su -s /bin/sh -c "$DAEMON start --all" $steamcmd_user
|
||||
sleep 5
|
||||
PID=`ps -ef | grep $NAME | grep -v grep | awk '{print $2}'`
|
||||
if [ -n "$PID" ]; then
|
||||
@ -42,7 +42,7 @@ case "$1" in
|
||||
|
||||
stop)
|
||||
log_daemon_msg "Stopping" "$NAME"
|
||||
su -s /bin/sh -c "$DAEMON stop" $steamcmd_user
|
||||
su -s /bin/sh -c "$DAEMON stop --all" $steamcmd_user
|
||||
sleep 5
|
||||
PID=`ps -ef | grep $NAME | grep -v grep | awk '{print $2}'`
|
||||
if [ -n "$PID" ]; then
|
||||
@ -55,7 +55,7 @@ case "$1" in
|
||||
|
||||
restart)
|
||||
ulimit -n 100000
|
||||
su -s /bin/sh -c "$DAEMON restart" $steamcmd_user
|
||||
su -s /bin/sh -c "$DAEMON restart --all" $steamcmd_user
|
||||
;;
|
||||
|
||||
status)
|
||||
|
||||
@ -15,7 +15,7 @@ depend(){
|
||||
start(){
|
||||
ebegin "Starting ARK manager daemon"
|
||||
ulimit -n 100000
|
||||
su -s /bin/sh -c "$DAEMON start" $steamcmd_user
|
||||
su -s /bin/sh -c "$DAEMON start --all" $steamcmd_user
|
||||
sleep 5
|
||||
PID=`ps -ef | grep $NAME | grep -v grep | awk '{print $2}'`
|
||||
if [ -n "$PID" ]; then
|
||||
@ -27,7 +27,7 @@ start(){
|
||||
|
||||
stop(){
|
||||
ebegin "Stopping ARK manager daemon"
|
||||
su -s /bin/sh -c "$DAEMON start" $steamcmd_user
|
||||
su -s /bin/sh -c "$DAEMON stop --all" $steamcmd_user
|
||||
sleep 5
|
||||
PID=`ps -ef | grep $NAME | grep -v grep | awk '{print $2}'`
|
||||
if [ -n "$PID" ]; then
|
||||
|
||||
@ -43,7 +43,7 @@ case "$1" in
|
||||
start)
|
||||
echo -n "Starting $NAME: "
|
||||
ulimit -n 100000
|
||||
su -s /bin/sh -c "$DAEMON start" $steamcmd_user > /dev/null
|
||||
su -s /bin/sh -c "$DAEMON start --all" $steamcmd_user > /dev/null
|
||||
sleep 5
|
||||
PID=`ps -ef | grep $NAME | grep -v grep | awk '{print $2}'`
|
||||
if [ -n "$PID" ]; then
|
||||
@ -59,7 +59,7 @@ case "$1" in
|
||||
|
||||
stop)
|
||||
echo -n "Stopping $NAME: "
|
||||
su -s /bin/sh -c "$DAEMON stop" $steamcmd_user > /dev/null
|
||||
su -s /bin/sh -c "$DAEMON stop --all" $steamcmd_user > /dev/null
|
||||
sleep 5
|
||||
PID=`ps -ef | grep $NAME | grep -v grep | awk '{print $2}'`
|
||||
if [ -n "$PID" ]; then
|
||||
@ -76,7 +76,7 @@ case "$1" in
|
||||
restart)
|
||||
echo -n "Restarting $NAME: "
|
||||
ulimit -n 100000
|
||||
su -s /bin/sh -c "$DAEMON restart" $steamcmd_user > /dev/null
|
||||
su -s /bin/sh -c "$DAEMON restart --all" $steamcmd_user > /dev/null
|
||||
echo "OK"
|
||||
;;
|
||||
|
||||
|
||||
@ -1,91 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# /usr/libexec/arkmanager/arkmanager.init
|
||||
#
|
||||
# ARK manager daemon
|
||||
#
|
||||
# chkconfig: 2345 80 20
|
||||
# description: ARK manager daemon used to start the server and keep it updated
|
||||
# processname: ShooterGameServer
|
||||
# config: /etc/arkmanager/arkmanager.cfg
|
||||
|
||||
### BEGIN INIT INFO
|
||||
# Provides: ARK manager deamon
|
||||
# Required-Start: networking
|
||||
# Required-Stop: networking
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# Short-Description: ARK manager deamon
|
||||
# Description: ARK manager daemon used to start the server and keep it updated
|
||||
#
|
||||
### END INIT INFO
|
||||
|
||||
# Set TERM to "dumb" if TERM is not set
|
||||
export TERM=${TERM:-dumb}
|
||||
|
||||
# Global variables
|
||||
source /etc/arkmanager/arkmanager.cfg
|
||||
|
||||
NAME="ShooterGameServer"
|
||||
LOGFILE="${logdir}/${NAME}.log"
|
||||
DAEMON="/usr/bin/arkmanager"
|
||||
|
||||
GREEN="\\033[1;32m"
|
||||
RED="\\033[1;31m"
|
||||
NORMAL="\\033[0;39m"
|
||||
|
||||
set -e
|
||||
|
||||
# If the daemon is not there, then exit.
|
||||
test -x $DAEMON || exit 5
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
echo -n "Starting $NAME: "
|
||||
ulimit -n 100000
|
||||
su -s /bin/sh -c "$DAEMON start" $steamcmd_user > /dev/null
|
||||
sleep 5
|
||||
PID=`ps -ef | grep $NAME | grep -v grep | awk '{print $2}'`
|
||||
if [ -n "$PID" ]; then
|
||||
echo "$PID" >/var/run/arkmanager.pid
|
||||
echo "[" "$GREEN" " OK " "$NORMAL" "]"
|
||||
exit 0
|
||||
else
|
||||
echo "[" "$RED" " FAILED " "$NORMAL" "]"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
|
||||
stop)
|
||||
echo -n "Stopping $NAME: "
|
||||
su -s /bin/sh -c "$DAEMON stop" $steamcmd_user > /dev/null
|
||||
sleep 5
|
||||
PID=`ps -ef | grep $NAME | grep -v grep | awk '{print $2}'`
|
||||
if [ -n "$PID" ]; then
|
||||
echo "[" "$RED" " FAILED " "$NORMAL" "]"
|
||||
exit 1
|
||||
else
|
||||
echo "[" "$GREEN" " OK " "$NORMAL" "]"
|
||||
rm /var/run/arkmanager.pid
|
||||
exit 0
|
||||
fi
|
||||
;;
|
||||
|
||||
restart)
|
||||
echo -n "Restarting $NAME: "
|
||||
ulimit -n 100000
|
||||
su -s /bin/sh -c "$DAEMON restart" $steamcmd_user > /dev/null
|
||||
echo "OK"
|
||||
;;
|
||||
|
||||
status)
|
||||
su -s /bin/sh -c "$DAEMON status" $steamcmd_user
|
||||
exit 0
|
||||
;;
|
||||
|
||||
*)
|
||||
# For invalid arguments, print the usage message.
|
||||
echo "Usage: $0 {start|stop|restart|status}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
5
tools/systemd/arkmanager.init
Executable file
5
tools/systemd/arkmanager.init
Executable file
@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
for service in main $(grep -o '^configfile_[^=]*' /etc/arkmanager/arkmanager.cfg); do
|
||||
systemctl start arkmanager@${service#configfile_}
|
||||
done
|
||||
@ -1,12 +1,11 @@
|
||||
[Unit]
|
||||
Description=Daemon to start ark server
|
||||
Description=Starts and stops all ark server instances
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/libexec/arkmanager/arkmanager.init start
|
||||
ExecStop=/usr/libexec/arkmanager/arkmanager.init stop
|
||||
Type=forking
|
||||
PIDFile=/var/run/arkmanager.pid
|
||||
Type=oneshot
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
6
tools/systemd/arkmanager@.service
Normal file
6
tools/systemd/arkmanager@.service
Normal file
@ -0,0 +1,6 @@
|
||||
[Unit]
|
||||
Description=Daemon to start an ark server instance
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/arkmanager useconfig %i run
|
||||
Type=simple
|
||||
14
tools/uninstall-user.sh
Normal file
14
tools/uninstall-user.sh
Normal file
@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# uninstall-user.sh
|
||||
|
||||
BINDIR="/home/steam/bin"
|
||||
DATADIR="/home/steam/.local/share/arkmanager"
|
||||
|
||||
for f in "${BINDIR}/arkmanager" \
|
||||
"${DATADIR}/uninstall.sh"
|
||||
do
|
||||
if [ -f "$f" ]; then
|
||||
rm "$f"
|
||||
fi
|
||||
done
|
||||
37
tools/uninstall.sh
Normal file
37
tools/uninstall.sh
Normal file
@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# uninstall.sh
|
||||
|
||||
BINDIR="/usr/bin"
|
||||
DATADIR="/usr/share/arkmanager"
|
||||
LIBEXECDIR="/usr/libexec/arkmanager"
|
||||
INITSCRIPT=
|
||||
|
||||
if [ -f "/etc/rc.d/init.d/arkmanager" ]; then
|
||||
INITSCRIPT="/etc/rc.d/init.d/arkmanager"
|
||||
if [ -f "/etc/rc.d/init.d/functions" ]; then
|
||||
chkconfig arkmanager off
|
||||
fi
|
||||
elif [ -f "/etc/init.d/arkmanager" ]; then
|
||||
INITSCRIPT="/etc/init.d/arkmanager"
|
||||
if [ -f "/lib/lsb/init-functions" ]; then
|
||||
update-rc.d -f arkmanager remove
|
||||
elif [ -f "/sbin/runscript" ]; then
|
||||
rc-update del arkmanager default
|
||||
fi
|
||||
elif [ -f "/etc/systemd/system/arkmanager.service" ]; then
|
||||
INITSCRIPT="/etc/systemd/system/arkmanager.service"
|
||||
systemctl disable arkmanager.service
|
||||
fi
|
||||
|
||||
if [ -n "$INITSCRIPT" ]; then
|
||||
for f in "${INITSCRIPT}" \
|
||||
"${BINDIR}/arkmanager" \
|
||||
"${LIBEXECDIR}/arkmanager.init" \
|
||||
"${LIBEXECDIR}/arkmanager-uninstall.sh"
|
||||
do
|
||||
if [ -f "$f" ]; then
|
||||
rm "$f"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
7
tools/upstart/arkmanager-instance.conf
Normal file
7
tools/upstart/arkmanager-instance.conf
Normal file
@ -0,0 +1,7 @@
|
||||
description "ARK Server Tools service"
|
||||
|
||||
instance $service
|
||||
|
||||
env DAEMON="/usr/bin/arkmanager"
|
||||
|
||||
exec "$DAEMON" useconfig $service run
|
||||
8
tools/upstart/arkmanager.conf
Normal file
8
tools/upstart/arkmanager.conf
Normal file
@ -0,0 +1,8 @@
|
||||
start on runlevel [345]
|
||||
stop on runlevel [!345]
|
||||
|
||||
script
|
||||
for service in main $(grep -o '^configfile_[^=]*' /etc/arkmanager/arkmanager.cfg); do
|
||||
start arkmanager-instance service=${service#configfile_}
|
||||
done
|
||||
end script
|
||||
Loading…
x
Reference in New Issue
Block a user