d07acd0013
RakLibInterface: split error ID into 4-character chunks
...
this makes it easier to read, since the error ID can't be copy-pasted from the disconnection screen on the client.
2023-04-17 14:05:46 +01:00
006cdaf6ea
RakLibInterface: log the name of the session which triggered an unhandled exception
...
this makes it easier to identify what sequence of events led up to the crash.
2023-03-26 18:56:24 +01:00
cc8660629b
First look at shared EntityEventBroadcaster,
...
this improves performance in PvP servers and other areas where lots of players or entities exist in one space.
fixes #5622
2023-03-15 18:22:56 +00:00
e7e19abe85
IPv4 and IPv6 RakLibInterface instances now both use the same broadcaster and context
...
fixes #5625
2023-03-15 17:17:56 +00:00
fa7c38276c
Fixing gigantic clusterfuck with protocol contexts and broadcasting
...
fixes #5623
2023-03-11 21:54:14 +00:00
7c068101b7
CSÂ
2023-01-18 15:17:37 +00:00
a8556dff02
RakLibInterface: include Snooze events in Connection Handler timings
2023-01-18 15:02:33 +00:00
31465525e3
Fixed PHP-CS-Fixer not import global constants. ( #5449 )
2022-12-12 17:12:33 +00:00
db586233da
Changes for 1.19.30 support
2022-09-20 19:50:27 +01:00
dce8bd6d21
CS: Standardize new with braces
2022-08-15 17:16:23 +01:00
38d6284671
Use PHP-CS-Fixer to enforce file header presence
2022-06-04 17:34:49 +01:00
6eac2ea7a5
Modernize private property declarations in src/network
2022-05-17 21:22:33 +01:00
be1996752a
Replace disallowed operators in src/network/
2022-01-20 19:11:32 +00:00
cc4bb91fcb
Implemented IPv6 support ( #4554 )
2021-11-08 20:03:28 +00:00
32a857b8b4
fix CS
2021-11-02 14:09:16 +00:00
7e4be29fc4
Gracefully force-shutdown on failure to start RakLib
...
this now won't generate a crashdump.
2021-11-02 13:51:01 +00:00
0348236860
fucking CS again
2021-10-14 15:56:50 +01:00
8c07748100
RakLibInterface: print packet exception info as a block using Utils::printableExceptionInfo()
2021-10-14 15:55:08 +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
981b0285d1
Isolate config casting nastiness in one place
...
this doesn't solve the underlying problem, but it does reduce the amount of noise made by PHPStan about it, as well as avoiding code litter.
2021-06-19 19:14:02 +01:00
c22f793521
RakLibInterface: Log a message when a non-0xfe packet is received
2021-06-15 19:20:31 +01:00
b7a6c9dc17
Renamed BadPacketException -> PacketHandlingException
...
this better describes the intent, instead of just vaguely describing a packet as 'bad'.
2021-03-30 01:15:28 +01:00
6d622c4020
Merge branch 'stable'
2021-03-14 23:32:09 +00:00
eaf6e19a6f
RakLib sync n.2
2020-12-12 19:54:17 +00:00
f81d061ea9
Updated to newest RakLib
2020-12-12 19:06:45 +00:00
687ad28fa6
Added a PacketBroadcaster interface
...
this gives a bit more control over how packets are broadcasted, which might be useful if the batch format changes (e.g. adding a length prefix) for multi version.
This really ought to be unique to a protocol context instead of a network interface, but for now this is the best we can do.
2020-12-02 16:34:14 +00:00
541cfee615
RakLibServer: do not try to export exceptions across threads (they might contain Threaded objects whose references get invalidated)
2020-12-01 22:31:55 +00:00
ed144a1709
remove unused imports
2020-07-21 19:29:12 +01:00
bc52a38922
Improved network bandwidth data collection
2020-07-21 19:21:27 +01:00
92afad5e6f
Updated RakLib to pmmp/RakLib@6fbccdb6a7
2020-07-21 16:18:14 +01:00
7e6adc41f0
Merge 1.16 support into PM4 (with changes)
2020-06-26 22:21:09 +01:00
fe649d8d70
Extract ServerConfigGroup from Server
...
this API isn't very nice, but it's pretty much the same as the original, and at least this can be _kinda_ unit-tested...
2020-05-24 15:48:03 +01:00
b6214744d5
NetworkSession: inject PacketPool instead of hardcoding it
...
this will make it slightly easier for multi version implementations, but handlers are still quite a big problem.
2020-04-29 12:48:28 +01:00
3be9548b1e
net: compressors are now fully dynamic (or at least the potential to be)
...
the compressor used by RakLibInterface when opening a session is still
hardcoded, but that's because we have no way to select the correct
compressor at that point in the login sequence, since we aren't
propagating the protocol information up from RakLib right now.
2020-04-28 16:21:18 +01:00
c6d6afe65e
bring RakLibInterface up to speed with latest RakLib
2020-04-19 12:27:44 +01:00
49a71ff4f8
Merge commit '6422ed7'
...
# Conflicts:
# resources/vanilla
# src/pocketmine/network/mcpe/RakLibInterface.php
2020-04-18 13:55:35 +01:00
64d5320ac9
update for pthreads-free raklib
2020-03-31 19:41:37 +01:00
00cc2ee092
one more RakLib update for the day ...
2020-03-30 00:22:45 +01:00
927872ce08
Updated to latest bleeding-edge RakLib
2020-03-29 23:53:00 +01:00
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
4e54e54421
Updated RakLib dependency
2020-03-29 18:18:39 +01:00
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
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
3eea2442a7
move filesystem-related functions to pocketmine\utils\Filesystem
2019-08-25 17:36:50 +01:00
5499ac620c
Removed pocketmine subdirectory, map PSR-4 style
2019-07-30 19:14:57 +01:00