fec48003d9
.....
2021-10-05 20:29:24 +01:00
e25c03eec1
Gracefully handle errors loading plugin manifest
...
this isn't perfect, but it covers the common cases.
Now, the server won't spam crashdumps just because some plugin declared nested permissions.
2021-10-05 20:28:43 +01:00
7245d15abe
PermissionParser: Throw more specific exceptions
2021-10-05 19:57:26 +01:00
13178a47a5
fuck you git
2021-10-05 19:11:10 +01:00
817ab88c70
Properly handle errors decoding network item NBT
...
since the NBT is now decoded immediately now, any incorrect NBT will cause exceptions to be thrown that we weren't handling, causing server crashes.
2021-10-05 19:10:55 +01:00
fef8297907
GiveCommand: don't crash on bogus item NBT
2021-10-05 19:09:46 +01:00
dbeaf27cb7
Document that Item::setNamedTag() may cause NbtException to be thrown
...
if the NBT is bogus for some reason
in PM3, these kinds of bugs wouldn't show up until/unless the item NBT was actually used, but on PM4, we decode it ahead of time, so the errors always show up immediately.
2021-10-05 19:09:22 +01:00
2db79cf58d
Fix build
2021-10-05 18:41:47 +01:00
7d06b76aaf
PluginManager: account for possible invalid format of API version
...
we're seeing a lot of crashes because of this.
2021-10-05 18:36:00 +01:00
0ad663ff50
Merge remote-tracking branch 'origin/stable'
2021-10-05 01:17:59 +01:00
a27c14c00c
phpstan: exclude build/php from analysis
...
in case I built PHP in there, I don't want the install_data getting analysed and screwing up the analysis.
2021-10-05 00:14:44 +00:00
5b26abcb0e
NetworkSession: fixed code copy pasta
...
these are not, in fact, equivalent.
2021-10-05 01:02:15 +01:00
f2d6059613
NetworkSession: Sync world spawn on world change
2021-10-04 22:51:31 +01:00
bb6ea8cbdc
Do not call PlayerLoginEvent during the Player constructor
...
this closes a lot of loopholes in the login sequence that plugins were using to cause crashes.
2021-10-04 22:36:50 +01:00
356a49d225
NetworkSession: account for possibility of syncGameMode() being called before the player is ready to receive it
...
close #4323
2021-10-04 22:13:42 +01:00
6332af3e59
Require RakLib 0.14.2 minimum
2021-10-04 21:50:11 +01:00
fb570970a8
Localize gamemode command errors
2021-10-02 21:22:54 +01:00
30e10c38b6
Localize /help
2021-10-02 20:59:36 +01:00
05dc675d5b
Replace commands.generic.notFound with a custom PM version
...
this also fixes #4379 .
2021-10-02 20:42:59 +01:00
d63b9d1648
WorldManager: localize strings for world loading, generation and conversion
2021-10-02 20:33:32 +01:00
f9e6fd44bc
Merge branch 'stable'
...
it looks like I goofed up the last merge and the changelog didn't get
merged into master.
2021-10-02 20:18:06 +01:00
0108888450
Process: silence taskkill complaining that it can't commit suicide
...
since taskkill is a subprocess of the server process, it gets included in taskkill's own attempted killing spree, but taskkill (wisely) won't kill itself.
2021-10-02 17:23:26 +01:00
dd0c2fed82
Process: add subprocess parameter to kill()
...
fix CommandReader subprocess lingering on a crash and fucking up the console
2021-10-02 16:56:24 +01:00
2566123e49
Remove unnecessary constant from PHPStan bootstrap
2021-10-02 16:34:38 +01:00
54174eefa0
Make sure COMPOSER_AUTOLOADER_PATH is always declared
...
Sacrifice dynamic composer autoloader path to do this, because we don't
need it anyway - it was a misconceived feature from the days when I used
the same workspace for PM3 and PM4 both.
2021-10-02 15:27:17 +01:00
f5266ec816
World: remove dead code leftover from 34f01a3ce3
...
fixes #4486
2021-10-02 12:33:46 +01:00
c6b2c63a9b
Remove a couple more dead errors from PHPStan baseline
2021-10-02 00:52:47 +01:00
f26f063164
UPnP: catch InternetException when attempting portforward
...
we might fail to get the internal IP for some reason, which shouldn't crash the server.
2021-10-02 00:52:14 +01:00
81d5598e96
UPnP: Fixed server crash on failure to find UPnP device
...
https://crash.pmmp.io/view/5241010
2021-10-01 23:27:58 +01:00
c7e9138994
PopulationTask: reduce code duplication
2021-10-01 23:18:56 +01:00
88f799da2c
more AssumptionFailedError hacks for PHPStan :(
...
the code in this class is really horrible
2021-10-01 23:05:48 +01:00
8de30e8162
FastChunkSerializer no longer serializes light by default
...
the core doesn't use this anywhere.
serializeWithoutLight() has been renamed to serializeTerrain() to more accurately describe what it does.
2021-10-01 22:57:22 +01:00
e6f6a036ef
LightPopulationTask: do not copy existing light arrays
...
this task wipes out the light arrays and recalculates them from scratch, so it's pointless to copy any preexisting light arrays anyway.
2021-10-01 22:34:11 +01:00
32f8b8163e
Clean out PHPStan l7 baseline
2021-10-01 22:19:36 +01:00
5b818827db
Chunk: stop exposing SplFixedArray<SubChunk> to the API
...
this fixes a large number of PHPStan errors, and also brings us a step closer to negative-build-height readiness.
2021-10-01 22:17:28 +01:00
42bf9578ce
Remove unused constants
2021-10-01 22:05:03 +01:00
aee4a00a50
Updated dependencies
2021-10-01 21:40:31 +01:00
2fdd8d039e
RakLib 0.14.1
2021-10-01 21:39:26 +01:00
349f37b15f
resource packs: manifest may also contain a list of dependencies
...
... which we should be verifying the presence of, as the server.
2021-10-01 21:14:28 +01:00
afa3349c04
Acknowledge the presence of capabilities field in resource pack manifest
...
closes #4485
2021-10-01 21:09:53 +01:00
6a8280b1ba
Lever: add block property APIs
2021-09-29 00:20:57 +01:00
003c002208
Bump phpunit/phpunit from 9.5.9 to 9.5.10 ( #4482 )
...
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit ) from 9.5.9 to 9.5.10.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases )
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/master/ChangeLog-9.5.md )
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.5.9...9.5.10 )
---
updated-dependencies:
- dependency-name: phpunit/phpunit
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>
2021-09-28 21:04:11 +01:00
d417b1e2f5
Projectile: fixed move() not using the given parameters ( #4481 )
...
it was using this->motion instead, which usually would be the same, but maybe not.
2021-09-28 21:03:03 +01:00
65e468e3c2
Updated build/php submodule to pmmp/php-build-scripts@6aac46e500
2021-09-28 21:00:13 +01:00
a11cf8c296
Update PHP versions used by GitHub Actions
2021-09-28 20:52:40 +01:00
c931c52617
AsyncTask: added newline
2021-09-27 13:53:30 +01:00
b3e8314b9f
PTHREADS_INHERIT_CONSTANTS is no longer needed for MainLogger to log exceptions
...
cleaned paths are now referenced from Filesystem instead of namespace constants.
2021-09-26 21:41:24 +01:00
f138004913
PlayerDeathEvent: fixed property type variance issue PHPStan complains about
2021-09-26 21:20:42 +01:00
8e2d06a880
ChunkSerializer: support writing 0 bpb palettes on the wire
...
these are now supported as of 1.17.30.
2021-09-25 01:17:32 +01:00
eb80515e99
Fixed incorrect parameter checking in BlockFactory::get() ( #4476 )
2021-09-24 15:47:11 +01:00