Bug with excess 'ackslimit'
#1

Hello I wrote on the eve command that was supposed to make the machine speed, until it is equal to 10 km / h Frankly, I doubt the performance of this team and pre-tested. The command worked not correctly, but the most interesting thing is that the server crashed, and before that in the log records was a huge amount of excess 'ackslimit' (exceeded values ​​were huge - they could reach 32000). So, it is very rare, there have been records and exceeding 'messageholelimit', but there were very few records.
I'm dealing in the command, and that I did write it not correctly, but then why did from logging reports of excessive?
Here are some excerpts from the log file:
PHP код:
 [01:49:25Warningclient exceeded 'ackslimit' 127.0.0.1:2556 (7854Limit3000/sec 
[01:49:25Warningclient exceeded 'ackslimit' 127.0.0.1:2556 (7854Limit3000/sec 
[01:49:25Warningclient exceeded 'ackslimit' 127.0.0.1:2556 (7854Limit3000/sec 
So, I installed the plugin crashdetect. (plugin is loaded first)
Below are files (2), in which there is complete information about events and more doing to him.

P.s. Sorry for my bad english)

P.s.s. The source of this command, I also brought below:
PHP код:
    if(strcmp("/speed"cmdtrue10)  == 0)
    {
        if(!
IsPlayerInAnyVehicle(playerid)) return 1;
        while(
GetPlayerSpeed(playerid) < 10)
        {
            
SetVehicleSpeed(GetPlayerVehicleID(playerid), GetPlayerSpeed(playerid)+0.5);
        }
        return 
1;
    } 
Reply
#2

Why do you use it in a loop? Assuming that the player's speed is always less than 10, that'll run forever. About the crash, I've read that SetVehicleVelocity caused crashes if the values were too high but I'm not aware if it still happens.
Reply
#3

This loop will never stop because GetVehicleSpeed(i guess it uses GetVehicleVelocity) takes some time to be updated by the client.
= You spam the client with an unlimited amount of SetVehicleVelocity calls, which causes the ackslimit to exceed.
The Warning message appears multiple times because the SA-MP server can not block 127.0.0.1
Reply
#4

Quote:
Originally Posted by d0
Посмотреть сообщение
This loop will never stop because GetVehicleSpeed(i guess it uses GetVehicleVelocity) takes some time to be updated by the client.
= You spam the client with an unlimited amount of SetVehicleVelocity calls, which causes the ackslimit to exceed.
The Warning message appears multiple times because the SA-MP server can not block 127.0.0.1
Oh, thanks! I didn't know it...

Quote:
Originally Posted by Konstantinos
Посмотреть сообщение
Why do you use it in a loop?
Actually, I just wanted to make a smooth speed boost
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)