[cod] Screen and su question.
    Lance Shaw 
    lshaw at rscs.net
       
    Tue Jan 11 17:24:25 EST 2005
    
    
  
Hello everyone,
 
This is my first contribution to this list and I hope it is received well.
 
Although this does not answer your question directly, I would like to offer
this as one possible solution. Don't use screen. I am biased, as I
personally dislike the screen utility. That being said, I would like to
offer this BETA start script I have been working on. It is nothing special,
but it does make starting and stopping your COD servers pretty painless.
 
Please let me stress that A) This is a work in progress and your results may
vary from mine. B) Being that it is a work in progress, suggestions for
improvement are always very much welcome.
 
If you have your heart set on using screen, then I apologize for wasting
your time. :-)
 
-- BEGIN SCRIPT --
 
#!/bin/sh
 
# All paths should be absolute!
 
PID='Your PID file path here'
LOG='File path for console log here(/dev/null if you do not wish to capture
console output)'
COD='File path to program binary here'
IP='Server IP here'
PORT='Server Port here'
CONF='File path to config file here'
DED='Desired dedication level here'
ROOT='File path to your Data directory'
 
if [ $UID == 0 ]
then
echo "Cannot execute as root! su to appropriate user!"
exit 1
fi
 
cd $ROOT
 
case "$1" in
        start)
                echo "Starting Call of Duty Dedicated Server..."
                if [ -f $PID ]; then
                        echo "Server already running. Aborting start!"
                else
                        $COD +set dedicated $DED +set net_ip $IP +set
net_port $PORT +exec $CONF +map_rotate 1&>$LOG &
                        if [ $? == 0 ]; then
                                sleep 8 
                                echo $! >$PID
                                if [ -f $PID ]; then
                                        echo "Server started!"
                                else
                                        echo "WARNING: Could not create $PID
!"
                                        echo "Server started!"
                                fi
                        else
                                echo "Could not start server!"
                        fi
                fi
                ;;
        stop)
                echo "Stopping Call of Duty Dedicated Server..."
                if [ -f $PID ]; then
                        cat $PID | xargs kill
                        if [ $? == 0 ]; then
                                rm $PID
                                echo "Server stopped."
                        else
                                echo "Could not stop server!"
                        fi
                else
                        echo "Server not running!"
                fi
                ;;
        restart)
                echo "Restarting Call of Duty dedicated server..."
                if [ -f $PID ]; then
                        $0 stop
                        sleep 2
                        $0 start
                else
                        echo "Server not running!"
                        echo "Attempting to start..."
                        $0 start
                fi
                ;;
        *)
                echo "Usage: codds [ start | stop | restart ]"
                exit 1
esac
 
exit 0
 
-- END SCRIPT -
 
- Lance
  _____  
From: yuk [mailto:yuk at xs4all.nl] 
Sent: Tuesday, January 11, 2005 5:03 PM
To: cod at icculus.org
Subject: [cod] Screen and su question.
 
Hi Guys,
 
With great joy I have read all the posts in this lists and most of the
information is very valuable! Thank you all for that.
 
Now, the time has come that I need some help. 
 
I want to use screen to monitor my server and have created a script to start
it. However, I have a problem with screen which I do not know how to solve.
It's probably something trivial, but my UNIX knowledge is not so great yet
so I am quite stuck. Below is a snip let of what I wanted to do and does not
work.
 
 
Using username "yuk".
Authenticating with public key "imported-openssh-key" from agent
[yuk at yoda yuk]$ su -
Password:
[root at yoda root]# su - coduo -c screen
Cannot open your terminal '/dev/pts/6' - please check.
[root at yoda root]# ls -la /dev/pts
totaal 148
drwxr-xr-x   2 root root      0 jan 11  2005 .
drwxr-xr-x  25 root root 147456 jan 11 22:22 ..
crw--w----   1 cod  tty  136, 0 jan 11 22:58 0
crw--w----   1 yuk  tty  136, 1 jan 11 22:59 1
crw--w----   1 root tty  136, 2 jan 11 22:53 2
crw--w----   1 yuk  tty  136, 3 jan 11 22:59 3
crw-------   1 yuk  tty  136, 4 jan 11 22:59 4
crw--w----   1 yuk  tty  136, 5 jan 11 23:00 5
crw--w----   1 yuk  tty  136, 6 jan 11 23:00 6
[root at yoda root]# tty
/dev/pts/6
 
 
In bold, you can see that the screen command fails because it cannot open
the /dev/pts/6 pseudo terminal. That is correct because that terminal is
owned by the user YUK not the user CODUO which I have su'ed to before
calling screen.
 
If anyone can help me out I would really appreciate it.
 
Kind regards,
Yuk.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://icculus.org/pipermail/cod/attachments/20050111/551d0ea4/attachment.htm>
    
    
More information about the Cod
mailing list