You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/launcher-differences.md
+45-13Lines changed: 45 additions & 13 deletions
Original file line number
Diff line number
Diff line change
@@ -1,30 +1,48 @@
1
1
# Launcher Differences
2
2
3
-
Launchers have some subtle differences between them which can cause a lot of confusion for mod developers. This page tries to document these differences.
3
+
> This page is a work in progress.
4
4
5
-
This page is written from a 1.7 Forge mod developer's perspective.
5
+
Launchers have some subtle differences between them which can cause a lot of confusion for mod developers. This page tries to document these differences.
6
6
7
7
If a launcher has a (?) mark, that means I have not tested it firsthand and the information about it was derived from other users.
8
8
9
-
Tip: [NotEnoughVerbosity](https://github.com/LegacyModdingMC/NotEnoughVerbosity) can be used to force some launchers to use the standard logging configuration, with a trace-level `fml-client-latest.log`.
10
-
11
-
> This page is a work in progress.
9
+
Tip: [NotEnoughVerbosity](https://github.com/LegacyModdingMC/NotEnoughVerbosity) can be used to force all launchers to use Forge's logging configuration, which is:
10
+
- On [1.7.10](https://github.com/MinecraftForge/MinecraftForge/blob/1.7.10/fml/src/main/resources/log4j2.xml): an all-level `fml-client-latest.log`, a not very useful `latest.log`, and a sometimes useful `fml-junk-earlystartup.log`
11
+
- On [1.12.2](https://github.com/MinecraftForge/MinecraftForge/blob/1.12.x/src/main/resources/log4j2.xml): a trace-level `debug.log`, and a not very useful `latest.log``
12
12
13
13
## MultiMC/PolyMC/PrismLauncher
14
14
15
15
These three launchers are all based on the same codebase.
16
16
17
17
No issues known. This is the golden standard as far as launchers go.
18
18
19
-
Logging: Uses [the standard logging configuration](https://github.com/MinecraftForge/MinecraftForge/blob/9274e4fe435cb415099a8216c1b42235f185443e/fml/src/main/resources/log4j2.xml) (with a trace level `fml-client-latest.log`, a not very useful `latest.log`, and a sometimes useful `fml-junk-earlystartup.log`). I have no idea how the GUI log works.
19
+
### Logging
20
+
21
+
Uses Forge's logging configuration.
20
22
21
-
Java runtime: User provided
23
+
I have no idea how the GUI log works.
24
+
25
+
### Java runtime
26
+
27
+
User provided.
22
28
23
29
## Official Launcher
24
30
25
31
### Modern (2.x)
26
32
27
-
Uses [the vanilla launcher config](https://launchermeta.mojang.com/mc/log_configs/client-1.7.xml/6605d632a2399010c0085d3e4da58974d62ccdfe/client-1.7.xml) even in modded instances.
33
+
Versions are defined in `.minecraft/versions/<version>/<version>.json`. Mod loader installers define their own versions here.
34
+
35
+
#### Logging
36
+
37
+
For logging purposes the important fields are `inheritsFrom`, which lets a version inherit the settings of another version, and `logging`, which is where logger configs are defined.
38
+
39
+
The Forge 1.7.10 installer (and even Fabric 1.20.4) doesn't override the `logging` field, therefore [the vanilla logger config](https://launchermeta.mojang.com/mc/log_configs/client-1.7.xml/6605d632a2399010c0085d3e4da58974d62ccdfe/client-1.7.xml) is used.
40
+
41
+
I've found references ([1](https://bugs.mojang.com/browse/MC-123285), [2](https://wiki.vg/Debugging)) to a GUI option that allows changing the logging config, but it's nowhere to be found.
42
+
43
+
#### Java version
44
+
45
+
By default it uses the one defined by the Mojang API. For 1.7.10 this is 8u51. A custom one can be set on the "Edit installation" screen.
28
46
29
47
### Legacy (1.x)
30
48
@@ -34,17 +52,25 @@ Deletes extra items from the assets directory (`$launcherDir/assets`).
34
52
35
53
## CurseForge Launcher
36
54
37
-
(?)
55
+
It's just a frontend for the vanilla launcher. It has its own copy of it, and every time an instance is launched, it generates a launcher profile then launches it.
56
+
57
+
### Logging
58
+
59
+
It uses the vanilla config by default, but this can be changed by enabling "Enable Forge debug.log" in the settings. Despite what the name says, all this does is put `"logging": {},` in the generated launcher profile, which cancels out the logger profile inherited from the vanilla profile. This setting is permanent - instances launched while it was active will keep the "no logging" property set even after the option is disabled. (This is defined in `.baseModLoader.versionJson` in `minecraftinstance.json` in the instance directory).
38
60
39
-
Java runtime: Downloads 8u51. A different version can be forced if a mystery CF-specific flag is set<sup>[[*](https://github.com/GTNewHorizons/Angelica/issues/82#issuecomment-1871629459)]</sup>. (The flag in question seems to be `-version:1.8+`.)<sup>[[*](https://old.reddit.com/r/feedthebeast/comments/4kq9ks/how_do_i_change_the_default_version_of_java_that/d3hiod2/)]</sup>
61
+
### Java runtime
62
+
63
+
Uses the same version as vanilla by default. This can be overridden for Java 8 by using Java's [`-version` flag](http://web.archive.org/web/20090228125625/http://blogs.sun.com/ksrini/entry/java_launcher_tricks_with_multiple). For example, `-version:1.8+` will choose the newest `1.8` version installed on the system. Only versions of Java installed system-wide can be used this way, portable installs won't work (e.g. on Windows it checks the `Computer\HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.8\JavaHome` registry string).
40
64
41
65
## Technic Launcher
42
66
43
-
Uses [LaunchWrapper's logger config](https://github.com/Mojang/LegacyLauncher/blob/a4801b70f8a0148c6e6279ec2e91527e8019e1c8/src/main/resources/log4j2.xml) (which is based on vanilla 1.7.2's) due to incorrect classpath ordering.
67
+
Uses [LaunchWrapper's logger config](https://github.com/Mojang/LegacyLauncher/blob/a4801b70f8a0148c6e6279ec2e91527e8019e1c8/src/main/resources/log4j2.xml) (which is based on vanilla 1.7.2's) due to [seemingly incorrect classpath ordering](https://github.com/TechnicPack/LauncherV3/issues/350).
44
68
45
69
## ATLauncher
46
70
47
-
Logging: Uses a custom log configuration ([example from a 1.7 Forge instance](https://github.com/LegacyModdingMC/wiki/blob/master/references/launchers/atlauncher/client-1.7.xml)).
71
+
### Logging
72
+
73
+
Uses a custom log configuration ([example from a 1.7 Forge instance](https://github.com/LegacyModdingMC/wiki/blob/master/references/launchers/atlauncher/client-1.7.xml)).
48
74
49
75
- On the disk, only a `latest.log` is created.
50
76
- The same log is shown in the GUI.
@@ -54,7 +80,13 @@ Logging: Uses a custom log configuration ([example from a 1.7 Forge instance](ht
54
80
- It tries to remove sensitive information from the log, for example all occurrences of the launcher's path are replaced with `**USERSDIR**`.
55
81
- There's an option to configure the verbosity in the settings, but it doesn't seem to do anything.
56
82
57
-
Java runtime: Downloads 8u51 by default. A custom install can be provided.
83
+
### Java runtime
84
+
85
+
Downloads 8u51 by default. A custom install can be provided.
86
+
87
+
## GDLauncher
88
+
89
+
It's a mystery. When I try to create an instance, it just keeps redownloading assets over and over again.
0 commit comments