Dylan K. Taylor
dea75a0687
RegionLoader: do not attempt to auto-repair chunks with oversized lengths
...
In the old days, we used to try to correct this problem by adjusting the region header to match the
length found at the start of the chunk payload. However, this has a very good chance to cause corruption
of other chunks, since we can't do any fast overlap checks (an upsize might cause the chunk's alloocated
area to overlap into another one, causing corruption when either chunk's space gets written to).
This corruption risk has become more problematic since the
introduction of region garbage sector reuse, since a broken location
header could cause chunks to trash each others' saved data.
In addition, if there is a length mismatch, there's a good chance that the oversized chunk itself will
already be corrupted, so we'd just fail trying to decompress it later on.
So, instead of trying to fix this automatically, we bail and hope this doesn't occur often enough for
users to get upset, and allow external offline tools to attempt to repair the mess instead.
2020-12-27 18:50:52 +00:00
Dylan K. Taylor
f215207a27
Merge remote-tracking branch 'origin/stable'
...
# Conflicts:
# composer.lock
# resources/vanilla
# src/CrashDump.php
# src/pocketmine/VersionInfo.php
# src/pocketmine/network/mcpe/protocol/DataPacket.php
2020-12-23 22:34:25 +00:00
Dylan K. Taylor
873e8740e0
3.17.2 is next
2020-12-23 22:20:24 +00:00
Dylan K. Taylor
260c55f23a
Release 3.17.1
2020-12-23 22:20:19 +00:00
Dylan K. Taylor
9ed430acb9
CrashDump: fixed a bug in crashdump generation
2020-12-23 21:53:12 +00:00
Dylan K. Taylor
f0241043de
CrashDump: add server uptime to crash information
2020-12-23 20:26:18 +00:00
Dylan K. Taylor
135f1c95e4
phpstan 0.12.64
2020-12-23 20:04:40 +00:00
Dylan K. Taylor
bcc3e87730
Timings: rename core timers to remove 'timer' from the names
...
this makes them shorter and more consistent.
2020-12-23 17:52:25 +00:00
Dylan K. Taylor
e762b79aae
Player: fixed setPosition() resending all the chunks
...
closes #3977
2020-12-21 00:09:49 +00:00
Dylan K. Taylor
c5693598aa
BulkCurlTask constructor now accepts BulkCurlTaskOperation[] instead of shaped arrays
2020-12-20 22:18:03 +00:00
Dylan K. Taylor
9228f006d4
Merge remote-tracking branch 'origin/stable'
...
# Conflicts:
# composer.json
# composer.lock
# resources/vanilla
# src/CrashDump.php
# src/PocketMine.php
# src/pocketmine/Server.php
# src/pocketmine/item/Bucket.php
# src/pocketmine/item/Item.php
# src/pocketmine/level/format/Chunk.php
# src/pocketmine/level/format/io/leveldb/LevelDB.php
# src/pocketmine/level/format/io/region/McRegion.php
# src/pocketmine/network/mcpe/protocol/BatchPacket.php
# src/pocketmine/tile/Furnace.php
# src/pocketmine/utils/UUID.php
# src/utils/ServerKiller.php
2020-12-20 20:54:13 +00:00
Dylan K. Taylor
a43b46a93c
Merge branch 'stable' of https://github.com/pmmp/pocketmine-mp into stable
2020-12-18 00:33:10 +00:00
Dylan K. Taylor
0604dfc9e5
phpstan 0.12.63
2020-12-18 00:32:55 +00:00
Govdim
dd2c3db285
Fixed a bucket of lava disappearing when used in a furnace ( #3973 )
...
fixes #2385
2020-12-17 23:57:34 +00:00
Dylan K. Taylor
1e737644de
World: split populateChunk() into two functions
...
requestChunkPopulation() respects the queue size, orderChunkPopulation() does not.
requestChunkPopulation() should be used for non-essential generation (which mainly includes generation for player use).
orderChunkPopulation() should probably be used by plugins.
2020-12-17 23:49:37 +00:00
Dylan K. Taylor
0682c93f5a
Drop bcmath dependency
...
we haven't used bcmath since the days of 32-bit.
2020-12-14 20:59:07 +00:00
Dylan K. Taylor
48623f4e79
World: add additional checks to addEntity() and removeEntity()
2020-12-14 18:55:52 +00:00
Dylan K. Taylor
24ac5f8be0
Fixed craftingDataCacheRebuildTimer never being stopped
2020-12-13 21:41:22 +00:00
Dylan K. Taylor
9e11cc03de
Server: get rid of matchPlayer()
...
the functionality of this API method is too specialized to be of any practical use.
In addition, a search on Poggit reveals that the only uses of this API method are abuses or incorrect uses anyway.
2020-12-13 21:38:11 +00:00
Dylan K. Taylor
c0438f1ddb
Move player creation out of NetworkSession
2020-12-13 21:20:37 +00:00
Dylan K. Taylor
6f09d472e2
WorldTimings: give timers names that actually make sense
2020-12-13 20:17:46 +00:00
Dylan K. Taylor
1de5fc86c4
PopulationTask: assume that generator has been initialized
2020-12-13 20:00:57 +00:00
Dylan K. Taylor
eaf6e19a6f
RakLib sync n.2
2020-12-12 19:54:17 +00:00
Dylan K. Taylor
5f4ef84d52
Clean up imports
2020-12-12 19:48:00 +00:00
Dylan K. Taylor
f81d061ea9
Updated to newest RakLib
2020-12-12 19:06:45 +00:00
Dylan K. Taylor
2af15557b9
Merge branch 'stable'
...
# Conflicts:
# .travis.yml
# resources/vanilla
# src/block/BlockToolType.php
# src/network/mcpe/protocol/types/entity/MetadataProperty.php
# tests/travis/setup-php.yml
2020-12-11 22:44:04 +00:00
Mohamed
1c43538238
Fix that a hoe gets damage applied to it, when it's used to break a block ( #3967 )
...
closes #3965
2020-12-11 21:14:52 +00:00
Dylan K. Taylor
61de84373a
PermissionParser: simplify code
2020-12-11 19:09:01 +00:00
Dylan K. Taylor
bee770ebf5
Drop nested permissions support in plugin.yml
2020-12-11 19:03:52 +00:00
Dylan K. Taylor
dd58a95ae5
Move last-known-position tracking to World instead of Entity
2020-12-10 18:28:40 +00:00
Dylan K. Taylor
e925423749
Entity: fix chunk tracking consistency issues, fixed attempted chunk loading in origin world when teleporting to a different position in a different world
2020-12-10 18:13:18 +00:00
Dylan K. Taylor
5282ae3298
TimingsHandler::printTimings() now returns a list of strings instead of requiring a resource
2020-12-09 22:32:32 +00:00
Dylan K. Taylor
58db3531c7
Use hrtime() for collecting timings
...
this allows nanosecond resolution and generally better accuracy than microtime(), which is subject to floating-point errors.
2020-12-09 22:24:31 +00:00
Dylan K. Taylor
d39348929f
Removed PLUGIN_PATH constant
2020-12-09 20:48:50 +00:00
Dylan K. Taylor
ff6672ba85
Merge branch 'stable'
...
# Conflicts:
# resources/vanilla
# src/utils/Utils.php
2020-12-09 20:27:19 +00:00
Dylan K. Taylor
68887105b2
Utils::cleanPath(): drop the square braces
...
this looks ugly, as well as breaking plugin crash detection (which tbh is too fragile, but it is what it is ...)
2020-12-09 20:26:08 +00:00
Dylan K. Taylor
22c8bdeeeb
Merge branch 'stable'
...
# Conflicts:
# resources/vanilla
# src/CrashDump.php
# src/utils/Utils.php
2020-12-09 01:47:05 +00:00
Dylan K. Taylor
794bb0a71d
PermissionParser: bail on encountering permissions whose names are not strings
2020-12-09 00:32:50 +00:00
Dylan K. Taylor
104e90b794
CrashDump: more robust core crash detection
2020-12-08 23:27:03 +00:00
Dylan K. Taylor
994062f6dc
CrashDump: fixed plugin detection on eval()'d code
...
it's possible we could clean the path up to detect which plugin caused the crash, but for now I'll be happy to not have them showing up as core crashes ...
2020-12-08 23:11:29 +00:00
Dylan K. Taylor
197b1a8566
Merge branch 'stable'
...
# Conflicts:
# resources/vanilla
# src/network/mcpe/protocol/types/inventory/stackresponse/ItemStackResponseSlotInfo.php
# src/network/mcpe/raklib/FilterTextPacket.php
# src/pocketmine/VersionInfo.php
# src/pocketmine/network/mcpe/protocol/PacketPool.php
# src/pocketmine/network/mcpe/protocol/ResourcePacksInfoPacket.php
2020-12-08 21:34:06 +00:00
Dylan K. Taylor
69a41a5ed4
3.17.1 is next
2020-12-08 21:02:14 +00:00
Dylan K. Taylor
3903b70ef5
Release 3.17.0
2020-12-08 21:02:13 +00:00
Dylan K. Taylor
692e63ad7c
Protocol changes for 1.16.200
2020-12-08 20:31:17 +00:00
Dylan K. Taylor
05a1f45111
PluginGraylist: all fields are mandatory
2020-12-08 13:38:44 +00:00
Dylan K. Taylor
219cf2126b
RegionWorldProvider: make loadRegion() return RegionLoader, fix 3 PHPStan null-reference errors
2020-12-07 19:04:52 +00:00
Dylan K. Taylor
e810a68dd7
Merge branch 'stable'
...
# Conflicts:
# build/php
# composer.lock
# resources/vanilla
# src/pocketmine/VersionInfo.php
# src/pocketmine/level/format/io/region/McRegion.php
2020-12-07 18:57:58 +00:00
Dylan K. Taylor
4d1be4d41d
McRegion: do not create a region file when trying to read a chunk that doesn't exist
...
fixes #3953
2020-12-07 18:44:49 +00:00
Dylan K. Taylor
5f0310a8b6
3.16.2 is next
2020-12-07 17:16:11 +00:00
Dylan K. Taylor
9b01fb3d89
Release 3.16.1
2020-12-07 17:16:10 +00:00