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

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

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

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

> Правила форума

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

В данном форуме немного понижены требования к Общим правилам форума, а именно:
1. Информативность темы
2. Отходить от первоначального смысла темы

!
В разделе запрещено создавать темы связанные с раскруткой игровых серверов

Борьба с авторестартом сервера на MyArena

, Дон Кихот и ветряные мельницы
Статус пользователя Yaroslav
сообщение 24.8.2013, 21:39
Сообщение #1


Стаж: 12 лет

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

Смысл задачи - автоматически перезапускать свой сервер на этом хостинге в определенное время, желательно с Dhud'ом в игре перед рестартом.
Имеющаяся у хостинга функция рестарта сервера работает, как кошка Дуся из "записок программиста" - в какое полушарие мозга моча ударит, туда и побежит.
То рестартит сервер при игроках онлайн, то не по указанному времени. По какому принципу данному скрипту бьет моча в полушария мозга я не понял до сих пор.
Автоподъема сервера на данном хостинге я так понимаю нет, точнее есть но переболевший минингитом, так как сервер, после того как повис может часами висеть с надписью в ПУ - "Запускается".
Доступа к корню и настройкам батника запуска нет.

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

Отредактировал: Yaroslav, - 24.8.2013, 21:39
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя ds57042
сообщение 24.8.2013, 21:48
Сообщение #2
Стаж: 13 лет

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

Холстинг кривой, говорят будет новая панель управления (точнее обещают уже с января)
Upd
Доступ к системный файлам тебе не дадут практически нигде

Отредактировал: ds57042, - 24.8.2013, 22:20
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
eckoecko
сообщение 24.8.2013, 22:09
Сообщение #3
Стаж: 14 лет

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

Yaroslav, надо было раньше о хостинге думать) Напиши простенький плагин который по истечению времени будет посылать server_cmd("restart")
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ds57042
сообщение 24.8.2013, 22:10
Сообщение #4
Стаж: 13 лет

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

eckoecko,
Ему это ничего не даст, как я понял ему нужна перезагрузка сервера, авто поднятие при краше

Отредактировал: ds57042, - 24.8.2013, 22:10
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
eckoecko
сообщение 24.8.2013, 22:15
Сообщение #5
Стаж: 14 лет

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

Цитата(ds57042 @ 24.8.2013, 22:10) *
eckoecko,
Ему это ничего не даст, как я понял ему нужна перезагрузка сервера, авто поднятие при краше

ну тогда тут о чем говорить? Прям администратор myaren'ы будет давать доступ к системным файлам.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя S0m3Th1nG_AwFul!
сообщение 24.8.2013, 22:20
Сообщение #6
Стаж: 15 лет

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

В своё время одному своему знакомому, который пользуется данным хостингом, писал небольшой плагин с обратным отчётом в DHUD и отправкой команды quit (а не restart, который только перезагрузит карту) в консоль сервера.
Соответственно запуск этого плагина я отдал на откуп Hobo Crontab, свой планировщик заданий писать было уже лень.

Тогда всё работало как часы, и сервер после quit-a поднимался почти моментально. Как сейчас - точно не знаю, но жалоб от него на этот счёт мне не поступало с тех пор.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Yaroslav
сообщение 24.8.2013, 22:23
Сообщение #7


Стаж: 12 лет

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

Цитата(eckoecko @ 25.8.2013, 0:09) *
Yaroslav, надо было раньше о хостинге думать) Напиши простенький плагин который по истечению времени будет посылать server_cmd("restart")

К сожалению server_cmd("restart") очищает не всю память сервера и от "виса" сервера не спасает. Нужен железный рестарт, аналог как в ПУ.
Сервер виснет нет от крашей и без ошибок, от того, что железо данного хостинга откровенное дно, а не от того, что у меня руки из жо.. (хотя конечно они оттуда crazy.gif ).
Я просто думал, может кто-то изхитрился кроном это сделать от веб сервера и поделиться как?

Цитата(S0m3Th1nG_AwFul! @ 25.8.2013, 0:20) *
В своё время одному своему знакомому, который пользуется данным хостингом, писал небольшой плагин с обратным отчётом в DHUD и отправкой команды quit (а не restart, который только перезагрузит карту) в консоль сервера.
Соответственно запуск этого плагина я отдал на откуп Hobo Crontab, свой планировщик заданий писать было уже лень.

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

Ты просто мой кумир и прочитал мои мысли, если не сложно, скинь исходничек и скриптик для крона, буду безмерно благодарен!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя S0m3Th1nG_AwFul!
сообщение 24.8.2013, 22:39
Сообщение #8
Стаж: 15 лет

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

