WARNING
Please try updating to the latest version of Vuetale before troubleshooting, as many issues are often resolved in newer releases.
Troubleshooting
Registering module fails with java.lang.NoClassDefFoundError
protected void setup() {
// ...
ModuleRegistry.INSTANCE.registerModule("myMod", Plugin.class); // Errors here with NoClassDefFoundError
// ...
}This is a common issue when the plugin classloader cannot find the Vuetale classes. This is 100% a setup issue, not a bug in Vuetale itself and is usually only experienced when running a test server.
Suggested fix:
There are multiple potential fixes for this, but one is guaranteed to work if you are using Gradle. We can use the app.ultradev.hytalegradle plugin for a great developer experience and it also handles the classpath setup correctly for you.
plugins {
kotlin("jvm") version "2.3.0"
id("com.gradleup.shadow") version "9.3.1"
id("app.ultradev.hytalegradle") version "2.0.1"
}
hytale {
allowOp.set(true)
patchline.set("release") // or pre-release
includeLocalMods.set(false)
manifest {
version.set(project.version.toString())
}
} pluginManagement {
repositories {
gradlePluginPortal()
maven("https://mvn.ultradev.app/snapshots")
}
}After your adjustments, sync Gradle dependencies. Now in your tasks, you should see hytale > runServer. Prefer using this for development as it ensures the classpath is correct and includes Vuetale. Also if it wasn't working for you before, this setup will allow JVM hotswap support which can be a huge boost to development speed. By default, the dev server folder will be located in your-project/run, don't forget to copy Vuetale.jar into run/mods/ before running the server and adjusting paths with the CLI if necessary.
Command Not Found (pnpm vt / npx vuetale)
Symptoms:
pnpm vt ...failsnpx vuetalecommand not found
Fix:
- Run
pnpm installinsidesrc/ui. - Use project script wrappers from
package.json. - If needed, install globally:
npm install -g vuetale.
Not a Vite Project
Symptoms:
- CLI reports invalid project or missing Vite config.
Fix:
- Run commands from
src/ui. - Confirm
vite.config.tsexists.
Extraction Produces Nothing
Symptoms:
vt:extractfinishes but expected modules/types are missing.
Fix:
- Recheck
npx vuetale config server-modsandresourcespath. - Ensure
Vuetale.jaris in the specified mods folder. - Rerun extraction after confirming paths.
UI Not Loading In-Game
Symptoms:
- Command runs but page does not appear.
Fix:
- Confirm module name matches in
vuetale-plugin.jsonandregisterModule. - Confirm page name in
openPagematches built entry name. - Confirm build artifacts exist in
src/main/resources/vuetale/<module>/.
HMR/Reload Not Updating
Symptoms:
- Changes compile but runtime still shows stale UI.
Fix:
- Ensure
pnpm vt config server-modsis set to the correct mods folder. - Ensure
pnpm vt config resourceshas the correct path tosrc/main/resources. - Ensure
pnpm vt dev truehas been run. (Rerun when changing config values!) - Keep
pnpm watchrunning insrc/ui. - Verify server-side dev properties are present and pointing to the intended resources path.
Resource Path Confusion
Use src/main/resources as the standard path for JVM/Gradle projects.
If older notes mention src/resources, prefer src/main/resources unless your project is intentionally custom.
Related Pages
- Setup flow: Getting Started
- Runtime usage: Using Vuetale
- CLI details: Companion CLI
