# 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 to `add`, 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. No `target` needed. Will prioritize release phases similar to `update`, 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`.