Зависает сервер
#1

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

42__
Reply
#3

посмотри все ли скобки) или смотри нет ли там что нить одинаковое что крашит серв и рекомендую ставить print
Reply
#4

сервер не крашит,он работает,другие в чат пишут,а некоторые не могут,перезайдут и все нормально становиться
Reply
#5

[HHT]DRON, утечка это. Где-то памяти не хватает.
Как временное решение: после инклудов прописать:
PHP код:
#pragma dynamic 8192        // Увеличение размера стека (4096 по умолчанию) 
Reply
#6

-Stranger-,неа не помогло,заметил,что это происходит после смерти игрока
Reply
#7

OnPlayerDeath в студию
Reply
#8

У меня такое было, когда в 1 функции я создавал очень много массивов и памяти не хватало. После этого сервер драконило жёстко.
Reply
#9

да нет токое бывает и когда дважды одно и тоже повторяешь в одной функции
Reply
#10

EvgeN 1137,вот OnPlayerDeath и OnPlayerSpawn на всякий случай.

Код:
public OnPlayerSpawn(playerid)
{
if(GetPlayerSkin(playerid) == 124 || GetPlayerSkin(playerid) == 125 || GetPlayerSkin(playerid) == 126)
{
switch(Player[playerid][pVip] >= 1)
{
case 0: { SetPlayerHealth(playerid, -100.0); ForceClassSelection(playerid); SendClientMessage(playerid,-1,"Вы не VIP игрок, выбирайте другой скин!");}
}
}
new rand = random(sizeof(gRandomPlayerSpawns));
SetPlayerScore(playerid,Player[playerid][pScore]);
SetPlayerPos(playerid, gRandomPlayerSpawns[rand][0], gRandomPlayerSpawns[rand][1], gRandomPlayerSpawns[rand][2]);
SetPlayerFacingAngle(playerid, gRandomPlayerSpawns[rand][3]);
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid,3500);
ShowPlayerDialog(playerid, radio, DIALOG_STYLE_MSGBOX, "Unlimited FM", "Unlimited FM - радио станция к которой подключен наш серверю\nВы хотите подключиться к радиостанции?", "Да", "Нет");
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
SendDeathMessage(killerid, playerid, reason);
SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
GivePlayerMoney(killerid,1500);
GivePlayerMoney(playerid, -0);
return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)