SA-MP Forums Archive
[Ayuda] Mi servidor se congela - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: [Ayuda] Mi servidor se congela (/showthread.php?tid=479279)



[Ayuda] Mi servidor se congela - yohan5632 - 04.12.2013

Mi servidor se congela al llegar a 35 usuarios especificamente y tengo un vps con 2 gb de ram que tiene 2 servs con mas de 200 usuarios cada uno sin NADA de lag es el GM pero no se que pasa uso base ZC


Respuesta: [Ayuda] Mi servidor se congela - JustBored - 04.12.2013

Quote:
Originally Posted by adrianxd
Посмотреть сообщение
Excelente historia harry solo le faltaron las putas.
Si no muestras nada de cуdigo no te podemos ayudar en nada, esto no es PS mai friend, puede ser que tengas un cуdigo defectuoso que lagee el servidor y que en general a la cuenta de 35 usuarios lo pare, o capaz un bucle infinito, pasa los timers globales, o bucles que afecten a todo el servidor y que realicen grandes operaciones; lo mismo con los timers.


Respuesta: [Ayuda] Mi servidor se congela - Zume - 04.12.2013

Parece que es el GM, a mi me sucediу lo mismo en un servidor que tuve (este fue echo para joder) y no encontrй el problema, pensй que era el host


Respuesta: [Ayuda] Mi servidor se congela - yohan5632 - 04.12.2013

Man hablame en espaсol creo que es esto lo que me pides

