ВОПРОС: Автозапуск, Автозагрузка Dedicated Servers in Linux

Обсуждаем все, что относится к выделенным серверам *NIX (Unix, Linux) и Windows
Сообщение
Автор
Gordiy
Сержант
Сержант
Сообщения: 35
Зарегистрирован: 24.10.2009

#1 Сообщение 15.09.2010, 02:26

На сколько я знаю самый оптимальный запуск сервака на линуксе это - файл с расширением .ch в моем случаем это startl.ch (аналог в винды .bat) в котором естественно прописано, что откуда и с какими параметрами загружать.

Теперь вопрос: а как сделать автозагрузку/автозапуск именно этого startl.ch файла, чтобы при загрузке сервера linux, стартовал сервер игровой сервак?

Предложенные варианты решения:

0) Скрипт ld4
СКРИПТ ЗАПУСКА
#!/bin/bash
#
# Init file for Public CS1.6 Classic server
#
# chkconfig: 35 90 12
# description: Left4Dead Cooperative
#
# source function library
. /etc/rc.d/init.d/functions
SCREEN_NAME=L4D_coop
GAME_PATH=/home/ugniy/l4d_coop/l4d

start()
{
cd $GAME_PATH && screen -AmdS $SCREEN_NAME ./srcds_run -game left4dead +sv_lan 0 +ip 169.254.82.20 +map l4d_farm01_hilltop -master -port 27502 -heapsize 128000 $* +rcon_password LAN
}
stop()
{
PID=`ps fax | grep $SCREEN_NAME | grep SCREEN | awk '{ print $1 }'`
kill $PID
}
restart()
{
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0
Смени значение переменных SCREEN_NAME, GAME_PATH, IP и +rcon_password на свои и запускай
заработало!!!

1)
Пропиши /полный/путь/до/твоего/startl.сh в файл /etc/rc.local , но перед exit 0
не сработал

2) Вот хорошая статья для таких же чайников как я
не сработал

3)
заходим в etc/init.d
копируем наш файл запуска startz.ch и прописываем в нем следуещее:
cd &&
cd opt/zps/orangebox &&
./srcds_run -console -game zps +ip 0.0.0.0 +hostport 27015 +exec server.cfg +map zps_silence +maxplayers 20 -secure &

После рассказываем системе что этот файл нужно исполнять при старте системы:
update-rc.d startz.ch defaults
не сработал но (ZPS - включился)

4)
Shell скрипты запуска серверов (в папке пользователя) (Пример для сервера Rune HoV _rune)
#!/bin/bash
#
# Init file for Rune HoV Server
#
# chkconfig: 35 90 12
# description: Rune: Halls of Valghallar
#
# source function library
SCREEN_NAME=Rune
GAME_PATH=/home/ugniy/.loki/rune/System

