-
Notifications
You must be signed in to change notification settings - Fork 0
Building from Source
The project is a single Maven module that bundles the Java plugin and the Vue 3 frontend into
one fat jar. The frontend is built automatically during the Maven build via the
frontend-maven-plugin (which downloads its own Node/npm), so you don't need Node installed globally.
- JDK 17+
- Maven 3.8+
- Internet access on first build (downloads Paper/EssentialsX APIs, Node v20.11.0 / npm 10.2.4, and npm packages)
git clone https://github.com/Drawethree/EssentialsX--Web-Dashboard.git
cd EssentialsX--Web-Dashboard
mvn clean packageThe output jar is written to:
target/EssentialsX-Dashboard-1.1.0.jar
Copy it into your server's plugins/ folder (see Installation).
When you only changed Java code, skip the npm install/build to save time:
mvn clean package -Dfrontend.skip=trueNote: skipping the frontend produces a jar without the compiled web UI bundle. Use a full build for anything you actually deploy.
| Stage | Tool | Result |
|---|---|---|
| Compile Java |
maven-compiler-plugin (Java 17) |
Plugin classes |
| Install Node/npm | frontend-maven-plugin |
Local target/node (Node v20.11.0) |
npm install |
npm | Frontend dependencies |
npm run build |
Vite | UI bundle into target/classes/web
|
| Package | maven-shade-plugin |
Single fat jar with relocated libraries |
To avoid clashing with the server's own copies, the shade plugin relocates: Jackson, JJWT, BCrypt and
MaxMind GeoIP2. SQLite (org.xerial) and Javalin/Jetty/Kotlin are intentionally not relocated
(native-lib extraction and internal reflection require their original package paths).
- Backend: Java 17, Javalin 6 (embedded Jetty), Jackson, JJWT, jBCrypt, SQLite (xerial JDBC), MaxMind GeoIP2.
- Frontend: Vue 3.5 (Composition API), Vite 6, Vue Router 4, Pinia 2, Tailwind CSS 3, Reka UI, Heroicons, CodeMirror 6 (YAML editor), axios, vue-i18n, qrcode.
See REST API Reference for the API the frontend consumes.
EssentialsX Dashboard v1.1.0 · GitHub · Web control panel for EssentialsX
Getting Started
Features
- Dashboard & Analytics
- Players
- Economy
- Bans, Mutes & Warnings
- Chat Moderation
- Kits & Warps
- Live Console
- Server Controls
- EssentialsX Modules
- Scheduler
- Broadcast & Mail
Administration
Reference