SamuKata
LANCommander
LANCommander

patreon


v0.9.0 Development Updates

It's been a month since the last post, so let's dive into where LANCommander is at and the recent developments!

Launcher

This update will usher in the first full release of the LANCommander Launcher! The launcher will have the same feature set of the Playnite extension, but future iterations will unlock the ability to introduce bigger and better features. As mentioned previous, this means that v0.9.0 will be the last version to support the Playnite extension. We'll get into that more later, but here's a screenshot of the current dev build of the new launcher:

Many design choices were made to build a launcher that's simple and familiar. The application is built using Blazor (the same framework used for the server) on .NET 8. Blazor is a web framework, which means that what you see in the screenshot is all HTML/CSS in a single-app browser wrapper. However, the decision was made to not use a heavy wrapper like Electron. Instead, the app is powered by Photino which uses the operating system's built in web view to render. This means the total download size for the launcher's ZIP is around 80MB.

Performance is pretty good, but certainly can be improved. I've noticed RAM usage (which really shouldn't be scrutinized that much) sits around 200MB-500MB on my system. Most of this usage actually comes from loading the image assets for the games, so there may be some optimization tools that make it into the server side down the line.

Additional Media

v0.8.0 added the ability for you to upload additional media for a game, specifically game logos and manuals. These are supported by the new launcher (indicated by the screenshot above for the logo, and for the manuals there is a built in PDF reader) and can be added in the same interface on the server as the other media. Some improvements have also been made to the media grabbers where media can be grabbed directly from Steam's store pages. As the project progresses, I can definitely see more media such as screenshots and videos being added as available media types.

Playnite Extension Deprecation

v0.9.0 will be the last version to support the Playnite extension. There are more than a few reasons for this, but it really comes down to growth and the limitations .NET Framework. I mention growth because I believe that Playnite and LANCommander just have completely different objectives. I also think that LANCommander, er, commands a tighter integration between player and administrator/server in order to achieve a seamless experience.

Technology wise, Playnite 10 is built using .NET Framework which in the .NET space is considered by many to be ancient. This has stifled development of some features in LANCommander including cross-platform support, chat/friends, and VPN integration. This is not to say it's Playnite's fault, the world has just moved on from .NET Framework. And Playnite is moving on as well, as Playnite 11 is moving onto a modern version of .NET. If you want to follow development, I highly recommend supporting Josef over at his Patreon:

https://www.patreon.com/playnite

His work has been stellar thus far and I can't wait to see what he has cooking! From what has been discussed so far, I really appreciate how calculated and intentional his development process seems to be.

For LANCommander, v1.0.0 will see a separation of the codebase of the Playnite extension into a new GitHub project and removal from the main project. I will gladly accept contributors for anyone that would wish to maintain the extension.

Toolkit

Work has started on a complementary toolkit to LANCommander that will ease the pains of preparing games for your own server. The initial plan is to create an application that can record all of the files and registry keys that a game installer may create/update. This recording can then be uploaded directly into LANCommander. This should make it very easy to add new games to your library without needing an in-depth knowledge of PowerShell scripting or using tools like procmon to find every resource a game may use.

I'm hopeful that an initial form of this toolkit will be usable by the time v1.0.0 is due for release. The intention is to distribute this tool via a paid Patreon tier. This is the first time I will be restricting access to part of the LANCommander platform behind a paywall. This is a strategy to recoup some of my time put into the project as a whole and I would like to stress that this does not mean LANCommander itself will become a paid product. The core of LANCommander and the launcher will always be free and open source.

Cross-Platform

Some of you may have noticed that more builds for more architectures and platforms have been making their way into releases. As the project is built atop .NET 8, LANCommander has the potential to be ported to other platforms with almost no additional code required. Starting with v0.9.0, builds for the following platforms will be included in every release:

These builds will be included for both the server and launcher. However, please note that anything but Windows x64/Linux x64 for the server and Windows x64 for the launcher are the only "supported" builds at the moment. Every other build should be considered experimental. Specifically for the launcher, there are quite a few issues with dependencies where running on anything but Windows probably will just not work. This should hopefully improve as time progresses.

Upcoming Development

So we're close to a v0.9.0 release and v1.0.0 is coming soon. Here's a general breakdown of what you can expect or what I'm hoping to accomplish:

v0.9.0

v1.0.0

Potential Future Features

What I'm Playing/Reading

It's been a bit! We're in the middle of summer so I haven't been playing many games, but here's some stuff that's been occupying my time:


More Creators