Целый день пытаюсь перебороть проблему с рестартом сервера.
После рестарта игрока просто кикает с сервера (Server closed the connection), и после полного перезахода в самп невозможно подключиться, пока не перезагрузишь сам сервер путем закрытия консоли. В чем может быть проблема? Вот код рестарта:
Код:
SCMTA(COLOR_YELLOW, "Внимание! Происходит рестарт сервера!");
	    SCMTA(COLOR_YELLOW, "Скоро мы вернемся!");
	    GameTextForAll("~r~RESTART", 20000, 6);
	    foreach(new i:Player)
	    {
	    	TogglePlayerControllable(i, 0);
	    	SetPlayerCameraPos(i, 1677.4501,-1493.8395,123.0782);
    		SetPlayerCameraLookAt(i, 1527.5341,-1778.5883,71.1633);
		}
		SaveAccounts();
	//	SaveFractions();
		SetTimer("@_Restarting", 15000, false);
Код:
@_Restarting();
@_Restarting()
{
	SendRconCommand("gmx");
	return 1;
}
Код:
stock SaveAccounts()
{
	foreach(new i:Player)
	{ SaveAccount(i); }
	return 1;
}
Код:
stock SaveAccount(playerid)
{
    new query_string[211+24+3+3+1+1+2+2+1+3+2+1+9+7] = "UPDATE `accounts` SET";
    format(query_string, sizeof(query_string), "%s `hp` = '%f',", query_string, PlayerInfo[playerid][pHP]);
    format(query_string, sizeof(query_string), "%s `money` = '%d'", query_string, PlayerInfo[playerid][pMoney]);
	format(query_string, sizeof(query_string), "%s WHERE `accid` = '%d'", query_string, PlayerInfo[playerid][pID]);
    mysql_tquery(dbHandle, query_string, "", "");
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    printf("[debufinfo] Disconnect(%d, %d)", playerid, reason);
    printf("[debufinfo] GetPlayerState Disconnect(%d)", GetPlayerState(playerid));
	GetPlayerHealth(playerid, PlayerInfo[playerid][pHP]);
    SaveAccount(playerid);
    KillTimer(PlayerInfo[playerid][pSecTimer]);
    RemovePlayerInfo(playerid);
	return 1;
}

public OnGameModeExit()
{
    mysql_close(dbHandle);
    TextDrawDestroy(skin[0]);TextDrawDestroy(skin[1]);TextDrawDestroy(skin[2]);
	TextDrawDestroy(LOGO[0]);TextDrawDestroy(LOGO[1]);TextDrawDestroy(LOGO[2]);
	TextDrawDestroy(LOGO[3]);TextDrawDestroy(LOGO[4]);
	KillTimer(globaltimer);
	return 1;
}