SA-MP Forums

SA-MP Forums (https://forum.sa-mp.com/index.php)
-   Русский/Russian (https://forum.sa-mp.com/forumdisplay.php?f=32)
-   -   Зависание сервера (https://forum.sa-mp.com/showthread.php?t=364310)

RoAChik 30/07/2012 11:19 AM

Зависание сервера
 
Всем привет. Возникла такая не очень понятная проблема. Сервер работал и ни с того ни с сего "завис". То есть сервер работает дальше, но приконнектиться к нему нельзя, коннект останавливается на месте:
Quote:

Connected. Joining the game...
Дальше ничего не происходит. Те игроки, что играли в момент повиса висели в списке игроков, хотя и не играли. Сервер пингуется, ркон команды работают, кроме gmx, exit, changemode. Подгружал ФС:
Quote:

public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Blank Filterscript by your name here");
print("--------------------------------------\n");
GameModeExit();
SendRconCommand("gmx");
SendRconCommand("exit");
return 1;
}
Принт выводится, дальше ничего. Сервер стоит на винде. Раньше такое изредка было, но там были проблемы на стороне хостинга, я бы так и дальше считал, если бы не вчерашние некоторые обновления, хотя возможно совпадение. Читал англ. раздел, находил топики с проблемой этой, вразумительных ответов не нашёл, кто-то писал, что после кика игроков восстановится, кикнул - ничего не поменялось. Поэтому у меня 2 вопроса возникло:
1. Из-за чего может возникнуть такой повис?
2. Как нибудь можно его убрать, если, кроме FTP и собственной ркон панели ничего не имеется?
Заранее спасибо.

DartfoL 30/07/2012 12:21 PM

Re: Зависание сервера
 
скорее всего бесконечный цикл в моде
на всякий случай гляньте логи

RoAChik 30/07/2012 12:25 PM

Re: Зависание сервера
 
в логи ничего не пишется, при чьем-то коннекте
[30:07:2012 15:26:09] Incoming connection: 128.69.29.19:55383
и всё. Ркон команды работают, но без exit, непонятно почему. Подгрузил ФС с функцией SetWorldTime - работает, запустил в нём таймер - не работает.
SendRconCommand("weather 3"); - работает
SendRconCommand("exit"); - не работает

Stepashka 30/07/2012 12:42 PM

Re: Зависание сервера
 
У тебя зацикливается скрипт.
RCON работает в отдельном потоке, поэтому ему не страшно.
exit и gmx не работают потому что их вызов требует выполнения OnGameModeExit(), а его вызов встает в общую очередь, которая не двигается из-за ранее зацикленного кода.

RoAChik 30/07/2012 12:49 PM

Re: Зависание сервера
 
Stepashka, спасибо. Я так понимаю, что выключить/перезагрузить сервер не выйдет никак, кроме закрытия самого окна сервера?
Может есть вариант крашнуть его? например открытием несуществующего файла (раньше крашилось вроде)

eakwarp 30/07/2012 01:32 PM

Re: Зависание сервера
 
Quote:

Originally Posted by RoAChik (Post 2021754)
Stepashka, спасибо. Я так понимаю, что выключить/перезагрузить сервер не выйдет никак, кроме закрытия самого окна сервера?
Может есть вариант крашнуть его? например открытием несуществующего файла (раньше крашилось вроде)

Вы поймите, что у вас основной поток сервера, застопорился, вероятно, ожидая выполнения цикла(а может из за рекурсии, не важно), ищите где, открытие несуществующего файла встанет в ту же очередь, которая скопилась и ждет выполнения цикла.

RoAChik 30/07/2012 01:57 PM

Re: Зависание сервера
 
SetWorldTime(5); - работает. Или он тоже к рконовскому потоку относится? В любом случае ты прав, до открытия файла не доходит... Найти и поправить это я всегда успею, сейчас мне нужно как-то положить сервер.

Stepashka 30/07/2012 02:03 PM

Re: Зависание сервера
 
Только убить процесс.


All times are GMT. The time now is 05:11 PM.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.