Skip to content

KnossosNET/Knossos.NET

Repository files navigation

Knossos.NET

KnossosNET

Knossos.NET, also known as KNet, is a multi-platform launcher for Freespace 2 Open using .NET 6.0 and AvaloniaUI



Current Status:

Version 1.0 has been released!
Check out our download page: https://knossosnet.github.io/Knossos-Release-Page/



Main Improvements:

Knossos.NET offers greatly improved performance and stability over the old Python-based Knossos. Because it is written in C#, builds can be released much more easily. Knossos.NET also minimizes the amount of memory and VRAM used, so that slower computers will not suffer performance penalties when running FSO. Knossos.NET furthermore supports compressed VPs and their creation, reducing hard drive footprint. Finally Knossos.NET has additional features compared to original Knossos, while still maintaining feature parity. Some of these features are detailed below.



Quick Launch Cmdline:

KnossosNET supports direct mod launch by adding a Command Line argument, this will open the launcher, and will launch FSO to play a mod with all the current settings and configurations, and close the launcher.
Example:

KnossosNET.exe -playmod mod-id -version mod-version (optional)

If no version is given (KnossosNET.exe -playmod mod-id) the highest version of the mod will be launched.
The "Mod Settings" window displays the Command Line to play that mod directly via quick launch.



Software Rendering Mode:

By default Knet will render the UI in the GPU, can be set to run completely on software rendering what effectively avoids any use of the user GPU, this will come at the cost of increased CPU usage, what should not be a problem when in idle.
You can force the software rendering mode by using the "-software" Command Line argument or by setting an environment variable "KNET_RENDER_MODE" to "software".



mod.ini Support:

Using legacy mod.ini files for mod folders is also supported, and some additional keys were added to extend support. mod.ini can be used to attempt to load an old mod or to manually add a mod to the launcher whiout having to write a mod.json file. The folder still has to be placed in the correct path inside the library as with any other mod.

Details on how Knet handles mod.ini and the new keys can be found here:
https://wiki.hard-light.net/index.php/Mod.ini#KnossosNET_Support



CmdLine Priority Explained:

On KnossosNET there are multiples sources of Command Line arguments that are eventually joined into a single one to launch the game, repeating arguments are not allowed.

  • By default, the priority works in this order:

    • SystemCMD(Global Settings) > Global CMD > User/Mod CMD
  • Users also have the option to not apply the global Command Line on a per-mod basis by checking the box in a mod's settings. If checked, the priority is then only:

    • User/Mod CMD



Dev Environment:



Included Libs:

  • VP.NET
  • IonKiwi.lz4 (modified for LZ41 support)



Current NuGet Packages:

  • Avalonia 11.0.3
  • Avalonia.Desktop 11.0.3
  • Avalonia.Diagnostics 11.0.3
  • Avalonia.Themes.Fluent 11.0.3
  • Avalonia.HtmlRenderer 11.0.0
  • CommunityToolkit.Mvvm 8.2.1
  • ini-parser-netstandard 2.5.2
  • SharpCompress 0.33.0



Compiling for Linux and Mac:

  • Right click on the project -> Publish
  • Export to folder
  • From there you can pick the dest enviroment on the list

About

Repository for the Knossos.NET launcher, currently in development.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages