Nova
Nova copied to clipboard
S3 auto upload causing server crashes after plugin loading
Agreements
- [X] I am using an official build of Nova.
- [X] I am running the latest version of Nova.
- [X] I am using a server software supported by Nova
- [X] I am running the latest version of my server software.
- [x] I have checked for similar issues.
Check for plugin incompatibilites
There are no other plugins running on my server.
Plugin Version, Server Software, Server Version
Nova: v0.16-alpha.1; Paper: build 1.20.4-365
Nova Addons and Versions
Jetpacks v0.1.12-RC.1, machines v0.4.5-RC.1, logistics v0.2.8-RC.1, Vanilla-Hammers v1.4-RC.1, Simple-Ugrades v1.3-RC.1
Expected behavior
Plugin is able to connect to S3 bucket and server does not exit.
Observed/Actual behavior
Server exits immediately following Nova initialization. Server errors only when auto upload is enabled with any S3 configuration. Does not matter on addons present.
Steps to reproduce
- Launch paper server on any 1.20.4 build with nova installed;
- Configure Nova for an S3 connection;
- Crashes!
Server log
Errors
[23:55:43] [Nova Initializer - 14/ERROR]: [Nova] An exception occurred trying to initialize xyz/xenondevs/nova/data/resources/upload/AutoUploadManager
java.lang.NoClassDefFoundError: software/amazon/awssdk/auth/credentials/AwsBasicCredentials
at xyz.xenondevs.nova.data.resources.upload.service.S3.loadConfig(S3.kt:35) ~[Nova-0.16-alpha.1.jar:?]
at xyz.xenondevs.nova.data.resources.upload.AutoUploadManager.enable(AutoUploadManager.kt:95) ~[Nova-0.16-alpha.1.jar:?]
at xyz.xenondevs.nova.data.resources.upload.AutoUploadManager.init(AutoUploadManager.kt:54) ~[Nova-0.16-alpha.1.jar:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
at kotlin.reflect.jvm.internal.calls.CallerImpl$Method.callMethod(CallerImpl.kt:97) ~[kotlin-reflect-1.9.20.jar:1.9.255-SNAPSHOT]
at kotlin.reflect.jvm.internal.calls.CallerImpl$Method$Instance.call(CallerImpl.kt:113) ~[kotlin-reflect-1.9.20.jar:1.9.255-SNAPSHOT]
at kotlin.reflect.jvm.internal.KCallableImpl.call(KCallableImpl.kt:108) ~[kotlin-reflect-1.9.20.jar:1.9.255-SNAPSHOT]
at xyz.xenondevs.nova.initialize.InitializableClass.initialize(InitializableClass.kt:75) ~[Nova-0.16-alpha.1.jar:?]
at xyz.xenondevs.nova.initialize.Initializer.initPostWorld$lambda$10$lambda$8$lambda$7(Initializer.kt:167) ~[Nova-0.16-alpha.1.jar:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
at java.lang.Thread.run(Thread.java:840) ~[?:?]
Caused by: java.lang.ClassNotFoundException: software.amazon.awssdk.auth.credentials.AwsBasicCredentials
at java.net.URLClassLoader.findClass(URLClassLoader.java:445) ~[?:?]
at xyz.xenondevs.nova.loader.NovaClassLoader.loadClass(NovaClassLoader.java:48) ~[Nova-0.16-alpha.1.jar:?]
at xyz.xenondevs.nova.loader.NovaClassLoader.loadClass(NovaClassLoader.java:29) ~[Nova-0.16-alpha.1.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]
... 17 more
Additional context
I am running on a Velocity proxy, but this error happens even on a standalone server. Also, my S3 configuration (redacted ofc) is below:
auto_upload:
enabled: true
service: amazon_s3
endpoint: s3.amazonaws.com
region: us-east-1
bucket: BUCKETNAME
key_id: KEYKEYKEY
key_secret: SECRETSECRETSECRET
I'm also getting this but using a minio backend. Nova version is v0.16-alpha.4