Some distros ship MangoHub vulkan layer json with bare shared object name
instead of an absolute path. This breaks environment config as
`MinecraftInstance::createLaunchEnvironment()` seems to require absolute
path of `libMangoHud.so`.
Since we already have `MangoHud::findLibrary()` lying around, use that to
figure out where `libMangoHud.so` really is. In case of a platform that
doesn't support `dlopen()`, fallback to old behavior and return the path
verbatim as it is recorded in vk layer json.
Signed-off-by: Tianhao Chai <cth451@gmail.com>
Resolves https://github.com/fn2006/PollyMC/issues/154
In 1.20+, authlib-injector wants to intercept
https://api.minecraftservices.com/publickeys [0], but if we override the
services server using -Dminecraft.api.services.host, the request does
not get intercepted.
That's not an issue for API servers that implement the /publickeys
route, but Ely.by does not. A decent solution is to not set these
-Dminecraft.api.*.host system properties when authlib-injector is
available, since authlib-injector expects authlib to make requests to
Mojang's API servers.
[0] 18a0ce2669
Resolves https://github.com/fn2006/PollyMC/issues/150
If the game is launched in offline mode, pass invalid API servers via
the -Dminecraft.api.* system properties. This workaround is mentioned
here:
https://github.com/FabricMC/fabric-loom/issues/915#issuecomment-1609154390
I think this change is appropriate to make here in PollyMC even though
the Fabric developers decided against using it there. If a user wants to
override the API servers back to the vanilla values (in order to use
Auth Me or something), they can do so by setting the following custom
JVM args on the instance:
-Dminecraft.api.env=PROD
-Dminecraft.api.auth.host=https://authserver.mojang.com
-Dminecraft.api.account.host=https://api.mojang.com
-Dminecraft.api.session.host=https://sessionserver.mojang.com
-Dminecraft.api.services.host=https://api.minecraftservices.com
Previously, auth args would override any user-specified args, but this
patch also changes that behavior so user-specified args are now passed
last.
This should finally fix the Arch Linux Java symbol issue with MangoHUD
enabled: https://bugs.archlinux.org/task/77183
Signed-off-by: Echo J <tcg96nougat@gmail.com>
(cherry picked from commit 01180c20e1)
This should finally fix the Arch Linux Java symbol issue with MangoHUD
enabled: https://bugs.archlinux.org/task/77183
Signed-off-by: Echo J <tcg96nougat@gmail.com>
Upstream changelog: https://github.com/PrismLauncher/PrismLauncher/releases/tag/8.0
(Imcomplete) list of changes in 8.0 relevant to PollyMC:
- Prism has dropped support for Mojang accounts
- https://github.com/PrismLauncher/PrismLauncher/pull/1656
- Added it back to PollyMC primarily since the Mojang authentication
code is also used for authlib-injector accounts. Some users may also
still want to be able to log in to Mojang accounts for some reason:
https://github.com/fn2006/PollyMC/issues/115#issuecomment-1805384658,
even if they do not provide authentication to multiplayer servers.
- To my surprise, I could still log in to a Mojang account, get its
skin, and launch the game. Authentication to servers, of course, did
not work.
- Tested: logging into authlib-injector, Mojang, and MSA accounts and
launching the game.
- Prism has added a built-in updater for Windows and Linux that I assume
provides similar functionality to Sparkle on macOS:
https://github.com/PrismLauncher/PrismLauncher/pull/1268. There is a
Launcher_UPDATER_GITHUB_REPO variable in CMakeLists.txt that specifies
the repo checked by the updater. I have changed this to the PollyMC
repository, and since PollyMC follows almost the same CI/release
patterns as Prism Launcher, it might work with PollyMC, too, but I
have not tested it yet.
- Add macOS support to Nix
- https://github.com/PrismLauncher/PrismLauncher/pull/1485
- Untested
- The "PollyMC-Linux-8.0.tar.gz" and similar build artifacts were
renamed to "PollyMC-Linux-8.0-Qt5.tar.gz" to match their
"PollyMC-Linux-8.0-Qt6.tar.gz" counterparts.
- Removed Windows MSVC Legacy builds
- Removed Quilt Beacon toggle, the beacon is now always disabled:
https://github.com/PrismLauncher/PrismLauncher/pull/1547,
https://github.com/PrismLauncher/meta/pull/23
- Prism removed FTB support in 7.0, but I tested creating an FTB
instance to make sure it still works in 8.0
Signed-off-by: Evan Goode <mail@evangoo.de>