Quote:
|
Originally Posted by Kaimetsu
Movement packets are actually UDP datagrams, right? From what I understand of the protocol, it's a very fire-and-forget system. If the client tries to send them when the connection is down, they'll just fail and be forgotten. They don't enter any kind of queue, so it's not like the server will be receiving more than usual once the connection is reestablished.
|
I do not deny my ignorance of such protocols, but TCP is another option for Graal, and I do believe that TCP operates differently. If these packets were just ignored, then how would you explain this:
I've seen an individual player stop moving for some arbitrary length of time and then seen them start to move again, only they are moving faster than is possible along the paths they presumably walked along while they did not appear to move.
Quote:
Why tackle a single cause and not the problem?
The problem here is that players can move in ways that weren't intended. That is the problem. Your advised approach is like saying we should ban cigarettes so we don't have to bother looking for a cancer cure anymore.
|
I still don't agree with your naming conventions here. I don't see the unintended movement as a problem of its own to address (like cancer is) but more as the visible effect of some other problems, much like a fever that is a symptom of some bacterial infection. Sure, you can take something to deal with the fever, but would it not be far more productive if you took something to deal with the bacteria? Sure, you can do both in this example, but I hardly think it's a good (or, better, as I initially inquired) idea to just treat the fever.
I just see a lot of problems with monitoring the player's actual speed. It just gets too complicated. What about servers that allow you to move quickly, staff boots, vehicles that allow you to move faster than you walk, etc.? Where do you draw the line? For example, if you don't let anyone move faster than, say, the trains on Graal2001, that's fast enough to render it relatively ineffective. Sure, the extreme moving-around would be limited, but you could still go as fast as a train.
Quote:
|
Would it not currently be possible to send arbitrary movement packets? As long as I don't send too many of them, I can move as quickly as I want. I can warp randomly around the level as long as I don't exceed x packets per second.
|
If you had a method of sending such packets, could you not also use that method to cause some other trouble not related to movement? Then, would not the best method to deal with that problem be to remove the vulnerability that allows you to send such packets, rather than simply dealing with the movement packets you send?