seven-mods/README.md

73 lines
2.7 KiB
Markdown
Raw Normal View History

2023-01-22 02:50:12 +00:00
# seven-mods
This is a very basic mod manager for 7 Days to Die on Linux.
## Dependencies
This program requires:
- Python 3.7 or newer
- Tcl/Tk (python-tk on Debian, tk on Arch)
## General Usage
This mod manager works by storing your mods in a separate directory outside of
your 7 Days to Die installation, then creating or breaking symlinks to the
individual mods from the `Mods` folder within your 7 Days to Die installation
to enable and disable them, respectively.
Upon first use, you will be prompted for the locations of your mods folder and
7 Days to Die installation. After configuring these, they are stored in
`seven-mods.cfg`.
seven-days also allows the user to create separate mod profiles. If, for
instance, you frequent a multiplayer server with a certain set of mods, but
have a different prefered set of mods for single player, then you could create
two mod profiles, called `multiplayer` and `singleplayer`, for instance.
Loading a mod profile will instantly change the enabled mods to the ones that
were enabled when the profile was last saved.
## CLI Version
The main source file for the CLI version is `seven-mods.py`. General usage is:
`python seven-mods.py <command> <args...>`
The available commands are:
- `list`: show a listing of all installed mods. Disabled mods appear in red.
Enabled ones appear in green, and are followed by an asterisk (`*`).
- `enable`: enable mods. A list of mod names can be given, separated by spaces.
The mod names are the names of their respective folders, *not* the names listed
in their respective `ModInfo.xml` files. Alternatively, to enable all mods,
simply type `-a` rather than listing them all out.
- `disable`: disable mods. Arguments are the same as for `enable`, including
`-a` to disable all mods.
- `toggle`: toggles mods on or off. Does *not* support `-a`.
- `save`: saves the currently enabled mods to a profile. The only argument
that should be given is the name of the profile to save. If the profile already
exists, then it will be overwritten.
- `load`: sets the enabled mods to those defined by the given profile.
Tip: If you run the script from the directory in which you store your mods,
then bash autocompletion works for mod names - hence why it uses the ugly
folder names rather than the nice `ModInfo.xml` names.
Warning: Due to Python's built-in `input()` function being jank on Linux, it
may be easier to start out by just using the `list` command, accepting the
defaults (by just striking the return key without typing anything), then editing
the `seven-mods.cfg` file later. This is not ideal, so a better solution may
come in the future.
## GUI Version
A GUI version that uses tkinter is planned, but not yet ready. It'll be great
though!
Trust me.
I'm a doctor.\*
\* I'm not an actual doctor.