Commit Graph

99 Commits

Author SHA1 Message Date
1426b87534 Filled in UnreliableOrderedMessageChannel 2020-06-23 21:45:06 -07:00
53a1a6f117 Removed sequence from PacketProcessor#processPacket and PacketTransceiver#receivePacket interfaces
sequence was not used and should remain encapsulated beneath MessageChannel layer
2020-06-23 21:28:20 -07:00
53ceea02a8 Added support for acking packets using a received packets header 2020-06-23 21:04:26 -07:00
185bd6a73d Roughed out ReliablePacketController#sentAck 2020-06-23 20:41:32 -07:00
c268d69ff9 Added time field 2020-06-23 20:33:05 -07:00
cc1c43b7e6 Committing basic reliable UDP package 2020-06-23 18:40:59 -07:00
3a79adcaae Removing previous iteration 2020-06-23 18:40:17 -07:00
b19d61b8f2 Committing local changes from deprecated netty udp protocol 2020-06-23 18:39:14 -07:00
fbc4019b23 Removed AckPacket and added writeAck function to SinglePacket 2020-06-22 12:27:11 -07:00
990910393b Implemented headerSize and fragmentSize fields 2020-06-22 12:03:40 -07:00
8f0f2b36c6 Fixed unsigned arithmetic 2020-06-22 02:13:14 -07:00
e831ca09cd Added check to see if fragment packet header was invalid 2020-06-21 20:36:33 -07:00
7e31a3a5dd Changed error handling style to be log-and-return based 2020-06-21 20:34:21 -07:00
194fb0817f Adjusted API slightly to help with more common impl 2020-06-21 20:21:53 -07:00
092a6c23fe Created com.riiablo.net.reliable and partial Java implementation of reliable.io UDP scheme #78 2020-06-21 19:41:08 -07:00
3f51d1d503 Removed individual handlers for inbound and outbound traffic -- replaced with ReliableChannelHandler 2020-06-20 14:21:25 -07:00
01888faac6 Implemented ReliableUtil and composite ByteBuf into ReliableChannelHandler
Implemented ReliableUtil and composite ByteBuf into ReliableChannelHandler
ReliableChannelHandler automatically replaces outbound message with composite
Removed size prefixing contract from Packet factory
Added ReliableUtil#createHeader to write data and set writer index passed header
2020-06-20 14:03:27 -07:00
d672768495 Added finishNettyBuffer 2020-06-20 12:49:17 -07:00
5c4c06d47e Created setContentSize method to support composite buffers
Created setContentSize method to support composite buffers
Removed UDP header fields from Netty fbs table
2020-06-20 12:47:31 -07:00
26aebd5183 Created ReliableUtil class with utility methods to set and get header data encoded within a reliable UDP packet outside of fbs 2020-06-20 02:01:05 -07:00
a8fe6bc732 Removed Header table from fbs and inlined fields within the Netty table 2020-06-20 00:21:04 -07:00
510342e232 Implemented some basic reliable udp logic
Seq should increment and wrap around at 0xFFFF
Added special case for ack < 0 (init first packet)
Added netty packet creation functions to ReliableChannelHandler
Header creation is difficult because I can't mutate existing packets easily -- experimenting
2020-06-18 20:46:57 -07:00
2b6d06f330 Rolled Client debugging outbound packet data logging into ReliableChannelHandler 2020-06-17 22:57:40 -07:00
fb7377980b Created ReliableChannelHandler to try and accomplish ReliableInboundHandler and ReliableOutboundHandler with one ChannelHandler
Replaced implementations with ReliableChannelHandler
Removed ReliableInboundHandler and ReliableOutboundHandler
Removed propagation for caught exceptions within ReliableChannelHandler impls
2020-06-17 22:29:14 -07:00
f1df48b468 Changed ServerHandler to be a subclass of PacketHandler -- replaced anon PacketHandler with ServerHandler impl 2020-06-17 22:02:33 -07:00
573f4d1b4b Added reliable ChannelHandlers to server ChannelPipeline 2020-06-17 21:56:00 -07:00
fc66d120d7 Filled in some of anonymous PacketHandler within Main to process some packet types 2020-06-17 21:54:08 -07:00
02a6cd4b56 Created PacketHandler class to help with decoding fbs packet objects from netty channels 2020-06-17 21:33:34 -07:00
ef94883dd7 Refactored name scheme 2020-06-17 21:16:04 -07:00
a2000a6162 Fixed some initialization issues and created reliable ChannelHandler implementations to help deal with UDP reliability 2020-06-17 21:09:56 -07:00
cad29c7b82 Created Header table in Netty fbs and sample packet 2020-06-16 02:40:39 -07:00
f5454be03d Created test fbs packets 2020-06-14 20:59:27 -07:00
cbd55ee164 Replaced StringEscapeUtils from apache commons-lang3 with commons-text
StringEscapeUtils from commons-lang3 was deprecated and should be using version from commons-text
Optimized imports
2020-06-14 12:35:15 -07:00
dd54d11d9f Transitioned to UDP client/server 2020-06-13 21:13:11 -07:00
4dcfe2ff00 Created netty module to try implementing UDP servers and move away from the LibGDX networking 2020-06-13 17:42:05 -07:00
eb2d672ac1 Improved accuracy of networking ping calculation #77 2020-06-12 20:08:58 -07:00
3390b544a6 Improved accuracy of ping calculation #77 2020-06-07 15:55:28 -07:00
cdc73e12d6 Added support for Ping packet
Added Ping to Networking fbs
Created Riiablo.ping long to store current ping in ms
Changed Client draw fps to draw Riiablo.ping below fps
Created Pinger system which manages Riiablo.ping and sending and receiving Ping packets
Riiablo.ping is really more like RTT+frame_time and should be ironed out better
Created issue #77 related to the work done in this commit and deficiencies to be addressed
2020-06-07 00:23:00 -07:00
ae00373f8a Added ServerItemManager which will handle item wrapper entity creation/deletion 2020-06-05 13:25:37 -07:00
83a95e35fc Removed deprecated DropItem and PickupItem packets and related code 2020-06-04 19:46:42 -07:00
e472514179 Rolled Deleted component implementation into a Flags component
Removed Deleted component and associated flatbuffers classes
Created Flags component along with added a bitflags field to EntitySync flatbuffers table
It seems plausible more flags will be needed in the future aside from marking an entity as deleted
2020-06-04 19:41:55 -07:00
ffda38c9fd Fixed issue where packets might be sent to a disconnected client 2020-06-04 19:14:08 -07:00
804e8373d5 Improved logging for D2GS packets
Added ability to disable logging for specified packet types (EntitySync was cluttering the log)
2020-06-04 17:05:15 -07:00
7404ea63a6 First iteration of deleting networked entities
This iteration assumes removing Networked component implies deletion
Deletion is managed as a flag within the EntitySync packet header
2020-06-03 20:58:58 -07:00
907688a1d2 Improved support for picking up and dropping items
ItemController interface changed to be an engine-operable interface
Removed ItemController interface from CharData
Changed ItemController#groundToCursor(Item) to #groundToCursor(int) to pick up an item wrapper entity
ItemManager now handles item entity creation/deletion (may change)
ClientItemManager changed to operate upon Riiablo.charData and is for clients
CursorMovementSystem now uses ItemController instead of handling item drop and packeting directly
Item wrapper entity deletion remains unhandled in multiplayer until support for networking entity deletion is added
2020-06-02 20:55:03 -07:00
edb6de8df9 Added support to D2GS for a majority of ItemManager functions
Added support to D2GS for a majority of ItemManager functions
GroundToCursor remains unimplemented in this commit due to entity creation
2020-06-02 15:30:18 -07:00
8f437ab037 Added ItemManager system to D2GS engine 2020-06-01 17:47:37 -07:00
be70756aeb Added prototypes for item management packets 2020-05-31 21:30:53 -07:00
6860d8cba1 Implemented improved CharData class
CharData has been fully replaced with a version that doesn't just wrap a D2S file
Added support for a more event-based action approach with the UI
Event systems still need to be added to engine to perform CharData item operations
Decoupled com.riiablo.Cursor from D2S cursor item management -- defers to Riiablo.charData instance
2020-05-28 13:07:24 -07:00
f78a3a2d08 Moved D2S to com.riiablo.save 2020-01-06 15:26:00 -08:00