TenIO is an open-source project to create multiplayer online games that includes a java NIO (Non-blocking I/O)
based server specifically designed for multiplayer games, which supports UDP, TCP, Websocket, HTTP transports, and available simple client projects for quick development.
This module provides all the main features for the framework to operate. It contains an NIO mechanism, server configuration solution, events handling, and other necessary functions that you may find helpful.
EventAccessDatagramChannelRequestValidation
EventAccessDatagramChannelRequestValidationResult
EventAccessKcpChannelRequestValidation
EventAccessKcpChannelRequestValidationResult
EventBroadcastToChannel
EventChannelCreated
EventChannelWillBeRemoved
EventConnectionEstablishedResult
EventDisconnectPlayer
EventFetchedBandwidthInfo
EventFetchedCcuInfo
EventPlayerAfterLeftRoom
EventPlayerBeforeLeaveRoom
EventPlayerJoinedRoomResult
EventPlayerLogin
EventPlayerReconnected
EventPlayerReconnectRequestHandle
EventPlayerSubscribedChannel
EventPlayerUnsubscribedChannel
EventReceivedMessageFromPlayer
EventRoomCreatedResult
EventRoomWillBeRemoved
EventSendMessageToPlayer
EventServerException
EventServerInitialization
EventServerTeardown
EventSocketConnectionRefused
EventSwitchParticipantToSpectatorResult
EventSwitchSpectatorToParticipantResult
EventSystemMonitoring
EventWebSocketConnectionRefused
EventWriteMessageToConnectionJust create your own classes, implement desired interfaces and annotate them with @Component.
In case you do not declare any change, their default implementations will be applied
(DefaultConnectionFilter, DefaultPacketQueuePolicy, DefaultDatagramPacketPolicy).
packet-encryptor: BinaryPacketEncryptor
packet-compressor: BinaryPacketCompressor
connection-filter: ConnectionFilter
packet-queue-policy: PacketQueuePolicy
request-policy: RequestPolicy
datagram-packet-policy: DatagramPacketPolicy- Java 17
The TenIO project is currently available under the MIT License.
Please check out the changelog for more details.
Please check out the checklist and contributing guideline for more details.
$ git clone https://github.com/congcoi123/tenio-core.gitHappy coding !