.gitignore | ||
LICENSE | ||
README.md | ||
seven-mods.py |
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 respectiveModInfo.xml
files. Alternatively, to enable all mods, simply type-a
rather than listing them all out.disable
: disable mods. Arguments are the same as forenable
, 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.