Merge branch 'klightspeed#dev#1.1' into dev#1.1

# Conflicts:
#	tools/arkmanager
This commit is contained in:
FezVrasta 2015-06-23 11:29:57 +02:00
commit 92c162543d
3 changed files with 51 additions and 18 deletions

View File

@ -16,7 +16,13 @@ fi
#---------------------
# Global variables
source /etc/arkmanager/arkmanager.cfg
if [ -f "/etc/arkmanager/arkmanager.cfg" ]; then
source /etc/arkmanager/arkmanager.cfg
fi
if [ -f "${HOME}/.arkmanager.cfg" ]; then
source "${HOME}/.arkmanager.cfg"
fi
# Local variables
info=""
@ -122,10 +128,33 @@ doStart() {
if isTheServerRunning; then
echo "The server is already running"
else
arkserveropts="TheIsland?SessionName=$sessioname?QueryPort=$arkqueryport?ServerPassword=$arkserverpass?ServerAdminPassword=$arkserverapass?listen"
thejob="$arkserverroot/$arkserverexec $arkserveropts"
ark_SessionName="${ark_SessionName:-${sessionname}}"
ark_Port="${ark_Port:-${arkserverport}}"
ark_QueryPort="${ark_QueryPort:-${arkqueryport}}"
ark_ServerPassword="${ark_ServerPassword:-${arkserverpass}}"
ark_ServerAdminPassword="${ark_ServerAdminPassword:-${arkserverapass}}"
arkserveropts="TheIsland"
# bring in ark_... options
for varname in "${!ark_@}"; do
name="${varname#ark_}"
val="${!varname}"
# Port is actually one higher than specified
# i.e. specifying port 7777 will have the server
# use port 7778
if [ "$name" == "Port" ]; then
(( val = val - 1 ))
fi
if [ -n "$val" ]; then
arkserveropts="${arkserveropts}?${name}=${val}"
fi
done
arkserveropts="${arkserveropts}?listen"
# run the server in background
$thejob >/dev/null 2>&1 &
nohup "$arkserverroot/$arkserverexec" "$arkserveropts" </dev/null >/dev/null 2>&1 &
echo "$timestamp: start" >> "$logdir/arkserver.log"
fi
}
@ -149,7 +178,7 @@ doStop() {
# install of ARK server
#
doInstall() {
mkdir -p $arkserverroot
mkdir -p "$arkserverroot"
cd "$steamcmdroot"
# install the server
@ -174,9 +203,7 @@ doUpdate() {
doStop
cd "$steamcmdroot"
./$steamcmdexec +login anonymous +force_install_dir "$arkserverroot" +app_update $appid +quit
cd "$logdir"
echo "$bnumber" > "$arkserverroot/arkversion"
cd "$steamcmdroot"
echo "$timestamp: update to $bnumber complete" >> "$logdir/update.log"
# we restart the server only if it was started before the update

View File

@ -12,6 +12,9 @@ arkserverport="7778" # ARK server
arkserverpass="SERVERPASSWORD" # ARK server password, empty: no password required to login
arkserverapass="ADMINPASSWORD" # ARK server admin password, KEEP IT SAFE!
# other options - use ark_<optionname>=<value>
ark_MaxPlayers="70"
# config Service
servicename="arkserv" # Name of the service (don't change if you don't know what are you doing)
logdir="/var/log/arktools" # Logs path (default /var/log/arktools)

View File

@ -1,31 +1,34 @@
#!/bin/bash
if [ ! -z $1 ]; then
EXECPREFIX="${EXECPREFIX:-/usr/local}"
if [ ! -z "$1" ]; then
# Copy arkmanager to /usr/bin and set permissions
cp arkmanager /usr/bin/arkmanager
chmod +x /usr/bin/arkmanager
cp arkmanager "${INSTALL_ROOT}${EXECPREFIX}/bin/arkmanager"
chmod +x "${INSTALL_ROOT}${EXECPREFIX}/bin/arkmanager"
# Copy arkdaemon to /etc/init.d ,set permissions and add it to boot
cp arkdaemon /etc/init.d/arkdaemon
chmod +x /etc/init.d/arkdaemon
cp arkdaemon "${INSTALL_ROOT}/etc/init.d/arkdaemon"
chmod +x "${INSTALL_ROOT}/etc/init.d/arkdaemon"
# add to startup if the system use sysinit
if [ -x /usr/sbin/update-rc.d ]; then
if [ -x /usr/sbin/update-rc.d -a -z "${INSTALL_ROOT}" ]; then
update-rc.d arkdaemon defaults
echo "Ark server will now start on boot, if you want to remove this feature run the following line"
echo "update-rc.d -f arkdaemon remove"
fi
# Create a folder in /var/log to let Ark tools write its own log files
mkdir -p /var/log/arktools
chown $1 /var/log/arktools
mkdir -p "${INSTALL_ROOT}/var/log/arktools"
chown "$1" "${INSTALL_ROOT}/var/log/arktools"
# Copy arkmanager.cfg inside linux configuation folder if it doesn't already exists
if [ -f /etc/arkmanager/arkmanager.cfg ]; then
mkdir -p "${INSTALL_ROOT}/etc/arkmanager"
if [ -f "${INSTALL_ROOT}/etc/arkmanager/arkmanager.cfg" ]; then
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."
exit 2
else
cp -n arkmanager.cfg /etc/arkmanager/arkmanager.cfg
chown $1 /etc/arkmanager/arkmanager.cfg
cp -n arkmanager.cfg "${INSTALL_ROOT}/etc/arkmanager/arkmanager.cfg"
chown "$1" "${INSTALL_ROOT}/etc/arkmanager/arkmanager.cfg"
fi
else