I recently started looking into JetBrain’s Kotlin-lang, which is a Statically typed programming language for the JVM, Android and the browser - kotlinlang.org
As I have always wanted to know more about how RSPS’ work, I started implementing one in the Kotlin language.
Java NIO (SocketChannels, Selectors, …) is being used for the server-sided networking (which is also totally new for me).
I know there is no need for more non-completed #317 emulators, especially written in other languages than Java.
However, this emulator is being written to get a better grasp on the protocol, learn some Kotlin and NIO, and to be able to understand the internal workings of an RSPS in general.
Currently only logging in is done - not even properly as sessions are not yet being saved.
I have made a small adaption to the client’s log-in sequence so the log-in itself could also be handled as a packet (I just added an opcode of -1 to it).
Incoming packets are lazily loaded through reflection.
This way I could add a new packet handler without having to recompile or even restart the server - not that this is that useful, but hey.
Future updates will be posted in this topic!
You can find the project on Github: https://github.com/Kattoor/KotlinRsps