{"id":29709,"date":"2026-06-01T15:20:30","date_gmt":"2026-06-01T12:20:30","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/better-webconsole\/"},"modified":"2026-06-01T15:20:30","modified_gmt":"2026-06-01T12:20:30","slug":"better-webconsole","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/better-webconsole\/","title":{"rendered":"Better WebConsole"},"content":{"rendered":"<p># Better-WebConsole<\/p>\n<p>Secure browser console and admin dashboard for Paper\/Purpur\/Spigot 1.21.x servers.<\/p>\n<p align=\"center\">\n  <img decoding=\"async\" src=\"https:\/\/img.shields.io\/badge\/Minecraft-Paper-2C2F33?style=flat&#038;logo=minecraft\"><br \/>\n  <img decoding=\"async\" src=\"https:\/\/img.shields.io\/badge\/Java-21-ED8B00?style=flat&#038;logo=java&#038;logoColor=white\"><br \/>\n  <img decoding=\"async\" src=\"https:\/\/img.shields.io\/badge\/Security-Enhanced-4C8BF5?style=flat\"><br \/>\n  <img decoding=\"async\" src=\"https:\/\/img.shields.io\/badge\/WebSocket-Real--time-6A5ACD?style=flat\">\n<\/p>\n<p>## Features<\/p>\n<p>### Web Console<\/p>\n<p>&#8211; Embedded Jetty web server with one built-in web UI.<br \/>\n&#8211; Live console log streaming over WebSocket with buffered history for new sessions.<br \/>\n&#8211; Console command execution through the server command map, including commands from plugins such as CMI.<br \/>\n&#8211; Command history, filtering, log export and clear action in the browser.<br \/>\n&#8211; Configurable web aliases through `!alias`, including chained aliases with `&#038;&#038;`.<br \/>\n&#8211; Audit log for auth events, command execution, player actions and log exports.<\/p>\n<p>### Dashboard<\/p>\n<p>&#8211; Desktop-focused two-column dashboard layout for server administration.<br \/>\n&#8211; Server health: TPS, JVM heap, online players, worlds, loaded chunks, entities and session errors.<br \/>\n&#8211; Machine health: host CPU load, Java process CPU load, physical RAM, server disk usage and JVM thread counts.<br \/>\n&#8211; Performance history charts for TPS, JVM RAM, online players and host CPU.<br \/>\n&#8211; Machine details: CPU model, cores\/threads, memory, disk mount, OS, Java runtime, PID and JVM uptime.<br \/>\n&#8211; Analytics blocks for log levels, per-world chunks\/entities and recent activity.<br \/>\n&#8211; Player list with quick kick\/ban actions.<\/p>\n<p>### Security<\/p>\n<p>&#8211; Web users stored in `plugins\/Better-WebConsole\/users.dat` with BCrypt hashes.<br \/>\n&#8211; HttpOnly + SameSite session cookies, optional Secure cookies for HTTPS reverse proxies.<br \/>\n&#8211; CSRF protection for login.<br \/>\n&#8211; IP whitelist with CIDR support.<br \/>\n&#8211; Login lockout and command rate limit.<br \/>\n&#8211; Optional command block list for dangerous console commands.<\/p>\n<p>## First Setup<\/p>\n<p>1. Put the JAR into the server `plugins\/` folder.<br \/>\n2. Start the server once to generate `plugins\/Better-WebConsole\/config.yml`.<br \/>\n3. Create a web user:<\/p>\n<p>&#8220;`text<br \/>\n\/bwc adduser admin YourStrongPassword123<br \/>\n&#8220;`<\/p>\n<p>4. Open:<\/p>\n<p>&#8220;`text<br \/>\nhttp:\/\/your-server-ip:4242<br \/>\n&#8220;`<\/p>\n<p>Production recommendation: bind to `127.0.0.1` and expose the panel through Nginx, Caddy, a VPN or a tunnel with HTTPS.<\/p>\n<p>## Commands<\/p>\n<p>Main command aliases: `\/betterwebconsole`, `\/bwc`, `\/webconsole`, `\/bwconsole`, `\/betterconsole`.<\/p>\n<p>Permission: `betterwebconsole.admin` (default: op).<\/p>\n<p>| Command | Description |<br \/>\n| &#8212; | &#8212; |<br \/>\n| `\/bwc status` | Show web server, user, session and config status |<br \/>\n| `\/bwc reload` | Reload config values that do not require web server restart |<br \/>\n| `\/bwc adduser <user> <password>` | Add a web user |<br \/>\n| `\/bwc removeuser <user>` | Remove a web user and invalidate sessions |<br \/>\n| `\/bwc listusers` | List web users |<br \/>\n| `\/bwc setpassword <user> <new-password>` | Change password and invalidate sessions |<br \/>\n| `\/bwc logoutall <user>` | Invalidate active sessions for a user |<\/p>\n<p>Extra command aliases: `useradd`, `createuser`, `deluser`, `deleteuser`, `users`, `passwd`, `password`, `killsessions`.<\/p>\n<p>## Configuration<\/p>\n<p>The default config is intentionally small and only contains implemented behavior.<\/p>\n<p>&#8220;`yaml<br \/>\nweb:<br \/>\n  port: 4242<br \/>\n  bind-address: &#8220;0.0.0.0&#8221;<br \/>\n  log-buffer-size: 1000<\/p>\n<p>security:<br \/>\n  session-timeout-minutes: 60<br \/>\n  max-login-attempts: 5<br \/>\n  lockout-duration-minutes: 15<br \/>\n  command-rate-limit-per-minute: 30<br \/>\n  ip-whitelist: []<br \/>\n  secure-cookies: false<\/p>\n<p>logging:<br \/>\n  log-commands: true<br \/>\n  log-auth: true<br \/>\n  audit-log: true<\/p>\n<p>system-stats:<br \/>\n  # Adds host CPU, machine RAM, disk, OS and JVM details to the dashboard.<br \/>\n  enabled: true<\/p>\n<p>  # OS-level polling interval. Keep this above 2 seconds for production servers.<br \/>\n  update-interval-seconds: 5<\/p>\n<p>  # Reports disk usage for the Minecraft server folder.<br \/>\n  show-disk: true<\/p>\n<p>commands:<br \/>\n  blocked: []<br \/>\n  aliases:<br \/>\n    tps: &#8220;tps&#8221;<br \/>\n    list: &#8220;list&#8221;<br \/>\n    save: &#8220;save-all&#8221;<br \/>\n    day: &#8220;time set day&#8221;<br \/>\n    night: &#8220;time set night&#8221;<br \/>\n    clear-weather: &#8220;weather clear&#8221;<br \/>\n&#8220;`<\/p>\n<p>`system-stats` can be disabled if the host does not allow OS-level metrics or if you only need Minecraft\/JVM data.<\/p>\n<p>Use `commands.blocked` to prevent risky commands from web access, for example:<\/p>\n<p>&#8220;`yaml<br \/>\ncommands:<br \/>\n  blocked: [&#8220;stop&#8221;, &#8220;restart&#8221;, &#8220;op&#8221;, &#8220;deop&#8221;]<br \/>\n&#8220;`<\/p>\n<p>Use an alias by typing `!name` in the web console. Aliases can chain up to 10 commands with `&#038;&#038;`.<\/p>\n<p>`\/bwc reload` updates aliases, logging, system stats settings and command block rules. Restart the Minecraft server after changing `web.port`, `web.bind-address`, `security.ip-whitelist`, session timeout or rate-limit settings.<\/p>\n<p>## Security Notes<\/p>\n<p>&#8211; Do not expose `0.0.0.0:4242` directly to the internet unless firewall\/IP whitelist\/VPN rules are in place.<br \/>\n&#8211; Set `secure-cookies: true` only when users access the panel through HTTPS.<br \/>\n&#8211; Block or avoid destructive commands such as `stop`, `restart`, `op`, `deop`, `ban-ip` and `whitelist`.<br \/>\n&#8211; Keep aliases short and auditable.<br \/>\n&#8211; Keep `commands.blocked` empty only when every web user is trusted as a full console administrator.<br \/>\n&#8211; Treat machine metrics as operational data: expose the panel only to trusted administrators.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Secure real-time web console for Minecraft servers<\/p>\n","protected":false},"featured_media":29710,"template":"","meta":{"_minecraft_slug":"better-webconsole","_minecraft_project_id":"khtebxzn","_minecraft_author":"AREKKUZZERA","_minecraft_license":"MIT","_minecraft_downloads":50,"_minecraft_follows":2,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"better-webconsole.zip","_minecraft_size_bytes":29502877,"_minecraft_version_count":5,"_minecraft_updated_at":"2026-05-15T21:33:09.201540Z","_minecraft_date_created":"2026-04-15T01:54:34.605269Z","_minecraft_date_modified":"2026-05-15T23:49:33.220820Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/better-webconsole","_minecraft_icon_attachment_id":29710,"_minecraft_imported_at":"2026-06-01T12:20:30+00:00","_minecraft_import_hash":"9193aa10fb4364222f5177777377f589","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[124,126,90,127,128,129,123,92],"mod_loader":[130,132,133,134],"minecraft_version":[62,37,40,41,73,74,38,78,79,80,81,82,83,167,163],"class_list":["post-29709","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-bukkit","mod_category-management","mod_category-optimization","mod_category-paper","mod_category-purpur","mod_category-spigot","mod_category-technology","mod_category-utility","mod_loader-bukkit","mod_loader-paper","mod_loader-purpur","mod_loader-spigot","minecraft_version-1-21","minecraft_version-1-21-1","minecraft_version-1-21-10","minecraft_version-1-21-11","minecraft_version-1-21-2","minecraft_version-1-21-3","minecraft_version-1-21-4","minecraft_version-1-21-5","minecraft_version-1-21-6","minecraft_version-1-21-7","minecraft_version-1-21-8","minecraft_version-1-21-9","minecraft_version-26-1","minecraft_version-26-1-1","minecraft_version-26-1-2"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Better WebConsole - 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\/better-webconsole\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Better WebConsole - Minecraft\" \/>\n<meta property=\"og:description\" content=\"Secure real-time web console for Minecraft servers\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/better-webconsole\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta property=\"og:image\" content=\"https:\/\/img.shields.io\/badge\/Minecraft-Paper-2C2F33?style=flat&logo=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\\\/better-webconsole\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/better-webconsole\\\/\",\"name\":\"Better WebConsole - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/better-webconsole\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/better-webconsole\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/better-webconsole-icon-23f71c8bbc55405c13910de74b0fbb4404e4d85d_96.webp\",\"datePublished\":\"2026-06-01T12:20:30+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/better-webconsole\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/better-webconsole\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/better-webconsole\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/better-webconsole-icon-23f71c8bbc55405c13910de74b0fbb4404e4d85d_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/better-webconsole-icon-23f71c8bbc55405c13910de74b0fbb4404e4d85d_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/better-webconsole\\\/#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\":\"Better WebConsole\"}]},{\"@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":"Better WebConsole - 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\/better-webconsole\/","og_locale":"en_US","og_type":"article","og_title":"Better WebConsole - Minecraft","og_description":"Secure real-time web console for Minecraft servers","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/better-webconsole\/","og_site_name":"Minecraft","og_image":[{"url":"https:\/\/img.shields.io\/badge\/Minecraft-Paper-2C2F33?style=flat&logo=minecraft","type":"","width":"","height":""}],"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\/better-webconsole\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/better-webconsole\/","name":"Better WebConsole - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/better-webconsole\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/better-webconsole\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/better-webconsole-icon-23f71c8bbc55405c13910de74b0fbb4404e4d85d_96.webp","datePublished":"2026-06-01T12:20:30+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/better-webconsole\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/better-webconsole\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/better-webconsole\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/better-webconsole-icon-23f71c8bbc55405c13910de74b0fbb4404e4d85d_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/better-webconsole-icon-23f71c8bbc55405c13910de74b0fbb4404e4d85d_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/better-webconsole\/#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":"Better WebConsole"}]},{"@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\/29709","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:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/29710"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=29709"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=29709"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=29709"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=29709"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}