1. Kadetos Пользователь

    Регистрация:
    01.06.16
    Сообщения:
    10
    Симпатии:
    3
    Пол:
    Мужской
    Может кому будет интересно. Скрипт запуска без использования screen. За основу взял скрипт запуска saslauthd
    Код:
    #! /bin/bash
    #
    # saslauthd      Start/Stop the SASL authentication daemon
    #
    # chkconfig: - 65 10
    # description: Saslauthd is a server process which handles plaintext \
    #              authentication requests on behalf of the cyrus-sasl library.
    # processname: saslauthd
    
    ### BEGIN INIT INFO
    # Provides: saslauthd
    # Required-Start: $local_fs $network
    # Required-Stop: $local_fs $network
    # Short-Description: Start/Stop the SASL authentication daemon
    # Description: Saslauthd is a server process which handles plaintext
    #              authentication requests on behalf of the cyrus-sasl library.
    ### END INIT INFO
    
    # Source function library.
    . /etc/init.d/functions
    
    # Source our configuration file for these variables.
    
    RETVAL=0
    
    # Set up some common variables before we launch into what might be
    # considered boilerplate by now.
    prog=hlds_run
    path=/home/cstrike/cs27015
    lockfile=$path/$prog.lock
    pidfile=$path/CS.pid
    cd $path
    start() {
            [ -x $path ] || exit 5
            echo -n $"Starting $prog: "
            ./hlds_run -game cstrike -port 27015 +ip  +maxplayers 32 -pingboost 3 +sys_ticrate 1500 +map de_dust2 -pidfile $pidfile > /dev/null 2>&1 &
            RETVAL=$?
            echo
            [ $RETVAL -eq 0 ] && touch $lockfile
            return $RETVAL
    }
    
    stop() {
            echo -n $"Stopping $prog: "
            killproc $prog
            killproc hlds_linux
            RETVAL=$?
            echo
            [ $RETVAL -eq 0 ] && rm -f $lockfile
            return $RETVAL
    }
    
    restart() {
            stop
            start
    }
    
    reload() {
            restart
    }
    
    force_reload() {
            restart
    }
    
    rh_status() {
            # run checks to determine if the service is running or use generic status
            status -p $pidfile $prog
    }
    
    rh_status_q() {
            rh_status >/dev/null 2>&1
    }
    
    case "$1" in
      start)
            rh_status_q && exit 0
            start
            ;;
      stop)
            rh_status_q || exit 0
            stop
            ;;
      restart)
            restart
            ;;
      reload)
            rh_status_q || exit 7
            reload
            ;;
      force-reload)
            force_reload
            ;;
      status)
            rh_status
            ;;
      condrestart|try-restart)
            rh_status_q || exit 0
            restart
            ;;
      *)
            echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
            exit 2
    esac
    
    exit $?
    
     
    swish нравится это.
  2. swish Пользователь

    Регистрация:
    06.07.16
    Сообщения:
    59
    Симпатии:
    3
    Пол:
    Мужской
    А как будет работать сервер? Без screen? Если запустим под терминалом и закроем сессию, получим вылет сервера??
     
  3. Kadetos Пользователь

    Регистрация:
    01.06.16
    Сообщения:
    10
    Симпатии:
    3
    Пол:
    Мужской
    У меня всегда так работает с 2007 года. Сейчас скрипт немного еще модернизировал. Если запущено 2 сервака, то если делать
    killproc hlds_linux умирают оба. Так вот чтобы этого не происходило немного переделал.
    Код:
    #! /bin/bash
    
    # Source function library.
    . /etc/init.d/functions
    
    # Source our configuration file for these variables.
    
    RETVAL=0
    
    # Set up some common variables before we launch into what might be
    # considered boilerplate by now.
    prog=hlds_run
    path=/home/cstrike/cs27015
    lockfile=$path/$prog.lock
    pidfile=$path/CS.pid
    pidfilerun=$path/CSrun.pid
    cd $path
    start() {
            [ -x $path ] || exit 5
            echo -n $"Starting $prog: "
            ./hlds_run -game cstrike -port 27015 +ip 1.1.1.1 +maxplayers 32 -pingboost 3 +sys_ticrate 1500 +map de_dust2 -pidfile $pidfile > /dev/null 2>&1 & echo $! > $pidfilerun
            RETVAL=$?
            echo
            [ $RETVAL -eq 0 ] && touch $lockfile
            return $RETVAL
    }
    
    stop() {
            echo -n $"Stopping $prog: "
            kill -KILL `cat $pidfilerun`
            kill -KILL `cat $pidfile`
            sleep 2
            RETVAL=$?
            echo
            [ $RETVAL -eq 0 ] && rm -f $lockfile
            return $RETVAL
    }
    
    restart() {
            stop
            start
    }
    
    reload() {
            restart
    }
    
    force_reload() {
            restart
    }
    
    rh_status() {
            # run checks to determine if the service is running or use generic status
            status -p $pidfile $prog
    }
    
    rh_status_q() {
            rh_status >/dev/null 2>&1
    }
    
    case "$1" in
      start)
            rh_status_q && exit 0
            start
            ;;
      stop)
            rh_status_q || exit 0
            stop
            ;;
      restart)
            restart
            ;;
      reload)
            rh_status_q || exit 7
            reload
            ;;
      force-reload)
            force_reload
            ;;
      status)
            rh_status
            ;;
      condrestart|try-restart)
            rh_status_q || exit 0
            restart
            ;;
      *)
            echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
            exit 2
    esac
    
    exit $?
    
    --- добавлено 06.07.16 ---
    Работать он будет в режиме демона. Просто к консоли нельзя будет подрубиться, но это можно делать через kkrcon.pl
     
    swish нравится это.
  4. khvmegabait Пользователь

    Регистрация:
    26.07.16
    Сообщения:
    4
    Симпатии:
    0
    Пол:
    Мужской
    Ну ка затестим :imtheking:
     
  5. Kadetos Пользователь

    Регистрация:
    01.06.16
    Сообщения:
    10
    Симпатии:
    3
    Пол:
    Мужской
    Если что пиши