Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- . /lib/lsb/init-functions
- GAME_DIR=/srv/games/RVS
- NAME_OF_THE_GAME="Ravenshield"
- CHUSER=games
- CHGROUP=games
- SHELL=/usr/bin/wine
- NAME_OF_THE_GAME_INSTANCE="$NAME_OF_THE_GAME($2)"
- GAME_EXECUTABLES_DIR=$GAME_DIR/System
- GAME_EXECUTABLE_FILENAME=UCC.exe
- GAME_EXECUTABLE_FULLPATH=$GAME_EXECUTABLES_DIR/$GAME_EXECUTABLE_FILENAME
- PROFILES=/etc/uccl/profiles
- TEMPLATEPROFILES=$PROFILES/templates
- SERVERPROFILES=$PROFILES/game-servers
- LOGFILE=/dev/null
- RUNDIR=/var/run
- PIDDIR=$RUNDIR/ucc-servers
- PIDFILE=$PIDDIR/$2.pid
- STARTER="$SHELL $GAME_EXECUTABLE_FULLPATH"
- EXTRA_OPTS="server servercfg=$SERVERPROFILES/$2.ini"
- #> $LOGFILE 2>&1
- ## FOR DEBUGGING SCRIPT
- echo 'Exccutables dir:' $GAME_EXECUTABLES_DIR
- echo 'Exccutable filename:' $GAME_EXECUTABLE_FILENAME
- echo 'Executable fullpath:' $GAME_EXECUTABLE_FULLPATH
- echo 'Starter:' $STARTER
- echo 'PID dir:' $PIDDIR
- echo 'PID file:' $PIDFILE
- echo
- check_pid_dir()
- {
- if [ -d "$PIDDIR" ];
- then
- false
- else
- mkdir $PIDDIR && chown $CHUSER:$CHGROUP $PIDDIR
- fi
- }
- start()
- {
- start-stop-daemon --start --quiet --pidfile $PIDFILE --background --chdir $GAME_EXECUTABLES_DIR --chuid $CHUSER:$CHGROUP --name $GAME_EXECUTABLE_FILENAME --startas $STARTER -- $EXTRA_OPTS
- }
- debug()
- {
- start-stop-daemon --start --verbose --chdir $GAME_EXECUTABLES_DIR --name $GAME_EXECUTABLE_FILENAME --startas $STARTER -- $EXTRA_OPTS
- }
- stop()
- {
- start-stop-daemon --stop --quiet --pidfile $PIDFILE --name $GAME_EXECUTABLE_FILENAME
- }
- case "$1" in
- start) log_daemon_msg "Starting game server" $NAME_OF_THE_GAME_INSTANCE
- check_pid_dir
- start
- log_end_msg $?
- ;;
- debug) log_daemon_msg "Starting game server in debug mode" $NAME_OF_THE_GAME_INSTANCE
- echo
- echo
- debug
- log_end_msg $?
- ;;
- stop) log_daemon_msg "Stopping game server" $NAME_OF_THE_GAME_INSTANCE
- stop
- log_end_msg $?
- ;;
- restart) log_daemon_msg "Restarting game server" $NAME_OF_THE_GAME_INSTANCE
- stop
- start
- $RVSEXECUTABLES/ucc.exe server serverini=$SERVERPROFILES/$2.ini > $LOGFILE 2>&1 -- $LSBNAMES $EXTRA_OPTS
- log_end_msg $?
- ;;
- status)
- log_action_begin_msg "Checking $NAME_OF_THE_GAME game server"
- if pidofproc -p "$PIDFILE" >/dev/null; then
- log_action_end_msg 0 "running"
- exit 0
- else
- if [ -e "$PIDFILE" ]; then
- log_action_end_msg 1 "failed to start"
- exit 1
- else
- log_action_end_msg 0 "not running"
- exit 3
- fi
- fi
- ;;
- *) log_action_msg "Usage: /etc/init.d/cron {start|stop|status|restart} {ServerProfile}"
- exit 2
- ;;
- esac
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement