KUpdater is a modern, fully customizable launcher and updater originally built for KalOnline, but now adaptable to any game.
Entirely custom‑drawn interface (no default WinForms look) Fully configurable background images, layout offsets Support for transparent windows and anti‑aliasing for smooth visuals
IControl interface for building custom controls Includes Button, Label, ProgressBar and TextBox as reference implementations Hover and click effects with theme‑dependent graphics
Create UI elements such as labels, buttons and textboxs directly from Lua Enables dynamic, script‑driven customization
C# / .NET for core logic and UI rendering Lua for scripting and theme control SkiaSharp for advanced graphics
The UpdateCreator Tool (UpdateBuilder.exe) prepares update packages for distribution.
- Place all new or modified files into the
Update/folder. - Run
UpdateBuilder.exe. - Enter the PackageUrl (must be a valid
httporhttpsURL). - The tool generates the following files inside
Upload/:update.zip→ compressed archive of all update filesupdate.json→ metadata file containing version, URL, and SHA256 hashesversion.txt→ current version string (default:1.0.0)
- Upload these files to your server.
The Updater reads its configuration from a Lua file located in the same folder as KUpdater.exe:
Path: kUpdater/Lua/base.lua
Base = {
Url = "http://darn.bplaced.net/KUpdater/", -- must match PackageUrl
Language = "en", -- supported: "en", "de", ...
}
The Url in base.lua must match the PackageUrl you entered in the UpdateCreator Tool. This ensures the Updater knows where to check for update.json and download update.zip.
- Build update package with UpdateCreator Tool.
- Upload update.zip, update.json, and version.txt to your server.
- Configure the Updater (base.lua) with the same Url.
- Run KUpdater → it checks update.json, verifies hashes, and applies updates.
This project is licensed under the GNU General Public License v3.0. Copyright (c) 2025 Christian Schnuck
✅ You are free to use this software for any purpose. ✅ You are free to study, modify, and improve the code. ✅ You are free to share the software and your modifications with others. 🔄 If you distribute modified versions, you must also share the source code under the same license. 🙌 Attribution is required — please keep the original copyright notices and clearly mark your changes.
