- Source Repository
- https://github.com/RedGuides/redfetch
redfetch is for updating software and scripts for EverQuest that RedGuides recommends, as well as those you "watch". It's also open source, how nice.
Installation
On Windows the easiest way to install redfetch is to download and runredfetch.exe. (optional: If you're still on Windows 10 and want a more modern appearance, follow this guide to set Windows Terminal as your default terminal.)Make sure you have a recent version of Python
- Install pipx
Bash:
python -m pip install --user pipx - Make it so you can run packages without having to type "python -m"
Bash:
python -m pipx ensurepath - Install redfetch
Bash:
pipx install redfetch
redfetch from the command line.Usage
1) Double-click redfetch.exe to run the script.
Take a moment to consider your configuration and the settings tab.2) Click the big blue "Easy Update" button, and then "Yes" or "Always" on the popup.
(It's updating Very Vanilla MQ and any of its scripts or plugins you have watched on RedGuides, your licensed resources, and scripts recommended by staff. You can customize this if you like.)
Now you're ready to play EQ with the big boys.
Add more MQ Scripts
To add more MacroQuest scripts, "watch" them on www.redguides.com/community/resources, and then click the Easy Update button again.
If there are non-MQ resources you'd like to keep in sync with redfetch, you can add them as a "special resource" in the local settings file, as shown in settings section.
Command Line
To run redfetch from the command line:| .exe file | python |
|---|---|
.\redfetch.exe update | redfetch update |
Command Line Reference
The
publish command also has a GitHub Action.Settings
settings.local.toml is found in your configuration directory, which by default is c:\Users\Public\redfetch\settings.local.toml. Any keys you add will override their default values in settings.toml.All settings are prefixed with the environment,
[DEFAULT]- encompasses all clients that are not explicitly defined.[LIVE]- EverQuest Live[TEST]- EverQuest Test[EMU]- EQEmulator (see Emu servers)
General settings reference
These can all be managed from the settings tab in the TUI, or directly insettings.local.toml:
TOML:
[DEFAULT] # These settings will be used on all clients, unless overriden.
DOWNLOAD_FOLDER = 'D:\dl' # where resources land unless they have a path of their own
[LIVE] # These settings are only in effect for the Live client
EQPATH = 'C:\EverQuest' # the live client's EverQuest folder
THEME = "dracula" # interface theme, ctrl+t to cycle
AUTO_UPDATE = true # silent update when MacroQuest launches
AUTO_RUN_VVMQ = "always" # start MQ after updates; "never", or "ask" (default)
NAVMESH_DOWNLOADS = true # pre-made meshes for the Nav plugin
[EMU]
ACTIVE_SERVER = "lazarus" # your active server slug name
Adding a special resource
To add a "special resource" (a non-MQ resource that you want to keep updated), opensettings.local.toml and add an entry. You'll need the resource ID (numbers at the end of the url) and a target directory. Example:
TOML:
[LIVE.SPECIAL_RESOURCES.153]
custom_path = 'C:\Users\Public\Daybreak Game Company\Installed Games\EverQuest\maps\Brewall_Maps'
opt_in = true
- Note the use of single quotes around the path, which are required for windows paths.
redfetch update is run for the LIVE client.Key reference for special resources:
TOML:
[LIVE.SPECIAL_RESOURCES.151] # for resource 151 (MySEQ) when on the live client
opt_in = true # whether redfetch updates this resource
custom_path = 'C:\MySEQ' # exact install folder, overrides all defaults
[LIVE.SPECIAL_RESOURCES.151.dependencies.153] # installs inside the parent resource
subfolder = "maps" # relative to the parent's folder
flatten = true # discard the zip's own folder structure
opt_in = true
Emu servers
redfetch can track more than one emulator server, each with its own EverQuest folder and maps choice.You can also switch from the command line:
Code:
redfetch client emu
redfetch server lazarus
redfetch server none # back to "Any emu server"
settings.local.toml:
TOML:
[EMU.SERVERS.myserver]
label = "My Server"
opt_in = true
eqpath = 'D:\Games\EQ-MyServer'
Opt out of a staff pick, watched, or default resource
You can opt out of any resource, including a staff pick. To opt out of downloading KissAssist (resource id 4) across all clients,
TOML:
[DEFAULT.SPECIAL_RESOURCES.4]
opt_in = false
Self compiling or alternate source MacroQuest
If you self-compile MacroQuest or use a discord friend's copy, you can still keep your scripts and plugins in sync with redfetch by opting out of Very Vanilla. You can edit thesettings.local.toml as shown above, or do it quickly via CLI,
Code:
redfetch.exe config SPECIAL_RESOURCES.1974.opt_in false --client LIVE
redfetch.exe config SPECIAL_RESOURCES.60.opt_in false --client EMU
redfetch.exe config SPECIAL_RESOURCES.2218.opt_in false --client TEST
Overwrite protection
If there are specific files within a resource you don't want overwritten, you can add them to thePROTECTED_FILES_BY_RESOURCE setting. Include the resource ID and files you want to protect. e.g.,
TOML:
[LIVE.PROTECTED_FILES_BY_RESOURCE]
1974 = ["CharSelect.cfg", "Zoned.cfg", "MQ2Map.ini", "MQ2MoveUtils.ini"]
153 = ["citymist.txt", "innothule.txt", "oasis.txt"]
navmesh = ["befallen.navmesh", "innothuleb.navmesh"]
Custom category directories
If you sharelua, macros, or plugins directories across multiple MQ environments, you can override where an entire category is installed. Add a CATEGORY_PATHS section to your settings.local.toml:
TOML:
[DEFAULT.CATEGORY_PATHS]
lua = 'D:\\shared\\lua'
macros = 'D:\\shared\\macros'
DOWNLOAD_FOLDER. You can set this globally in [DEFAULT] or per-environment ([LIVE.CATEGORY_PATHS], [TEST.CATEGORY_PATHS], etc.).Custom post-update launch
redfetch can launch extra programs after an update completes. Aside from the normal UI toggles, you can addcustom to POST_UPDATE_LAUNCH.targets in settings.local.toml, then set command to whatever redfetch should run:
TOML:
[LIVE.POST_UPDATE_LAUNCH]
targets = ["custom"]
command = ['C:\Tools\AfterRedfetch\after-update.exe', '--server', 'LIVE']
eqbcs and myseq. For example, to start EQBCS and MySEQ and run your own Python script:
TOML:
[LIVE.POST_UPDATE_LAUNCH]
targets = ["myseq", "custom", "eqbcs"]
command = ["C:\\Users\\Public\\Python\\python.exe", "C:\\Users\\Public\\redfetch\\after_update.py"]
[TEST.POST_UPDATE_LAUNCH], or global [DEFAULT.POST_UPDATE_LAUNCH].Contributing
I'd love help, conceptually and technically. I'm not a developer and this is my first big python script.To set up a development environment,
Bash:
git clone https://github.com/RedGuides/redfetch
cd redfetch
pip install hatch
hatch env create dev
hatch shell dev
redfetchOr if the issue is ui-specific, run the terminal UI in debug mode,
textual run --dev .\src\redfetch\main.pyWhen you're done, type
exit to leave the shell.Not affiliated with or endorsed by EverQuest or its owners.
