Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Recommended Posts

I running a domain and roaming profiles at home. Minecraft runs fine by itself, but forge seems to have an issue running from a network location.

 

minecraft is installed //fileserver/redirects$/username/appdata/roaming/.minecraft

 

The error I keep getting 

---------------------------------

[13Sep2020 21:16:35.027] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]: java.lang.IllegalArgumentException: URI has an authority component
[13Sep2020 21:16:35.027] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at java.io.File.<init>(File.java:423)
[13Sep2020 21:16:35.028] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at org.spongepowered.asm.launch.platform.container.ContainerHandleURI.<init>(ContainerHandleURI.java:57)
[13Sep2020 21:16:35.028] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at org.spongepowered.asm.launch.platform.container.ContainerHandleModLauncher$Resource.<init>(ContainerHandleModLauncher.java:45)
[13Sep2020 21:16:35.028] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at org.spongepowered.asm.launch.platform.container.ContainerHandleModLauncher.addResource(ContainerHandleModLauncher.java:76)
[13Sep2020 21:16:35.028] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at org.spongepowered.asm.launch.platform.container.ContainerHandleModLauncher.addResources(ContainerHandleModLauncher.java:86)
[13Sep2020 21:16:35.028] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at org.spongepowered.asm.launch.MixinLaunchPlugin.addResources(MixinLaunchPlugin.java:179)
[13Sep2020 21:16:35.029] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at cpw.mods.modlauncher.LaunchPluginHandler.lambda$offerScanResultsToPlugins$7(LaunchPluginHandler.java:78)
[13Sep2020 21:16:35.029] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at cpw.mods.modlauncher.LaunchPluginHandler$$Lambda$390/1657125852.accept(Unknown Source)
[13Sep2020 21:16:35.029] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at java.util.HashMap.forEach(HashMap.java:1280)
[13Sep2020 21:16:35.029] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at cpw.mods.modlauncher.LaunchPluginHandler.offerScanResultsToPlugins(LaunchPluginHandler.java:78)
[13Sep2020 21:16:35.030] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at cpw.mods.modlauncher.Launcher.run(Launcher.java:76)
[13Sep2020 21:16:35.031] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at cpw.mods.modlauncher.Launcher.main(Launcher.java:65)

--------------------------------

 

java.lang.IllegalArgumentException: URI has an authority component

 

Is the main part from what I see, Forge seems to want admin permission to run something, but the way java works with profiles, When I use admin to launch the launcher, it points to the administrator account profile. Why does forge need administrator rights to run if this is what is being asked for?

Link to post
Share on other sites
4 hours ago, diesieben07 said:

Do not install Minecraft on a network drive.

I'm not trying to be mean. But when minecraft itself works fine in this fashion and basically everything else does, other then spotify. There is a problem. Do you know what roaming profiles are? I have multiple computers I work on in the house.  Like I said, I run a domain controller, permissions are handled by that, roaming profile server; is what holds all user files. Think of it like a perpetual internal cloud save. That why I can log onto any machine, I can run paid antivirus on a single machine. User files are on a tiered cached server. I had optifine running fine as well. To me what you are saying is; there is no plans on fixing this issue and you don't care about it.

 

The easy fix, would be; when installing detect path of install and add the arguments required for a network install. I think under java that would require an extra \

Link to post
Share on other sites

I looked through all the code that does this. It uses normal Java file APIs: "give me list of files in this folder", etc.

I don't know why this does not work. Trying to reproduce it with a simple Java program does not work.

 

How can I reproduce this?

Simply installing to a network folder does not even work with the Forge installer. So I had to use a mapped network drive there.

Then using the Minecraft launcher with --workDir set to a network folder does not work at all, even with vanilla Minecraft. It fails to set up the basic classloader properly, failing to load classes and then crashing.

The same thing happens when using the mapped network drive as --workDir.

 

