Commit Graph

16354 Commits

Author SHA1 Message Date
Dylan K. Taylor
c82b43a586 Merge branch 'next-minor' into next-major 2023-02-23 22:00:14 +00:00
Dylan K. Taylor
f704bfb63a Use BedrockData 2.0.0 2023-02-23 21:52:17 +00:00
Dylan K. Taylor
9acb4d64db Added generated constants for available BedrockData files
this makes it easier to detect unused files, detect removed files, and also avoid typos in usages.
2023-02-23 21:45:12 +00:00
Dylan K. Taylor
5854b1c8c2 Merge branch 'next-minor' into next-major 2023-02-22 22:51:51 +00:00
Dylan K. Taylor
8234360c8d Avoid creating batch buffers just to determine whether a batch should be globally compressed
Instead, sum together the lengths of encoded packet buffers and use that to decide whether to build the buffer or not.
2023-02-22 22:43:10 +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
dependabot[bot]
6ec778d0af Bump phpstan/phpstan from 1.9.18 to 1.10.1 (#5588)
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan) from 1.9.18 to 1.10.1.
- [Release notes](https://github.com/phpstan/phpstan/releases)
- [Changelog](https://github.com/phpstan/phpstan/blob/1.10.x/CHANGELOG.md)
- [Commits](https://github.com/phpstan/phpstan/compare/1.9.18...1.10.1)

---
updated-dependencies:
- dependency-name: phpstan/phpstan
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-22 13:47:54 +00:00
Dylan K. Taylor
737a63b0a3 Merge branch 'next-minor' into next-major 2023-02-21 18:33:03 +00:00
Dylan K. Taylor
75bb4f8da6 Merge branch 'stable' into next-minor 2023-02-21 18:32:58 +00:00
Dylan K. Taylor
efdd7a186d World: fixed population timer sometimes not being stopped 2023-02-21 18:31:33 +00:00
Dylan K. Taylor
627c62a230 5.0.0-ALPHA10 is next 2023-02-21 16:44:31 +00:00
Dylan K. Taylor
9a67fbf27a Release 5.0.0-ALPHA9 5.0.0-ALPHA9 2023-02-21 16:44:27 +00:00
Dylan K. Taylor
94ffef1a99 ItemIdMetaUpgrader: consistency of API method naming 2023-02-21 16:14:31 +00:00
Dylan K. Taylor
2feb9ca903 ItemIdMetaUpgrader: consistency of API method naming 2023-02-21 16:12:44 +00:00
Dylan K. Taylor
50b8d39aba Merge branch 'next-minor' into next-major 2023-02-21 15:41:57 +00:00
Dylan K. Taylor
c4ecb3d128 Merge branch 'stable' into next-minor 2023-02-21 15:37:06 +00:00
Dylan K. Taylor
b574d49d36 4.15.2 is next 2023-02-21 15:23:25 +00:00
Dylan K. Taylor
47e9ecd257 Release 4.15.1 4.15.1 2023-02-21 15:23:25 +00:00
Dylan K. Taylor
799739fe86 Updated build/php submodule to pmmp/PHP-Binaries@b2207cf70d 2023-02-21 15:22:38 +00:00
Armen Deroian
59a04c971f Getter and setter for gravity (#5584)
closes #5525
2023-02-21 15:01:22 +00:00
dependabot[bot]
168af31fd7 Bump phpstan/phpstan from 1.9.17 to 1.9.18 (#5585)
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan) from 1.9.17 to 1.9.18.
- [Release notes](https://github.com/phpstan/phpstan/releases)
- [Changelog](https://github.com/phpstan/phpstan/blob/1.10.x/CHANGELOG.md)
- [Commits](https://github.com/phpstan/phpstan/compare/1.9.17...1.9.18)

---
updated-dependencies:
- dependency-name: phpstan/phpstan
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-20 18:39:29 +00:00
Dylan K. Taylor
871bd169a8 Timings: remove unnecessary code 2023-02-19 17:58:12 +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
42df1a5c70 Fixed merge error 2023-02-17 20:19:32 +00:00
Dylan K. Taylor
b56b35b10d ItemEntity: fixed a bunch of suspicious logic in entityBaseTick()
closes #5580
2023-02-17 20:14:38 +00:00
Dylan K. Taylor
0e0f5e85eb Merge branch 'next-minor' into next-major 2023-02-17 20:00:51 +00:00
Dylan K. Taylor
324bc27b5a Merge branch 'stable' into next-minor 2023-02-17 19:59:28 +00:00
Dylan K. Taylor
71aad310c6 stfu 2023-02-17 16:39:46 +00:00
Dylan K. Taylor
38828e2b42 4.15.1 is next 2023-02-17 16:37:34 +00:00
Dylan K. Taylor
9a6d7b505c Release 4.15.0 4.15.0 2023-02-17 16:37:34 +00:00
Dylan K. Taylor
1e3b025916 1.19.62 2023-02-17 16:36:32 +00:00
Dylan K. Taylor
55a48e0c84 Block: specifying required type/state data bits is no longer required
RuntimeDataSizeCalculator allows calculating the number of required bits from describeType directly, which considerably reduces boilerplate code.
2023-02-16 16:45:19 +00:00
Dylan K. Taylor
c2f6d8139a Added interface RuntimeDataDescriber 2023-02-16 16:23:32 +00:00
Dylan K. Taylor
ceff230d73 Simplify generation of enum serializers code 2023-02-16 15:57:54 +00:00
Dylan K. Taylor
e6f1cb69d1 RuntimeBlockStateRegistry: throw a hard error on blockstates that return different state data than they were given
this suggests improper validation of state data.
2023-02-16 15:44:58 +00:00
Dylan K. Taylor
4c3892b2d6 RuntimeBlockStateRegistry: separate permutation expansion from register() 2023-02-16 15:41:43 +00:00
Dylan K. Taylor
396d64c60b 4.14.2 is next 2023-02-15 15:19:39 +00:00
Dylan K. Taylor
d7a0f5362e Release 4.14.1 4.14.1 2023-02-15 15:19:38 +00:00
ipad54
75f74454c6 Implemented reinforced deepslate (#5553) 2023-02-15 15:15:04 +00:00
Dylan K. Taylor
7611155ff9 CS 2023-02-15 15:13:12 +00:00
Dylan K. Taylor
c0f3dbdd70 Regenerate constants for block and item data handling 2023-02-15 15:12:53 +00:00
Dylan K. Taylor
c5dcd268ad CS 2023-02-15 15:04:41 +00:00
Dylan K. Taylor
910c4c4b24 Updated BedrockProtocol 2023-02-15 15:02:00 +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
aacd92bf08 Command: fix setPermissions docblock 2023-02-13 14:46:37 +00:00
Dylan K. Taylor
caebe14dab Use an array for command permissions
it doesn't make sense to have to parse the string every time we want to verify permissions, nor to expect that people will somehow know to use ; to separate them without it being documented anywhere...
2023-02-13 14:44:55 +00:00
Dylan K. Taylor
cb10360c20 SimpleCommandMap: require commands to have a permission
fixes #5305
2023-02-13 14:24:30 +00:00