• If you need help or want to discuss things, you now can also join us on our Discord Server!
  • A first preview of the unlimited version of SinusBot can be found in the Upcoming Changes thread. A version for Windows will follow, but we don't have a release date, yet.

sinusbot stoped working

Status
Not open for further replies.

ravage007

Member
so I am running sinusbot-0.9.15-b20cc30.tar and the bots was working just fine I restarted the server today and the script I was using to auto start them will not start the bot when i do ./sinusbot it sed

The bot will not run as root-user if you don't run it with the parameter '-RunningAsRootIsEvilAndIKnowThat'

I tried using that and it stared but y do i need that new
 

ravage007

Member
here's the script I use


#! /bin/bash
### BEGIN INIT INFO
# Provides: ts3bot
# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Sinusbot
### END INIT INFO

##################################################################################
# #
# Usage: ./launch.sh {start|stop|status|restart|console|update|backup} #
# - start: start the bot #
# - stop: stop the bot #
# - status: display the status of the bot (down or up) #
# - restart: restart the bot #
# - console: display the bot console #
# - update: runs the bot updater (with start & stop)
# - backup: archives your bot root directory
# To exit the console without stopping the server, press CTRL + A then D. #
# #
##################################################################################

SCREEN_NAME="sinusbot"
USER="sinusbot"
DIR_ROOT="/home/sinusbot/"
DIR_BACKUP=""
BOT_RUNCMD="./sinusbot -RunningAsRootIsEvilAndIKnowThat"
BOT_UPDATE_ARG=" -update"
SCREEN_IGNORE_TTY="N" # Y = Ignore the tty, you can access the bot screen as root (i not recommend it) root should be disabled :) | N = disabled

# No edits necessary beyond this line
PATH=/bin:/usr/bin:/sbin:/usr/sbin
if [ ! -x `which screen` ]; then echo "ERROR: You need screen for this script (try apt-get install screen)"; exit 1; fi
if [ ! -x `which tar` ]; then echo "WARNING: You need tar for the Backup Function (try apt-get install tar)"; fi

function start {
if [ ! -d $DIR_ROOT ]; then echo "ERROR: $DIR_ROOT is not a directory"; exit 1; fi
if status; then echo "$SCREEN_NAME is already running"; exit 1; fi

# Start bot
if [ `whoami` = root ]
then
su - $USER -c "cd $DIR_ROOT ; screen -AmdS $SCREEN_NAME $BOT_RUNCMD"
else
cd $DIR_ROOT
screen -AmdS $SCREEN_NAME $BOT_RUNCMD
fi
}

function backup {

DATE=$(date +%Y-%m-%d)

if [ `whoami` = root ]
then
su - $USER -c "cd $DIR_ROOT ; tar -cjpf $DIR_BACKUP/sinusbot-$DATE.tar.bz2 $DIR_ROOT"
else
cd $DIR_ROOT
tar -cjpf $DIR_BACKUP/sinusbot-$DATE.tar.bz2 $DIR_ROOT
fi
}
function update {
if [ `whoami` = root ]
then
su - $USER -c "cd $DIR_ROOT ; $BOT_RUNCMD$BOT_UPDATE_ARG"
else
cd $DIR_ROOT
$BOT_RUNCMD$BOT_UPDATE_ARG
fi
}

function stop {
if ! status; then echo "$SCREEN_NAME could not be found. Probably not running."; exit 1; fi

if [ `whoami` = root ]
then
su - $USER -c "screen -S $SCREEN_NAME -X stuff '\003'"
else
screen -S $SCREEN_NAME -X stuff '\003'
fi
}

function status {
if [ `whoami` = root ]
then
su - $USER -c "screen -ls" | grep [.]$SCREEN_NAME[[:space:]] > /dev/null
else
screen -ls | grep [.]$SCREEN_NAME[[:space:]] > /dev/null
fi
}

function console {
if ! status; then echo "$SCREEN_NAME could not be found. Probably not running."; exit 1; fi

if [ `whoami` = root ]
then

if [ $SCREEN_IGNORE_TTY == 'Y' ]
then
su - $USER -c "script -q -c 'screen -x $SCREEN_NAME' /dev/null"
else
su - $USER -c "screen -x $SCREEN_NAME"
fi
else
screen -x $SCREEN_NAME
fi
}

function usage {
echo "Usage: $0 {start|stop|status|restart|console}"
echo "On console, press CTRL+A then D to stop the screen without stopping the server."
}

case "$1" in

start)
echo "Using following data:"
echo "USER: $USER"
echo "DIR ROOT: $DIR_ROOT"
echo "BOT RUN CMD: $BOT_RUNCMD"
echo ""
sleep 2
echo "Starting $SCREEN_NAME..."
start
sleep 2
echo "$SCREEN_NAME started successfully"
;;

stop)
echo "Stopping $SCREEN_NAME..."
stop
sleep 2
echo "$SCREEN_NAME stopped successfully"
;;

restart)
echo "Restarting $SCREEN_NAME..."
status && stop
sleep 5
start
sleep 2
echo "$SCREEN_NAME restarted successfully"
;;

status)
if status
then echo "$SCREEN_NAME is UP"
else echo "$SCREEN_NAME is DOWN"
fi
;;

console)
echo "Open console on $SCREEN_NAME..."
console
;;

update)
if status
then stop && sleep 5 && update
else update
fi

;;

backup)

if [ -d "$DIR_BACKUP" ]
then
if status
then stop && sleep 5 && backup
else backup
fi
else echo "BACKUP DIRECTORY NOT EXISTS. EXIT!"; exit 1;
fi

;;

*)
usage
exit 1
;;

esac

exit 0
 

irgendwr

no longer active, "retired" staff member
is awesome!
V.I.P.
is uber awesome!
Contributor
Insider
here's the script I use:
[...]
USER="sinusbot"
[...]
BOT_RUNCMD="./sinusbot -RunningAsRootIsEvilAndIKnowThat"
[...]
su - $USER -c "cd $DIR_ROOT ; screen -AmdS $SCREEN_NAME $BOT_RUNCMD"
[...]
This script starts the script as the user "sinusbot" and not root so you don't need to set the flag -RunningAsRootIsEvilAndIKnowThat

What does the bot say when you run
Code:
su - sinusbot -c "cd /home/sinusbot/; ./sinusbot"

I tried using that and it stared but y do i need that new
Why you have to set the flag -RunningAsRootIsEvilAndIKnowThat when you start the bot as root?
Because running a thing as root and making it accessible to the public is generally a bad idea.
 

ravage007

Member
This script starts the script as the user "sinusbot" and not root so you don't need to set the flag -RunningAsRootIsEvilAndIKnowThat

What does the bot say when you run
Code:
su - sinusbot -c "cd /home/sinusbot/; ./sinusbot"


Why you have to set the flag -RunningAsRootIsEvilAndIKnowThat when you start the bot as root?
Because running a thing as root and making it accessible to the public is generally a bad idea.

I don't get a lot back that I'm aware of also you have to run this script in root
 
Last edited:
Status
Not open for further replies.
Top