Skip to content

congcoi123/tenio-core

TenIO Core Module Tweet

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.

All supported events

EventAccessDatagramChannelRequestValidation
EventAccessDatagramChannelRequestValidationResult
EventBroadcastToChannel
EventChannelCreated
EventChannelWillBeRemoved
EventConnectionEstablishedResult
EventDisconnectPlayer
EventFetchedBandwidthInfo
EventFetchedCcuInfo
EventPlayerAfterLeftRoom
EventPlayerBeforeLeaveRoom
EventPlayerJoinedRoomResult
EventPlayerLogin
EventPlayerConnectionResumed
EventPlayerConnectionRetry
EventPlayerSubscribedChannel
EventPlayerUnsubscribedChannel
EventReceivedMessageFromPlayer
EventRoomCreatedResult
EventRoomWillBeRemoved
EventSendMessageToPlayer
EventServerInitialization
EventServerTeardown
EventSocketConnectionRefused
EventSwitchParticipantToSpectatorResult
EventSwitchSpectatorToParticipantResult
EventSystemMonitoring
EventWebSocketConnectionRefused
EventWriteMessageToConnection

Customizable behaviors

Just 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, DefaultOutboundQueuePolicy, DefaultDatagramPacketPolicy).

packet-encryptor: BinaryPacketEncryptor
packet-compressor: BinaryPacketCompressor
connection-filter: ConnectionFilter
outbound-queue-policy: OutboundQueuePolicy
request-policy: RequestPolicy
datagram-packet-policy: DatagramPacketPolicy

Requirements

Java 21+

Dependencies

License

The TenIO project is currently available under the MIT License.

Changelog

Please check out the changelog for more details.

Contributing

Please check out the checklist and contributing guideline for more details.

Installation

Maven Central

<dependency>
    <groupId>io.github.congcoi123</groupId>
    <artifactId>tenio-core</artifactId>
    <version>0.7.1</version>
</dependency>

GitHub

$ git clone https://github.com/congcoi123/tenio-core.git

Happy coding !

About

The core module is for the TenIO framework.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors

Languages