I am willing to try and fix this, even though it's not really a supported use-case, but I need a simple way to reproduce this (Note: I am a Linux user, I only run Windows in a VM).

Link to post
Share on other sites
24 minutes ago, diesieben07 said:

I looked through all the code that does this. It uses normal Java file APIs: "give me list of files in this folder", etc.

I don't know why this does not work. Trying to reproduce it with a simple Java program does not work.

 

How can I reproduce this?

Simply installing to a network folder does not even work with the Forge installer. So I had to use a mapped network drive there.

Then using the Minecraft launcher with --workDir set to a network folder does not work at all, even with vanilla Minecraft. It fails to set up the basic classloader properly, failing to load classes and then crashing.

The same thing happens when using the mapped network drive as --workDir.

 

I am willing to try and fix this, even though it's not really a supported use-case, but I need a simple way to reproduce this (Note: I am a Linux user, I only run Windows in a VM).

When I have time, later today. I will try and pinpoint where it fails. I was resetting up with a mapped drive right to the .minecraft folder to see if its at least a way to bypass the issue. I know you guys put a lot into this with not much reward. I do appreciate that. I will help for sure.

 

As to installing with a network folder on windows you need to launch the jar inside a terminal window with admin permissions. I had to do the same with optifine.

Link to post
Share on other sites

[14Sep2020 10:40:35.314] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8 Source=file://fileserver/redirects$/user/AppData/Roaming/.minecraft/libraries/org/spongepowered/mixin/0.8/mixin-0.8.jar Service=ModLauncher Env=CLIENT
[14Sep2020 10:40:35.374] [main/WARN] [net.minecraftforge.fml.loading.FMLConfig/CORE]: Configuration file \\fileserver\redirects$\user\AppData\Roaming\.minecraft\config\fml.toml is not correct. Correcting
[14Sep2020 10:40:35.384] [main/WARN] [net.minecraftforge.fml.loading.FMLConfig/CORE]: Incorrect key [defaultConfigPath] was corrected from null to defaultconfigs

 

Are you running a normalizing call? URI.normalize() or URI.resolve() ?

Edited by vaudevillian
Link to post
Share on other sites
Just now, diesieben07 said:

Which part are you talking about?

source=file://fileserver is missing slashes

 

URI uri =URI.create("file:////fileserver/redirects/../../../..")

 

just fyi: I'm not an expert with java I'm just helping to try and figure it out. That log line looks like slashes have been removed with URI normalizing.

Link to post
Share on other sites

Log

--------

