wasabmyan / tenio

TenIO is a java NIO (Non-blocking I/O) based server specifically designed for multiplayer games. It can be used to create scalable, distributed systems (such as MMORPG systems).

Home Page:https://congcoi123.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TenIO Tweet

TenIO is a java NIO (Non-blocking I/O) based server specifically designed for multiplayer games. It supports UDP and TCP transports which are handled by Netty for high-speed network transmission. It uses MsgPack for compressing data so that can be transferred quickly through the network. This framework can help you quickly create a game server or integrate it into your system. It can be used to create scalable, distributed systems (such as MMORPG systems).

Features

  • Scalable, distributed design.
  • Easy-to-use, OOP design.
  • Based on standard Java development, ensuring cross-platform support.
  • Simple event handlers implementation.
  • Simple physic simulator and debugger.
  • Have simple existing game clients for rapid development.

Showcases


Gold Miner Online


Retro Brick Game Online

Architecture

Game Server

Game System

First glimpse

  • Simple Movement Simulation
    Simple Movement Simulation
  • Communication Simulation
    Communication

Wiki

The wiki provides implementation level details and answers to general questions that a developer starting to use TenIO might have about it.

Clients


TenIO Cocos2dx


TenIO Libgdx


TenIO Unity


TenIO Phaserjs

Dependencies

  • guava 29.0-jre
  • netty-all 4.1.50.Final
  • servlet-api 2.5
  • log4j-core 2.13.3
  • jetty-server 9.4.29.v20200521
  • jetty-servlet 9.4.29.v20200521
  • msgpack 0.6.12

Requirements

  • Java 11

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 contributing guideline for more details.

Documentations

Please check out the documentations directory for more details.

Installation

For the 3.x version, you can get by Maven

<dependency>
    <groupId>io.github.congcoi123</groupId>
    <artifactId>tenio</artifactId>
    <version>3.1.1</version>
</dependency>

Or you can get the sources

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

Examples

Please start the server before its corresponding client in each example package.

|-- example
    |-- example1
    |   |-- TestClientLogin.java
    |   |-- TestServerLogin.java
    |-- example2
    |   |-- TestClientFSM.java
    |   |-- TestFSM.java
    |   |-- TestServerFSM.java
    |-- example3
    |   |-- TestClientAttach.java
    |   |-- TestServerAttach.java
    |-- example4
    |   |-- TestClientMovement.java
    |   |-- TestMovement.java
    |   |-- TestServerMovement.java
    |-- example5
    |   |-- TestECS.java
    |-- example6
    |   |-- TestClientStress.java
    |   |-- TestServerStress.java
    |-- example7
    |   |-- TestServerPhaserjs.java

Happy coding !

About

TenIO is a java NIO (Non-blocking I/O) based server specifically designed for multiplayer games. It can be used to create scalable, distributed systems (such as MMORPG systems).

https://congcoi123.dev

License:MIT License


Languages

Language:Java 100.0%