{"id":169407,"date":"2026-06-09T23:12:26","date_gmt":"2026-06-09T20:12:26","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/webpanel\/"},"modified":"2026-06-09T23:12:26","modified_gmt":"2026-06-09T20:12:26","slug":"webpanel","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/webpanel\/","title":{"rendered":"WebPanel"},"content":{"rendered":"<p># WebPanel<br \/>\nA Minecraft 1.21.4 PaperMC\/Spigot Plugin that creates a WebPanel.<br \/>\n<br \/>This plugin allows you to modify your server via the web, including adding, removing, and downloading files, as well as managing the console.<\/p>\n<p>## Early Access<br \/>\nThis plugin is still in early access and may contain bugs or insecurities.<br \/>\n<br \/> Features may also be subject to change.<\/p>\n<p>## Features<br \/>\nThese are the current features of this WebPanel plugin.<\/p>\n<p>### WebPanel<br \/>\n&#8211; Manage the server console<br \/>\n&#8211; Stop the server<br \/>\n&#8211; Upload files to the server<br \/>\n&#8211; Download files from the server<br \/>\n&#8211; Delete files or directories<br \/>\n&#8211; Create new folders<\/p>\n<p>### Commands<br \/>\nThere are no commands yet.<\/p>\n<p>### Events<br \/>\nThere are no events yet.<\/p>\n<p>### Planned<br \/>\nTo see what features are currently planned please check out the WebPanel GitHub project board<\/p>\n<p>## Installation<br \/>\n1. Download the plugin jar file.<br \/>\n2. Place the jar file in the `plugins` folder of your PaperMC\/Spigot server.<br \/>\n3. Restart the server to load the plugin.<\/p>\n<p>## Usage<br \/>\n1. Add your IP address to the `allowedIPs` list in the plugins `config.yml` file.<br \/>\n2. Restart the server to apply the changes. (Later there will be a command)<br \/>\n3. Access the panel via `http:\/\/<server-ip>:<server-port>\/` in your browser.<\/p>\n<p>## Endpoints<br \/>\nThese endpoints are currently used by the panel. They may not yet be final and may be subject to change.<\/p>\n<p>| Endpoint           | URL                 | Method | Headers                                                                              | Parameters           | Response                                                                                                                                                                                                                                                                       |<br \/>\n|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;|&#8212;&#8212;&#8211;|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-|&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;|<br \/>\n| Get Files          | `\/getFiles`         | GET    | `Content-Type: application\/x-www-form-urlencoded`                                    | `path`               | `200 OK`: File list retrieved successfully<br \/>`400 Bad Request`: Missing path<br \/>`401 Unauthorized`: Missing or invalid API Key<br \/>`403 Forbidden`: Forbidden<br \/>`500 Internal Server Error`: Failed to retrieve file list                                                     |<br \/>\n| Upload File        | `\/uploadFile`       | POST   | `Authorization: Bearer <API_KEY>`, `Content-Type: multipart\/form-data`               | `path`, `folderName` | `200 OK`: File uploaded successfully<br \/>`400 Bad Request`: File not found in request body<br \/>`401 Unauthorized`: Missing or invalid API Key<br \/>`403 Forbidden`: Forbidden<br \/>`500 Internal Server Error`: Failed to save file                                                  |<br \/>\n| Delete File        | `\/deleteFile`       | POST   | `Authorization: Bearer <API_KEY>`, `Content-Type: application\/x-www-form-urlencoded` | `path`               | `200 OK`: File or directory deleted successfully<br \/>`400 Bad Request`: Missing file path<br \/>`401 Unauthorized`: Missing or invalid API Key<br \/>`403 Forbidden`: Forbidden<br \/>`404 Not Found`: File not found<br \/>`500 Internal Server Error`: Failed to delete file or directory |<br \/>\n| Create Folder      | `\/createFolder`     | POST   | `Authorization: Bearer <API_KEY>`, `Content-Type: application\/x-www-form-urlencoded` | `path`, `folderName` | `200 OK`: Folder created successfully<br \/>`400 Bad Request`: Missing path or folder name<br \/>`401 Unauthorized`: Missing or invalid API Key<br \/>`403 Forbidden`: Forbidden<br \/>`500 Internal Server Error`: Failed to create folder                                                |<br \/>\n| Download File      | `\/downloadFile`     | GET    | `&#8221;Authorization&#8221;: Bearer <API_KEY>`                                                  | `path`               | `200 OK`: File downloaded successfully<br \/>`400 Bad Request`: Missing file path<br \/>`401 Unauthorized`: Missing or invalid API Key<br \/>`403 Forbidden`: Forbidden<br \/>`404 Not Found`: File not found<br \/>`500 Internal Server Error`: Failed to download file                      |<br \/>\n| Send to Console    | `\/sendToConsole`    | POST   | `Authorization: Bearer <API_KEY>`, `Content-Type: application\/x-www-form-urlencoded` | `command`            | `200 OK`: Command sent successfully<br \/>`400 Bad Request`: Missing command<br \/>`401 Unauthorized`: Missing or invalid API Key<br \/>`403 Forbidden`: Forbidden<br \/>`500 Internal Server Error`: Failed to send command                                                               |<br \/>\n| Get Console Output | `\/getConsoleOutput` | GET    |                                                                                      |                      | `200 OK`: Console output retrieved successfully<br \/>`500 Internal Server Error`: Failed to retrieve console output                                                                                                                                                              |<br \/>\n| Get Players        | `\/getPlayers`       | GET    |                                                                                      |                      | `200 OK`: Player list retrieved successfully<br \/>`500 Internal Server Error`: Failed to retrieve player list                                                                                                                                                                    |<br \/>\n| Stop Server        | `\/stopServer`       | POST   | `Authorization: Bearer <API_KEY>`                                                    |                      | `200 OK`: Server stopped successfully<br \/>`401 Unauthorized`: Missing or invalid API Key<br \/>`403 Forbidden`: Forbidden<br \/>`500 Internal Server Error`: Failed to stop server                                                                                                    |<br \/>\n| Get API Key        | `\/getApiKey`        | GET    | `Authorization: IP Based (Config)`                                                   |                      | `200 OK`: API Key retrieved successfully<br \/>`401 Unauthorized`: Missing or invalid API Key<br \/>`403 Forbidden`: Forbidden<br \/>`500 Internal Server Error`: Failed to retrieve API Key                                                                                            |<\/p>\n<p>## Security<br \/>\n**Security may be subject to change. This is due the user inconvenience of IP based security.**<br \/>\n&#8211; API Key authentication is used to secure the endpoints. For now only permitted IPs in the plugins config.yml can access the `\/getApiKey` endpoint.<br \/>\n&#8211; IP address validation is performed to ensure requests are from authorized sources.<\/p>\n<p>## License<br \/>\nThis project currently has no license yet.<br \/>\nFor now all rights are reserved.<br \/>\nYou may however suggest changes via PRs<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A Minecraft plugin that creates a WebPanel.<br \/>\nThis plugin allows you to modify your server via the web, including adding, removing, and downloading files, as well as managing the console.<\/p>\n","protected":false},"featured_media":0,"template":"","meta":{"_minecraft_slug":"webpanel","_minecraft_project_id":"e2KEEnDD","_minecraft_author":"Beauver","_minecraft_license":"LicenseRef-All-Rights-Reserved","_minecraft_downloads":221,"_minecraft_follows":3,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"webpanel.zip","_minecraft_size_bytes":1960807,"_minecraft_version_count":1,"_minecraft_updated_at":"2026-05-16T12:27:29.743671Z","_minecraft_date_created":"2025-02-07T20:46:31.230451Z","_minecraft_date_modified":"2025-02-06T11:54:27.143577Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/webpanel","_minecraft_icon_attachment_id":0,"_minecraft_imported_at":"2026-06-09T20:12:26+00:00","_minecraft_import_hash":"4eb86a012c6990f5dc8ee5debad76657","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[89,126,127,129,123,92],"mod_loader":[132,134],"minecraft_version":[38],"class_list":["post-169407","mod","type-mod","status-publish","hentry","mod_category-game-mechanics","mod_category-management","mod_category-paper","mod_category-spigot","mod_category-technology","mod_category-utility","mod_loader-paper","mod_loader-spigot","minecraft_version-1-21-4"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>WebPanel - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/webpanel\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"WebPanel - Minecraft\" \/>\n<meta property=\"og:description\" content=\"A Minecraft 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.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/webpanel\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/webpanel\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/webpanel\\\/\",\"name\":\"WebPanel - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"datePublished\":\"2026-06-09T20:12:26+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/webpanel\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/webpanel\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/webpanel\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"WebPanel\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"WebPanel - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/webpanel\/","og_locale":"en_US","og_type":"article","og_title":"WebPanel - Minecraft","og_description":"A Minecraft 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.","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/webpanel\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/webpanel\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/webpanel\/","name":"WebPanel - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"datePublished":"2026-06-09T20:12:26+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/webpanel\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/webpanel\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/webpanel\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"WebPanel"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/169407","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=169407"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=169407"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=169407"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=169407"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}