# MineLights 2.1
This is a large update that completely replaces the backend server, dramatically expanding hardware support and adding new features for a much smoother user experience. The original C++ server has been replaced with a new C# .NET-based application that makes use of RGB.Net for much larger device compatibility.
**Previous server versions are not compatible.**
## Key Features & Major Changes
* **Hardware Support Expansion:** Support has been added for a large amount of new brands via their official SDKs:
* **Logitech** (G HUB / Lightsync)
* **Razer** (Chroma)
* **SteelSeries** (GameSense)
* **Wooting**
* **Novation** (e.g., Launchpad)
* **Raspberry Pi Pico** (for DIY projects)
* **Automatic Server Management (Windows Only):** The mod will now automatically start the `MineLights.exe` server if it isn't running and will monitor it, restarting it if it closes unexpectedly.
* This feature can be disabled in the config screen if you prefer to manage the server manually.
* **Complete Backend Rewrite**
* **Smarter Configuration:** The in-game configuration screen now communicates directly with the new server. Enabling or disabling integrations will now reconfigure the server.
* **OpenRGB Key Mapping:** Keyboards controlled by OpenRGB should now correctly map named keys, enabling effects like the movement key highlighting on a wider range of hardware.
* Saturation/Oxygen bar on F9-F12 keys.
## Installation / Upgrade Instructions
1. **DELETE** your old `MineLights` server folder and `minelights-*.jar` file completely.
2. **Download and extract** the `MineLights-2.1.zip` from this release: [https://github.com/megabytesme/MineLights/releases/tag/v2.1.0](https://github.com/megabytesme/MineLights/releases/tag/v2.1.0)
3. Place the new `minelights-2.1.jar` into your `mods` folder.
4. Place the entire `MineLights` **folder** (containing `MineLights.exe`) into your `mods` folder.
* Your final folder structure should look like: `.../.minecraft/mods/MineLights/MineLights.exe`
## Full Changelog & Technical Details
* Replaced the entire V1 C++ server with a new V2 implementation using .NET and the RGB.NET library.
* Added an auto-start and auto-restart monitor to the client for managing the server process on Windows.
* Added a server-side configuration file (`config.json`) to persist enabled integrations and disabled devices.
* Implemented a TCP handshake protocol where the client sends its configuration to the server, allowing the server to dynamically load or unload SDK providers.
* Added named key mapping for devices controlled via OpenRGB by parsing LED names during device enumeration.
* Refactored the build process to create a self-contained .NET application, bundling the runtime so no external installation is required.
* Embedded all required native SDK DLLs (iCUE, Mystic Light, etc.) into the server executable, which are extracted at runtime to simplify distribution.
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }