Skip to content

Kotlin tools for networking using Netty, JGroups, experimental serialization and coroutines.

Notifications You must be signed in to change notification settings

lukashaertel/kontor

Repository files navigation

This project houses Kontor, Rome and Wepwawet.

Building

The project should build out of the box. To run properly in IntelliJ, edit the run configuration of the respective main and replace the Kotlin build with a call to the gradle task build. This is neccessary since this project utilizes the serialization compiler plugin.

IntelliJ run configuration

Kontor

A network server, client, and cluster node library supporting arbitrary message types and generalized inbound/outbound channels. This project demonstrates some experimental Kotlin features, namely Coroutines and the Serialization Prototype.

Rome

Rome provides a simple to implement do and undo timeline. dos may return a carry-over state that can be used by undo to revert the action. The repository supports dropping unneeded actions and setting a soft upper boundary to view previous states and prevent execution of actions in the "future".

Wepwawet

Wepwawet uses change tracking to generalize undo operations. They are defined using an embedded DSL. The ultimate goal is to make an out-of-the-box synchronization solution for complex multiplayer games.

Releases

No releases published

Packages

No packages published

Languages