8857 Commits

Author SHA1 Message Date
Dylan K. Taylor
edbc73a72c
3.17.6 is next 2021-02-16 22:13:05 +00:00
Dylan K. Taylor
3a0c8dd594
Release 3.17.5 2021-02-16 22:13:05 +00:00
Dylan K. Taylor
16fa26405a
Remove remaining usages of LevelDB::close()
this is handled by the object destructor.

closes #4035
2021-02-15 20:10:11 +00:00
Dylan K. Taylor
094102fe92
fopen() might return FALSE if permission was denied to read/write the file 2021-02-12 16:16:36 +00:00
Dylan K. Taylor
2aef83e7d7
MainLogger: fix type ambiguity 2021-02-12 15:05:24 +00:00
Dylan K. Taylor
18666e5a60
Be compatible with newest versions of php-leveldb 2021-02-11 22:33:29 +00:00
Dylan K. Taylor
2a51269305
Merge branch 'stable' of https://github.com/pmmp/pocketmine-mp into stable 2021-02-11 16:05:24 +00:00
Dylan T
007f4f9350
CraftingDataPacket: Remove useless @var comment 2021-02-08 11:53:50 +00:00
Dylan K. Taylor
46e9f0cec6
Player: fixed verify-xuid not kicking in by default on old configs 2021-02-07 21:10:23 +00:00
Dylan K. Taylor
78a62a8b27
Remember and verify player XUIDs (controlled by player.verify-xuid in pocketmine.yml) 2021-02-05 14:42:57 +00:00
Dylan K. Taylor
7e3e63f342
Fixed race condition in MainLogger shutdown
this resulted in a deadlock in https://github.com/pmmp/PocketMine-MP/runs/1831812620?check_suite_focus=true because the notify() arrived while writeLogStream() was executing.
This ensures that either:
- the notification will occur before the sleep, and therefore no sleeping will occur (this->shutdown = true before the wait)
- the notification will arrive during the sleep.
2021-02-04 16:40:10 +00:00
Dylan K. Taylor
8ef1e54e20
MainLogger: fixing CPU waste on logger thread
this doesn't need to keep spinning every 25ms; it can just wake up when there's actually log messages to write into the buffer.
2021-02-04 15:07:40 +00:00
Dylan K. Taylor
eaf3a86981
MainLogger: fixed UB in writeLogStream()
notify() has to be used inside a synchronized block.
2021-02-04 15:03:14 +00:00
Dylan K. Taylor
317a48d9b0
ItemStackRequest: expose filterStrings 2021-02-03 23:40:34 +00:00
Dylan K. Taylor
bc14660e55
Added missing ItemStackRequest protocol changes 2021-02-03 23:37:41 +00:00
Dylan K. Taylor
4771e3dc28
3.17.5 is next 2021-02-02 14:04:51 +00:00
Dylan K. Taylor
2e9117d102
Release 3.17.4 2021-02-02 14:04:50 +00:00
Dylan K. Taylor
06493da7d9
Imports cleanup 2021-02-02 13:58:07 +00:00
Dylan K. Taylor
bd303b1062
RegionLoader: fixed flaky region header validation since 3.17.3 2021-02-02 13:43:52 +00:00
Dylan K. Taylor
1a24afc6d1
InventoryTransaction: Fixed indexes persisting from balance calculation in crafting input/outputs
fixes #4019
the order of the actual items may not be the same across runs, but index 0 will at least be sure to exist.
2021-02-02 00:13:58 +00:00
yuko fuyutsuki
37e8dd6444
Fix PHP 8 optional before required parameters deprecation warnings (#4016) 2021-01-31 12:08:47 +00:00
Dylan K. Taylor
16fa958416
phpstan: better hack for any-callable parameters
variadics are a bad fit for this because what we really need is to accept callable with any number of arguments. LSP requires that the provided number of arguments must be >= than the required number of arguments.
2021-01-27 19:25:28 +00:00
Dylan K. Taylor
bac57c159f
Player: fix bridging, towering and various other fast building bugs
clickPos is relative to the base block position, so if you keep aiming at the same spot on the block and jump, it thinks you're still spamming.
closes #2730
2021-01-27 00:11:14 +00:00
Dylan K. Taylor
38b2d83799
MemoryManager: fixed protected properties being dumped multiple times
we don't need to scan the parent classes for anything other than private properties, because protected and public properties will appear on the main reflection as if they were declared directly as such.
2021-01-26 20:32:23 +00:00
Dylan K. Taylor
62deafda48
CommandReader: removed readline support
readline has been borked for a long time and it's not thread safe.
2021-01-25 17:53:25 +00:00
Dylan K. Taylor
31b6df4376
3.17.4 is next 2021-01-25 17:15:43 +00:00
Dylan K. Taylor
b296ae1b87
Release 3.17.3 2021-01-25 17:15:31 +00:00
Dylan K. Taylor
34c1d455a7
phpstan: enable checkMissingCallableSignature 2021-01-24 20:27:53 +00:00
Dylan K. Taylor
e8ffab1787 RegionLoader: avoid hitting the disk twice during chunk reads
this provides some performance improvement (although it's difficult to measure because of cache).
this does mean that we read some garbage data during chunk reads, but it's less costly than hitting the disk twice.
2021-01-20 21:05:44 +00:00
Dylan K. Taylor
ecc1e1f698
RegionLoader: improve performance of region header validation
I was unaware that fseek actually makes a syscall which is rather costly, which became painfully obvious during large world conversions on PM4.
On average this problem appeared to be adding about 5ms to the load time for a newly loaded region, which is insanely expensive.
2021-01-20 20:04:21 +00:00
Dylan K. Taylor
988cf7f535
Fixed PHP 8.0 deprecation error 2021-01-16 19:31:07 +00:00
Dylan K. Taylor
69fff23f1a
LevelProviderManager: removed bogus @var
I'm not sure why this wasn't detected until 0.12.67...
2021-01-15 16:53:49 +00:00
Dylan K. Taylor
97c124edf9
thanks git, this just sneaked in without any questions ................ 2021-01-12 21:43:34 +00:00
Dylan K. Taylor
972c911485
phpstan 0.12.65 2021-01-09 18:04:42 +00:00
Dylan K. Taylor
0d8858f948
composer.json: sort packages automatically 2021-01-09 17:38:22 +00:00
Dylan K. Taylor
ec9b39862b
bootstrap: commit suicide if composer dependencies are not in sync 2020-12-29 17:47:32 +00:00
Dylan K. Taylor
efca8077d5
3.17.3 is next 2020-12-28 23:03:37 +00:00
Dylan K. Taylor
5066d5225b
Release 3.17.2 2020-12-28 23:03:32 +00:00
Dylan K. Taylor
aefaf73685
Living: extract an applyConsumptionResults() method from consumeObject()
inspired by #3592, which has gone stale
2020-12-28 22:27:29 +00:00
Dylan K. Taylor
15401d740f
RegionLoader: mark area as garbage in removeChunk() 2020-12-27 19:16:05 +00:00
Dylan K. Taylor
5920b0ba40
Remove _PHPSTAN_ANALYSIS constant
we don't need this anymore since PHPStan is able to intelligently decide whether to autoload a file or not.
2020-12-27 19:10:40 +00:00
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
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
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