Developer Blog 2: Plugin Beta is here!

It's been a long time coming, but the plugin subsystem is now moving into open beta. This lays the groundwork for us to add any plugins that users desire. I would like to thank everyone for their patience, and to all users who helped us iron out the major bugs during closed beta.

I am one guy, and I am a perfectionist. If it was up to me, I would wait to release a nearly flawless system. But given that everyone is asking for plugins, and people are reporting that remaining bugs are minor, I feel it's time to open the beta to all users and continue the work in a public scope. Once this initial release is stable, the remaining plugins people want can be enabled. So yes, many more plugins (core and hub) will be added in the future.

There is a lot more work I wanted to do, and plan on doing. I tried to get the performance loss to a minimal, but it remains a work-in-progress, so if you spot any problems, please let us know.

Some technical:

  • Initial batch has over 90 RL plugins

  • All core and hub plugins can run inside of HDOS (We'll enable them over time)

  • The system is monolithic, meaning all plugins are compiled with HDOS

  • Updates to plugins are merged into HDOS from upstream (on top of any modifications we do)

  • Guice is removed (dependency injection)

  • The event bus was replaced with something more performant and direct

  • The API is inlined (remove abstract layers to let JIT do better work)

  • The Graphics2D API was removed and adapted (renders using OpenGL now)

  • Swing was replaced, and everything uses the clients native toolkit

  • Bunch of other miracle voodoo

On a personal note

The goal of HDOS is to restore the game we grew up on. It was never and will never be about plugins, plugins simply remain a feature within HDOS. My passion is not in plugins; I enjoy working on new and exciting things, things not done before, artistic thing, and things that tickle my passion. My heart simply isn't into plugins, so I would hope people can come to understand and respect this. This client is meant to be enjoyed, and with all that said
I hope everyone enjoys!

— Brainfree