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

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

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

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

Keepalive

, легкий скрипт управления сервером
Статус пользователя theaqua
сообщение 12.7.2011, 15:45
Сообщение #1


Стаж: 15 лет

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

Предыстория
Достался мне в наследство один скрипт управления сервером, который мог только start | stop | restart, да и то, через убивание процесса. Ну я им пользовался, особо не жаловался, но что-то вчера пришло в голову раскрасить вывод сообщений (баловался с цветами баша), ну так и оптимизировал его, а сегодня дописал.


Описание
Скрипт управления игровыми серверами на базе hlds/srcds, позволяющий:
  • Запускать сервер
  • Останавливать сервер посредством quit в консоли
  • "Мягко" перезапускать — игрокам через say консоли пишется предупреждение, идет отчет до перезапуска
  • Быстро перезапускать — без всяких предупреждений выключается и запускается обратно
  • Обновлять сервер всего одной командой
  • Проверять сервер и в случае его недоступности — запускать (полезно для cron'а, например)

Из прочих плюшек:
  • Красиво оформленный вывод сообщений
  • Поддержка автором
  • Минимализм без ущерба функциональности — ничего лишнего, но только нужное
  • Читаемый код!
  • Бэкдоры!


Установка
Вам потребуются следующие пакеты: screen. Установить их можно через файловый менеджер вашей ОС — apt-get install screen для Debian based систем; yum install screen для RHEL; emerge screen для Gentoo.
  • Переходим в папку /etc/init.d
    Код
    cd /etc/init.d
  • Качаем скрипт
    Код
    wget http://desagr.ru/server.sh
  • По желанию переименовываем (если у вас много серверов, например). Так же рекомендую убрать расширение
    Код
    mv server.sh cs_public
  • Открываем текстовым редактором, заполняем своими значениями
    Код
    nano -w cs_public

    или
    Код
    vim cs_public
  • Даем права на исполнение
    Код
    chmod +x cs_public
  • Готово! Для подробной информации и команд рекомендую просмотреть справку
    Код
    service cs_public info

    либо
    Код
    /etc/init.d/cs_public info


    Установка описана для новичков, конечно, на 100% не стоит следовать ей, если вы понимаете, что это и как с этим работать. Вы вольны сами настраивать так, как вам угодно.


Скриншоты






ToDo
Идей нету, все будет сделано по фич-реквестам и баг-репортам :)
Просьба придерживаться идеи минимализма и не просить меня добавить нужную только Вам свистелку.


Лицензия

Цитата
Произведение «Keepalive» созданное автором по имени theaqua, публикуется на условиях лицензии Creative Commons Attribution-NonCommercial-ShareAlike (Атрибуция — Некоммерческое использование — С сохранением условий) 3.0 Непортированная.
Разрешения, выходящие за рамки данной лицензии, могут быть доступны на странице gm-community.net.

Вы можете свободно:
  • делиться — копировать, распространять и передавать другим лицам данное произведение
  • изменять (создавать производные произведения) — чтобы приспособить это произведение к своим задачам

При обязательном соблюдении следующих условий:
  • Attribution (Атрибуция) — Вы должны атрибутировать произведение (указывать автора и источник) в порядке, предусмотренном автором или лицензиаром (но только так, чтобы никоим образом не подразумевалось, что они поддерживают вас или использование вами данного произведения).
  • Некоммерческое использование — Вы не можете использовать это произведение в коммерческих целях.
  • Сохранение условий (Share Alike) — Если вы изменяете, преобразуете или берёте за основу это произведение, вы можете распространять результат только по такой же или подобной лицензии, что и у данного произведения.


Поддержка
Тред на gm-community.net либо мой бложик
Хотелось бы выразить благодарность lexikon'у, ведь его части кода я использовал в некоторых моментах. Также хотел бы выразить благодарность Fedcomp'у за помощь в некоторых моментах и критику. xPaw'у и Mikler'у за помощь с цветами баша и вообще за помощь :)