[14Sep2020 10:40:34.925] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher running: args [--username, 1Vaudevillian1, --version, 1.16.3-forge-34.0.1, --gameDir, \\fileserver\redirects$\user\AppData\Roaming\.minecraft, --assetsDir, \\fileserver\redirects$\user\AppData\Roaming\.minecraft\assets, --assetIndex, 1.16, --uuid, 356fef2ba2bb494d8157796cd7ce94de, --accessToken, ????????, --userType, mojang, --versionType, release, --launchTarget, fmlclient, --fml.forgeVersion, 34.0.1, --fml.mcVersion, 1.16.3, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20200911.084530]
[14Sep2020 10:40:34.929] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher 7.0.1+78+master.e9771d8 starting: java version 1.8.0_51 by Oracle Corporation
[14Sep2020 10:40:35.253] [main/INFO] [net.minecraftforge.fml.loading.FixSSL/CORE]: Added Lets Encrypt root certificates as additional trust
[14Sep2020 10:40:35.314] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8 Source=file://fileserver/redirects$/user/AppData/Roaming/.minecraft/libraries/org/spongepowered/mixin/0.8/mixin-0.8.jar Service=ModLauncher Env=CLIENT
[14Sep2020 10:40:35.374] [main/WARN] [net.minecraftforge.fml.loading.FMLConfig/CORE]: Configuration file \\fileserver\redirects$\user\AppData\Roaming\.minecraft\config\fml.toml is not correct. Correcting
[14Sep2020 10:40:35.384] [main/WARN] [net.minecraftforge.fml.loading.FMLConfig/CORE]: Incorrect key [defaultConfigPath] was corrected from null to defaultconfigs
[14Sep2020 10:40:36.780] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]: java.lang.IllegalArgumentException: URI has an authority component
[14Sep2020 10:40:36.780] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at java.io.File.<init>(File.java:423)
[14Sep2020 10:40:36.781] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at org.spongepowered.asm.launch.platform.container.ContainerHandleURI.<init>(ContainerHandleURI.java:57)
[14Sep2020 10:40:36.781] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at org.spongepowered.asm.launch.platform.container.ContainerHandleModLauncher$Resource.<init>(ContainerHandleModLauncher.java:45)
[14Sep2020 10:40:36.781] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at org.spongepowered.asm.launch.platform.container.ContainerHandleModLauncher.addResource(ContainerHandleModLauncher.java:76)
[14Sep2020 10:40:36.781] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at org.spongepowered.asm.launch.platform.container.ContainerHandleModLauncher.addResources(ContainerHandleModLauncher.java:86)
[14Sep2020 10:40:36.782] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at org.spongepowered.asm.launch.MixinLaunchPlugin.addResources(MixinLaunchPlugin.java:179)
[14Sep2020 10:40:36.782] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at cpw.mods.modlauncher.LaunchPluginHandler.lambda$offerScanResultsToPlugins$7(LaunchPluginHandler.java:78)
[14Sep2020 10:40:36.782] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at cpw.mods.modlauncher.LaunchPluginHandler$$Lambda$390/827579900.accept(Unknown Source)
[14Sep2020 10:40:36.783] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at java.util.HashMap.forEach(HashMap.java:1280)
[14Sep2020 10:40:36.783] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at cpw.mods.modlauncher.LaunchPluginHandler.offerScanResultsToPlugins(LaunchPluginHandler.java:78)
[14Sep2020 10:40:36.783] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at cpw.mods.modlauncher.Launcher.run(Launcher.java:76)
[14Sep2020 10:40:36.783] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at cpw.mods.modlauncher.Launcher.main(Launcher.java:65)

-----

end log

 

 

these lines here:

[14Sep2020 10:40:35.314] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8 Source=file://fileserver/redirects$/user/AppData/Roaming/.minecraft/libraries/org/spongepowered/mixin/0.8/mixin-0.8.jar Service=ModLauncher Env=CLIENT
[14Sep2020 10:40:35.374] [main/WARN] [net.minecraftforge.fml.loading.FMLConfig/CORE]: Configuration file \\fileserver\redirects$\user\AppData\Roaming\.minecraft\config\fml.toml is not correct. Correcting
[14Sep2020 10:40:35.384] [main/WARN] [net.minecraftforge.fml.loading.FMLConfig/CORE]: Incorrect key [defaultConfigPath] was corrected from null to defaultconfigs

 

It's like forge cant see the install path because Source=file://fileserver/redirects$/user/AppData/Roaming/.minecraft/libraries/org/spongepowered/mixin/0.8/mixin-0.8.jar Service=ModLauncher Env=CLIENT

 

Is not a network path inside java; Source=file:////fileserver/redirects$/user/AppData/Roaming/.minecraft/libraries/org/spongepowered/mixin/0.8/mixin-0.8.jar Service=ModLauncher Env=CLIENT would be a network path Thats why I was asking about uri normalizing. If you normalize paths it will remove the extra two // im pretty sure.

Link to post
Share on other sites

I did find the issue, and this is actually a problem with the JDK, which people have worked around in various ways...

If you ask the "new" file API (introduced with Java 7) to give you an URI for a UNC path you get (e.g.): file://192.168.178.20/some-folder/foo.txt. This is correct.

