Dylan K. Taylor
41d7b8c0e4
TextFormat: properly handle pcre errors in some cases
...
these would previously just hit type errors.
2020-04-15 11:29:04 +01:00
Dylan K. Taylor
2622c34542
Terminal: explicitly assume that fopen(stdin) will not fail
2020-04-15 11:12:03 +01:00
Dylan K. Taylor
5c9419b55c
Timezone: use false checks instead of file existing for static analysis
2020-04-15 10:59:36 +01:00
Dylan K. Taylor
83c40f4502
Timezone: properly account for failure to read timezone file
2020-04-15 10:23:07 +01:00
Dylan K. Taylor
372202b3dc
Utils: use type-safe checks to ensure file validity
...
this gives the same results while keeping phpstan happy.
2020-04-15 10:19:51 +01:00
Dylan K. Taylor
917c744266
Properly handle error conditions in Utils::decodeJWT()
2020-04-15 10:18:02 +01:00
Dylan K. Taylor
2281fe4e67
Account for reflection filename being false (in the case of classes/functions defined by builtins)
2020-04-15 10:15:38 +01:00
Dylan K. Taylor
cf538d83bf
Timezone: shut phpstan up about impossible ini_get() errors
2020-04-15 09:48:20 +01:00
Dylan K. Taylor
7e9c38a9d9
Timezone::parseOffset() returns string|false, not string|bool
2020-04-15 09:47:52 +01:00
Dylan K. Taylor
ccad97727f
UUID: properly account for garbage inputs which aren't valid hexadecimal
...
this would previously throw a TypeError and crash.
2020-04-15 09:44:14 +01:00
Dylan K. Taylor
e3ebf8bb61
Internet::getIP() returns string|false, not string|bool
2020-04-15 09:39:38 +01:00
Dylan K. Taylor
cb6b59a52a
Internet: curl_init() may return false on error (unclear on reasons)
2020-04-15 09:38:39 +01:00
Dylan K. Taylor
53dbbd5f97
Internet: account for socket_create() maybe failing in getInternalIP()
2020-04-15 09:37:17 +01:00
Dylan K. Taylor
51908ec45a
Player: allow provision of a custom cooldown duration for items
...
this would be more useful to plugins, so that it's not necessary to extend any item classes for this trivial purpose.
2020-04-15 09:32:48 +01:00
Dylan K. Taylor
a2543ff80d
Position: add getLevelNonNull()
...
this allows assuming that a position has a valid world in places where it's never expected to not be valid. Since this is the vast majority of usages, it eliminates a lot of possible null-pointer warnings given by static analysers.
TODO: Consider whether we can make Position->getLevel/World use this behaviour out of the box in the next major version.
2020-04-14 11:08:37 +01:00
Dylan K. Taylor
20f3030709
3.11.8 is next
2020-04-14 02:54:41 +01:00
Dylan K. Taylor
3aa58f54dc
Release 3.11.7
2020-04-14 02:54:40 +01:00
Dylan K. Taylor
604900d4c5
Merge branch 'stable' into next-minor
2020-04-14 01:38:01 +01:00
Twisted
6422ed7722
Added RakLibInterface::setPacketLimit() ( #3398 )
2020-04-11 23:27:17 +01:00
Dylan K. Taylor
d3a6da1b3a
NetworkSession->getPing() now returns null when no measurement of ping has yet been completed
2020-04-04 23:33:30 +01:00
Dylan K. Taylor
ec949840b2
Do not crash on failure to decompress region chunks
...
this could happen when a chunk was partially overwritten with one of the same sector size.
2020-04-01 21:30:25 +01:00
Dylan K. Taylor
f5bf93455a
update to latest RakLib
2020-04-01 20:16:21 +01:00
Dylan K. Taylor
f5cd87ac95
MainLogger: implement BufferedLogger
2020-04-01 20:09:42 +01:00
Dylan K. Taylor
64d5320ac9
update for pthreads-free raklib
2020-03-31 19:41:37 +01:00
Dylan K. Taylor
00cc2ee092
one more RakLib update for the day ...
2020-03-30 00:22:45 +01:00
Dylan K. Taylor
927872ce08
Updated to latest bleeding-edge RakLib
2020-03-29 23:53:00 +01:00
Dylan K. Taylor
abd1ed7352
RakLibServer: make onRun() protected
2020-03-29 18:45:48 +01:00
Dylan K. Taylor
d89cdfc18e
Relieve RakLibServer of more responsibilities
...
at this point it's really not much more than just a thread-safe way to transmit parameters from main to thread. Maybe we can ditch it in favour of a generic closure-based thread implementation.
2020-03-29 18:42:15 +01:00
Dylan K. Taylor
4e54e54421
Updated RakLib dependency
2020-03-29 18:18:39 +01:00
Dylan K. Taylor
f779881b6a
Updated to latest RakLib bleeding edge
...
this version brings quite a few inter-thread communication improvements.
2020-03-29 16:52:36 +01:00
Dylan K. Taylor
eb7c31d3ff
RakLibInterface: remove useless shutdown check from tick()
...
the thread should never be shutdown during an update cycle, because we stop the interface from being ticked when it gets shutdown.
2020-03-29 16:26:22 +01:00
Dylan K. Taylor
0691a40204
UpdateBlockPropertiesPacket: expose nbt field
2020-03-24 11:06:58 +00:00
Dylan K. Taylor
da7ff9b1fe
Airgap Attribute, fix decoding of non-registered attributes for protocol debugging
2020-03-24 00:43:44 +00:00
Dylan K. Taylor
83a3adecff
LoginPacket: use netresearch/jsonmapper for login data decoding
...
this makes retrieval static analysis friendly without extra steps.
2020-03-23 22:00:13 +00:00
Dylan K. Taylor
3e5d3a646b
Make use of BadPacketException::wrap()
2020-03-23 21:28:38 +00:00
Dylan K. Taylor
2d46ae4476
Added BadPacketException::wrap()
2020-03-23 21:27:08 +00:00
Dylan K. Taylor
a95426c373
Merge branch 'stable'
2020-03-18 13:17:38 +00:00
Dylan K. Taylor
d4dc1c8a0c
AttributeMap: be aware of possible NULL offset in ArrayAccess
...
reported by phpstan 0.12.17
2020-03-18 12:59:01 +00:00
Dylan K. Taylor
517f9a3c3a
Player: fix weapons not taking damage from attacks (bug introduced by #3348 )
2020-03-18 12:51:05 +00:00
Dylan K. Taylor
d930abce2d
ChunkSerializer: improve palette writing performance with one weird trick
...
this optimization relies on the fact that palette entries are always unsigned, and positive zigzag varints are just the same as their non-zigzag counterparts, except shifted left by 1 bit. This eliminates some function call overhead, making the encoding slightly less agonizingly slow.
2020-03-17 21:16:43 +00:00
marshall
310de5a2b2
RCON: set SO_REUSEADDR to fix RCON start failure after restart ( #3357 )
2020-03-16 12:00:45 +00:00
Dylan K. Taylor
06a9c98ded
MemoryManager: fix strict-rules error on phpstan level 7
2020-03-15 15:49:04 +00:00
Dylan K. Taylor
5c7b05c2ba
CrashDump: do not assign possibly-false return value of fopen() directly to non-union field
...
this would become a problem with typed properties, and also phpstan level 7 doesn't like it.
2020-03-15 15:48:09 +00:00
Dylan K. Taylor
9c86763322
CrashDump: do not assume that error_get_last() always returns array
...
this returns NULL if there was no error before the shutdown handler was triggered (usually caused by a plugin calling exit() prematurely).
2020-03-15 15:47:07 +00:00
Dylan K. Taylor
35490ca41c
CrashDump: do not assume that file() always returns array
...
phpstan level 7 prep
2020-03-15 15:46:03 +00:00
Dylan K. Taylor
093a7c239e
CraftingDataPacket: fix variable name collision
2020-03-14 14:24:50 +00:00
Dylan K. Taylor
47c7872c88
Merge branch 'stable' into next-minor
2020-03-14 13:42:39 +00:00
Dylan K. Taylor
7b3c2a3703
Merge commit '3907a2b6ba58fa49022e3e7c8256731dfa2e0d00'
2020-03-14 13:32:35 +00:00
Dylan K. Taylor
b5dd147ec7
PlayerQuitEvent: fix types of quitMessage
2020-03-14 13:24:40 +00:00
Dylan K. Taylor
f8ce01e2fd
ItemFactory: extract fromStringSingle() from fromString()
...
on PM4, the multiple functionality is removed, but on PM3 this is a problem for phpstan.
2020-03-13 17:54:25 +00:00