Minecraft Launcher version 2.3.481 introduces a regression that is causing Minecraft to treat the launcher's workDir as the Java default filesystem path (java.nio.file.FileSystem)
Minecraft Launcher version 2.3.481 introduces a severe regression that is causing Minecraft clients to treat the launcher's workDir as the Java default filesystem path (java.nio.file.FileSystem).
While this issue appears to not significantly affect vanilla unmodified Minecraft clients, it results in a severe adverse effect on all Minecraft mod loaders (Quilt, Fabric, Forge) that are configured in the launcher to use a custom game directory, which is a configuration that is used by a significant portion of Minecraft's playerbase.
Many Minecraft mods use java.nio.file.Paths.get() to derive the current Minecraft instance's profile directory in order to store data such as configuration files or other cached data, which is important to keep separate between instances that may belong to wildly different versions of Minecraft. This also causes the Launcher workDir to become unnecessarily polluted.
Please note that this is not to say that vanilla unmodified Minecraft clients are completely unaffected — this issue is also causing all client logs even for vanilla unmodified clients to be written to the incorrect directory.
This behaviour can be tested by observing the value returned by java.nio.file.Paths.get("config/").toAbsolutePath().
On a Minecraft client launched from Minecraft Launcher 2.3.462 (the last working version, still usable via the --skipUpdate argument), this returns the correct configured game profile directory — for example, ${HOME}/Library/Application Support/minecraft/1.19.2/config on macOS.
On a Minecraft client launched from Minecraft Launcher 2.3.481, this returns an incorrect value of ${HOME}/Library/Application Support/minecraft/config, which is incorrectly treating the launcher's workDir value as the game profile directory.
The root cause of this can be traced down to the default JRE filesystem path being returned from java.nio.file.FileSystem.getDefault() being incorrect on clients launched from Launcher 2.3.481.
※ EDIT: This issue is also most likely the root cause of MCL-22670 and MCL-22692.
※ EDIT 2: Other related issues: MC-257316 (incorrect project).
Environment
・macOS 12.6 21G115 (arm64e)
・macOS 12.6 21G115 (x86_64)
・Windows 10 19045.2193 22H2 (x86_64)
・Ubuntu 21.10 (x86_64)
・java-runtime-gamma (JRE 17.0.3)
・java-runtime-beta (JRE 17.0.1.12.1)
・java-runtime-alpha (JRE 16.0.1.9.1, 16.0.1.9.1_3)
・jre-legacy (JRE 8u74, 8u51, 8u202)
Created Issue:
Minecraft Launcher version 2.3.481 introduces a regression that is causing Minecraft to treat the launcher's workDir as the Java default filesystem path (java.nio.file.FileSystem)
Minecraft Launcher version 2.3.481 introduces a severe regression that is causes Minecraft clients to treat the launcher's workDir as the Java default filesystem path (java.nio.file.FileSystem).
While this issue appears to not significantly affect vanilla unmodified Minecraft clients, it results in a severe adverse effect on all Minecraft mod loaders (Quilt, Fabric, Forge) that are configured in the launcher to use a custom game directory, which is a configuration that is used by a significant portion of Minecraft's playerbase.
This behaviour can be tested by observing the value returned by java.nio.file.Paths.get("config/").toAbsolutePath().
On a Minecraft client launched from Minecraft Launcher 2.3.462 (the last working version), this returns the correct configured game directory — for example, ${HOME}/Library/Application Support/minecraft/1.19.2 on macOS.
On a Minecraft client launched from Minecraft Launcher 2.3.481, this returns an incorrect value of ${HOME}/Library/Application Support/minecraft, which is the launcher's workDir value.
This behaviour can be traced down to the default JRE filesystem path being returned from java.nio.file.FileSystem.getDefault() being different on clients launched from 2.3.481.
Environment
macOS 12.6 21G115 (arm64e)
macOS 12.6 21G115 (x86_64)
Windows 10 19045.2193 22H2 (x86_64)java-runtime-gamma (JRE 17.0.3)
java-runtime-beta (JRE 17.0.1.12.1)
java-runtime-alpha (JRE 16.0.1.9.1, 16.0.1.9.1_3)
jre-legacy (JRE 8u74, 8u51, 8u202)
Minecraft Launcher version 2.3.481 introduces a severe regression that is caus
esMinecraft clients to treat the launcher's workDir as the Java default filesystem path (java.nio.file.FileSystem).While this issue appears to not significantly affect vanilla unmodified Minecraft clients, it results in a severe adverse effect on all Minecraft mod loaders (Quilt, Fabric, Forge) that are configured in the launcher to use a custom game directory, which is a configuration that is used by a significant portion of Minecraft's playerbase.
This behaviour can be tested by observing the value returned by java.nio.file.Paths.get("config/").toAbsolutePath().
On a Minecraft client launched from Minecraft Launcher 2.3.462 (the last working version), this returns the correct configured game directory — for example, ${HOME}/Library/Application Support/minecraft/1.19.2 on macOS.
On a Minecraft client launched from Minecraft Launcher 2.3.481, this returns an incorrect value of ${HOME}/Library/Application Support/minecraft, which is the launcher's workDir value.
This behaviour can be traced down to the default JRE filesystem path being returned from java.nio.file.FileSystem.getDefault() being different on clients launched from 2.3.481.
Minecraft Launcher version 2.3.481 introduces a severe regression that is causing Minecraft clients to treat the launcher's workDir as the Java default filesystem path (java.nio.file.FileSystem).
While this issue appears to not significantly affect vanilla unmodified Minecraft clients, it results in a severe adverse effect on all Minecraft mod loaders (Quilt, Fabric, Forge) that are configured in the launcher to use a custom game directory, which is a configuration that is used by a significant portion of Minecraft's playerbase.
This behaviour can be tested by observing the value returned by java.nio.file.Paths.get("config/").toAbsolutePath().
On a Minecraft client launched from Minecraft Launcher 2.3.462 (the last working version), this returns the correct configured game directory — for example, ${HOME}/Library/Application Support/minecraft/1.19.2 on macOS.
On a Minecraft client launched from Minecraft Launcher 2.3.481, this returns an incorrect value of ${HOME}/Library/Application Support/minecraft, which is the launcher's workDir value.
This behaviour can be traced down to the default JRE filesystem path being returned from java.nio.file.FileSystem.getDefault() being different on clients launched from 2.3.481.
Minecraft Launcher version 2.3.481 introduces a severe regression that is causing Minecraft clients to treat the launcher's workDir as the Java default filesystem path (java.nio.file.FileSystem).
While this issue appears to not significantly affect vanilla unmodified Minecraft clients, it results in a severe adverse effect on all Minecraft mod loaders (Quilt, Fabric, Forge) that are configured in the launcher to use a custom game directory, which is a configuration that is used by a significant portion of Minecraft's playerbase.
This behaviour can be tested by observing the value returned by java.nio.file.Paths.get("config/").toAbsolutePath().
On a Minecraft client launched from Minecraft Launcher 2.3.462 (the last working version), this returns the correct configured game directory — for example, ${HOME}/Library/Application Support/minecraft/1.19.2/config on macOS.
On a Minecraft client launched from Minecraft Launcher 2.3.481, this returns an incorrect value of ${HOME}/Library/Application Support/minecraft/config, which is the launcher's workDir value.
This behaviour can be traced down to the default JRE filesystem path being returned from java.nio.file.FileSystem.getDefault() being different on clients launched from 2.3.481.
Minecraft Launcher version 2.3.481 introduces a severe regression that is causing Minecraft clients to treat the launcher's workDir as the Java default filesystem path (java.nio.file.FileSystem).
While this issue appears to not significantly affect vanilla unmodified Minecraft clients, it results in a severe adverse effect on all Minecraft mod loaders (Quilt, Fabric, Forge) that are configured in the launcher to use a custom game directory, which is a configuration that is used by a significant portion of Minecraft's playerbase.
This behaviour can be tested by observing the value returned by java.nio.file.Paths.get("config/").toAbsolutePath().
On a Minecraft client launched from Minecraft Launcher 2.3.462 (the last working version), this returns the correct configured game directory — for example, ${HOME}/Library/Application Support/minecraft/1.19.2/config on macOS.
On a Minecraft client launched from Minecraft Launcher 2.3.481, this returns an incorrect value of ${HOME}/Library/Application Support/minecraft/config, which is the launcher's workDir value.
This behaviour can be traced down to the default JRE filesystem path being returned from java.nio.file.FileSystem.getDefault() being different on clients launched from 2.3.481.
Minecraft Launcher version 2.3.481 introduces a severe regression that is causing Minecraft clients to treat the launcher's workDir as the Java default filesystem path (java.nio.file.FileSystem).
While this issue appears to not significantly affect vanilla unmodified Minecraft clients, it results in a severe adverse effect on all Minecraft mod loaders (Quilt, Fabric, Forge) that are configured in the launcher to use a custom game directory, which is a configuration that is used by a significant portion of Minecraft's playerbase.
This behaviour can be tested by observing the value returned by java.nio.file.Paths.get("config/").toAbsolutePath().
On a Minecraft client launched from Minecraft Launcher 2.3.462 (the last working version), this returns the correct configured game profile directory — for example, ${HOME}/Library/Application Support/minecraft/1.19.2/config on macOS.
On a Minecraft client launched from Minecraft Launcher 2.3.481, this returns an incorrect value of ${HOME}/Library/Application Support/minecraft/config, which is incorrectly treating the launcher's workDir value as the game profile directory.
This behaviour can be traced down to the default JRE filesystem path being returned from java.nio.file.FileSystem.getDefault() being different on clients launched from 2.3.481.
Minecraft Launcher version 2.3.481 introduces a severe regression that is causing Minecraft clients to treat the launcher's workDir as the Java default filesystem path (java.nio.file.FileSystem).
While this issue appears to not significantly affect vanilla unmodified Minecraft clients, it results in a severe adverse effect on all Minecraft mod loaders (Quilt, Fabric, Forge) that are configured in the launcher to use a custom game directory, which is a configuration that is used by a significant portion of Minecraft's playerbase.
This behaviour can be tested by observing the value returned by java.nio.file.Paths.get("config/").toAbsolutePath().
On a Minecraft client launched from Minecraft Launcher 2.3.462 (the last working version), this returns the correct configured game profile directory — for example, ${HOME}/Library/Application Support/minecraft/1.19.2/config on macOS.
On a Minecraft client launched from Minecraft Launcher 2.3.481, this returns an incorrect value of ${HOME}/Library/Application Support/minecraft/config, which is incorrectly treating the launcher's workDir value as the game profile directory.
This behaviour can be traced down to the default JRE filesystem path being returned from java.nio.file.FileSystem.getDefault() being different on clients launched from 2.3.481.
Minecraft Launcher version 2.3.481 introduces a severe regression that is causing Minecraft clients to treat the launcher's workDir as the Java default filesystem path (java.nio.file.FileSystem).
While this issue appears to not significantly affect vanilla unmodified Minecraft clients, it results in a severe adverse effect on all Minecraft mod loaders (Quilt, Fabric, Forge) that are configured in the launcher to use a custom game directory, which is a configuration that is used by a significant portion of Minecraft's playerbase.
Many Minecraft mods use java.nio.file.Paths.get() to derive the current Minecraft instance's profile directory in order to store data such as configuration files or other cached data, which is important to keep separate between instances that may belong to wildly different versions of Minecraft. This also causes the Launcher workDir to become unnecessarily polluted.
This behaviour can be tested by observing the value returned by java.nio.file.Paths.get("config/").toAbsolutePath().
On a Minecraft client launched from Minecraft Launcher 2.3.462 (the last working version), this returns the correct configured game profile directory — for example, ${HOME}/Library/Application Support/minecraft/1.19.2/config on macOS.
On a Minecraft client launched from Minecraft Launcher 2.3.481, this returns an incorrect value of ${HOME}/Library/Application Support/minecraft/config, which is incorrectly treating the launcher's workDir value as the game profile directory.
This behaviour can be traced down to the default JRE filesystem path being returned from java.nio.file.FileSystem.getDefault() being different on clients launched from 2.3.481.
Minecraft Launcher version 2.3.481 introduces a severe regression that is causing Minecraft clients to treat the launcher's workDir as the Java default filesystem path (java.nio.file.FileSystem).
While this issue appears to not significantly affect vanilla unmodified Minecraft clients, it results in a severe adverse effect on all Minecraft mod loaders (Quilt, Fabric, Forge) that are configured in the launcher to use a custom game directory, which is a configuration that is used by a significant portion of Minecraft's playerbase.
Many Minecraft mods use java.nio.file.Paths.get() to derive the current Minecraft instance's profile directory in order to store data such as configuration files or other cached data, which is important to keep separate between instances that may belong to wildly different versions of Minecraft. This also causes the Launcher workDir to become unnecessarily polluted.
This behaviour can be tested by observing the
value returned byjava.nio.file.Paths.get("config/").toAbsolutePath().On a Minecraft client launched from Minecraft Launcher 2.3.462 (the last working version), this returns the correct configured game profile directory — for example, ${HOME}/Library/Application Support/minecraft/1.19.2/config on macOS.
On a Minecraft client launched from Minecraft Launcher 2.3.481, this returns an incorrect value of ${HOME}/Library/Application Support/minecraft/config, which is incorrectly treating the launcher's workDir value as the game profile directory.
Th
is behaviourcan be traced down to the default JRE filesystem path being returned from java.nio.file.FileSystem.getDefault() beingdifferent on clients launched from 2.3.481.Minecraft Launcher version 2.3.481 introduces a severe regression that is causing Minecraft clients to treat the launcher's workDir as the Java default filesystem path (java.nio.file.FileSystem).
While this issue appears to not significantly affect vanilla unmodified Minecraft clients, it results in a severe adverse effect on all Minecraft mod loaders (Quilt, Fabric, Forge) that are configured in the launcher to use a custom game directory, which is a configuration that is used by a significant portion of Minecraft's playerbase.
Many Minecraft mods use java.nio.file.Paths.get() to derive the current Minecraft instance's profile directory in order to store data such as configuration files or other cached data, which is important to keep separate between instances that may belong to wildly different versions of Minecraft. This also causes the Launcher workDir to become unnecessarily polluted.
This behaviour can be tested by observing the String value returned by java.nio.file.Paths.get("config/").toAbsolutePath().
On a Minecraft client launched from Minecraft Launcher 2.3.462 (the last working version), this returns the correct configured game profile directory — for example, ${HOME}/Library/Application Support/minecraft/1.19.2/config on macOS.
On a Minecraft client launched from Minecraft Launcher 2.3.481, this returns an incorrect value of ${HOME}/Library/Application Support/minecraft/config, which is incorrectly treating the launcher's workDir value as the game profile directory.
The root cause of this can be traced down to the default JRE filesystem path being returned from java.nio.file.FileSystem.getDefault() being incorrect on clients launched from Launcher 2.3.481.
Minecraft Launcher version 2.3.481 introduces a severe regression that is causing Minecraft clients to treat the launcher's workDir as the Java default filesystem path (java.nio.file.FileSystem).
While this issue appears to not significantly affect vanilla unmodified Minecraft clients, it results in a severe adverse effect on all Minecraft mod loaders (Quilt, Fabric, Forge) that are configured in the launcher to use a custom game directory, which is a configuration that is used by a significant portion of Minecraft's playerbase.
Many Minecraft mods use java.nio.file.Paths.get() to derive the current Minecraft instance's profile directory in order to store data such as configuration files or other cached data, which is important to keep separate between instances that may belong to wildly different versions of Minecraft. This also causes the Launcher workDir to become unnecessarily polluted.
This behaviour can be tested by observing the String value returned by java.nio.file.Paths.get("config/").toAbsolutePath().
On a Minecraft client launched from Minecraft Launcher 2.3.462 (the last working version), this returns the correct configured game profile directory — for example, ${HOME}/Library/Application Support/minecraft/1.19.2/config on macOS.
On a Minecraft client launched from Minecraft Launcher 2.3.481, this returns an incorrect value of ${HOME}/Library/Application Support/minecraft/config, which is incorrectly treating the launcher's workDir value as the game profile directory.
The root cause of this can be traced down to the default JRE filesystem path being returned from java.nio.file.FileSystem.getDefault() being incorrect on clients launched from Launcher 2.3.481.
Minecraft Launcher version 2.3.481 introduces a severe regression that is causing Minecraft clients to treat the launcher's workDir as the Java default filesystem path (java.nio.file.FileSystem).
While this issue appears to not significantly affect vanilla unmodified Minecraft clients, it results in a severe adverse effect on all Minecraft mod loaders (Quilt, Fabric, Forge) that are configured in the launcher to use a custom game directory, which is a configuration that is used by a significant portion of Minecraft's playerbase.
Many Minecraft mods use java.nio.file.Paths.get() to derive the current Minecraft instance's profile directory in order to store data such as configuration files or other cached data, which is important to keep separate between instances that may belong to wildly different versions of Minecraft. This also causes the Launcher workDir to become unnecessarily polluted.
This behaviour can be tested by observing the String value returned by java.nio.file.Paths.get("config/").toAbsolutePath().
On a Minecraft client launched from Minecraft Launcher 2.3.462 (the last working version), this returns the correct configured game profile directory — for example, ${HOME}/Library/Application Support/minecraft/1.19.2/config on macOS.
On a Minecraft client launched from Minecraft Launcher 2.3.481, this returns an incorrect value of ${HOME}/Library/Application Support/minecraft/config, which is incorrectly treating the launcher's workDir value as the game profile directory.
The root cause of this can be traced down to the default JRE filesystem path being returned from java.nio.file.FileSystem.getDefault() being incorrect on clients launched from Launcher 2.3.481.
※ EDIT: This issue is also most likely the root cause of
MCL-22670.
Minecraft Launcher version 2.3.481 introduces a severe regression that is causing Minecraft clients to treat the launcher's workDir as the Java default filesystem path (java.nio.file.FileSystem).
While this issue appears to not significantly affect vanilla unmodified Minecraft clients, it results in a severe adverse effect on all Minecraft mod loaders (Quilt, Fabric, Forge) that are configured in the launcher to use a custom game directory, which is a configuration that is used by a significant portion of Minecraft's playerbase.
Many Minecraft mods use java.nio.file.Paths.get() to derive the current Minecraft instance's profile directory in order to store data such as configuration files or other cached data, which is important to keep separate between instances that may belong to wildly different versions of Minecraft. This also causes the Launcher workDir to become unnecessarily polluted.
This behaviour can be tested by observing the String value returned by java.nio.file.Paths.get("config/").toAbsolutePath().
On a Minecraft client launched from Minecraft Launcher 2.3.462 (the last working version), this returns the correct configured game profile directory — for example, ${HOME}/Library/Application Support/minecraft/1.19.2/config on macOS.
On a Minecraft client launched from Minecraft Launcher 2.3.481, this returns an incorrect value of ${HOME}/Library/Application Support/minecraft/config, which is incorrectly treating the launcher's workDir value as the game profile directory.
The root cause of this can be traced down to the default JRE filesystem path being returned from java.nio.file.FileSystem.getDefault() being incorrect on clients launched from Launcher 2.3.481.
※ EDIT: This issue is also most likely the root cause of
MCL-22670.
・macOS 12.6 21G115 (arm64e)
・macOS 12.6 21G115 (x86_64)
・Windows 10 19045.2193 22H2 (x86_64)・java-runtime-gamma (JRE 17.0.3)
・java-runtime-beta (JRE 17.0.1.12.1)
・java-runtime-alpha (JRE 16.0.1.9.1, 16.0.1.9.1_3)
・jre-legacy (JRE 8u74, 8u51, 8u202)
Minecraft Launcher version 2.3.481 introduces a severe regression that is causing Minecraft clients to treat the launcher's workDir as the Java default filesystem path (java.nio.file.FileSystem).
While this issue appears to not significantly affect vanilla unmodified Minecraft clients, it results in a severe adverse effect on all Minecraft mod loaders (Quilt, Fabric, Forge) that are configured in the launcher to use a custom game directory, which is a configuration that is used by a significant portion of Minecraft's playerbase.
Many Minecraft mods use java.nio.file.Paths.get() to derive the current Minecraft instance's profile directory in order to store data such as configuration files or other cached data, which is important to keep separate between instances that may belong to wildly different versions of Minecraft. This also causes the Launcher workDir to become unnecessarily polluted.
This behaviour can be tested by observing the String value returned by java.nio.file.Paths.get("config/").toAbsolutePath().
On a Minecraft client launched from Minecraft Launcher 2.3.462 (the last working version), this returns the correct configured game profile directory — for example, ${HOME}/Library/Application Support/minecraft/1.19.2/config on macOS.
On a Minecraft client launched from Minecraft Launcher 2.3.481, this returns an incorrect value of ${HOME}/Library/Application Support/minecraft/config, which is incorrectly treating the launcher's workDir value as the game profile directory.
The root cause of this can be traced down to the default JRE filesystem path being returned from java.nio.file.FileSystem.getDefault() being incorrect on clients launched from Launcher 2.3.481.
※ EDIT: This issue is also most likely the root cause of
MCL-22670.Minecraft Launcher version 2.3.481 introduces a severe regression that is causing Minecraft clients to treat the launcher's workDir as the Java default filesystem path (java.nio.file.FileSystem).
While this issue appears to not significantly affect vanilla unmodified Minecraft clients, it results in a severe adverse effect on all Minecraft mod loaders (Quilt, Fabric, Forge) that are configured in the launcher to use a custom game directory, which is a configuration that is used by a significant portion of Minecraft's playerbase.
Many Minecraft mods use java.nio.file.Paths.get() to derive the current Minecraft instance's profile directory in order to store data such as configuration files or other cached data, which is important to keep separate between instances that may belong to wildly different versions of Minecraft. This also causes the Launcher workDir to become unnecessarily polluted.
This behaviour can be tested by observing the value returned by java.nio.file.Paths.get("config/").toAbsolutePath().
On a Minecraft client launched from Minecraft Launcher 2.3.462 (the last working version), this returns the correct configured game profile directory — for example, ${HOME}/Library/Application Support/minecraft/1.19.2/config on macOS.
On a Minecraft client launched from Minecraft Launcher 2.3.481, this returns an incorrect value of ${HOME}/Library/Application Support/minecraft/config, which is incorrectly treating the launcher's workDir value as the game profile directory.
The root cause of this can be traced down to the default JRE filesystem path being returned from java.nio.file.FileSystem.getDefault() being incorrect on clients launched from Launcher 2.3.481.
※ EDIT: This issue is also most likely the root cause of
MCL-22670.
・macOS 12.6 21G115 (arm64e)
・macOS 12.6 21G115 (x86_64)
・Windows 10 19045.2193 22H2 (x86_64)
・Ubuntu 21.10 (x86_64)・java-runtime-gamma (JRE 17.0.3)
・java-runtime-beta (JRE 17.0.1.12.1)
・java-runtime-alpha (JRE 16.0.1.9.1, 16.0.1.9.1_3)
・jre-legacy (JRE 8u74, 8u51, 8u202)
Minecraft Launcher version 2.3.481 introduces a severe regression that is causing Minecraft clients to treat the launcher's workDir as the Java default filesystem path (java.nio.file.FileSystem).
While this issue appears to not significantlyaffect vanilla unmodified Minecraft clients, it results in a severe adverse effect on all Minecraft mod loaders (Quilt, Fabric, Forge) that are configured in the launcher to use a custom game directory, which is a configuration that is used by a significant portion of Minecraft's playerbase.Many Minecraft mods use java.nio.file.Paths.get() to derive the current Minecraft instance's profile directory in order to store data such as configuration files or other cached data, which is important to keep separate between instances that may belong to wildly different versions of Minecraft. This also causes the Launcher workDir to become unnecessarily polluted.
This behaviour can be tested by observing the value returned by java.nio.file.Paths.get("config/").toAbsolutePath().
On a Minecraft client launched from Minecraft Launcher 2.3.462 (the last working version), this returns the correct configured game profile directory — for example, ${HOME}/Library/Application Support/minecraft/1.19.2/config on macOS.
On a Minecraft client launched from Minecraft Launcher 2.3.481, this returns an incorrect value of ${HOME}/Library/Application Support/minecraft/config, which is incorrectly treating the launcher's workDir value as the game profile directory.
The root cause of this can be traced down to the default JRE filesystem path being returned from java.nio.file.FileSystem.getDefault() being incorrect on clients launched from Launcher 2.3.481.
※ EDIT: This issue is also most likely the root cause of
MCL-22670.Minecraft Launcher version 2.3.481 introduces a severe regression that is causing Minecraft clients to treat the launcher's workDir as the Java default filesystem path (java.nio.file.FileSystem).
While this issue appears to not significantly affect vanilla unmodified Minecraft clients, it results in a severe adverse effect on all Minecraft mod loaders (Quilt, Fabric, Forge) that are configured in the launcher to use a custom game directory, which is a configuration that is used by a significant portion of Minecraft's playerbase.
Many Minecraft mods use java.nio.file.Paths.get() to derive the current Minecraft instance's profile directory in order to store data such as configuration files or other cached data, which is important to keep separate between instances that may belong to wildly different versions of Minecraft. This also causes the Launcher workDir to become unnecessarily polluted.
Please note that this is not to say that vanilla Minecraft clients are completely unaffected — this issue is also causing all client logs even for vanilla clients to be written to the incorrect directory.
This behaviour can be tested by observing the value returned by java.nio.file.Paths.get("config/").toAbsolutePath().
On a Minecraft client launched from Minecraft Launcher 2.3.462 (the last working version), this returns the correct configured game profile directory — for example, ${HOME}/Library/Application Support/minecraft/1.19.2/config on macOS.
On a Minecraft client launched from Minecraft Launcher 2.3.481, this returns an incorrect value of ${HOME}/Library/Application Support/minecraft/config, which is incorrectly treating the launcher's workDir value as the game profile directory.
The root cause of this can be traced down to the default JRE filesystem path being returned from java.nio.file.FileSystem.getDefault() being incorrect on clients launched from Launcher 2.3.481.
※ EDIT: This issue is also most likely the root cause of
MCL-22670.
Minecraft Launcher version 2.3.481 introduces a severe regression that is causing Minecraft clients to treat the launcher's workDir as the Java default filesystem path (java.nio.file.FileSystem).
While this issue appears to not significantly affect vanilla unmodified Minecraft clients, it results in a severe adverse effect on all Minecraft mod loaders (Quilt, Fabric, Forge) that are configured in the launcher to use a custom game directory, which is a configuration that is used by a significant portion of Minecraft's playerbase.
Many Minecraft mods use java.nio.file.Paths.get() to derive the current Minecraft instance's profile directory in order to store data such as configuration files or other cached data, which is important to keep separate between instances that may belong to wildly different versions of Minecraft. This also causes the Launcher workDir to become unnecessarily polluted.
Please note that this is not to say that vanilla Minecraft clients are completely unaffected — this issue is also causing all client logs even for vanilla clients to be written to the incorrect directory.
This behaviour can be tested by observing the value returned by java.nio.file.Paths.get("config/").toAbsolutePath().
On a Minecraft client launched from Minecraft Launcher 2.3.462 (the last working version), this returns the correct configured game profile directory — for example, ${HOME}/Library/Application Support/minecraft/1.19.2/config on macOS.
On a Minecraft client launched from Minecraft Launcher 2.3.481, this returns an incorrect value of ${HOME}/Library/Application Support/minecraft/config, which is incorrectly treating the launcher's workDir value as the game profile directory.
The root cause of this can be traced down to the default JRE filesystem path being returned from java.nio.file.FileSystem.getDefault() being incorrect on clients launched from Launcher 2.3.481.
※ EDIT: This issue is also most likely the root cause of
MCL-22670.Minecraft Launcher version 2.3.481 introduces a severe regression that is causing Minecraft clients to treat the launcher's workDir as the Java default filesystem path (java.nio.file.FileSystem).
While this issue appears to not significantly affect vanilla unmodified Minecraft clients, it results in a severe adverse effect on all Minecraft mod loaders (Quilt, Fabric, Forge) that are configured in the launcher to use a custom game directory, which is a configuration that is used by a significant portion of Minecraft's playerbase.
Many Minecraft mods use java.nio.file.Paths.get() to derive the current Minecraft instance's profile directory in order to store data such as configuration files or other cached data, which is important to keep separate between instances that may belong to wildly different versions of Minecraft. This also causes the Launcher workDir to become unnecessarily polluted.
Please note that this is not to say that vanilla Minecraft clients are completely unaffected — this issue is also causing all client logs even for vanilla clients to be written to the incorrect directory.
This behaviour can be tested by observing the value returned by java.nio.file.Paths.get("config/").toAbsolutePath().
On a Minecraft client launched from Minecraft Launcher 2.3.462 (the last working version), this returns the correct configured game profile directory — for example, ${HOME}/Library/Application Support/minecraft/1.19.2/config on macOS.
On a Minecraft client launched from Minecraft Launcher 2.3.481, this returns an incorrect value of ${HOME}/Library/Application Support/minecraft/config, which is incorrectly treating the launcher's workDir value as the game profile directory.
The root cause of this can be traced down to the default JRE filesystem path being returned from java.nio.file.FileSystem.getDefault() being incorrect on clients launched from Launcher 2.3.481.
※ EDIT: This issue is also most likely the root cause of
MCL-22670.
Minecraft Launcher version 2.3.481 introduces a severe regression that is causing Minecraft clients to treat the launcher's workDir as the Java default filesystem path (java.nio.file.FileSystem).
While this issue appears to not significantly affect vanilla unmodified Minecraft clients, it results in a severe adverse effect on all Minecraft mod loaders (Quilt, Fabric, Forge) that are configured in the launcher to use a custom game directory, which is a configuration that is used by a significant portion of Minecraft's playerbase.
Many Minecraft mods use java.nio.file.Paths.get() to derive the current Minecraft instance's profile directory in order to store data such as configuration files or other cached data, which is important to keep separate between instances that may belong to wildly different versions of Minecraft. This also causes the Launcher workDir to become unnecessarily polluted.
Please note that this is not to say that vanilla unmodified Minecraft clients are completely unaffected — this issue is also causing all client logs even for vanilla unmodified clients to be written to the incorrect directory.
This behaviour can be tested by observing the value returned by java.nio.file.Paths.get("config/").toAbsolutePath().
On a Minecraft client launched from Minecraft Launcher 2.3.462 (the last working version), this returns the correct configured game profile directory — for example, ${HOME}/Library/Application Support/minecraft/1.19.2/config on macOS.
On a Minecraft client launched from Minecraft Launcher 2.3.481, this returns an incorrect value of ${HOME}/Library/Application Support/minecraft/config, which is incorrectly treating the launcher's workDir value as the game profile directory.
The root cause of this can be traced down to the default JRE filesystem path being returned from java.nio.file.FileSystem.getDefault() being incorrect on clients launched from Launcher 2.3.481.
※ EDIT: This issue is also most likely the root cause of
MCL-22670.
Minecraft Launcher version 2.3.481 introduces a severe regression that is causing Minecraft clients to treat the launcher's workDir as the Java default filesystem path (java.nio.file.FileSystem).
While this issue appears to not significantly affect vanilla unmodified Minecraft clients, it results in a severe adverse effect on all Minecraft mod loaders (Quilt, Fabric, Forge) that are configured in the launcher to use a custom game directory, which is a configuration that is used by a significant portion of Minecraft's playerbase.
Many Minecraft mods use java.nio.file.Paths.get() to derive the current Minecraft instance's profile directory in order to store data such as configuration files or other cached data, which is important to keep separate between instances that may belong to wildly different versions of Minecraft. This also causes the Launcher workDir to become unnecessarily polluted.
Please note that this is not to say that vanilla unmodified Minecraft clients are completely unaffected — this issue is also causing all client logs even for vanilla unmodified clients to be written to the incorrect directory.
This behaviour can be tested by observing the value returned by java.nio.file.Paths.get("config/").toAbsolutePath().
On a Minecraft client launched from Minecraft Launcher 2.3.462 (the last working version
),this returns the correct configured game profile directory — for example,${HOME}/Library/Application Support/minecraft/1.19.2/config on macOS.On a Minecraft client launched from Minecraft Launcher 2.3.481, this returns an incorrect value of ${HOME}/Library/Application Support/minecraft/config, which is incorrectly treating the launcher's workDir value as the game profile directory.
The root cause of this can be traced down to the default JRE filesystem path being returned from java.nio.file.FileSystem.getDefault() being incorrect on clients launched from Launcher 2.3.481.
※ EDIT: This issue is also most likely the root cause of
MCL-22670.Minecraft Launcher version 2.3.481 introduces a severe regression that is causing Minecraft clients to treat the launcher's workDir as the Java default filesystem path (java.nio.file.FileSystem).
While this issue appears to not significantly affect vanilla unmodified Minecraft clients, it results in a severe adverse effect on all Minecraft mod loaders (Quilt, Fabric, Forge) that are configured in the launcher to use a custom game directory, which is a configuration that is used by a significant portion of Minecraft's playerbase.
Many Minecraft mods use java.nio.file.Paths.get() to derive the current Minecraft instance's profile directory in order to store data such as configuration files or other cached data, which is important to keep separate between instances that may belong to wildly different versions of Minecraft. This also causes the Launcher workDir to become unnecessarily polluted.
Please note that this is not to say that vanilla unmodified Minecraft clients are completely unaffected — this issue is also causing all client logs even for vanilla unmodified clients to be written to the incorrect directory.
This behaviour can be tested by observing the value returned by java.nio.file.Paths.get("config/").toAbsolutePath().
On a Minecraft client launched from Minecraft Launcher 2.3.462 (the last working version, still runnable via the --skipUpdate argument), this returns the correct configured game profile directory — for example, ${HOME}/Library/Application Support/minecraft/1.19.2/config on macOS.
On a Minecraft client launched from Minecraft Launcher 2.3.481, this returns an incorrect value of ${HOME}/Library/Application Support/minecraft/config, which is incorrectly treating the launcher's workDir value as the game profile directory.
The root cause of this can be traced down to the default JRE filesystem path being returned from java.nio.file.FileSystem.getDefault() being incorrect on clients launched from Launcher 2.3.481.
※ EDIT: This issue is also most likely the root cause of
MCL-22670.
Minecraft Launcher version 2.3.481 introduces a severe regression that is causing Minecraft clients to treat the launcher's workDir as the Java default filesystem path (java.nio.file.FileSystem).
While this issue appears to not significantly affect vanilla unmodified Minecraft clients, it results in a severe adverse effect on all Minecraft mod loaders (Quilt, Fabric, Forge) that are configured in the launcher to use a custom game directory, which is a configuration that is used by a significant portion of Minecraft's playerbase.
Many Minecraft mods use java.nio.file.Paths.get() to derive the current Minecraft instance's profile directory in order to store data such as configuration files or other cached data, which is important to keep separate between instances that may belong to wildly different versions of Minecraft. This also causes the Launcher workDir to become unnecessarily polluted.
Please note that this is not to say that vanilla unmodified Minecraft clients are completely unaffected — this issue is also causing all client logs even for vanilla unmodified clients to be written to the incorrect directory.
This behaviour can be tested by observing the value returned by java.nio.file.Paths.get("config/").toAbsolutePath().
On a Minecraft client launched from Minecraft Launcher 2.3.462 (the last working version, still
runnable via the --skipUpdate argument), this returns the correct configured game profile directory — for example, ${HOME}/Library/Application Support/minecraft/1.19.2/config on macOS.On a Minecraft client launched from Minecraft Launcher 2.3.481, this returns an incorrect value of ${HOME}/Library/Application Support/minecraft/config, which is incorrectly treating the launcher's workDir value as the game profile directory.
The root cause of this can be traced down to the default JRE filesystem path being returned from java.nio.file.FileSystem.getDefault() being incorrect on clients launched from Launcher 2.3.481.
※ EDIT: This issue is also most likely the root cause of
MCL-22670.Minecraft Launcher version 2.3.481 introduces a severe regression that is causing Minecraft clients to treat the launcher's workDir as the Java default filesystem path (java.nio.file.FileSystem).
While this issue appears to not significantly affect vanilla unmodified Minecraft clients, it results in a severe adverse effect on all Minecraft mod loaders (Quilt, Fabric, Forge) that are configured in the launcher to use a custom game directory, which is a configuration that is used by a significant portion of Minecraft's playerbase.
Many Minecraft mods use java.nio.file.Paths.get() to derive the current Minecraft instance's profile directory in order to store data such as configuration files or other cached data, which is important to keep separate between instances that may belong to wildly different versions of Minecraft. This also causes the Launcher workDir to become unnecessarily polluted.
Please note that this is not to say that vanilla unmodified Minecraft clients are completely unaffected — this issue is also causing all client logs even for vanilla unmodified clients to be written to the incorrect directory.
This behaviour can be tested by observing the value returned by java.nio.file.Paths.get("config/").toAbsolutePath().
On a Minecraft client launched from Minecraft Launcher 2.3.462 (the last working version, still usable via the --skipUpdate argument), this returns the correct configured game profile directory — for example, ${HOME}/Library/Application Support/minecraft/1.19.2/config on macOS.
On a Minecraft client launched from Minecraft Launcher 2.3.481, this returns an incorrect value of ${HOME}/Library/Application Support/minecraft/config, which is incorrectly treating the launcher's workDir value as the game profile directory.
The root cause of this can be traced down to the default JRE filesystem path being returned from java.nio.file.FileSystem.getDefault() being incorrect on clients launched from Launcher 2.3.481.
※ EDIT: This issue is also most likely the root cause of
MCL-22670.
Minecraft Launcher version 2.3.481 introduces a severe regression that is causing Minecraft clients to treat the launcher's workDir as the Java default filesystem path (java.nio.file.FileSystem).
While this issue appears to not significantly affect vanilla unmodified Minecraft clients, it results in a severe adverse effect on all Minecraft mod loaders (Quilt, Fabric, Forge) that are configured in the launcher to use a custom game directory, which is a configuration that is used by a significant portion of Minecraft's playerbase.
Many Minecraft mods use java.nio.file.Paths.get() to derive the current Minecraft instance's profile directory in order to store data such as configuration files or other cached data, which is important to keep separate between instances that may belong to wildly different versions of Minecraft. This also causes the Launcher workDir to become unnecessarily polluted.
Please note that this is not to say that vanilla unmodified Minecraft clients are completely unaffected — this issue is also causing all client logs even for vanilla unmodified clients to be written to the incorrect directory.
This behaviour can be tested by observing the value returned by java.nio.file.Paths.get("config/").toAbsolutePath().
On a Minecraft client launched from Minecraft Launcher 2.3.462 (the last working version, still usable via the --skipUpdate argument), this returns the correct configured game profile directory — for example, ${HOME}/Library/Application Support/minecraft/1.19.2/config on macOS.
On a Minecraft client launched from Minecraft Launcher 2.3.481, this returns an incorrect value of ${HOME}/Library/Application Support/minecraft/config, which is incorrectly treating the launcher's workDir value as the game profile directory.
The root cause of this can be traced down to the default JRE filesystem path being returned from java.nio.file.FileSystem.getDefault() being incorrect on clients launched from Launcher 2.3.481.
※ EDIT: This issue is also most likely the root cause of
MCL-22670.Minecraft Launcher version 2.3.481 introduces a severe regression that is causing Minecraft clients to treat the launcher's workDir as the Java default filesystem path (java.nio.file.FileSystem).
While this issue appears to not significantly affect vanilla unmodified Minecraft clients, it results in a severe adverse effect on all Minecraft mod loaders (Quilt, Fabric, Forge) that are configured in the launcher to use a custom game directory, which is a configuration that is used by a significant portion of Minecraft's playerbase.
Many Minecraft mods use java.nio.file.Paths.get() to derive the current Minecraft instance's profile directory in order to store data such as configuration files or other cached data, which is important to keep separate between instances that may belong to wildly different versions of Minecraft. This also causes the Launcher workDir to become unnecessarily polluted.
Please note that this is not to say that vanilla unmodified Minecraft clients are completely unaffected — this issue is also causing all client logs even for vanilla unmodified clients to be written to the incorrect directory.
This behaviour can be tested by observing the value returned by java.nio.file.Paths.get("config/").toAbsolutePath().
On a Minecraft client launched from Minecraft Launcher 2.3.462 (the last working version, still usable via the --skipUpdate argument), this returns the correct configured game profile directory — for example, ${HOME}/Library/Application Support/minecraft/1.19.2/config on macOS.
On a Minecraft client launched from Minecraft Launcher 2.3.481, this returns an incorrect value of ${HOME}/Library/Application Support/minecraft/config, which is incorrectly treating the launcher's workDir value as the game profile directory.
The root cause of this can be traced down to the default JRE filesystem path being returned from java.nio.file.FileSystem.getDefault() being incorrect on clients launched from Launcher 2.3.481.
※ EDIT: This issue is also most likely the root cause of
MCL-22670andMCL-22692.
Minecraft Launcher version 2.3.481 introduces a severe regression that is causing Minecraft clients to treat the launcher's workDir as the Java default filesystem path (java.nio.file.FileSystem).
While this issue appears to not significantly affect vanilla unmodified Minecraft clients, it results in a severe adverse effect on all Minecraft mod loaders (Quilt, Fabric, Forge) that are configured in the launcher to use a custom game directory, which is a configuration that is used by a significant portion of Minecraft's playerbase.
Many Minecraft mods use java.nio.file.Paths.get() to derive the current Minecraft instance's profile directory in order to store data such as configuration files or other cached data, which is important to keep separate between instances that may belong to wildly different versions of Minecraft. This also causes the Launcher workDir to become unnecessarily polluted.
Please note that this is not to say that vanilla unmodified Minecraft clients are completely unaffected — this issue is also causing all client logs even for vanilla unmodified clients to be written to the incorrect directory.
This behaviour can be tested by observing the value returned by java.nio.file.Paths.get("config/").toAbsolutePath().
On a Minecraft client launched from Minecraft Launcher 2.3.462 (the last working version, still usable via the --skipUpdate argument), this returns the correct configured game profile directory — for example, ${HOME}/Library/Application Support/minecraft/1.19.2/config on macOS.
On a Minecraft client launched from Minecraft Launcher 2.3.481, this returns an incorrect value of ${HOME}/Library/Application Support/minecraft/config, which is incorrectly treating the launcher's workDir value as the game profile directory.
The root cause of this can be traced down to the default JRE filesystem path being returned from java.nio.file.FileSystem.getDefault() being incorrect on clients launched from Launcher 2.3.481.
※ EDIT: This issue is also most likely the root cause of
MCL-22670andMCL-22692.※ EDIT 2: Other related issues:
MC-257316(incorrect project).
This issue is most likely being caused by MCL-22685.
(※ I do not use or even have installed the CurseForge launcher, but it does seem likely that the root cause is the above issue.)
This issue is most likely being caused by MCL-22685.
The "missing data" symptom you're describing seems to line up, as the bug causes mod data to be read from and written to the wrong location.
This issue aligns with what I reported in MCL-22685.
I was able to reproduce this on MacOS. The launcher is still correctly passing the --gameDir argument, this means files such as options.txt are working as expected. But the vanilla logging config does not respect this so the logs folder is incorrect.
As for mods; Fabric loader provides an API to get the game / config directory `FabricLoader.getInstance().getConfigDir()` this is working as expected due to it being driven by the run argument. As a maintainer of Fabric this change technically didnt break our API, but a number of popular mods are not using our API causing issues.
As this change also affects vanilla's logging I do believe this is a bug and not an intended change.
This is so annoying! I am trying to use Forge to play RLCraft and ran into this problem right after the Microsoft Launcher updated. I verified it worked on another computer UNTIL the Microsoft Launcher updated.
Updating the build to address this; please re-test and comment your results.
Appears to be fixed.
@[Mojang] Donuts1000 Am I correct in that the change you introduced was rolling back the latest available launcher version to 2.3.462?
My copies of the launcher across all 3 platforms (macOS, Windows, Linux) which I had previously purposely withheld to 2.3.462 via the undocumented --skipUpdate argument are not seeing any new updates beyond 2.3.462, and are treating that as if it's the latest version.
If this is indeed the case, then I too can confirm that the issue is addressed (and sort of "resolved" in a sense) by virtue of the rollback action.
※ Please note: I currently do not have any copies of the broken 2.3.481 launcher on local storage, and therefore cannot attest to whether or not users on that newer version are able to downgrade successfully.
I noticed that 2.3.481 introduced the addition of a new file, launcher_custom_skins.json that is migrated if available from the old launcher_skins.json (which is used by <= 2.3.462). I however, do not recall if launcher_skins.json was deleted from disk as part of the migration process.
If it was, this may cause users to lose their saved custom skins in that file if a downgrade → re-upgrade (to a future 2.3.5xx or whatever) action is performed, as the future migrator may end up overwriting the launcher_custom_skins.json with an empty one if 2.3.462 created one due to the temporary rollback.
If launcher_skins.json was left intact and unmodified as part of the 2.3.481 migration process, then disregard this section.
Yes the team did roll back the Launcher version
Got it — I can confirm that the rollback is working as intended, then!
Considering how long the bug has not been updated, is this still an issue in 2.3.580?