Added the actual script, filled in the README.
This commit is contained in:
parent
c0f9599481
commit
5018edb246
3 changed files with 420 additions and 1 deletions
71
README.md
71
README.md
|
@ -1,3 +1,72 @@
|
|||
# seven-mods
|
||||
|
||||
This is a very basic mod manager for 7 Days to Die on Linux.
|
||||
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.
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue