Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

5 страниц V  « 3 4 5

[init.d] Скрипт запуска HLDS

, Only Linux
Статус пользователя lk0dee
сообщение 8.9.2016, 9:06
Сообщение #61


Стаж: 9 лет 9 месяцев

Сообщений: 105
Благодарностей: 4
Полезность: < 0

onotole, хм, а как добавить для второго сервера?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 8.9.2016, 9:09
Сообщение #62


Иконка группы

Стаж: 13 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

Цитата(lk0dee @ 8.9.2016, 10:06) *
onotole, хм, а как добавить для второго сервера?

Как вариант переименовать
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя lk0dee
сообщение 8.9.2016, 9:24
Сообщение #63


Стаж: 9 лет 9 месяцев

Сообщений: 105
Благодарностей: 4
Полезность: < 0

onotole, Да пробовал, ошибка такая-же... не могу понять в чем же проблема
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 8.9.2016, 10:11
Сообщение #64


Иконка группы

Стаж: 13 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

Цитата(lk0dee @ 8.9.2016, 10:24) *
onotole, Да пробовал, ошибка такая-же... не могу понять в чем же проблема

Знаю, что в initi info читается инфа. Попробуй так
файфл hlds1
Код
### BEGIN INIT INFO
# Provides:          hlds1
# Required-Start:    $syslog $local_fs $network
# Required-Stop:     $syslog $local_fs $network
# Should-Start:      $remote_fs $named
# Should-Stop:       $remote_fs $named
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start hlds Server Nomer 1
# Description:       hlds Start Script Nomer 1
### END INIT INFO

файфл hlds2
Код
### BEGIN INIT INFO
# Provides:          hlds2
# Required-Start:    $syslog $local_fs $network
# Required-Stop:     $syslog $local_fs $network
# Should-Start:      $remote_fs $named
# Should-Stop:       $remote_fs $named
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start hlds Server Nomer 2
# Description:       hlds Start Script Nomer 2
### END INIT INFO

update-rc.d hlds1 defaults
update-rc.d hlds2 defaults
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя lk0dee
сообщение 8.9.2016, 10:22
Сообщение #65


Стаж: 9 лет 9 месяцев

Сообщений: 105
Благодарностей: 4
Полезность: < 0

onotole, Не запускается второй сервак, все равно... ((((

Отредактировал: lk0dee, - 8.9.2016, 10:23
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя lk0dee
сообщение 8.9.2016, 11:57
Сообщение #66


Стаж: 9 лет 9 месяцев

Сообщений: 105
Благодарностей: 4
Полезность: < 0

onotole,

service hlds1 restart
и
service hlds1 restart срабатывают на 1 серв почему-то... хотя порты разные и пути тоже указаны разные... ниче не пойму.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя onotole
сообщение 8.9.2016, 14:33
Сообщение #67


Иконка группы

Стаж: 13 лет

Сообщений: 1572
Благодарностей: 1119
Полезность: 1550

Меценат Меценат

service hlds1 restart
service hlds1 restart

Найди 10 отличий)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя lk0dee
сообщение 9.9.2016, 12:22
Сообщение #68


Стаж: 9 лет 9 месяцев

Сообщений: 105
Благодарностей: 4
Полезность: < 0

Цитата(onotole @ 8.9.2016, 15:33) *
service hlds1 restart
service hlds1 restart

Найди 10 отличий)


Да я на скорую руку писал, все поменял что нужно, вязался с автором скрипта, сделать не смогли
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ladders
сообщение 11.10.2016, 20:02
Сообщение #69


Стаж: 16 лет

Сообщений: 440
Благодарностей: 49
Полезность: 117

Всем привет

Всё сделал по сабжу с 1го поста
Пробую
Но не взлетает
Перепроверил раз 10
Просто , если запустить в ручную сервер - работает

************:/etc/init.d# service hlds checker
Check running alternative...
[Checker HLDS] Server alternative *[DOWN]*
Start command : -game cstrike -port 27015 +ip 95.183.13.42 -maxplayers 32 +sys_ticrate 1100 +map de_dust2 -norestart -nohltv +servercfgfile server.cfg +sv_lan 0
HLDS use full proc
************:/etc/init.d# service hlds status
alternative is DOWN


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Metal Messiah
сообщение 11.10.2016, 22:26
Сообщение #70


Иконка группы

Стаж: 13 лет

Сообщений: 2457
Благодарностей: 1482
Полезность: 770

HostGame.cf
Всем у кого не запускается - делайте себе .sh скрипт в /home/user или еще где на запуск hlds через screen, и этот самый скрипт кидайте в cron @reboot... Profit!


Полезные публикации - ссылки у меня в профиле. Ссылка на плагин против спама на сервере StopServerSpam там же.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя nirL
сообщение 30.9.2017, 21:37
Сообщение #71
Стаж: 9 лет 8 месяцев

Сообщений: 7
Благодарностей: 1
Полезность: 0

как выйти с консолья?
при CTRL+C сервер оффается. может кто подскажет
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vladboss
сообщение 30.9.2017, 22:03
Сообщение #72


Стаж: 15 лет

Сообщений: 312
Благодарностей: 87
Полезность: 236

Цитата(nirL @ 30.9.2017, 21:37) *
как выйти с консолья?
при CTRL+C сервер оффается. может кто подскажет


crtl + A + D
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя NichtWolf
сообщение 10.4.2018, 11:57
Сообщение #73
Стаж: 17 лет

Сообщений: 573
Благодарности: выкл.

Хороший скрипт. Но иногда при выполнении stop сервер не останавливается, а красными буквами выводит ошибку, что сервер не может быть остановлен.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя artiom555
сообщение 30.11.2018, 6:01
Сообщение #74
Стаж: 13 лет

Сообщений: 34
Благодарностей: 1
Полезность: 24

Привет народ может я что не так наставил подскажите )). Прописываю команнду /etc/init.d/hlds start выдаёт

starting msfkpbsrw...
Start command : -game cstrike -port 27015 +ip 89.40.14.204 -maxplayers 32 -debug -bots +sys_ticrate 800 +map de_dust2 -pingboost 1
HLDS use 0
msfkpbsrw started successfully

Но сервер не запускается :/ права на файлы hlds_run , hlds_linux на папку с сервером и на сам скрипт файл hlds стоят 777 debain у меня 8.

Сервер у меня находиться по пути /home/steam/steamcmd/masofkepb

Скрипт настроил так:
CODE
#! /bin/bash

################################################################################
##
# #
# Counter-Strike : 1.6 Launcher #
# #
# Author remake: neygomon #
# Original Code: Cr@zy #
# Contact: http://www.unserver.ru #
# #
# This program is free software: you can redistribute it and/or modify it #
# under the terms of the GNU General Public License as published by the Free #
# Software Foundation, either version 3 of the License, or (at your option) #
# any later version. #
# #
# This program is distributed in the hope that it will be useful, but WITHOUT #
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS #
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more #
# details. #
# #
# You should have received a copy of the GNU General Public License along #
# with this program. If not, see http://www.gnu.org/licenses/. #
# #
# Usage: /etc/init.d/hlds_launcher {start|stop|status|restart|console|update} #
# - start: start the server #
# - stop: stop the server #
# - status: display the status of the server (down or up) #
# - restart: restart the server #
# - console: display the server console where you can enter commands. #
# To exit the console without stopping the server, press CTRL + A then D. #
# - update: update the server #
# #
################################################################################
##

### BEGIN INIT INFO
# Provides: hlds
# Required-Start: $syslog $local_fs $network
# Required-Stop: $syslog $local_fs $network
# Should-Start: $remote_fs $named
# Should-Stop: $remote_fs $named
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start hlds Server
# Description: hlds Start Script
### END INIT INFO

# Game config
STEAM_LOGIN="anonymous" #Не менять:) HL1 сервера выкачиваются и с анонимуса:)
SCREEN_NAME="msfkpbsrw" #Название screen-сессии
USER="steam" #Пользователь, от которого будем запускать сервер. !!!От root запускать сервера не стоит!!!
DIR_STEAMCMD="/home/steam/steamcmd" #root Директория steamCMD
DIR_ROOT="/home/steam/steamcmd/masofkepb" #root Директория HLDS
DIR_GAME="$DIR_ROOT/cstrike" #Это не менять:)
DIR_LOG="/home/$USER"
DAEMON_GAME="hlds_run" #HLDS скрипт | Не менять:)

#Start Распределение серверов по ядрам процессора
USE_CORE="0" #Ядро, на котором запускать HLDS. 0 - первое ядро, 1 - второе ядро и тд. all - все ядра (дефолт значение)
#По умолчанию используются все ядра системы, но HLDS - однопроцессорное приложение.
#Поэтому данную настройку следует использовать в случае нескольких серверов, чтобы все сервера не легли на одно ядро.
#End Распределение серверов по ядрам процессора

MAXPLAYERS="32" #Количество слотов - 32 максимум ( HL1 limit:c )
SYS_TICRATE="800" #sys_ticrate
IP="89.40.14.204" #IP адрес сервера
PORT="27015" #Порт сервера
EXTRAPARAMS="-pingboost 1" #Дополнительные параметры запуска

PARAM_START="-game cstrike -port $PORT +ip $IP -maxplayers ${MAXPLAYERS} -debug -bots +sys_ticrate $SYS_TICRATE +map de_dust2 ${EXTRAPARAMS}"

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

# Start game
echo "Start command : ${PARAM_START}"
if [ $USE_CORE = "all" ]
then
echo "HLDS use full proc"
else
echo "HLDS use $USE_CORE"
fi

if [ `whoami` = root ]
then
cd $DIR_ROOT
if [ $USE_CORE = "all" ]
then
INIT="screen -AmdS $SCREEN_NAME"
else
INIT="taskset -c $USE_CORE screen -AmdS $SCREEN_NAME"
fi
$INIT sudo -u $USER ./$DAEMON_GAME $PARAM_START
else
cd $DIR_ROOT
if [ $USE_CORE = "all" ]
then
screen -AmdS $SCREEN_NAME ./$DAEMON_GAME $PARAM_START
else
taskset -c $USE_CORE screen -AmdS $SCREEN_NAME ./$DAEMON_GAME $PARAM_START
fi
fi
}

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

screen -p 0 -S $SCREEN_NAME -X eval 'stuff "quit"\015'
}

function status {
screen -ls | grep [.]$SCREEN_NAME[[:space:]] > /dev/null
}

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

screen -r $(ps -ef | grep SCREEN | grep "$SCREEN_NAME" | grep -v grep | awk '{ print $2}')
}

function update {
# Create the game root
if [ ! -d $DIR_ROOT ]
then
echo "$DIR_ROOT does not exist, creating..."
if [ `whoami` = root ]
then
su - $USER -c "mkdir -p $DIR_ROOT";
else
mkdir -p "$DIR_ROOT"
fi
fi
# Update or install server
if [ `whoami` = root ]
then
su - $USER -c "cd $DIR_STEAMCMD ; ./steamcmd.sh $PARAM_UPDATE 2>&1"
else
cd $DIR_STEAMCMD
./steamcmd.sh $PARAM_UPDATE 2>&1
fi
# Check install server
if [ ! -d $DIR_GAME ]; then update; else echo "$SCREEN_NAME update or install successfully"; exit 1; fi

exit 1
}

