Commit Graph

153 Commits

Author SHA1 Message Date
TheMode b2a0b91a45 Add warning in PacketUtils
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-06 13:40:11 +02:00
TheMode 026550ac07 Simplify PacketUtils
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-05 02:50:59 +02:00
TheMode 7b8277b6be Do not flip the buffer inside #write(ByteBuffer)
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-04 23:56:27 +02:00
TheMode f717279adc Independent socket send & receive buffer size
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-04 16:43:45 +02:00
TheMode af82bf1236 Reduce allocations for chunk packet writing 2021-08-26 10:55:56 +02:00
TheMode 024f8d36bd API cleanup 2021-08-26 10:36:31 +02:00
TheMode 73f125763c Use a lock + weak map 2021-08-25 17:25:08 +02:00
TheMode e185bca468 Fix obvious packet corruption 2021-08-25 13:54:09 +02:00
TheMode 5e18f48a1b Cleanup 2021-08-25 10:45:35 +02:00
TheMode 2ae0c0bbcd Batch movement packets 2021-08-25 09:01:13 +02:00
TheMode 6520855418 Fix buffer offset 2021-08-24 21:21:51 +02:00
TheMode ec66beece4 Initial viewable broadcast attempt 2021-08-24 14:59:17 +02:00
TheMode 168672e002 Keep reference to the framed packet for debugging/transformation purpose 2021-08-14 14:39:11 +02:00
TheMode d4f74abc64 Include original packet in `FramedPacket` for debugging/listening purpose 2021-08-13 19:58:14 +02:00
TheMode 322572c96d Rename to `LocalCache` 2021-08-13 01:13:58 +02:00
TheMode 78126fad6c Add experimental local buffer API. Remove allocation when writing chunk packets (should help with startup time) 2021-08-13 01:08:19 +02:00
TheMode ea951f9566 Less allocation for compressed packets 2021-08-11 14:47:20 +02:00
TheMode fd08cabb6a Change default tab implementation to show all online players 2021-08-11 14:18:04 +02:00
TheMode 1b708bc851 Fix BinaryBuffer#canWrite, use read-only buffers for caching 2021-08-09 01:45:00 +02:00
TheMode 1591df16aa Rename `netty` to `socket` wherever possible 2021-08-08 19:11:47 +02:00
TheMode aa2a6522dc Increase socket size, cache direct buffers 2021-08-05 15:42:16 +02:00
TheMode 87f141ff50 Simplify packet writing 2021-08-05 03:09:45 +02:00
TheMode 58487f4455 Add PacketUtils#allocateTrimmedPacket 2021-08-05 00:08:53 +02:00
TheMode 120b58db6a Fix ghost player, trim chunk/light packets 2021-08-04 21:02:59 +02:00
TheMode 9b9d3f3405 Better chunk packet caching 2021-08-04 16:49:01 +02:00
TheMode 174ef14303 Reuse grouped buffers 2021-08-04 12:41:15 +02:00
TheMode 8895e49a52 Improve socket shutdown 2021-08-04 05:15:40 +02:00
TheMode 557d34c378 Reduce allocation count 2021-08-04 04:00:42 +02:00
TheMode 9bb50430d4 Fix memory leak, decrease socket size 2021-08-04 03:53:01 +02:00
TheMode 66b567597a Fix connection crash
Signed-off-by: TheMode <themode@outlook.fr>
2021-08-04 00:37:17 +02:00
TheMode 548cee55e0 Fix compression
Signed-off-by: TheMode <themode@outlook.fr>
2021-08-03 21:16:24 +02:00
TheMode 65df72fa82 Remove write branching
Signed-off-by: TheMode <themode@outlook.fr>
2021-08-03 20:18:38 +02:00
TheMode 1c3bb5b0ff First NIO attempt
Signed-off-by: TheMode <themode@outlook.fr>
2021-08-03 12:57:13 +02:00
TheMode 1e9046d792 Remove velocity compression library 2021-06-20 20:59:53 +02:00
Kieran Wallbanks 58e108bd37 Fix deprecated API usages 2021-06-15 13:19:49 +01:00
TheMode 4ab35fbbc0 Remove magic value for pre-filled var ints 2021-05-11 03:10:18 +02:00
TheMode d41a4dcf54 Reduce grouped packet buffer overhead 2021-05-10 11:16:17 +02:00
TheMode 96fe9f1063 Framed packet cleanup 4 2021-05-10 11:03:58 +02:00
TheMode aaa012a975 Framed packet cleanup 3 2021-05-10 11:02:12 +02:00
TheMode 590b42c223 Framed packet cleanup 2 2021-05-10 07:00:16 +02:00
TheMode b96386cee5 PacketUtils#writeFramedPacket cleanup 2021-05-10 05:47:14 +02:00
TheMode 165b7bced2 Only direct buffer should be used for IO 2021-05-08 22:45:57 +02:00
TheMode f1e48b07b9 Reduce use of the pooled allocator 2021-05-08 00:52:46 +02:00
TheMode f7bf7c1321
Merge pull request #204 from kezz/send-packets-to-audience
Add util method to send a packet to an audience
2021-04-11 15:29:04 +02:00
TheMode e4f7a66046 Packet cache rename 2021-04-10 02:02:59 +02:00
Kieran Wallbanks 18608deefa Add util method to send a packet to an audience 2021-03-30 15:54:56 +01:00
themode 1e817ee4b5 Use velocity native compression 2021-03-28 20:40:27 +02:00
themode 85d01e5009 Micro optimize packet header varint 2021-03-28 19:34:38 +02:00
TheMode d73f87d545 Use default compression level
Signed-off-by: TheMode <themode@outlook.fr>
2021-03-28 17:35:22 +02:00
themode 56a34f73d9 Improve/simplify packet memory allocation 2021-03-28 15:58:52 +02:00
Kieran Wallbanks aa2d1f6397 Rename serializer and make static static 2021-03-26 17:34:39 +00:00
Kieran Wallbanks 8dc7328c76 Off-by-default component translation 2021-03-26 17:34:38 +00:00
Kieran Wallbanks 52ce8027f2 Simplify component translation 2021-03-26 17:34:38 +00:00
themode 0d7d7ef453 Cleanup comment 2021-03-26 16:43:25 +01:00
themode cef7e3d591 Optimize packet writing & reduce allocation 2021-03-26 15:58:46 +01:00
themode 9c8c8c8bf8 WIP packet allocation improvement 2021-03-26 13:08:05 +01:00
themode 622f632989 Use heap buffer for short lived packets 2021-03-25 16:51:36 +01:00
themode b3655ad82d Small style cleanup 2021-03-25 16:05:10 +01:00
Eoghanmc22 0f5bb0e4f2 Changes to networking 2021-03-25 10:44:02 -04:00
themode 4c3215bf1b Fix packet writing when compression is disabled 2021-03-22 19:37:16 +01:00
themode 01e56636da Reduce the number of buffer copy 2021-03-22 14:31:38 +01:00
themode 126382f55d Reduce memory allocation 2021-03-21 13:22:49 +01:00
themode cd273b4d99 Use direct buffer for framed packets 2021-03-20 11:59:02 +01:00
themode a9a0a672f0 Reduce deflater level, prevent race condition when releasing tick buffer 2021-03-20 10:20:45 +01:00
themode 999a815eba Use ThreadLocal for deflater instead of dirty hack 2021-03-05 23:57:28 +01:00
themode 8334e100cf Don't send packet to disconnected clients 2021-02-07 22:02:03 +01:00
Tyan 855c8af455 Added ExceptionManager for custom exception handling 2021-01-20 11:43:45 +01:00
themode 90006ac48d Prevent compression from blocking the thread too much 2021-01-08 16:20:04 +01:00
themode 0faaea2c1b Added option to disable the grouped packet feature 2021-01-02 15:44:50 +01:00
themode 3a988ddba1 Fixed block break particles and sound being played two times for the breaker 2020-12-14 06:06:28 +01:00
Felix Cravic 91a000ab31 heap buffers don't need to be released manually 2020-12-08 09:49:29 +01:00
Felix Cravic fec23a9783 Improve grouped packet performance 2020-12-08 09:13:22 +01:00
Felix Cravic e3f6b73241 NettyPlayerConnection.java#write and flush should return a ChannelFuture 2020-12-05 20:35:43 +01:00
Felix Cravic 635d6f9f95 Fixed EntityCreeper metadata 2020-12-02 20:35:09 +01:00
Felix Cravic 79a5f99358 A few internal comments 2020-11-26 01:38:08 +01:00
Felix Cravic ae845e38ab Small cleanup 2020-11-26 01:24:43 +01:00
Eoghanmc22 d056fceb8a slightly improve performance and fix memory leak 2020-11-22 12:44:08 -05:00
Eoghanmc22 ee2e141673 implement pooled buffers 2020-11-20 12:16:45 -05:00
Eoghanmc22 9a64a0a409 Merge branch 'master' of https://github.com/Minestom/Minestom
 Conflicts:
	src/main/java/net/minestom/server/entity/Player.java
	src/main/java/net/minestom/server/network/player/NettyPlayerConnection.java
	src/main/java/net/minestom/server/utils/PacketUtils.java
