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.
On Windows the easiest way to install redfetch is to download and run redfetch.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.)
Terminal / Python / Linux
Make sure you have a recent version of Python
- Install pipx
python -m pip install --user pipx- Make it so you can run packages without having to type "python -m"
python -m pipx ensurepath- Install redfetch
pipx install redfetchWhen you open a new terminal window, you'll be able to run redfetch by typing redfetch from the command line.
1) Double-click redfetch.exe to run the script.
Take a moment to consider your configuration and the settings tab.
(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.
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.
To run redfetch from the command line:
| .exe file | python |
|---|---|
.\redfetch.exe update |
redfetch update |
Run
redfetch --helpor.\redfetch.exe --helpto see something like this in your terminal:
update- Update all watched and special resources
--force/-f- Force re-download of all watched resourcesdownload <ID_OR_URL>- Download a specific resource by ID or URL
--force/-f- Force re-download by resetting this resource's download datelist- List resources and dependencies in the cache databasereset- Reset download dates for watched resources
server <SERVER>- Switch the current server/environment toLIVE,TEST, orEMUconfig <SETTING_PATH> <VALUE>- Update a setting by path and value
SETTING_PATH- Dot-separated setting path (e.g.,SPECIAL_RESOURCES.1974.opt_in)VALUE- New value for the setting--server/-s- Server to apply the change in (LIVE,TEST,EMU)status- Show the configuration for the current or specified server
--server/-s- Server to show (defaults to current)
ui- Launch the Terminal User Interfaceweb- Launch the RedGuides.com web interfaceversion- Show version and exitlogout- Disconnect your account from redfetchuninstall- Uninstall redfetch and clean up data
publish <resource_id>- Publish an update to you or your team's resource. There's also a github action for this.
resource_id- Existing RedGuides resource ID--description <README.md>/-d- Path to a file (e.g.README.md) that will become the resource's overview description--version <version_number>/-v- New version string (e.g.,v1.0.1)--message <CHANGELOG.md | MESSAGE>/-m- Version update message orCHANGELOG.md(keep a changelog) file.--file <FILE.zip>/-f- Path to your zipped release file--domain <URL>- Domain to prepend to relative URLs in README.md or CHANGELOG.md files. (mostly for images. e.g.,https://raw.githubusercontent.com/yourusername/yourrepo/main/)
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 environments that are not explicitly defined.[LIVE]- EverQuest Live[TEST]- EverQuest Test[EMU]- EverQuest Emulator
To add a "special resource" (a non-MQ resource that you want to keep updated), open settings.local.toml and add an entry. You'll need the resource ID (numbers at the end of the url) and a target directory. Example:
[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.
The above will install Brewall's maps to the EQ maps directory the next time --download-watched is run for LIVE servers.
If there are local files you don't want overwritten by a resource, you can add them to the PROTECTED_FILES_BY_RESOURCE setting. Include the resource ID and files you want to protect. e.g.,
[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"]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:
redfetch.exe config SPECIAL_RESOURCES.1974.opt_in false --server LIVE
redfetch.exe config SPECIAL_RESOURCES.60.opt_in false --server EMU
redfetch.exe config SPECIAL_RESOURCES.2218.opt_in false --server TESTThen assign the Very Vanilla MQ path to your self-compiled MacroQuest.
- Re-write auth for Xenforo 2.4 (when available).
- Add custom buttons for "fetch" tab.
- Option: Close after update
- Launch programs with cli options
- Indicate when updated VV is available
- Launch more than just mq (eqbcs, etc) upon update.
- Run from MQ
- Integrate with the forums
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,
git clone https://github.com/RedGuides/redfetch
cd redfetch
pip install hatch
hatch env create dev
hatch shell devYou can then run your dev version with,
redfetch
Or if the issue is ui-specific, run the terminal UI in debug mode,
textual run --dev .\src\redfetch\main.py
When you're done, type exit to leave the shell.



