A fast, reliable and cross-platform command-line Minecraft launcher and API for developers. Including fast and easy installation of common mod loaders such as Fabric, Forge, NeoForge and Quilt.
GPL-3.0 License
Bot releases are hidden (Show)
Published by mindstorm38 6 months ago
-vv
verbosity flagPublished by mindstorm38 8 months ago
-recommended
or -latest
can now fall back to the other one if not found. (#189, thanks @MisileLab)get_authentication_url
and get_logout_url
from class MicrosoftAuthSession
are now deprecated.--auth-no-browser
has been set, the user can authenticate on another computer and then copy-paste the token in the terminal. (#194, thanks @theoparis)show completion
. (#111, suggestion from @JamiKettunen)certifi
extra has been added to the package to explicitly specify the dependency (install with pip install portablemc[certifi]
).Published by mindstorm38 11 months ago
ForgeVersion
(#180, thanks @MisileLab)portablemc/<version>
neoforge:
id and associated --neoforge-prefix
argument (#180)--login
argument when using thje login
command (#182, thanks @superniels09)Published by mindstorm38 about 1 year ago
search
and start
commands, the CLI provides tips to use it in offline-modestart
command.Published by mindstorm38 about 1 year ago
Published by mindstorm38 about 1 year ago
VersionLoadingEvent
, VersionFetchingEvent
, JarFoundEvent
, LibrariesResolvingEvent
and JvmLoadingEvent
are now using slotsForgePostProcessingEvent
and ForgePostProcessedEvent
are now using slotsportablemc.download
module) now support certifi
as an SSL context provider and also supports optional URL portPublished by mindstorm38 about 1 year ago
API: Full rewrite of the API (except for authentication), brand-new installation process and configuration, supporting event-based diagnostics (#114)
API: New fixes API allowing fixing previse components on demand
API: Fixing LWJGL to a specific version is now included in the API, through the new fixes API
API: Support for fixing LWJGL to version 3.3.2 (#148, thanks @snoopchallenge)
API: Fixing wrong JVM executable path on macOS (#156, #149, thanks @allen546 and @plushTeddy)
API: Fixing multiplayer button being disabled in offline mode for versions 1.16.4 and 1.16.5 (#154, thanks @unaiiglesias)
API: Supporting quick play arguments on modern versions, with retro-compatible support for older ones (#153, thanks @cunhar)
API: Better internal HTTP request API, with easier response and error handling
API: Fabric and Quilt now included by default in the API
API: Forge now included by default in the API
API: Forge installation is no longer running the installer manually, it instead read its inner metadata and manually run processors if required, supporting all versions providing an installer (#133, thanks @rutexd)
API: Resources downloading is no parallelized, much, much faster!
CLI: Wider support of the --timeout
argument
CLI: Output format can be selected using the --output
argument, supporting by default human
and machine
outputs, and the default human-color
with a bit of coloring
CLI: Verbosity can be set using one or more -v
flag, mostly supported by start
command
CLI: Search command has no more -l
(--local
) flag, instead a -k
(--kind
) has been introduced that support searching for mojang
(like before), local
(equivalent of old -l
flag), forge
, fabric
and quilt
mod loader versions
CLI: On start, login and logout commands, the -m
(--microsoft
) has been replaced with --auth-service
, which now defaults to Microsoft, but still support Yggdrasil
CLI: Start flag --anonymise
has been replaced by --auth-anonymize
CLI: Start flag --no-old-fix
replaced with --no-fix
, because fixes now also applies to modern versions
CLI: Start argument --lwjgl
additionally support version 3.3.2
CLI: Start argument --resol
renamed --resolution
CLI: When starting the game, the game's logs are now formatted by the launcher itself with better Ctrl-C support, therefore the flag --no-better-logging
has been removed
CLI: Fixed Ctrl+C on Windows (#133)
CLI: No add-on support, for now
Doc: Documentation has been fully reworked, both for CLI and API!
Dev: The repository is no longer a mono-repo, everything interesting will be included directly in the launcher now
Dev: Launcher's sources are no better separated in proper modules
Dev: Improved GitHub workflow to avoid running for doc changes
Dev: Now requiring poetry 1.2 at least, and added pytest/toml tests requirements
Contrib: Additional thanks to @Ristovski and @GoodDay360 for their feedbacks! And @TickingFeather for fixing typo in documentation!
Published by mindstorm38 over 1 year ago
Published by mindstorm38 over 1 year ago
certifi
package is installed, it is used as Root Certificates database, which is sometimes faster than waiting for your OS' database update (thanks @slenered, #134);Published by mindstorm38 over 1 year ago
Published by mindstorm38 almost 2 years ago
--exclude-lib
and --include-bin
for supporting the API, see below and in the README (#112);--jvm
no longer mention javaw
executable on non-windows systems (#109);~/.minecraft
, basically the linux' default (#106);LibrarySpecifier
used to represent Gradle/Maven-like library specifiers (#112);bin
directory (#112);MESA_GLSL_VERSION_OVERRIDE
in documentation of --lwjgl
;A huge thanks to @JamiKettunen for its help on supporting exotic systems, -it's how I name systems where Minecraft was not intended to be run in the first place by Mojang-.
Published by mindstorm38 about 2 years ago
Changes:
--resol
) for versions up to 1.6 (#97, thanks @miapuffia)Published by mindstorm38 about 2 years ago
Changes:
MINECRAFT_VERSION_NOT_FOUND
and added MINECRAFT_VERSION_NOT_SUPPORTED
in ForgeVersionNotFound
error;OfflineAuthSession
that aims to replace the username
and uuid
fields in StartOptions
class, these two fields are still supported but deprecated (#83);DownloadEntry
class now allows providing fallbacks.Published by mindstorm38 over 2 years ago
Changes:
Dev changes:
Published by mindstorm38 over 2 years ago
Changes:
--lwjgl
argument now supports the latest LWJGL version 3.3.1--lwjgl
no longer uses the "natives" section of libraries in the version metadata, it simply use the auto-extraction property of LWJGL, so for each OS, all types of natives are downloaded and LWJGL choose the right one.Published by mindstorm38 over 2 years ago
Changes:
Known issues:
Published by mindstorm38 over 2 years ago
Changes:
src/
directory, both add-ons and core module.modrinth
add-on in favor of ferium CLI.fabric
, forge
and archives
APIs to provide a non-CLI API in addition to a CLI addon.DownloadList
now follows redirects.Published by mindstorm38 over 2 years ago
Fixed:
datetime.datetime.fromisoformat(...)
for Python 3.6 (#70).To install PortableMC, please read this repository README, the single-file script is available below in the portablemc-single
archive.
Published by mindstorm38 over 2 years ago
--lwjgl
argument in start
subcommand to allow running Minecraft on ARM with updated versions of LWJGL, see README for more information (#62, thanks @GooseDeveloper).get_minecraft_arch
now supports ARM architectures and returns arm32
or arm64
in such cases (#62).KeyboardInterrupt
, in DownloadList
, pretty_download
and all command in CLI, in order to write a prettier interrupted message, instead of the default stack trace.To install PortableMC, please read this repository README, the single-file script is available below in the portablemc-single
archive.
Published by mindstorm38 almost 3 years ago
try..except
for each command handler. (#58).keep_previous=True
with an empty previous line.To install PortableMC, please read this repository README, the single-file script is available below in the portablemc-single
archive.