amx_shutdown
Код:
#include <amxmodx>
#include <dhudmessage>

#define PLUGIN "ShutdownServer"
#define VERSION "1.0"
#define AUTHOR "S0m3Th1nG_AwFul!"

#define TIMER_TASK 123456
#define RESTART_TASK 789123

new g_counter
new g_autorestart
new g_autocds

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_concmd("amx_shutdown","RestartTask",ADMIN_RCON," - server shutdown") //команда для планировщика заданий или админов с ADMIN_RCON флагом
g_autocds = register_cvar("amx_rs_countdown","1") //звук обратного отсчёта (за 10 сек до конца)
g_autorestart = register_cvar("amx_rs_time","30") //длительность обратного отсчёта
}

stock ClearDHUDMessages(id, iClear = 8)
for (new iDHUD = 0; iDHUD < iClear; iDHUD++)
show_dhudmessage(id, "");

public RestartTask(id)
{
if (!(get_user_flags(id) & ADMIN_RCON))
return PLUGIN_HANDLED

client_cmd(0, "spk ambience/doorbell")
server_cmd("amxx pause deagsmapmanager2")
server_cmd("amxx pause admincmd")
server_cmd("amxx pause adminvote")
server_cmd("amxx pause mapsmenu") //отключение плагинов, которые могут помешать шатдауну
server_cmd("mp_timelimit 0")

set_task(1.0,"TimeCounter",TIMER_TASK,_,_,"a",get_pcvar_num(g_autorestart))
set_task(get_pcvar_float(g_autorestart),"QuitServer",RESTART_TASK)

return PLUGIN_CONTINUE
}

public TimeCounter()
{
server_cmd("mp_timelimit 0")
g_counter++
new Float:iRestartTime = get_pcvar_float(g_autorestart) - g_counter
new Float:fSec
fSec = iRestartTime

ClearDHUDMessages(0)
set_dhudmessage(255, 25, 25, -1.0, 0.25, 0, 1.0, 1.0, 0.0, 0.0, false)
show_dhudmessage(0, "Внимание! Сервер будет полностью перезагружен через %d секунд!", floatround(fSec))
set_dhudmessage(25, 255, 25, -1.0, 0.25, 0, 1.0, 1.0, 0.0, 0.0, false)
show_dhudmessage(0, "^nПожалуйста, оставайтесь на линии!;)")

if(get_pcvar_num(g_autocds) && get_pcvar_num(g_autorestart) - g_counter < 11 && get_pcvar_num(g_autorestart) - g_counter !=0)
{
static szNum[32]
num_to_word(get_pcvar_num(g_autorestart) - g_counter, szNum, 31)
client_cmd(0,"speak ^"fvox/%s^"", szNum)
}
}

public QuitServer()
server_cmd("quit")


hobo_crontab.ini
Код
* * 20 32 | amx_shutdown

(выполнение команды amx_shutdown каждый день месяца и каждый день недели в 20 часов 32 минуты (отклонение может быть +/- 1 минута))

Вроде всё так было, пробуй.

Отредактировал: S0m3Th1nG_AwFul!, - 25.8.2013, 8:52
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Vitaliy
сообщение 24.8.2013, 22:45
Сообщение #9


Стаж: 14 лет

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

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

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

Отредактировал: Pro(X-Gamer)Pro, - 24.8.2013, 22:46
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Yaroslav
сообщение 24.8.2013, 22:45
Сообщение #10


Стаж: 12 лет

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

S0m3Th1nG_AwFul!,
Большое спасибо! А как быть с автоподнятием сервера? Он сам у MyArena разве поднимается после quit'а?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя S0m3Th1nG_AwFul!
сообщение 24.8.2013, 22:57
Сообщение #11
Стаж: 15 лет

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

Цитата(S0m3Th1nG_AwFul! @ 25.8.2013, 0:20) *
Тогда всё работало как часы, и сервер после quit-a поднимался почти моментально.

В принципе несколько недель назад я играл на том серве, где это настраивал ещё в том году - при мне всё это запустилось и прошло нормально. Quit, если с сервером всё нормально, никакого зависания после себя не оставляет, и автоподъём срабатывает.
Если же вдруг quit вызовет какую-то нестандартную ситуацию, которую не смогут отработать shell-скрипты хостера, то тут уже ты ничего сделать не сможешь. Либо кривые бинарники самого серва, либо кривые модули, либо с самим линуксом что-то не то... короче гадать можно долго.

Отредактировал: S0m3Th1nG_AwFul!, - 24.8.2013, 22:59
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: