A Minecraft 1.21.4 PaperMC/Spigot Plugin that creates a WebPanel.
This plugin allows you to modify your server via the web, including adding, removing, and downloading files, as well as managing the console.
This plugin is still in early access and may contain bugs or insecurities.
Features may also be subject to change.
These are the current features of this WebPanel plugin.
- Manage the server console
- Stop the server
- Upload files to the server
- Download files from the server
- Delete files or directories
- Create new folders
There are no commands yet.
There are no events yet.
To see what features are currently planned please check out the WebPanel GitHub project board
- Download the plugin jar file.
- Place the jar file in the
pluginsfolder of your PaperMC/Spigot server. - Restart the server to load the plugin.
- Add your IP address to the
allowedIPslist in the pluginsconfig.ymlfile. - Restart the server to apply the changes. (Later there will be a command)
- Access the panel via
http://<server-ip>:<server-port>/in your browser.
These endpoints are currently used by the panel. They may not yet be final and may be subject to change.
| Endpoint | URL | Method | Headers | Parameters | Response |
|---|---|---|---|---|---|
| Get Files | /getFiles |
GET | Content-Type: application/x-www-form-urlencoded |
path |
200 OK: File list retrieved successfully400 Bad Request: Missing path401 Unauthorized: Missing or invalid API Key403 Forbidden: Forbidden500 Internal Server Error: Failed to retrieve file list |
| Upload File | /uploadFile |
POST | Authorization: Bearer <API_KEY>, Content-Type: multipart/form-data |
path, folderName |
200 OK: File uploaded successfully400 Bad Request: File not found in request body401 Unauthorized: Missing or invalid API Key403 Forbidden: Forbidden500 Internal Server Error: Failed to save file |
| Delete File | /deleteFile |
POST | Authorization: Bearer <API_KEY>, Content-Type: application/x-www-form-urlencoded |
path |
200 OK: File or directory deleted successfully400 Bad Request: Missing file path401 Unauthorized: Missing or invalid API Key403 Forbidden: Forbidden404 Not Found: File not found500 Internal Server Error: Failed to delete file or directory |
| Create Folder | /createFolder |
POST | Authorization: Bearer <API_KEY>, Content-Type: application/x-www-form-urlencoded |
path, folderName |
200 OK: Folder created successfully400 Bad Request: Missing path or folder name401 Unauthorized: Missing or invalid API Key403 Forbidden: Forbidden500 Internal Server Error: Failed to create folder |
| Download File | /downloadFile |
GET | "Authorization": Bearer <API_KEY> |
path |
200 OK: File downloaded successfully400 Bad Request: Missing file path401 Unauthorized: Missing or invalid API Key403 Forbidden: Forbidden404 Not Found: File not found500 Internal Server Error: Failed to download file |
| Send to Console | /sendToConsole |
POST | Authorization: Bearer <API_KEY>, Content-Type: application/x-www-form-urlencoded |
command |
200 OK: Command sent successfully400 Bad Request: Missing command401 Unauthorized: Missing or invalid API Key403 Forbidden: Forbidden500 Internal Server Error: Failed to send command |
| Get Console Output | /getConsoleOutput |
GET | 200 OK: Console output retrieved successfully500 Internal Server Error: Failed to retrieve console output |
||
| Get Players | /getPlayers |
GET | 200 OK: Player list retrieved successfully500 Internal Server Error: Failed to retrieve player list |
||
| Stop Server | /stopServer |
POST | Authorization: Bearer <API_KEY> |
200 OK: Server stopped successfully401 Unauthorized: Missing or invalid API Key403 Forbidden: Forbidden500 Internal Server Error: Failed to stop server |
|
| Get API Key | /getApiKey |
GET | Authorization: IP Based (Config) |
200 OK: API Key retrieved successfully401 Unauthorized: Missing or invalid API Key403 Forbidden: Forbidden500 Internal Server Error: Failed to retrieve API Key |
Security may be subject to change. This is due the user inconvenience of IP based security.
- API Key authentication is used to secure the endpoints. For now only permitted IPs in the plugins config.yml can access the
/getApiKeyendpoint. - IP address validation is performed to ensure requests are from authorized sources.
This project currently has no license yet. For now all rights are reserved. You may however suggest changes via PRs