Adding a Locally Hosted Web Interface for Plugin Management and Information Retrieval
Shotix opened this issue ยท 0 comments
Summary
The proposed feature involves the creation of a locally hosted website that allows the server owner to manage the plugin and retrieve information about it. This feature will provide a user-friendly interface for managing the plugin's functionalities, such as enabling/disabling features, adding/removing players, and more.
Motivation
This feature will greatly enhance the user experience by providing a more intuitive and accessible way to manage the plugin. It will allow server owners to easily monitor and control the plugin's functionalities without needing to delve into the code or use complex commands. This will make the plugin more appealing to a wider range of users, potentially increasing its user base.
Proposed Solution
The solution involves creating a lightweight web server using a Java framework like Javalin or Spark. This server will host the local website and handle HTTP requests. An API will be created to expose endpoints that correspond to the plugin's functionalities. The plugin will interact with this API, either by sharing a database or by directly calling the API. A web interface will be created for the server owner to interact with. The web server will be initialized and started when the server starts and the plugin is enabled.
Alternatives Considered
An alternative solution could be to enhance the existing command-line interface to provide more detailed information and control over the plugin. However, this may not be as user-friendly or intuitive as a web interface.
Additional Context
The implementation of this feature will require careful consideration of security aspects, such as authentication and data protection. It's also important to ensure that the web server only runs while the plugin is active, to avoid unnecessary resource usage.