function checker {
checktag="[Checker HLDS]"
checkresp=`quakestat -P -a2s $IP:$PORT | grep response`
if [ -n "$checkresp" ]
then
echo "$checktag Server $SCREEN_NAME *[No Response]*"
cd $DIR_LOG
time=`date +%X`
date=`date +%D`
printf "[$time - $date] Server $SCREEN_NAME *[No response]*\n" >> checker.log
#stop
kill -9 `screen -list | grep "SCREEN_NAME" | awk {'print $1'} | cut -d . -f1`
screen -wipe > /dev/null
#sleep 2
killall hlds_linux
sleep 2
start
exit 1
fi

checkdown=`quakestat -P -a2s $IP:$PORT | grep DOWN`
if [ -n "$checkdown" ]
then
echo "$checktag Server $SCREEN_NAME *[DOWN]*"
cd $DIR_LOG
time=`date +%X`
date=`date +%D`
printf "[$time - $date] Server $SCREEN_NAME *[DOWN]*\n" >> checker.log
#stop
if status; then kill -9 `screen -list | grep "SCREEN_NAME" | awk {'print $1'} | cut -d . -f1`; screen -wipe > /dev/null; fi
sleep 2
start
exit 1
fi

checkup=`quakestat -P -a2s $IP:$PORT | grep cstrike`
if [ -n "$checkup" ]
then
echo "$checktag Server $SCREEN_NAME *[RUN]*"
exit 1
fi
}

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

case "$1" in

start)
echo "Starting $SCREEN_NAME..."
start
sleep 5
echo "$SCREEN_NAME started successfully"
;;

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

restart)
echo "Restarting $SCREEN_NAME..."
status && stop
sleep 5
start
sleep 5
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)
echo "Starting the $SCREEN_NAME update..."
update
;;
checker)
echo "Check running $SCREEN_NAME..."
checker
;;

*)
usage
exit 1
;;

esac

exit 0



Отредактировал: artiom555, - 30.11.2018, 6:02
Прикрепленные файлы:
Прикрепленное изображение
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
dimka198
сообщение 30.11.2018, 8:07
Сообщение #75
Стаж: 12 лет

Сообщений: 1541
Благодарностей: 283
Полезность: 13

artiom555, /etc/init.d/hlds console и смотри ошибку
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя cs7RG
сообщение 30.11.2018, 15:38
Сообщение #76


Стаж: 10 лет
Город: Иваново

Сообщений: 693
Благодарностей: 139
Полезность: 79

зачем так заморочено . service hlds console .


Помог ? Нажми спасибку »
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя artiom555
сообщение 30.11.2018, 21:18
Сообщение #77
Стаж: 13 лет

Сообщений: 34
Благодарностей: 1
Полезность: 24

Цитата(cs7RG @ 30.11.2018, 16:38) *
зачем так заморочено . service hlds console .



root@740779:~# /etc/init.d/hlds console
Open console on msfkpbsrw...
msfkpbsrw could not be found. Probably not running.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
dimka198
сообщение 1.12.2018, 8:05
Сообщение #78
Стаж: 12 лет

Сообщений: 1541
Благодарностей: 283
Полезность: 13

cs7RG, посмотри внимательно на его пост.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя dimamelnic
сообщение 27.12.2018, 22:25
Сообщение #79
Стаж: 11 лет

Сообщений: 1862
Благодарностей: 229
Полезность: 9

Создал пользователя user добавил в hlds что бы он запускал сервер с помощью него

при перезагрузке вдс... сервер запускается.. проблем нет
при краше сервера. screen сессия не закрывается. и при проверке кроном выключен ли сервер. пишет что включен. на самом деле он выключен

Когда запускал с рута все норм было теперь он почему то скрин не закрывает... если закрыть в ручную screen то сервер запустится сам

не подскажите что тут не так?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ForestQ
сообщение 5.8.2020, 8:47
Сообщение #80
Стаж: 6 лет

Сообщений: 1
Благодарностей: 1
Полезность: 0

Как поменять приоритет запуска hlds_run в скрипте?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
5 страниц V  « 3 4 5
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: