LuaUI Extension
What it adds
Core changes what the server does, the Extension changes what the player sees. It requires Core.
You build floating windows that the player opens and drags, or HUD panels that stay on screen for the whole session. They can use the game's own frame artwork so they look built in, or be skinned entirely from your own bitmaps.
Controls
Labels, buttons, images and panels. Scrollable lists with a scrollbar styled in colours or cut from your own atlas. Text fields that validate every keystroke and accept Chinese, Japanese and Korean input through the system IME.
Two halves of one window
A window is a client script that draws it and a server script that decides what it may do. They talk over a request and answer protocol you define, with typed payloads, so a button press can run server logic, query the database and send a result straight back.
The server also decides whether a window may open at all. Level requirements, map restrictions and rules such as one window at a time belong there, because only the server can enforce them.
Every language, one window
On-screen wording comes from a per-language file, so a single window renders correctly for every client language you serve.
Building and shipping
With development mode enabled for the accounts you name, F9 reloads a script in place and an in-game console prints live values while you work, with no restart between attempts. Finished scripts are shipped encrypted, so the client loads them while players cannot read, copy or edit them.
Tools included
BitmapSlicer cuts an interface atlas into named slices and exports ready to paste Lua tables: https://www.igcn.mu/files/file/167-bitmap-slicer/
IGC File Encrypt encrypts your client scripts in one step: https://www.igcn.mu/files/file/157-igc-file-encrypt/
Requirements
LuaAPI Core, plus LuaUIEnable=1 and a 32 character LuaUIScriptKey in the server's PluginSettings.ini.
Full documentation: https://github.com/srv-config/Configs-Preview/wiki
