FTB Unleashed: servers unusable w/Curse client

  • Tech Support section is for getting help with FTB related problems. If there's a repeatable issue that can be labeled as a bug, then please use the issue tracker for the pack or the app at GitHub issue trackers - If there's no repository for a pack that means that the pack is old and/or will not be updated. Bugs for older packs will not be fixed, unless they are critical.
  • The FTB Forum is now read-only, and is here as an archive. To participate in our community discussions, please join our Discord! https://ftb.team/discord
Status
Not open for further replies.

DMahalko

New Member
Jul 29, 2019
10
0
0
Title FTB Unleashed: servers unusable w/Curse client

Launcher Type Server

Modpack FTB Unleashed

Modpack version 1.1.7

Have you modified the pack? Yes

Link to log file

Details of the issue Due to this new Curse launcher, it appears all publicy hosted FTB Unleashed servers are now dead and are unusable.

This is because Curse uses Java 8 to run FTB Unleashed, but public servers must use Java 7, and there is a compatibility problem between these two Java versions.

FTB Unleashed still works fine to connect to public servers with the old FTB Launcher, because Unleashed used Java 7 with that launcher.

==========================

Okay, background for this discussion:

In order for FTB Unleashed, or really any other FTB modpack, to be used as a public server open to anyone on the Internet, then it is necessary to enable land / claim protection, server management, editing the world, etc.

This is done using plugins, which are implemented with Bukkit, and some version of MCPC+ or Cauldron or its derivatives.

FTB Unleashed is very old, Minecraft 1.5.2, and so it needs MCPC+ which is also very old.

MCPC+ does not work properly with OpenJDK Java 8. No plugins will load. It must be used with Java 7.

An example of MCPC+ failing to load a plugin. This error repeats for each one.

Code:
2016-10-01 19:11:43 [SEVERE] Could not load 'plugins/CoreProtect_2.07b.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: java.lang.ClassNotFoundException: Failed to remap class net.coreprotect.CoreProtect
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:164)
        at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:307)
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:231)
        at org.bukkit.craftbukkit.v1_5_R3.CraftServer.loadPlugins(CraftServer.java:256)
        at cpw.mods.fml.common.event.FMLServerAboutToStartEvent.<init>(FMLServerAboutToStartEvent.java:30)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at cpw.mods.fml.common.LoaderState.getEvent(LoaderState.java:84)
        at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:103)
        at cpw.mods.fml.common.Loader.serverAboutToStart(Loader.java:807)
        at cpw.mods.fml.common.FMLCommonHandler.handleServerAboutToStart(FMLCommonHandler.java:309)
        at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:212)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:588)
        at net.minecraft.server.ThreadMinecraftServer.run(SourceFile:573)
Caused by: java.lang.ClassNotFoundException: Failed to remap class net.coreprotect.CoreProtect
        at org.bukkit.plugin.java.PluginClassLoader.remappedFindClass(PluginClassLoader.java:448)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:362)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:338)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:348)
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:153)
        ... 15 more
Caused by: java.lang.IllegalArgumentException
        at org.objectweb.asm.ClassReader.<init>(ClassReader.java:170)
        at org.objectweb.asm.ClassReader.<init>(ClassReader.java:153)
        at org.objectweb.asm.ClassReader.<init>(ClassReader.java:436)
        at net.md_5.specialsource.repo.RuntimeRepo.findClass0(RuntimeRepo.java:48)
        at net.md_5.specialsource.repo.CachingRepo.findClass(CachingRepo.java:46)
        at net.md_5.specialsource.UnsortedRemappingMethodAdapter.findAccess(UnsortedRemappingMethodAdapter.java:128)
        at net.md_5.specialsource.UnsortedRemappingMethodAdapter.findAccess(UnsortedRemappingMethodAdapter.java:156)
        at net.md_5.specialsource.UnsortedRemappingMethodAdapter.visitMethodInsn(UnsortedRemappingMethodAdapter.java:168)
        at org.objectweb.asm.MethodVisitor.visitMethodInsn(MethodVisitor.java:382)
        at org.objectweb.asm.ClassReader.readCode(ClassReader.java:1320)
        at org.objectweb.asm.ClassReader.readMethod(ClassReader.java:938)
        at org.objectweb.asm.ClassReader.accept(ClassReader.java:669)
        at org.objectweb.asm.ClassReader.accept(ClassReader.java:506)
        at net.md_5.specialsource.JarRemapper.remapClassFile(JarRemapper.java:241)
        at net.md_5.specialsource.JarRemapper.remapClassFile(JarRemapper.java:227)
        at org.bukkit.plugin.java.PluginClassLoader.remappedFindClass(PluginClassLoader.java:413)
        ... 22 more
2016-10-01 19:11:43 [SEVERE] Could not load 'plugins/WorldEdit.jar' in folder 'plugins'
[......etc......]

