2.2 KiB
Overwrought
It manages Minecraft modpacks.
Requirements
Python 3.6+
Master
Python packages: requests bs4
Server
Python packages: flask gunicorn passlib argon2_cffi
Slave
Python packages:
Usage
Master
Copy overwrought_master.py
and the matching config file to your .minecraft/
folder. Edit the config file appropriately.
$ python3 overwrought_master.py action [options] [target]
actions
add
Add a new mod to the modpack.target
must be a url to a curseforge mod project page. By default, it will prioritize release phases as Release, Beta and then Alpha.--phase
can alter this. Will always grab the latest version of whichever phase it targets.add_all
Add a list of mods to the modpack.target
must be a file containing a newline-delineated list of curseforge mod project page urls. Will prioritize release phases similar toadd
, however--phase
will not affect it.update
Update a specific mod in the modpack.target
must be the url associated with the mod. By default, it will prioritize the release phase previously added.--phase
can alter this. Will only update if the targeted mod is more recent than the one previously downloaded.update_all
Update every mod in the modpack. Notarget
needed. Will prioritize release phases similar toupdate
, however--phase
will will not affect it.summary
Generate a summary page as html. Summary page displays a list of all mods in the modpack and a change log that is updated as changes are made to the modpack.
Server
gunicorn -b localhost:5000 -e SCRIPT_NAME=/overwrought overwrought_server:app
Use overwrought_server.py hash
to generate an Argon2 hash of your password. Update config_server.py
appropriately.
Slave
Copy overwrought_slave.py
and the matching config file to your .minecraft/
folder. Edit the config file appropriately.
Use overwrought_slave.py sync
to synchronize the mods/
folder with the remote server.
By default, old versions of mods (and any other non-modpack related file found in the mods/
folder) will be moved to mods_old/
. --delete
may be used to delete these files instead eg. overwrought_slave.py sync --delete
.