redfetch is for updating EverQuest multiboxing software and scripts that RedGuides recommends, as well as those you "watch". It's also open source, how nice.
Installation (Windows)
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.)Alternate install for Linux or cool Windows users
Prerequisite: 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.
Wait until it completes. (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. If you're watching thousands of resources, your first run will take a long time.)
3) In the shortcuts tab, click the "Very Vanilla MQ" button
This starts MacroQuest, and now you're ready to multibox EQ.
Add more MQ Scripts
To add more MacroQuest scripts, "watch" them on RedGuides, and then run 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.
Alternative Interfaces
Command Line
To update everything you've watched from the command line (as well as special resources),
Bash:
redfetch.exe --download-watched
Web UI
Another UI option! Run this command and then browse https://www.redguides.com/community/resources
Bash:
redfetch.exe --serve
Command-Line Options
--download-resource
: Downloads a resource by its ID or URL.--download-watched
: Downloads all watched and special resources.--force-download
: Clears recent download dates in the cache.--list-resources
: Lists all resources in the cache.--serve
: Runs as a flask server to interact with the web UI.--update-setting [ENVIRONMENT]
: Updates a configuration setting. The setting path should be dot-separated. Environment is optional.--switch-env
: Changes the server type (LIVE
,TEST
,EMU
).--logout
: Logs out and clears cached tokens.--uninstall
: Uninstalls redfetch and outputs a text guide for cleaning up downloaded data.--version
: Displays the current version of redfetch.push [options]
: Update you or your team's resource. There's also a github action for this. Options include:--description
: Path to a description file which will become the resource's overview description.--version
: Specifies a new version number.--message
: Version update message or path to a changelog file.--file
: Path to the zipped release file.--domain
: 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
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
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.
--download-watched
is run for LIVE
servers.Overwrite protection
If there are local files you don't want overwritten by a resource, 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"]
Tinkerers
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:
Code:
redfetch.exe --update-setting SPECIAL_RESOURCES.1974.opt_in false LIVE
redfetch.exe --update-setting SPECIAL_RESOURCES.60.opt_in false EMU
redfetch.exe --update-setting SPECIAL_RESOURCES.2218.opt_in false TEST
settings.local.toml
:
TOML:
[LIVE.SPECIAL_RESOURCES.1974]
opt_in = false
Todo
- Instead of keeping a db entry for each file downloaded and its version, we should check the files on the drive.
- Refactor download logic, now that we know our needs.
- Re-write auth for latest Xenforo version.
- Make "fetch" ui tab responsive at smaller sizes.
- 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.
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
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.- Source Repository
- https://github.com/RedGuides/redfetch
- License Name
- GPL-3.0-or-later