A package manager for Minecraft modpacks.
Go to file
2019-06-03 08:29:03 -04:00
.gitignore added overwrought_slave.py 2019-06-03 08:29:03 -04:00
config_master.py.template added overwrought_slave.py 2019-06-03 08:29:03 -04:00
config_server.py.template added overwrought_slave.py 2019-06-03 08:29:03 -04:00
config_slave.py.template added overwrought_slave.py 2019-06-03 08:29:03 -04:00
overwrought_master.py post opens new request for each file 2019-06-02 20:10:00 -04:00
overwrought_server.py password hash utility uses getpass() 2019-06-03 07:04:50 -04:00
overwrought_slave.py added overwrought_slave.py 2019-06-03 08:29:03 -04:00
README.md added overwrought_slave.py 2019-06-03 08:29:03 -04:00
template.html first commit 2019-06-02 15:27:13 -04:00

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.