I'm not expecting anyone is going to be able to fix MCPC+ so it can work with Java 8, since it is so old. But maybe someone can suggest something there.

======================

When FTB Unleashed is launched in the new Curse client, it launches with Java 8, while servers are still running Java 7.

These Java 8 clients cannot connect to the Java 7 servers, due to something called "BouncyCastle" which appears to be some sort of data encryption library.

Players just see "Timed Out" in Minecraft while trying to connect, but the MC launcher console tells a different story:

Client side:
Code:
2016-10-14 12:41:22 [CLIENT] [INFO] Connecting to play.an-mc.net, 25562
java.lang.ClassCastException: org.bouncycastle.jcajce.provider.digest.GOST3411$Mappings cannot be cast to aso
	at asp.a(Unknown Source)
	at asp.a(Unknown Source)
	at asp.a(Unknown Source)
	at asq.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at asp.<init>(Unknown Source)
	at kl.<clinit>(SourceFile:40)
	at et.a(SourceFile:28)
	at ei.a(SourceFile:201)
	at ci.i(SourceFile:250)
	at ci.c(SourceFile:16)
	at cj.run(SourceFile:94)
Exception in thread "Client read thread" java.lang.InternalError: cannot create instance of org.bouncycastle.jcajce.provider.digest.GOST3411$Mappings : java.lang.ClassCastException: org.bouncycastle.jcajce.provider.digest.GOST3411$Mappings cannot be cast to aso
	at asp.a(Unknown Source)
	at asp.a(Unknown Source)
	at asp.a(Unknown Source)
	at asq.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at asp.<init>(Unknown Source)
	at kl.<clinit>(SourceFile:40)
	at et.a(SourceFile:28)
	at ei.a(SourceFile:201)
	at ci.i(SourceFile:250)
	at ci.c(SourceFile:16)
	at cj.run(SourceFile:94)

Server side:
Code:
09:42:00 [INFO] Read timed out
09:42:00 [INFO] Foo [/x.x.x.x:y] lost connection

I have no idea if there is some way to fix this compatibility between a Java 7 server and a Java 8 client, rather than pushing the client back to Java 7.

The most direct solution is for Curse to specifically allow Java 7 for FTB Unleashed, but I have no idea if that is even possible.

From the Curse Launcher perspective, the game loads for the player just fine on Java 8, so there's no problem to be fixed.

=========================

Is any sort of resolution possible here, or are we just collectively giving up on any MC 1.5.2 public servers as unworkable?
 

mc.crab

Well-Known Member
Feb 2, 2013
1,397
116
89
On the FTB main site, under the download button there are links to downlaod the legacy version of the launcher.
 
  • Like
Reactions: UniZero

DMahalko

New Member
Jul 29, 2019
10
0
0
No, see, that's not sustainable because as far as I can tell, FTB eventually plans to get rid of the old launcher, and fully replace it with Curse. When that happens there will be no alternatives for people who want to play FTB Unleashed online.

Meanwhile how many players are going to bother with dealing with two entirely separate launchers from FTB, just to play one older game? It's not very likely.

The solution needs to be done in the Curse launcher for people to continue to use it.
 

Quetzi

Jack of All Trades
Retired Staff
Aug 20, 2012
826
329
100
quetzi.tv
Having all our old content playable is a prerequisite for us abandoning our launcher if stuff isn't working properly then we won't be switching. There are a number of packs already on their todo list to fix.

None of our packs require MCPC+ though and I suspect your problems are because your using it. Try without and see if you get the same results.
 
  • Like
Reactions: jikuja

DMahalko

New Member
Jul 29, 2019
10
0
0
As mentioned, public servers need Bukkit plugins to have any sort of law and order and organization. Running a modpack on a public open port without plugins means the world is basically lawless, anyone can modify anything, and fixing problems and dealing with damage is nearly impossible.

Unless as a dev, you can think of some way to make FTB Unleashed do all of the following without running MCPC+ and using any of these.....

Snipped list of plugins on request - Quetzi


The only fixes that can resolve this, so that the server can continue to use Java 7 and MCPC+, as far as I can determine are:

- Make FTB Unleashed launch in the Curse launcher using Java 7 to resolve the BouncyCastle problem

- Figure out why the BouncyCastle security API is not compatible between a server on Java 7 and a Curse client on Java 8, and fix it.
 
Last edited by a moderator:

Quetzi

Jack of All Trades
Retired Staff
Aug 20, 2012
826
329
100
quetzi.tv
FTB does not, and never has supported non Forge installs. If you decide to go down that route then you do so knowing you are using the pack in an unsupported way. This has always been the case and continues to be the case for at least the foreseeable future.

If you require more control over your server I would suggest the whitelist feature.
 
Status
Not open for further replies.