d2fdbec41d
This makes it harder for problems in the updating process to affect the current instance. Network issues, for instance, will no longer put the instance in an invalid state. Still, a possible improvement to this would be passing that logic to InstanceStaging instead, to be handled with the instance commiting directly. However, as it is now, the code would become very spaguetti-y, and given that the override operation in the commiting could also put the instance into an invalid state, it seems to me that, in order to fully error-proof this, we would need to do a copy operation on the whole instance, in order to modify the copy, and only in the end override everything an once with a rename. That also has the possibility of corrupting the instance if done without super care, however, so I think we may need to instead create an automatic backup system, with an undo command of sorts, or something like that. This doesn't seem very trivial though, so it'll probably need to wait until another PR. In the meantime, the user is advised to always backup their instances before doing this kind of action, as always. What a long commit message o.O Signed-off-by: flow <flowlnlnln@gmail.com> |
||
---|---|---|
.github | ||
buildconfig | ||
cmake | ||
launcher | ||
libraries | ||
nix | ||
program_info | ||
tests | ||
.clang-format | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.markdownlint.yaml | ||
.markdownlintignore | ||
BUILD.md | ||
CMakeLists.txt | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
COPYING.md | ||
default.nix | ||
flake.lock | ||
flake.nix | ||
lgtm.yml | ||
LICENSE | ||
README.md |
PolyMC is a custom launcher for Minecraft that focuses on predictability, long term stability and simplicity.
This is a fork of the MultiMC Launcher and not endorsed by MultiMC.
If you want to read about why this fork was created, check out our FAQ page.
Installation
- All downloads and instructions for PolyMC can be found here
- Last build status: https://github.com/PolyMC/PolyMC/actions
Development Builds
There are per-commit development builds available here. These have debug information in the binaries, so their file sizes are relatively larger. Portable builds are provided for AppImage on Linux, Windows, and macOS.
For Debian and Arch, you can use these packages for the latest development versions:
For flatpak, you can use flathub-beta
Help & Support
Feel free to create an issue if you need help. However, you might find it easier to ask in the Discord server.
For people who don't want to use Discord, we have a Matrix Space which is bridged to the Discord server:
If there are any issues with the space or you are using a client that does not support the feature here are the individual rooms:
We also have a subreddit you can post your issues and suggestions on:
Development
If you want to contribute to PolyMC you might find it useful to join our Discord Server or Matrix Space.
Building
If you want to build PolyMC yourself, check Build Instructions for build instructions.
Translations
The translation effort for PolyMC is hosted on Weblate and information about translating PolyMC is available at https://github.com/PolyMC/Translations
Download information
To modify download information or change packaging information send a pull request or issue to the website here.
Forking/Redistributing/Custom builds policy
We don't care what you do with your fork/custom build as long as you follow the terms of the license (this is a legal responsibility), and if you made code changes rather than just packaging a custom build, please do the following as a basic courtesy:
- Make it clear that your fork is not PolyMC and is not endorsed by or affiliated with the PolyMC project (https://polymc.org).
- Go through CMakeLists.txt and change PolyMC's API keys to your own or set them to empty strings (
""
) to disable them (this way the program will still compile but the functionality requiring those keys will be disabled).
If you have any questions or want any clarification on the above conditions please make an issue and ask us.
Be aware that if you build this software without removing the provided API keys in CMakeLists.txt you are accepting the following terms and conditions:
If you do not agree with these terms and conditions, then remove the associated API keys from the CMakeLists.txt file by setting them to an empty string (""
).
All launcher code is available under the GPL-3.0-only license.
The logo and related assets are under the CC BY-SA 4.0 license.
Sponsors
Thank you to all our generous backers over at Open Collective! Support PolyMC by becoming a backer.
Also, thanks to JetBrains for providing us a few licenses for all their products, as part of their Open Source program.
Additionally, thanks to the awesome people over at MacStadium, for providing M1-Macs for development purposes!