
Hewwo slimes! With us growing more and more and development being hard to follow, we’ve decided to start a devblog! This will allow us to be more transparent on what we’ve been working on and receive feedback from you directly :3 Steam comments will be open under these devblogs for you to give us feedback. Also, remember that you can open an issue on the Server’s Github for feature requests. And join our Discord server for any questions or tech support.
Today, we want to talk about what we’ve been working on for the past 5 months: rewriting the whole server’s backend from scratch in Kotlin (sorry Rust fans). The server’s code used to be a mix of Java and Kotlin that opensource contributors wrote over the years with no leading architecture. It worked but resulted in quite a mess that was hard to work with. The rewrite’s goal is to clean up the code while improving it. It uses a state reducer architecture using Kotlin flows, similar to microservices. This means:
More testable code -> less regressions
Less obscure bugs (including race conditions)
Less dependencies within the code
More performance and less latency (that you can feel!)
We will be going into more technical details about the rewrite in upcoming devblogs, so stay tuned!
We're happy to announce that SlimeVR just released contributing guidelines that include a ban on the usage of AI code generation on all its repositories. This means no AI code in your tasty slimes nor in the server they connect to! You can find the full guidelines here :3
The server repository is currently in a feature-freeze because of the rewrite. However, if you want to contribute, feel free to submit a Pull Request targetting the `server-rewrite` branch, but do keep in mind we may not accept new feature until it is done and merged in `main`. We are also always down to get more help translating SlimeVR. Check out the #translation channel on our Discord server for more information :3 - Erimel the developer fox :3