Spigot & BungeeCord 1.17 & 1.17.1

Discussion in 'News and Announcements' started by md_5, Jun 11, 2021.

  1. Ah, I'm trying this via Maven directly, but SpecialSource still seems to obfuscate class names and ignore any kind of folder structure, which is still present in the Spigot jar. Perhaps I misunderstood the first post and you need to run it through SpecialSource manually even if you specify it in the Maven pom.xml?
     
  2. md_5

    Administrator Developer

    You need to run both commands and use the output of the second one.
    More info would be needed
     
  3. Im currently testing using 2 of my plugins, the first one is an API plugin, in which the Hibernate dependency has been shaded (used by more than 1 plugin), and the second plugin accesses the hibernate functions (as well as other non-related functions from plugin 1). Plugin 2 has Plugin 1 as a depend in the plugin.yml. Plugin 2 has to register the annotated classes to hibernate via
    Code (Java):
    configuration.addAnnotatedClass(CustomDrop.class);
    in order to make it work.
    This setup works fine using it like that, but once I don't shade the hibernate dependency into plugin 1 and define it as a library in the plugin.yml, I get the following error as soon as the plugin tries to add the annotated class
    Code (Java):
    [17:36:31] [Craft Scheduler Thread - 1/WARN]: org.hibernate.MappingException: entity class not found: net.aerulion.customitems.core.drop.CustomDrop
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     at org.hibernate.mapping.PersistentClass.getMappedClass(PersistentClass.java:133)
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     at org.hibernate.cfg.BinderHelper.getPropertyOverriddenByMapperOrMapsId(BinderHelper.java:1100)
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     at org.hibernate.cfg.AnnotationBinder.processElementAnnotations(AnnotationBinder.java:2217)
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     at org.hibernate.cfg.AnnotationBinder.processIdPropertiesIfNotAlready(AnnotationBinder.java:979)
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:806)
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     at org.hibernate.boot.model.source.internal.annotations.AnnotationMetadataSourceProcessorImpl.processEntityHierarchies(AnnotationMetadataSourceProcessorImpl.java:248)
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     at org.hibernate.boot.model.process.spi.MetadataBuildingProcess$1.processEntityHierarchies(MetadataBuildingProcess.java:239)
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:282)
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.build(MetadataBuildingProcess.java:86)
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:479)
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:85)
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:689)
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:724)
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     at net.aerulion.customitems.core.hibernate.HibernateUtil.getSessionFactory(HibernateUtil.java:72)
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     at net.aerulion.customitems.core.hibernate.HibernateUtil.getSession(HibernateUtil.java:82)
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     at net.aerulion.customitems.core.task.LoadDataTask.run(LoadDataTask.java:27)
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftTask.run(CraftTask.java:100)
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54)
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22)
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     at java.lang.Thread.run(Thread.java:748)
    [17:36:31] [Craft Scheduler Thread - 1/WARN]: Caused by: org.hibernate.boot.registry.classloading.spi.ClassLoadingException: Unable to load class [net.aerulion.customitems.core.drop.CustomDrop]
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:133)
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     at org.hibernate.boot.internal.ClassLoaderAccessImpl.classForName(ClassLoaderAccessImpl.java:67)
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     at org.hibernate.mapping.PersistentClass.getMappedClass(PersistentClass.java:128)
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     ... 21 more
    [17:36:31] [Craft Scheduler Thread - 1/WARN]: Caused by: java.lang.ClassNotFoundException: Could not load requested class : net.aerulion.customitems.core.drop.CustomDrop
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     at org.hibernate.boot.registry.classloading.internal.AggregatedClassLoader.findClass(AggregatedClassLoader.java:210)
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     at java.lang.Class.forName0(Native Method)
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     at java.lang.Class.forName(Class.java:348)
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:130)
    [17:36:31] [Craft Scheduler Thread - 1/WARN]:     ... 23 more
     
  4. md_5

    Administrator Developer

    Open a bug report please. We might have to make the library loader a child of the plugin loader (being careful not to avoid loops).
     
    • Like Like x 1
  5. $20 donation for you md, thanks for all you do :)
     
    • Like Like x 1
    • Friendly Friendly x 1
  6. Nice, another one!
    <-- points at my gold! I donated as well again this year.

    I think it's worth money if we use it 24/7 and always say thanks.
     
    • Agree Agree x 3
  7. LoneDev

    Supporter

    You're a life saver, thanks a lot!
     
  8. Sikatsu

    Patron

    Thanks for your work on the 1.17 update. Glad I was able to support through a donation, well deserved! (y)
     
    • Like Like x 1
  9. Does anyone notice chunks make their server lag a bit again when loading? my map is already pre loaded and was force updated.
     
  10. Not in the tests, the live data is still being processed as a test. I haven't had a chance yet to test that.
    The newly made test worlds we're using have been fine so far.
     
  11. is Java 17 backwards compat? Can I run older MC servers with it?
     
  12. You can run 1.16.5 with it for sure. For 1.8 some native io config needs to be set, but fuck 1.8. It presented 9 years ago to the public.
     
    • Like Like x 1
    • Funny Funny x 1
  13. Just wanted to say : nice .. i got we/wg working finally. WHOoo
     
  14. "java -jar BuildTools.jar --rev latest" gives me a 1.16.5 JAR.
     
  15. I had the same issue but you can just do java -jar BuildTools.jar --rev 1.17
     
  16. It won't give me the latest version, it will give me the first 1.17 JAR if I'm right.
     
  17. SlimeDog

    Moderator Patron

    java -jar BuildTools.jar --rev 1.17
    builds the latest 1.17 version. Currently that is 1.17-3147, but that will change as new updates are posted.
     
  18. Im genuinely curious, but what is the reasoning behind hard coding which java version the server can run on?
    Code (found HERE):
    Code (Java):
    if (javaVersion > 60.0) {
        System.err.println("Unsupported Java detected (" + javaVersion + "). Only up to Java 16 is supported.");
        return;
    }
    Java 17 is coming out, and people are already attempting to run their servers with it, but are quickly finding out they can't

    Personally I have no need/want to run java 17, but this is more a general question .... why is it hard coded to block newer java versions?

    On top of that, someone running say 1.12.2 or another version in the future is going to get screwed over when all these shared hosts switch to Java 16 and dont offer a choice of java version.

    I understand maybe a warning like "things may/may no work, and have not been tested on your java version", but the current code is literally just breaking CB/Spigot for the future releases of Java
     
    • Agree Agree x 1
    • Informative Informative x 1
  19. simpleauthority

    Supporter

    Java 17 doesn't release until 14th September of this year. Those trying to run their servers with it right now are willfully using an unfinished release, and I wouldn't expect Spigot to support it yet.

    Edit: I would agree with a version bump in the source around 19th August when the final release candidate is actually made available.

    As for why it's there, if it weren't then Spigot would be expected to support early-access Java builds and the issues that would definitely arise therefrom. That's a big ask.
     
    • Optimistic Optimistic x 1
  20. Shaggy67

    Benefactor

    Did they update? The latest version I saw will run on 1.17, but a lot of the protections don't work. Mainly, players could go into each others regions and break blocks, etc. You might want to test it.