start()
{
cd $GAME_PATH && screen -AmdS $SCREEN_NAME ./ucc-bin server AR-Champions.run?game=Arena.ArenaGameInfo?mutator=
RFVotesPlus.RFVotesPlus?AdminName=Ragnarok?AdminPassword=1 LOG=server1.log
}
stop()
{
PID=`ps fax | grep $SCREEN_NAME | grep SCREEN | awk '{ print $1 }'`
kill $PID
}
restart()
{
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0
заработало

start()
{
cd $GAME_PATH && screen -AmdS $SCREEN_NAME ./ucc-bin server AR-Champions.run?game=Arena.ArenaGameInfo?mutator=
RFVotesPlus.RFVotesPlus?AdminName=Ragnarok?AdminPassword=1 LOG=server1.log

}
stop()
{
PID=`ps fax | grep $SCREEN_NAME | grep SCREEN | awk '{ print $1 }'`
kill $PID
}
не понятно что вставлять для l4d или еще какой либо игры
Последний раз редактировалось Gordiy 27.09.2010, 10:43, всего редактировалось 5 раз.

Danfocus
Лейтенант
Лейтенант
Сообщения: 191
Зарегистрирован: 05.02.2007

#2 Сообщение 15.09.2010, 05:16

Пропиши
/полный/путь/до/твоего/startl.sh
в файл /etc/rc.local , но перед exit 0

Аватара пользователя
pinkpiton2
Майор
Майор
Сообщения: 724
Зарегистрирован: 06.08.2008
Откуда: Одесса
Благодарил (а): 1 раз
Поблагодарили: 1 раз

#3 Сообщение 15.09.2010, 11:51

а поиском воспользоватся слабо?
обсуждалось и не один раз

вот мой вариант скрипта
http://forum.csmania.ru/viewtopic.php?p=408999#p408999
чтение инструкции - 5$/строка.
чтение инструкции с выражением - 25$/строка.
чтение инструкции с пошаговым выполнением - прямо пропорционально тупости заказчика, но не менее 500$.

Аватара пользователя
Punkk
Капитан
Капитан
Сообщения: 481
Зарегистрирован: 04.01.2008
Поблагодарили: 11 раз

#4 Сообщение 15.09.2010, 12:25

pinkpiton2 писал(а):а поиском воспользоватся слабо?
обсуждалось и не один раз

вот мой вариант скрипта
http://forum.csmania.ru/viewtopic.php?p=408999#p408999
он не скрипт просит А спрашивает как автостарт сделать

http://meandubuntu.ru/2009/08/%D1%81%D0 ... B2-ubuntu/
Вот хорошая статья для таких же чайников как я

LEII4A
Лейтенант
Лейтенант
Сообщения: 213
Зарегистрирован: 22.08.2009
Откуда: оттуда
Благодарил (а): 1 раз

#5 Сообщение 15.09.2010, 23:17

cron руллез)

Аватара пользователя
pinkpiton2
Майор
Майор
Сообщения: 724
Зарегистрирован: 06.08.2008
Откуда: Одесса
Благодарил (а): 1 раз
Поблагодарили: 1 раз

#6 Сообщение 16.09.2010, 00:06

LEII4A писал(а):cron руллез)
если у тебя серв падает от каждого чиха, то оно не столько рулез, сколько единственно возможное решение...
чтение инструкции - 5$/строка.
чтение инструкции с выражением - 25$/строка.
чтение инструкции с пошаговым выполнением - прямо пропорционально тупости заказчика, но не менее 500$.

Gordiy
Сержант
Сержант
Сообщения: 35
Зарегистрирован: 24.10.2009

#7 Сообщение 16.09.2010, 01:44

Danfocus писал(а):Пропиши
/полный/путь/до/твоего/startl.sh
в файл /etc/rc.local , но перед exit 0
не сработало: прописал /opt/l4d/startl.ch - не сработало

Добавлено спустя 1 минуту 42 секунды:
pinkpiton2 писал(а): вот мой вариант скрипта
http://forum.csmania.ru/viewtopic.php?p=408999#p408999

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

з.ы. - на выделенном сервере несколько хозяев, и может произойти не предвиденный ребут, который приведет к отключению серваков, а запуститься сами они не смогут

Добавлено спустя 41 секунду:
Punkk писал(а):он не скрипт просит А спрашивает как автостарт сделать

http://meandubuntu.ru/2009/08/%D1%81%D0 ... B2-ubuntu/
Вот хорошая статья для таких же чайников как я
статью добавил даже себе в избранное, домой приду попробую отпишусь! Надеюсь она мне помогет, на debian
Последний раз редактировалось Gordiy 16.09.2010, 01:55, всего редактировалось 1 раз.

Danfocus
Лейтенант
Лейтенант
Сообщения: 191
Зарегистрирован: 05.02.2007

#8 Сообщение 16.09.2010, 05:26

Gordiy писал(а):
Danfocus писал(а):Пропиши
/полный/путь/до/твоего/startl.sh
в файл /etc/rc.local , но перед exit 0
не сработало: прописал /opt/l4d/startl.ch - не сработало
А если так?
cd /opt/l4d && /bin/sh /opt/l4d/startl.сh
Последний раз редактировалось Danfocus 16.09.2010, 05:27, всего редактировалось 1 раз.

Krab1
Лейтенант
Лейтенант
Сообщения: 187
Зарегистрирован: 12.01.2009
Поблагодарили: 1 раз

#9 Сообщение 16.09.2010, 06:09

cd /opt/l4d/ && ./startl.сh

