A lightweight 🍃, highly configurable .NET console launcher designed for Flyff (Fly For Fun) game clients. 🎮
This launcher dynamically reads configuration details from a local JSON file to execute the main game binary with its mandatory argument parameters (such as the classic "sunkist" boot string), bypassing the need for rigid or heavy launcher setups. 🛠️
- ⚙️ External Configuration: No hardcoded values; swap client names or boot strings effortlessly via a JSON file.
- 🛡️ Fail-Safe Defaults: Automatically falls back to standard settings (
Neuz.exe/sunkist) if keys are missing from the configuration. - ⚡ Zero Overhead: Completely exits the background process immediately after cleanly handing execution off to the game client.
- 🚨 Error Capturing: Holds the console open and displays explicit system error messages if a process launch failure occurs (e.g., missing permissions, incorrect path).
In Flyff development and customization, the main game client executable (Neuz.exe) requires a specific command-line argument (historically known as a "boot string") to launch, bypass standalone execution blocks, and cleanly bind to server environments. 🔐
Neuz Launcher streamlines this process programmatically:
- 🔍 Initializes Configuration: Leverages
Microsoft.Extensions.Configurationto target and observe a localneuz.jsonfile in the base execution directory. - ⚖️ Evaluates Parameters: Validates configuration fields. If either string returns null, the software gracefully assigns predefined system defaults.
- 🚀 Dispatches Process: Fires a system process invocation via
System.Diagnostics.Process.Start()to bind the client binary alongside its custom parameter, then exits with code0.
To successfully compile and test this project, you will need the following installed on your machine:
- 💻 SDK: .NET 6.0 SDK or higher.
- 📝 IDE/Editor: Visual Studio 2026, VS Code, or JetBrains Rider.
- 📦 NuGet Packages Required:
Microsoft.Extensions.ConfigurationMicrosoft.Extensions.Configuration.Json
To allow the launcher to properly discover and pass parameters to your client, a file named neuz.json must exist in the same runtime folder as your launcher binary.
Create a file named neuz.json and paste the following structure:
{
"ExecutableName": "Neuz.exe",
"BootString": "sunkist"
}This project was made possible by the NukeZero development collective and its contributors. ✨