The core is being written in Scala with support for several JSR223-compatible JVM-based scripting languages for the GUI which is largely a separate entity.
All core modules are standalone OSGi bundles with services that the GUI will use to implement lobby functionality. This allows runtime updates of the core without affecting the GUI or even requiring restart, though I haven't yet figured out how to handle bundle state changes without placing requirements on GUI operation. Contributors can more easily extend the lobby without burying themselves into details regarding the whole of the application. Basically this is how I should/would have developed CheeseLobby if it had not started out as a university project with a deadline of ~2 months.
I'm making a reference GUI implementation to go with it, probably in Groovy or JRuby. I realize there are lots of lobbies out there already and that player base is dwindling, so in all likelihood nobody will adopt OpenLobby for their games, but who cares when you get to try out new technology.
CheeseLobby is a cross-platform multiplayer lobby client for Spring.
- Removed last binary because download sites were posting buggy alpha projects from my sourceforge account so I decided to erase all my projects there
- Source code on github
Found a bug? Don't bother to report it, won't be followed up see OpenLobby instead.
Code: Select all
0.2.4 *Fixed lots of random stuff. 0.2.3 *Improved system paths handling under Windows. 0.2.2 *Fixed NPE on lobby ring. *Removed unnecessary resources(filesize decreased by ~2mb). 0.2.1 *Updated unitsync to 85.0. *Fixed lwjgl natives not being found on java.library.path. *Added remote error reporting. *Made chat text more clear. *Made tables more compact. *Added a not so annoying ringing. *Improved settings. *Fixed some bugs.