Dylan K. Taylor
a4d34be6df
Merge branch 'minor-next' into major-next
2023-03-20 23:42:40 +00:00
Dylan K. Taylor
e7771d76f2
Cover buffered inventory sync in timings
2023-03-20 23:29:02 +00:00
Dylan K. Taylor
23ea721164
Reduce packets-per-batch limit to 100
...
this should be well in excess of requirements with the ItemStackRequest system in use.
2023-03-20 22:15:02 +00:00
Dylan K. Taylor
7cdab75b05
Merge branch 'minor-next' into major-next
2023-03-20 22:12:54 +00:00
Dylan K. Taylor
2bf7941aec
Merge branch 'item-stack-request-pm5' into major-next
2023-03-20 22:07:09 +00:00
Dylan K. Taylor
8408da8534
Merge branch 'item-stack-request' into minor-next
2023-03-20 22:05:50 +00:00
Dylan K. Taylor
453ad997e9
Merge branch 'item-stack-request' into item-stack-request-pm5
2023-03-20 22:05:12 +00:00
Dylan K. Taylor
ca6d51498f
Buffer slot and content syncing until the end of the tick
...
we may receive multiple requests in one tick (e.g. crafting in a batch)
2023-03-20 19:16:00 +00:00
Dylan K. Taylor
f696a5881b
Merge remote-tracking branch 'origin/stable' into minor-next
2023-03-19 16:23:09 +00:00
Dylan K. Taylor
9a969e21c7
ÂNetworkSession: ensure onResolve handler for CompressBatchPromise is covered by network send timings
2023-03-18 22:49:52 +00:00
Dylan K. Taylor
195bc3b623
NetworkSession: prevent dev client asserts from missing ability flags
2023-03-18 21:53:17 +00:00
Dylan K. Taylor
cf0e7b4213
Merge branch 'minor-next' into major-next
2023-03-16 15:04:27 +00:00
Dylan K. Taylor
ef45180b80
Rename DataPacketPreReceiveEvent -> DataPacketDecodeEvent
...
thank you @IvanCraft623 for the suggestion
2023-03-16 13:40:37 +00:00
Dylan K. Taylor
ec2b53f61a
Remove unnecessary PacketBatch instantiations
2023-03-16 13:35:12 +00:00
Dylan K. Taylor
abd4ef01eb
Merge branch 'minor-next' into major-next
2023-03-15 23:02:41 +00:00
Dylan K. Taylor
941fd03998
Remove useless code
2023-03-15 22:58:10 +00:00
Armen Deroian
183d1f4038
Implement DataPacketPreReceiveEvent ( #5559 )
...
closes #5554
This is called just before the packet is decoded, allowing the event to be used to drop packets from clients without wasting CPU time decoding them. This can be particularly useful for mitigating denial-of-service attacks.
2023-03-15 22:47:19 +00:00
Dylan K. Taylor
cc8660629b
First look at shared EntityEventBroadcaster,
...
this improves performance in PvP servers and other areas where lots of players or entities exist in one space.
fixes #5622
2023-03-15 18:22:56 +00:00
Dylan K. Taylor
dace20ad1f
Merge branch 'item-stack-request' into item-stack-request-pm5
2023-03-14 22:34:47 +00:00
Dylan K. Taylor
14f141fab2
NetworkSession: Stop counting DataPacketReceiveEvent in handler timings
...
we want it to be included in receive timings, but not handler timings. Handler timings should reflect the time spent in the actual session PacketHandler, not in the event.
2023-03-14 19:00:15 +00:00
Dylan K. Taylor
cc69383b6f
Merge branch 'minor-next' into major-next
2023-03-14 18:40:57 +00:00
Dylan K. Taylor
0022d82779
Merge commit 'd376399b7f332384532a82eaf69b9b02dad5bd0c' into minor-next
2023-03-14 18:39:03 +00:00
Dylan K. Taylor
f03afba10e
Merge branch 'minor-next' into major-next
2023-03-11 22:13:31 +00:00
Dylan K. Taylor
fa7c38276c
Fixing gigantic clusterfuck with protocol contexts and broadcasting
...
fixes #5623
2023-03-11 21:54:14 +00:00
Dylan K. Taylor
b13e97de3d
Timings: fixed receivePacket timer showing 2x the actual number of received packets
2023-03-11 19:13:10 +00:00
Dylan K. Taylor
6db2b022fb
Merge branch 'next-minor' into next-major
2023-03-04 16:58:03 +00:00
Dylan K. Taylor
a523189149
Added separate timings for broadcast and session buffer compression
2023-03-04 16:41:41 +00:00
Dylan K. Taylor
5854b1c8c2
Merge branch 'next-minor' into next-major
2023-02-22 22:51:51 +00:00
Dylan K. Taylor
6a64486f55
StandardPacketBroadcaster: Improve performance when broadcasting small packets
...
In refactors during PM4, I stripped out packet buffer caching, as it was problematic when events alter packets in undetectable ways.
However, I never cleaned this part of the code up properly after enabling DataPacketSendEvent to include multiple packets and multiple targets, so we were still individually encoding the packet(s) for every single session if the sum total of the sizes was below 256 bytes.
This change encodes packets once in the StandardPacketBroadcaster and retains their buffers to post to the session's send buffer directly if the resulting batch is below compression threshold.
This code is still not optimal (see ##5589), but fixing this brings broadcasting performance back to PM3 levels, without any of PM3's problems.
2023-02-22 21:52:12 +00:00
Dylan K. Taylor
50b8d39aba
Merge branch 'next-minor' into next-major
2023-02-21 15:41:57 +00:00
Dylan K. Taylor
4dbcd714bd
NetworkSession: fixed some segments of recv/send logic not being covered by their respective network timingsÂ
2023-02-19 17:21:10 +00:00
Dylan K. Taylor
d5e92b4ae6
...
2023-02-19 16:53:04 +00:00
Dylan K. Taylor
2a3288c4f9
Avoid useless throwaway PacketBatch objects
2023-02-19 16:50:03 +00:00
Dylan K. Taylor
9cdb641936
Added encode packet timings
...
these changes required some new APIs in BedrockProtocol.
2023-02-19 16:47:20 +00:00
Dylan K. Taylor
0e0f5e85eb
Merge branch 'next-minor' into next-major
2023-02-17 20:00:51 +00:00
Dylan K. Taylor
c5dcd268ad
CS
2023-02-15 15:04:41 +00:00
Dylan K. Taylor
2fd6e769e6
NetworkSession: Improved packet budgeting
...
this fixes players getting kicked during server lag spikes.
closes #5532
2023-02-15 14:59:05 +00:00
Dylan K. Taylor
886b40a455
ÂLocalize disconnect reasons for RakLib disconnects
2023-02-13 14:10:25 +00:00
Dylan K. Taylor
074e7586cb
Merge branch 'next-minor' into next-major
2023-02-11 17:17:08 +00:00
Dylan K. Taylor
5a4550a4fc
CS
2023-02-08 18:55:49 +00:00
Dylan K. Taylor
3ba662f64f
1.19.60
2023-02-08 18:46:37 +00:00
Dylan K. Taylor
b8f6b66e42
First look at separating disconnect reason and disconnect screen messages ( #4512 )
2023-01-18 20:57:17 +00:00
Dylan K. Taylor
41e60cb62c
NetworkSession: remove unnecessary translation
2023-01-18 20:36:53 +00:00
Dylan K. Taylor
10a962daa2
First look at #5512 : gameplay permissions
2023-01-16 22:12:07 +00:00
Dylan K. Taylor
d9b8251f7b
Merge branch 'next-minor' into next-major
2023-01-16 18:31:51 +00:00
Dylan K. Taylor
ad6a423d12
Merge branch 'stable' into next-minor
2023-01-16 18:30:13 +00:00
Dylan K. Taylor
69967a0e55
Properly localize jukebox popups
2023-01-13 17:48:56 +00:00
Dylan K. Taylor
ba18a81e88
NetworkSession: fixed rate limit getting exhausted after 2.5 seconds during PvP
2023-01-13 15:28:03 +00:00
Dylan K. Taylor
ecd8f151f1
Merge branch 'next-minor' into next-major
2023-01-12 22:08:25 +00:00
Dylan K. Taylor
d74719704e
Merge branch 'stable' into next-minor
2023-01-12 19:02:07 +00:00