The legacy file API however represents UNC paths in URI form like this: file:////192.168.178.20/some-folder/foo.txt. A quick check in my Forge workspace shows that at least 43 places rely on this conversion working (which it does not for UNC paths). The one you found just happens to be the first one that fails.

 

I am not sure if it is possible to fix them all, especially because they are scattered around many different libraries that are involved. But I will see what I can do.

Link to post
Share on other sites
1 hour ago, diesieben07 said:

One thing however: even the vanilla game still does not work for me when the launcher workDir is on a network drive. How did you get that to work?

For some reason it works at least when running on a domain. I will setup a vm and a vlan to isolate and try and run from a network share. Will take me a couple days. But will get back with results. It might be down to running a windows domain as to why it runs.

Link to post
Share on other sites
On 9/14/2020 at 1:00 PM, diesieben07 said:

One thing however: even the vanilla game still does not work for me when the launcher workDir is on a network drive. How did you get that to work?

I figured out how you might be able to do it. Use symlinks with network path and host name. In might now work with linux as well. \\hostname\smbshare

 

I currently have it working on a network share like this.

 

Edit: messed up a bit was tired last night

Edited by vaudevillian
Link to post
Share on other sites
  • 5 months later...

Hello! I have the same issue of having vanilla minecraft work on a domain and roaming profiles while forge does not, I have very similar (if not the same) things written in the logs too. I'm trying to run Forge 1.16.4 build 35.1.4 (the recommended build).

Log

-------

[07Mar2021 18:43:28.270] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher running: args [--username, ImaginedFantasy, --version, 1.16.4-forge-35.1.4, --gameDir, \\DC\Users$\user\AppData\Roaming\.minecraft, --assetsDir, \\DC\Users$\user\AppData\Roaming\.minecraft\assets, --assetIndex, 1.16, --uuid, 3b2326585ed24f90b3d481e1d14a1486, --accessToken, ????????, --userType, mojang, --versionType, release, --launchTarget, fmlclient, --fml.forgeVersion, 35.1.4, --fml.mcVersion, 1.16.4, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20201102.104115]
[07Mar2021 18:43:28.280] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher 8.0.6+85+master.325de55 starting: java version 1.8.0_51 by Oracle Corporation
[07Mar2021 18:43:28.299] [main/WARN] [cpw.mods.modlauncher.SecureJarHandler/]: LEGACY JDK DETECTED, SECURED JAR HANDLING DISABLED
[07Mar2021 18:43:28.679] [main/INFO] [net.minecraftforge.fml.loading.FixSSL/CORE]: Added Lets Encrypt root certificates as additional trust
[07Mar2021 18:43:28.759] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.2 Source=file://DC/Users$/user/AppData/Roaming/.minecraft/libraries/org/spongepowered/mixin/0.8.2/mixin-0.8.2.jar Service=ModLauncher Env=CLIENT
[07Mar2021 18:43:34.787] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]: java.lang.IllegalArgumentException: URI has an authority component
[07Mar2021 18:43:34.787] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at java.io.File.<init>(File.java:423)
[07Mar2021 18:43:34.787] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at org.spongepowered.asm.launch.platform.container.ContainerHandleURI.<init>(ContainerHandleURI.java:57)
[07Mar2021 18:43:34.788] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at org.spongepowered.asm.launch.platform.container.ContainerHandleModLauncher$Resource.<init>(ContainerHandleModLauncher.java:45)
[07Mar2021 18:43:34.788] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at org.spongepowered.asm.launch.platform.container.ContainerHandleModLauncher.addResource(ContainerHandleModLauncher.java:76)
[07Mar2021 18:43:34.788] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at org.spongepowered.asm.launch.platform.container.ContainerHandleModLauncher.addResources(ContainerHandleModLauncher.java:86)
[07Mar2021 18:43:34.789] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at org.spongepowered.asm.launch.MixinLaunchPlugin.addResources(MixinLaunchPlugin.java:181)
[07Mar2021 18:43:34.789] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at cpw.mods.modlauncher.LaunchPluginHandler.lambda$offerScanResultsToPlugins$7(LaunchPluginHandler.java:78)
[07Mar2021 18:43:34.789] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at cpw.mods.modlauncher.LaunchPluginHandler$$Lambda$400/1822630059.accept(Unknown Source)
[07Mar2021 18:43:34.790] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at java.util.HashMap.forEach(HashMap.java:1280)
[07Mar2021 18:43:34.790] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at cpw.mods.modlauncher.LaunchPluginHandler.offerScanResultsToPlugins(LaunchPluginHandler.java:78)
[07Mar2021 18:43:34.791] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at cpw.mods.modlauncher.Launcher.run(Launcher.java:77)
[07Mar2021 18:43:34.791] [main/INFO] [STDERR/]: [java.lang.ThreadGroup:uncaughtException:1052]:     at cpw.mods.modlauncher.Launcher.main(Launcher.java:66)
-------------------------------------------

 