PHP код:
//timers del servidor
timer Anticheat[1000]()
{
    foreach(
Playeri)
    {
        if(
IsPlayerConnected(i)){
            new 
Float:healthFloat:armor;
            
GetPlayerHealth(ihealth);
               if(
health Info[i][pHealth]){
                
SetPlayerHealth(iInfo[i][pHealth]);
              }
            
GetPlayerArmour(iarmor);
              if(
armor ScriptArmor[i]){
                
GiveArmorToPlayer(iScriptArmor[i]);
            }
        }
    }
    return 
1;
}
timer severTimers[1000]()
{
    
AddsOn();
    if(
iAdverTimer >= 1)
        --
iAdverTimer;
    foreach(
Playeri)
    {
        
SyncPlayerTime(i);
        if(
IsPlayerConnected(i) && gPlayerLogged{i} == 1)
        {
            if(
Tied[i] > 0TogglePlayerControllable(i0);
            if(
GetPVarInt(i"EMSAttempt") == -1ApplyAnimation(i"CRACK""crckdeth2"4.0100001);
            if(
CellTime[i] > 0)
            {
                if (
CellTime[i] == cchargetime)
                {
                    
CellTime[i] = 1;
                    if(
Mobile[Mobile[i]] == i)
                    {
                        
CallCost[i] = CallCost[i]+callcost;
                    }
                }
                
CellTime[i]++;
                if (
Mobile[Mobile[i]] == INVALID_PLAYER_ID && CellTime[i] == 5)
                {
                    if(
IsPlayerConnected(Mobile[i]))
                    {
                        new 
called[MAX_PLAYER_NAME], string[96];
                        
GetPlayerName(Mobile[i], calledsizeof(called));
                        
format(stringsizeof(string), "* El telйfono de %s esta sonando"called);
                        
ProxDetector(30.0Mobile[i], stringCOLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                    }
                }
            }
            if(
CellTime[i] == && CallCost[i] > 0)
            {
                new 
string[24];
                
format(stringsizeof(string), "~w~Costo de llamada~n~~r~%d",CallCost[i]);
                
GivePlayerCash(i, -CallCost[i]);
                
GameTextForPlayer(istring50001);
                
CallCost[i] = 0;
            }
            for(new 
0sizeof(Points); h++)
            {
                if(
IsPlayerInRangeOfPoint(i2.0Points[h][Pointx], Points[h][Pointy], Points[h][Pointz])){
                    if(
Points[h][Type] == && Info[i][pPot] < 3){
                        
GameTextForPlayer(i"~w~Usa /comprarhierba para comprar algo de ~n~~r~hierba"50005);
                    }
                    else if(
Points[h][Type] == && GetPVarInt(i"Packages") == 0){
                        
GameTextForPlayer(i"~w~Usa /materiales para comprar ~n~~r~paquetes de materiales."50005);
                    }
                    else if(
Points[h][Type] == 4){
                        
GameTextForPlayer(i"~w~Usa /comprarcrack para comprar ~n~algo de ~r~crack"50005);
                    }
                    else if(
Points[h][Type] == 5){
                        
GameTextForPlayer(i"~w~Usa /paquete para comprar un ~n~~r~paquete de droga"50005);
                    }
                }
            }
            if(
TransportDriver[i] < 999)
            {
                if(
GetPlayerVehicleID(i) != GetPlayerVehicleID(TransportDriver[i]) || !TransportDuty[TransportDriver[i]])
                {
                    if(
IsPlayerConnected(TransportDriver[i]))
                    {
                        new 
string[24];
                        
TransportMoney[TransportDriver[i]] += TransportCost[i];
                        
TransportTime[TransportDriver[i]] = 0;
                        
TransportCost[TransportDriver[i]] = 0;
                        
format(stringsizeof(string), "~w~Pasajero se fue~n~~g~ganaste %d",TransportCost[i]);
                        
GameTextForPlayer(TransportDriver[i], string50001);
                        
TransportDriver[i] = 999;
                    }
                }
                else if(
TransportTime[i] >= 16)
                {
                    
TransportTime[i] = 1;
                    
GivePlayerCash(i, -TransportValue[TransportDriver[i]]);
                    if(
TransportDriver[i] < 999)
                    {
                        if(
IsPlayerConnected(TransportDriver[i]))
                        {
                              
TransportCost[i] += TransportValue[TransportDriver[i]];
                            
TransportCost[TransportDriver[i]] = TransportCost[i];
                        }
                    }
                }
                
TransportTime[i] += 1;
                new 
string[24];
                
format(stringsizeof(string), "~r~%d ~w~: ~g~%d",TransportTime[i],TransportCost[i]);
                
GameTextForPlayer(istring150006);
                
GameTextForPlayer(TransportDriver[i], string150006);
                if(
TransportCost[i] > GetPlayerCash(i))
                {
                    
RemovePlayerFromVehicle(i);
                    new 
Float:slxFloat:slyFloat:slz;
                    
GetPlayerPos(islxslyslz);
                    
SetPlayerPos(islxslyslz 2);
                    
GameTextForPlayer(i"~r~No tienes mбs dinero para pagar el taxi!"40004);
                }
            }
timer severTimers2[1000](){
    foreach(
Playeri){
        if(
IsPlayerConnected(i) && gPlayerLogged{i} == 1){
            if(
Info[i][pTimePayDay] >= 0)
            {
                new 
string[128];
                 
Info[i][pTimePayDay]++;
                if(
Info[i][pTimePayDay] >= 3600){
                     new 
tmpintrateinterestpaytotal;
                        
tmpintrate 1;
                    
interest = (Info[i][pAccount]/1000)*(tmpintrate);
                    
paytotal Info[i][pPayCheck]-TaxValue;
                    if(
Info[i][pVIP] == && interest 50000interest 50000;
                    else if(
Info[i][pVIP] == && interest 100000interest 100000;
                    else if(
Info[i][pVIP] == && interest 150000interest 150000;
                    else if(
Info[i][pVIP] == && interest 200000interest 200000;
                    else if(
Info[i][pVIP] >= && interest 250000interest 250000;
                    
Info[i][pAccount] += interest;
                    if(
Info[i][p_Pr_Time] == 10){
                        
SendClientMessageEx(iCOLOR_WHITE"  Ya puedes volver hacer viajes de camionero.");
                        
Info[i][p_Pr_Time] = 0;
                    }
                    if(
Info[i][pRenting] != INVALID_HOUSE_ID){
                        if(
HouseInfo[Info[i][pRenting]][hRentFee] > Info[i][pAccount]){
                            
Info[i][pRenting] = INVALID_HOUSE_ID;
                            
SendClientMessageEx(iCOLOR_WHITE"Fuiste desalojado de la casa que rentabas.");
                        }
                        else{
                            
HouseInfo[Info[i][pRenting]][hSafeMoney] += HouseInfo[Info[i][pRenting]][hRentFee];
                            
Info[i][pAccount] -= HouseInfo[Info[i][pRenting]][hRentFee];
                        }
                    }
                    
Info[i][pRob] = 0;
                    if(
Info[i][pVIP] >= 4Info[i][pVTokens]+= 2;
                    if(
Info[i][pDobleExp] == 0){Info[i][pExp] += 1;}
                    else{
                        
Info[i][pExp] += 2;
                        
Info[i][pDobleExp]--;
                        
format(stringsizeof(string), "* Ganaste 2 puntos de respeto por tener horas de doble experiencia, te quedan %d horas mбs."Info[i][pDobleExp]);
                        
SendClientMessageEx(iCOLOR_YELLOWstring);
                    }
                    
SendClientMessageEx(iCOLOR_WHITE,         "* ESTADO DE CUENTA DEL BANCO DE SAN ANDREAS * ");
                    
format(stringsizeof(string),                 "  Pago:  $%d | Impuestos    : -$%d"Info[i][pPayCheck], TaxValue);
                    
SendClientMessageEx(iCOLOR_GRAD2string);
                    
format(stringsizeof(string),                 "  Interйs ganado: 0.%d por ciento"interest);
                    
SendClientMessageEx(iCOLOR_GRAD2string);
                    
Info[i][pAccount] += paytotal;
                    
format(stringsizeof(string),                 "  Total: $%d | N. Balance    : %d$"paytotalInfo[i][pAccount]);
                    
SendClientMessageEx(iCOLOR_GRAD2string);
                    
SendClientMessageEx(iCOLOR_WHITE,         "-------------------------------------------------");
                    
//GivePlayerCash(i, paytotal);
                    
Info[i][pPayCheck] = 0;
                     
Info[i][pTimePayDay] = 0;
                     
Info[i][pConnectTime] += 1;
                    
RewardPlayer(i);
                    
OnPlayerSavedStats(i);
                    
GameTextForPlayer(i"~y~Pay~n~~w~Check"50001);
                    if(
Info[i][pConnectTime] == 2){
                        
Info[i][pWRestricted] = 0;
                        
SendClientMessageEx(iCOLOR_GRAD2"Nota: Cumpliste las 2 horas de juego, la restricciуn de armas fue eliminada");
                    }
                    if(
Info[i][pAdiccion] > 0Info[i][pAdiccion] -= 2;
                    if(
Info[i][pWRestricted] > 0){
                        
Info[i][pWRestricted]--;
                        if(
Info[i][pWRestricted] == 1SendClientMessageEx(iCOLOR_LIGHTRED"Tus armas ya no estбn restringidas!");
                    }
                }
            }
            if(
GetPlayerPing(i) > MAX_PING){
                new 
string[128];
                   
format(stringsizeof(string), "{0D56E7}[STAFF] >> {FFFFFF} %s ha sido kikeado por tener %d de ping (maximo: 1500)."GetPlayerNameEx(i), GetPlayerPing(i) );
                
ABroadCast(COLOR_GENERALstring2);
                
SendClientMessageEx(iCOLOR_GENERAL"SERVER: {FFFFFF}Has sido expulsado del servidor, tu ping superу el mбximo.");
                
Kick(i);
            } 
Los bucles la verdad no tengo idea