!
Аккаунт пользователя заблокирован до: 18.10.29390, 20:39
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 9 раз
   Цитировать сообщение
Статус пользователя 330863
сообщение 14.7.2011, 7:41
Сообщение #2


Стаж: 16 лет

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

Скрипт хороший но есть недостатки, думаю автор сам поправит их :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Cracky
сообщение 14.7.2011, 8:03
Сообщение #3


Стаж: 15 лет

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

330863, ты такой охрененный советчик что даже не озвучил баги.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя theaqua
сообщение 14.7.2011, 8:48
Сообщение #4


Стаж: 15 лет

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

Цитата(330863 @ 14.7.2011, 7:41) *
Скрипт хороший но есть недостатки, думаю автор сам поправит их :)

Что поправлять-то?


!
Аккаунт пользователя заблокирован до: 18.10.29390, 20:39
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 330863
сообщение 14.7.2011, 9:01
Сообщение #5


Стаж: 16 лет

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

Cracky,
я больше тебя работал с bash раз заметил недочёты!

theaqua,
вот возьми к примеру, запустил сервер, ктото его атаковал с "dlfile блаблабла (в моём случий это не проходит :biggrin:) и скрипт какбы проверяет его доступность, но проверка же простая, только по сессий (сушествует/несушествует)... как твой скрипт будет в данном случий работать ?

Далее, если у меня много скрин сессий запушено с темже именем когда я буду останавливать сервер я несмогу тк твой скрипт попытается открыть сессию с именем который дублируется ... нечего не откройт для отправки команды quit в консоли сервера...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя theaqua
сообщение 14.7.2011, 9:09
Сообщение #6


Стаж: 15 лет

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

Цитата(330863 @ 14.7.2011, 9:01) *
theaqua,
вот возьми к примеру, запустил сервер, ктото его атаковал с "dlfile блаблабла (в моём случий это не проходит :biggrin:) и скрипт какбы проверяет его доступность, но проверка же простая, только по сессий (сушествует/несушествует)... как твой скрипт будет в данном случий работать ?

Вут?

Цитата(330863 @ 14.7.2011, 9:01) *
Далее, если у меня много скрин сессий запушено с темже именем когда я буду останавливать сервер я несмогу тк твой скрипт попытается открыть сессию с именем который дублируется ... нечего не откройт для отправки команды quit в консоли сервера...

Ок, переделаю на id процесса.


!
Аккаунт пользователя заблокирован до: 18.10.29390, 20:39
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Cracky
сообщение 14.7.2011, 9:20
Сообщение #7


Стаж: 15 лет

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

Цитата(330863 @ 14.7.2011, 10:01) *
Cracky,
я больше тебя работал с bash раз заметил недочёты!

Ты уверен что ты больше меня с башем работал? я бы не был так уверен. А то что ты в том посте высказался в стиле "Ну короче у тя чота не пашет надеюсь ты исправишь", вот ТС просто пахнет что за недочеты тебе там померещились
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 330863
сообщение 14.7.2011, 9:29
Сообщение #8


Стаж: 16 лет

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

theaqua,
Цитата
Вут?

а что думаеш все такие умные как ты и ставят зашиту нужную против таких вешей ? :biggrin:

Cracky,
я правда мало работал но много чего уже знаю в нём и заметив баги я несобирался помогать автору потому что он нечего неузнает нового тем что я пофиксю недочёты

жаль тебя что ты не заметил недочёты, видно что ты много работал в bash)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя theaqua
сообщение 14.7.2011, 9:32
Сообщение #9


Стаж: 15 лет

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

Цитата(330863 @ 14.7.2011, 9:29) *
theaqua,

а что думаеш все такие умные как ты и ставят зашиту нужную против таких вешей ? :biggrin:

А я тут причем? Владелец сервера не ставит защиту, почему же сторонний скрипт должен об этом беспокоиться?