2020-11-20 08:56:58 -05:00
themode 871cb993b4 Do not send packet to empty collection 2020-11-20 14:14:55 +01:00
themode 98fe83c605 Comments for PacketUtils 2020-11-20 14:05:22 +01:00
themode 075ff7600a Added a whole new caching system for ChunkDataPacket and UpdateLightPacket 2020-11-20 11:14:15 +01:00
themode 02eab844a5 Fix logging when compression is disabled (not recommended) 2020-11-20 07:55:34 +01:00
themode 9f45cf11a3 Added todo to optimize buffer allocation 2020-11-20 05:50:52 +01:00
themode 4060f8d290 Added GroupedPacketHandler to prevent rewriting the same packet multiple times 2020-11-20 05:37:13 +01:00
themode 3455c77eb7 Explain the role of each handlers 2020-11-20 04:48:33 +01:00
themode 153f7215b3 Write packet only once when used with PacketUtils#sendGroupedPacket 2020-11-20 03:57:05 +01:00
Eoghanmc22 f307303758 Netty improvements 2020-11-18 20:28:56 -05:00
Eoghanmc22 618fd2b536 Begin optimizing netty. 2020-11-18 13:39:06 -05:00
themode 40d6a71697 Cleanup 2020-11-18 06:39:20 +01:00
themode 47045252e5 PacketUtils comment 2020-11-13 09:17:53 +01:00
themode c60f625c55 Revamp of the packet sending code, added possibility to have listeners for outgoing packets 2020-11-13 07:43:35 +01:00
themode 46d008b595 Added annotations in PacketUtils 2020-11-05 22:20:51 +01:00
themode 660a67e53e English fix 2020-10-15 21:16:31 +02:00
themode 7ea06cc70b PacketUtils improvement with initial capacity packet + optimize the ChunkDataPacket 2020-08-21 13:16:44 +02:00
themode 571bb7a866 Renamed PacketWriter/Reader to BinaryWriter/Reader + optimization to serializing 2020-08-19 20:34:21 +02:00
Felix Cravic b716d8a47a Comments + cleanup 2020-08-15 04:05:15 +02:00
Articdive d5b8ead337
Make utility classes final and not constructable. 2020-08-07 08:10:10 +02:00
artem 53410c737a getVarIntSize optimization, Compression, LegacyPing 2020-06-29 01:07:48 +05:00
Felix Cravic b00627f778 Forgot to write StoredEnchantments 2020-05-29 01:05:08 +02:00