Collin Smith
cd93d379bd
Added note to fix issue regarding the server binding as LAN IP instead of localhost
2020-06-29 21:48:56 -07:00
Collin Smith
a205135c9e
Moved cache and packet queues from D2GSPacketProcessor to Server
2020-06-29 19:25:01 -07:00
Collin Smith
0333bdd40a
Backporting changes from com.riiablo.server.d2gs to com.riiablo.server.d2gs_test
2020-06-29 00:59:13 -07:00
Collin Smith
e76fe35f49
Changed PacketProcessor references to D2GSPacketProcessor
...
D2GSPacketProcessor can process the packet type directly
Server will process the ByteBuf into the packet type already and pass it
Moved packet cache and queues fields to D2GSPacketProcessor
Created D2GSPacket to store the flatbuffer table
2020-06-29 00:53:05 -07:00
Collin Smith
1af1fd968e
Removed functions from Endpoint.IdResolver
...
In my use-cases there should be a preexisting struct already
IdResolver should just be an accessor to that struct and not a mutator
2020-06-28 18:49:11 -07:00
Collin Smith
60257b48de
Added help command to server CLI
2020-06-28 18:42:51 -07:00
Collin Smith
8feff49a8a
Inlined custom IdResolver implementation into Server which wraps Server id manager (set/remove unsupported)
2020-06-28 18:38:47 -07:00
Collin Smith
93d013c304
Work on d2gs implementation as a tcp socket with netty
...
Created com.riiablo.nnet (new net) package while I figure out a good API
Server performs connection protocol and then propagates other packets to PacketProcessor
2020-06-28 15:49:48 -07:00
Collin Smith
c1add57fb5
Moved experimental netty d2gs package to d2gs_test package
2020-06-27 18:48:49 -07:00
Collin Smith
88b8e7a096
Added sendDisconnectPacket function to D2GS TestClient
2020-06-27 17:06:03 -07:00
Collin Smith
26173a8fd1
Changed to use object's toString method
2020-06-27 17:00:33 -07:00
Collin Smith
278760f913
Renamed sentPacket to sendConnectionPacket
2020-06-27 16:58:32 -07:00
Collin Smith
b2bf16bb1e
Implemented basic client disconnection support
...
Added basic support for automatically detecting inactive channels and performing a client disconnect on them
2020-06-27 16:57:51 -07:00
Collin Smith
70cf9d016a
Moved ByteToMessageDecoder to it's own declared class
2020-06-27 16:39:48 -07:00
Collin Smith
e05e9bebc6
Changed disconnect on error to call ChannelHandlerContext#close()
2020-06-27 16:34:08 -07:00
Collin Smith
98521ad40c
Formatting change
2020-06-27 16:32:15 -07:00
Collin Smith
65e14b7514
Improved ClientData tuple and removed connectionIds and clientDatas hash maps
2020-06-27 16:28:11 -07:00
Collin Smith
03ae8f103c
Added SocketAddress from parameter to packet callbacks
...
from paramter will be either TCP channel remote address or UDP packet sender
2020-06-27 15:58:25 -07:00
Collin Smith
5f81d4d53a
Parameterized ConnectionLimiter max connections
2020-06-27 15:26:11 -07:00
Collin Smith
413ebc8f6c
Aggregated client connection data/state into ClientData
2020-06-27 03:04:46 -07:00
Collin Smith
1781e46724
Created experimental Netty impl of a TCP D2GS server
...
Created experimental Netty impl of a TCP D2GS server
Added salt field to Netty Connection fbs
Created ConnectionState for Connection fbs
2020-06-27 00:30:15 -07:00
Collin Smith
d1270b1a75
Created UnicastEndpoint interface on top of Endpoint
...
Allows sending a message and letting the Endpoint figure out where it should go
Will only be used for client-side endpoints
2020-06-26 13:53:54 -07:00
Collin Smith
143bfca048
Changed signature of PacketSender functions and prepended InetSocketAddress parameter for target
2020-06-26 13:31:47 -07:00
Collin Smith
ad78346c1e
Added salt field to Netty fbs
2020-06-25 19:47:39 -07:00
Collin Smith
dac10467fa
Changed signatures for packet processing calls from Channel to ChannelHandlerContext
2020-06-25 17:29:20 -07:00
Collin Smith
8a38fd7139
Added Channel field to processPacket callback to retrieve attributes and manage connection
2020-06-25 12:18:44 -07:00
Collin Smith
597ae213c5
Moved netty netcode from :server:netty to :core module
2020-06-25 10:08:00 -07:00
Collin Smith
fbdf50f646
Added additional methods to expose MessageChannel instances of ReliableEndpoint and ReliablePacketController instance of MessageChannel
2020-06-25 01:18:44 -07:00
Collin Smith
cf1fea539f
Improved support for reliable UDP
...
Implemented PacketListener#onPacketTransmitted callback for sending messages and acks
Created PacketListener#onAckProcessed callback for received acks
Documented some unknown code related to copying outgoing bytebuf and prepending some data to it
Todo: add support for fragmented messages
2020-06-25 01:11:24 -07:00
Collin Smith
7b3827823d
Added reliable udp packet receiving and partial sending
2020-06-24 22:20:26 -07:00
Collin Smith
bfe71c1031
Moved sequence manipulators to MessageChannel
2020-06-24 22:16:57 -07:00
Collin Smith
e36b832667
Added support for reliable UDP congestion control and packet resending -- no transcieve yet #78
2020-06-24 21:53:45 -07:00
Collin Smith
398f034755
Moved EventLoopGroup shutdown to Application#dispose
2020-06-24 21:48:36 -07:00
Collin Smith
3dc8136462
Moved exit function to catch block and removed sync which was blocking create thread and thus render loop
2020-06-24 20:15:48 -07:00
Collin Smith
8eee5fd8f3
Modified generics with API - endpoint should work with any Object as QoS param
2020-06-24 17:40:30 -07:00
Collin Smith
d328eff4d2
Refactored to send connection packet on main thread instead of through an extra handler attached to the pipeline
2020-06-24 16:29:49 -07:00
Collin Smith
b74e870e9b
Abstracted networking further and implemented TCP implementation #78
...
Deprecated ReliableChannelHandler (succeeded by EndpointedChannelHandler)
Added basic test netty TCP client and server
2020-06-24 15:46:41 -07:00
Collin Smith
b832c89dcc
Updated API
2020-06-24 15:27:58 -07:00
Collin Smith
271359cbca
Fixed log messages
2020-06-24 15:22:18 -07:00
Collin Smith
725bbe4a01
Modified API slightly to improve extension
2020-06-24 13:43:07 -07:00
Collin Smith
2f066cbd0f
Created PacketSender abstraction to send Flatbuffer data using any protocol
2020-06-24 12:19:31 -07:00
Collin Smith
919281e814
Refactored PacketProcessor to com.riiablo.net
2020-06-24 11:35:45 -07:00
Collin Smith
58a576dfc9
TestClient and TestServer now call ReliableEndpoint#update(float) every frame
2020-06-24 01:06:39 -07:00
Collin Smith
165459dd12
Changed delta from long millis to float seconds
2020-06-24 01:05:47 -07:00
Collin Smith
e07e6bd2ba
Refactored changed time to delta where appropriate
2020-06-24 00:59:26 -07:00
Collin Smith
1426b87534
Filled in UnreliableOrderedMessageChannel
2020-06-23 21:45:06 -07:00
Collin Smith
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
Collin Smith
53ceea02a8
Added support for acking packets using a received packets header
2020-06-23 21:04:26 -07:00
Collin Smith
185bd6a73d
Roughed out ReliablePacketController#sentAck
2020-06-23 20:41:32 -07:00
Collin Smith
c268d69ff9
Added time field
2020-06-23 20:33:05 -07:00