Commit Graph

6630 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