!
Аккаунт пользователя заблокирован до: 18.10.29390, 20:39
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Cracky
сообщение 14.7.2011, 9:53
Сообщение #10


Стаж: 15 лет

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

Цитата(330863 @ 14.7.2011, 10:29) *
я правда мало работал но много чего уже знаю в нём и заметив баги я несобирался помогать автору потому что он нечего неузнает нового тем что я пофиксю недочёты

жаль тебя что ты не заметил недочёты, видно что ты много работал в bash)

Кто воще сказал что я их искал? я даже не глядел в скрипт. Ты хочешь сказать что те кто, допустим работают php программистами с окладом ну штук 50, будут бегать по форумам и копать гавнокод новичкам?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 330863
сообщение 14.7.2011, 9:57
Сообщение #11


Стаж: 16 лет

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

Cracky,
тогда копай гавнокод и багрепорт предявляй, мне будет интересно посмотреть на твой знания в bash :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя theaqua
сообщение 14.7.2011, 10:34
Сообщение #12


Стаж: 15 лет

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

Цитата(330863 @ 14.7.2011, 9:57) *
Cracky,
тогда копай гавнокод и багрепорт предявляй, мне будет интересно посмотреть на твой знания в bash :)

Причем тут это вообще? Он лишь сказал, что твоя критика была неаргументированная и исправить я ничего не мог, исходя из твоего "баг-репорта", ибо я и понятия не имею, что включало в себя "ну думаю автор и сам поправит недочеты".


!
Аккаунт пользователя заблокирован до: 18.10.29390, 20:39
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 330863
сообщение 14.7.2011, 12:08
Сообщение #13


Стаж: 16 лет

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

theaqua,
я считаю что лучше если автор скрипта сам посмотрит в код и пойшит по мойм словам баг, ты же нечё непоймёш если я тебе скажу вот пиши так ... вот тут ...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя theaqua
сообщение 14.7.2011, 12:15
Сообщение #14


Стаж: 15 лет

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

Цитата(330863 @ 14.7.2011, 12:08) *
theaqua,
я считаю что лучше если автор скрипта сам посмотрит в код и пойшит по мойм словам баг, ты же нечё непоймёш если я тебе скажу вот пиши так ... вот тут ...

Лол, я где-то просил "код запили мне"? Я лишь попросил список багов, а не их решение.


!
Аккаунт пользователя заблокирован до: 18.10.29390, 20:39
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя 330863
сообщение 14.7.2011, 12:43
Сообщение #15


Стаж: 16 лет

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

theaqua,
ну а я так тебе и написал, я же не писал решение :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя theaqua
сообщение 8.8.2011, 15:08
Сообщение #16


Стаж: 15 лет

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

Скрипт временно недоступен, ориентировочно ближе к ночи восстановлю работоспособность хоста.


!
Аккаунт пользователя заблокирован до: 18.10.29390, 20:39
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Mr.Dmitry
сообщение 8.8.2011, 16:52
Сообщение #17


Стаж: 19 лет

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

Цитата(330863 @ 14.7.2011, 16:43) *
theaqua,
ну а я так тебе и написал, я же не писал решение :)

Блин. Что то ты тут реально гнешь из себя всемогущего. Напиши мне любой скрипт. А я тебе скажу. Скрипт клевый. Но много не дочетов надеюсь исправишь. Вообще так не красиво говорить.
Цитата
Cracky,
тогда копай гавнокод и багрепорт предявляй, мне будет интересно посмотреть на твой знания в bash

А мне интересно посмотреть на твои знания bash'a

Отредактировал: Mr.Dmitry, - 8.8.2011, 16:54
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя нуб
сообщение 8.8.2011, 17:00
Сообщение #18


Стаж: 16 лет

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

Цитата
Но много не дочетов надеюсь исправишь

/trollface :)


!
Аккаунт пользователя заблокирован до: 26.8.2285, 9:17
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Cracky
сообщение 4.8.2012, 5:31
Сообщение #19


Стаж: 15 лет

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

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