Danfocus зачем лишний код типа /bin/sh /opt/l4d/startl.сh если ты уже указал ему папку?

ну есть еще вариант если юзаешь suse :)
Последний раз редактировалось Krab1 16.09.2010, 06:11, всего редактировалось 2 раза.

Gordiy
Сержант
Сержант
Сообщения: 35
Зарегистрирован: 24.10.2009

#10 Сообщение 16.09.2010, 06:30

А если так?
cd /opt/l4d && /bin/sh /opt/l4d/startl.сh
не сработало
cd /opt/l4d/ && ./startl.сh

Danfocus зачем лишний код типа /bin/sh /opt/l4d/startl.сh если ты уже указал ему папку?
тоже не сработало

Danfocus
Лейтенант
Лейтенант
Сообщения: 191
Зарегистрирован: 05.02.2007

#11 Сообщение 16.09.2010, 07:29

Krab1 писал(а):cd /opt/l4d/ && ./startl.сh

Danfocus зачем лишний код типа /bin/sh /opt/l4d/startl.сh если ты уже указал ему папку?
1. Ты уверен что было ранее сделано chmod +x /opt/l4d/startl.ch ?
2. Ты уверен что в startl.ch есть строчка #! /bin/sh или подобная ?
Gordiy писал(а): не сработало
покажи вывод когда ты в консоли выполняешь эту команду

Gordiy
Сержант
Сержант
Сообщения: 35
Зарегистрирован: 24.10.2009

#12 Сообщение 16.09.2010, 07:52

получилось сделать так:

Код: Выделить всё

заходим в etc/init.d
копируем наш файл запуска startz.ch и прописываем в нем следуещее:
cd &&
cd opt/zps/orangebox &&
./srcds_run -console -game zps +ip 0.0.0.0 +hostport 27015 +exec server.cfg +map zps_silence +maxplayers 20 -secure &

После рассказываем системе что этот файл нужно исполнять при старте системы:
update-rc.d startz.ch defaults

Krab1
Лейтенант
Лейтенант
Сообщения: 187
Зарегистрирован: 12.01.2009
Поблагодарили: 1 раз

#13 Сообщение 17.09.2010, 05:15

Danfocus писал(а): 1. Ты уверен что было ранее сделано chmod +x /opt/l4d/startl.ch ?
2. Ты уверен что в startl.ch есть строчка #! /bin/sh или подобная ?
ну я думаю все те вещи что ты указал должны всегда делаться по умолчанию :D смысл писать на баше скрипт не указав #!/bin/sh или другие вещи (вдруг на перле? :D) собственно как и chmod

Gordiy
Сержант
Сержант
Сообщения: 35
Зарегистрирован: 24.10.2009

#14 Сообщение 17.09.2010, 05:26

хмм. интересно на ZPS сработал запуск, на l4d нет, странно это все

Аватара пользователя
pinkpiton2
Майор
Майор
Сообщения: 724
Зарегистрирован: 06.08.2008
Откуда: Одесса
Благодарил (а): 1 раз
Поблагодарили: 1 раз

#15 Сообщение 19.09.2010, 14:18

Gordiy писал(а):хмм. интересно на ZPS сработал запуск, на l4d нет, странно это все
очень подозреваю что ты немного путаешь операционки
в юниксоподобных как такового расширения практически не существует (т.е. оно как бы есть, но служит не более чем для удобства человека)

я могу кинуть в /etc/init.d/ текстовый файлик с названием css.avi или css.kakaja_to_hren первой строкой в нём написать #!/bin/bash или #!/bin/sh и дать ему признак исполняемости, дать команду в init.d
update-rc.d css.avi defaults
и оно будет запускатся при каждом старте системы

а могу первой строкой написать #!/usr/bin/php
и написать на пхп скрипт запуска контрового сервера

и во всех вышеприведённых случаях я не буду каждый раз прыгать и запускать серв если в сервачной за 500 км от моего дома что-то случилось с питанием или серваки просто были перезагружены из-за того, что пришлось обновить ядро
чтение инструкции - 5$/строка.
чтение инструкции с выражением - 25$/строка.
чтение инструкции с пошаговым выполнением - прямо пропорционально тупости заказчика, но не менее 500$.

Ответить