[warning] client exceeded 'ackslimit'
#1

Hola, tengo un problema, al ingresar al servidor y utilizar el comando de teleport que hice para ir a un negocio me saca del servidor mostrando un warning en el log.

Comando:
pawn Код:
CMD:irnegocio(playerid, params[])
{
foreach(fC, i)
{
if(sscanf(params, "d", i)) return SendClientMessage(playerid, -1, "/irnegocio [ID]");
SetPlayerPos(playerid, InfoNeg[i][Entrada_x], InfoNeg[i][Entrada_y], InfoNeg[i][Entrada_z]);
}
return 1;
}
Problema:

[warning] client exceeded 'ackslimit' xy.x.yxy.xy:xyxyx (3266) Limit: 3000/sec
[warning] client exceeded 'ackslimit' xy.x.yxy.xy:xyxyx (4324) Limit: 3000/sec

PD: donde dice "xy.x.yxy.xy:xyxyx" es por que mostraba mi ip.
Reply
#2

Agrega return 1 abajo de SetPlayerPos. Eso pasa porque te pone demaciadas veces la posicion (tantas veces como negocios halla), lo que significa un paquete y el cliente responde esa misma cantidad de veces. El server tiene limites, como messagelimit que limita los paquetes por segundo o ackslimit que limita las respuestas.

Entonces, estas floodeando al usuario con paquetes, el usuario responde floodeando respondiendo a tu flood. Cuando el server ve el flood saca al jugador y manda la advertencia
Reply
#3

Quote:
Originally Posted by spell
Посмотреть сообщение
Agrega return 1 abajo de SetPlayerPos. Eso pasa porque te pone demaciadas veces la posicion (tantas veces como negocios halla), lo que significa un paquete y el cliente responde esa misma cantidad de veces. El server tiene limites, como messagelimit que limita los paquetes por segundo o ackslimit que limita las respuestas.

Entonces, estas floodeando al usuario con paquetes, el usuario responde floodeando respondiendo a tu flood. Cuando el server ve el flood saca al jugador y manda la advertencia
Gracias, ahora voy a tener en cuenta el return 1 por si vuelve a pasar que algo se repite muchas veces.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)