-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
EXPERIMENTAL! Packet read ops accounting and limiting #6651
base: minor-next
Are you sure you want to change the base?
Conversation
for now this is configured to warn only by default, until we get the parameters for it dialled in
The system as described in the issue is OK for me as it permit server owner the ability to change the values. But when I read pmmp/BinaryUtils@8cfa34c we are agree that some cost read/write ops are missing ? (like: strings, bytes, int) And that this PR is not ready to be merged in its current state? |
Fixed size types are accounted for in get(). String is 2 operations: getVarInt() and get(). It's not dependent on the size of the type but rather the number of calls needed to decode it. |
Right |
I'm hung on this for now only because I'm not sure about the exact parameters to use for the accounting and limiting. May be necessary to just throw it into the wild to collect data. |
If we launch it into the wild, we'll need a way of determining whether the values are globally correct or whether, on the contrary, server owners are obliged to increase them all the time. |
Yeah, well unfortunately I've found that server owners tend not to engage with experiments unless I just release them as stable and wait for people to start screaming. |
I can't test on my own with a large server. Could be a good idea to release it as stable and see what happened :/ (this sound very creepy). |
later i will test it on 2 servers with about ~80 online on each |
so far I've noticed only one problem, it's the player's FPS
but it's possible to "fix" it by simply increasing: |
thanks mojang |
This PR implements the system described in pmmp/BedrockProtocol#301.
By default, the system will only warn when the read ops budget is depleted. In the future, once the defaults are dialled in, this will kick the player by default.