How did you get it to work? Please let me know
Oh! and I should mention, I don't understand a lick of code, so I could be using terms wrong in this post and might need particularly clear or descriptive directions in a response.
 

Thanks!

Link to post
Share on other sites
7 hours ago, ImaginedFantasy said:

How did you get it to work? Please let me know

On 9/19/2020 at 7:07 AM, vaudevillian said:

Use symlinks with network path and host name.

 

 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • So I had no clue what topic to put this under because its not really modding with forge but modding forge itself. So I have terrain generation mods that are only server side and Bungeecord that has Geyser packet translator so people on bedrock edition can play as well, but when a bedrock player connects it gets a unknown packet error. I tested the proxy on a Spigot server verifying it was forge. With no mods installed I still get the error. I got a wireshark log of it all and I found the packet where it aborts the connection due to the invalid packet but I have no clue how to stop it. When I still had the mods installed I disabled the forge handshake protocol but it did not fix the issue. If you know what part of forge is doing this or a way to fix it all together that would be awesome. I know modifying forge can end really baddy (definitely the handshake protocol) but I think that is my only fix here. Im open to any suggestions tho. I have run out of ideas to fix it so any help would be nice. Also it seems the packet id causing the connection error is 0xFE but im not sure cause the client also sends back a packet with that ID. I have a whole bunch of info collected so if you need any more information on the issue, I willing to give it, just not the ips on the wireshark log.
    • Okay, I got it working correctly now, but I'm not sure how to make it work with multiple blocks.   My Block Code:   package expanded.blocks; import javax.annotation.Nullable; import expanded.VanillaBuildingBlocks; import net.minecraft.block.BlockState; import net.minecraft.block.RotatedPillarBlock; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraftforge.common.ToolType; public class CustomLog extends RotatedPillarBlock {            public CustomLog(Properties properties) {         super(properties);     }      @Override     @Nullable     public BlockState getToolModifiedState(BlockState state, World world, BlockPos pos, PlayerEntity player, ItemStack stack, ToolType toolType) {         return toolType == ToolType.AXE ? VanillaBuildingBlocks.acacia_log.defaultBlockState() : null;     } }
    • ? Registering the block and overriding a function inside the class are two completely different things
    • Ya but I'm not sure how I would actually add/implement it into the class correctly, and then registering the block correctly in my register class.
    • This tutorial from 1.12.2 is as easy as anyone could possibly explain it, it hasn't changed much til now except some slight changes here and there for you to figure out, it's pretty straightforward (https://www.planetminecraft.com/blog/forge-tutorial-capability-system/). Obviously instead of mana you'd just replace it with whatever else you're doing. All a capability is in essence is the ability to serialize/deserialize standard data types to an entity. When the player dies the game creates a new instance of a PlayerEntity object so your data won't automatically "transfer" over to that new object unless as you say, you copy the data over in an event hook. After you have this set up, if you want to access the data you store in player capabilities you create a class with a static get function that retrieves it.
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.