What does Wrye Bash do?
- It makes it safe to try out new mods because it will restore everything to the way it was when you uninstall a mod
- It makes more mods compatible with each other by importing information from different mods into a "bashed patch"
- It allows you to exceed the 255 mod threshold by automatically merging some types of mods for you
- What the heck do all these acronyms mean?
Yeah, to save typing, we often sling around terminology that can be confusing to newcomers. Here's a quick rundown of what we mean:
- WB: Wrye Bash. Written in Python.
- WBSA: Wrye Bash Standalone. Wrye Bash packaged with the required Python interpreter and all dependencies into one neat executable package. Still internally runs on Python, but since the interpreter is internal to the exe, no Python components are required to be installed.
- PBash: A Bashed Patch built with the "classic" Python mode patchers. These patchers read, process, and write mod records all in Python.
- BAIN: BAsh INstaller. You use it from the WB Installers tab
- BAIN archive: A mod released in a format that can be installed by BAIN
- CBash:
- A Bashed Patch built with the CBash (see #2) mode patchers. These patchers still do mod processing in Python, but utilize CBash.dll to do the file reading and writing.
- A C++ written DLL with a C API, that is used for reading and writing ESP/ESM format files. This is the only part of Wrye Bash not written in Python (well, except for calls to 7z.exe to extract things).
- The practical benefits of using CBash are:
- Building the bashed patch is much faster
- More plugins are mergeable, giving you the ability to cram more goodness into the game
- In the future, more interesting kinds of tweaks will be practical to implement
Download: http://www.nexusmods.com/oblivion/mods/22368 and, of course, https://github.com/wrye-bash/wrye-bash/releases.
Documentation:
- http://wrye-bash.github.io/docs/Wrye%20Bash%20General%20Readme.html, http://wrye-bash.github.io/docs/Wrye%20Bash%20Advanced%20Readme.html, http://wrye-bash.github.io/docs/Wrye%20Bash%20Technical%20Readme.html, http://wrye-bash.github.io/docs/Wrye%20Bash%20Version%20History.html (also included in the download as "Wrye Bash General Readme.html" in the Mopy/Docs folder)
- alt3rn1ty's http://www.nexusmods.com/oblivion/mods/35230 (For Oblivion, new guide for Skyrim pending)
- Metallicow's BAIN http://www.nexusmods.com/oblivion/mods/38857
- Translated documentation and guides: http://guides.tesfans.org
Short version: just use the installer, and install everything to their default locations.
Long version: see the http://wrye-bash.github.io/docs/Wrye%20Bash%20General%20Readme.html for information, and the http://wrye-bash.github.io/docs/Wrye%20Bash%20Advanced%20Readme.html for even more details.
Development:
The project is hosted at https://github.com/wrye-bash/wrye-bash. You'll need a GitHub account to create or add data to bug reports and feature requests.
Reporting Bugs: Try to give us enough information to diagnose your problem. The following information is useful to us:
- What version of Wrye Bash are you using? If you're using a development version, be sure to include the commit SHA.
- What are all the symptoms? Be sure to include what you did (step-by-step is helpful), what you expected, and what happened.
- What do you see? Error messages are very valuable to us.
- What version of Windows are you using? Is UAC enabled and is Oblivion in the default directory? (If it is, please install it somewhere else. This can cause lots of problems)
- Are you using a bash.ini? If so, include its contents (in spoiler tags, please!)
- Is the problem related to the Bashed Patch? If so include the following:
- Your Load Order (in spoiler tags). Get this by right clicking on a column header in the Mods tab, and selecting 'List Mods...'
- Your Bashed Tags (in spoiler tags). Get this by right clicking on a column header in the Mods tab, and selecting 'List Bash Tags...'
- Your Bashed Patch config (in spoiler tags). Get this by right clicking on the Bashed Patch and selecting 'List Patch Config...'
- If you're using the WBSA, things are a bit trickier. There are currently a few known issues:
- Wrye Bash wont work correctly if you launch it from the command line (DOS). Always launch by double clicking the exe or a shortcut to it.
- Due to issue #1, no debug mode is available. Some errors that happen will still be printed either to a "Wrye Bash.exe.txt" file, or to the "stdout/stderr" window that shows up with errors sometimes.
- If you think you've found an error in the WBSA, be sure to uninstall ALL python components and test it again first, to be sure we get an accurate report. Having python installed can sometimes trick the WBSA into thinking that it has all of the files it requires, even if it really doesn't.
You can see all the known bugs in the https://github.com/wrye-bash/wrye-bash/issues.
Linking: If you'd like to link to Bash from somewhere else, please do! But be sure to link to either http://www.nexusmods.com/oblivion/mods/22368 or https://github.com/wrye-bash/wrye-bash. Don't link to the actual download file, since that changes fairly frequently.
Related Projects:
- The Official http://www.gamesas.com/index.php?showtopic=1505167.
- Load orders should be managed with http://boss-developers.github.io/, which also supplies updated lists of tags used for importing (though even if you don't use BOSS, a basic taglist is shipped with each version of Wrye Bash)
- Valda ported and maintains Wrye Bash for Fallout3 (http://www.gamesas.com/index.php?showtopic=1211142) and Fallout3 New Vegas (http://www.gamesas.com/index.php?showtopic=1234195). These are in the process of being re-integrated into Wrye Bash proper.
Currently we are looking for volunteers to contribute Wrye Bash. The main focus is updating Wrye Bash's code so that it can handle more than just leveled lists for Skyrim. However, that does not mean that the Oblivion version will be ignored. Wrye Bash is written in Python but does use some external C++ files. For that reason we need Python programmers primarily but could use anyone with C++ experience to update the external libraries that Wrye Bash uses. If you would like to volunteer please PM me. Your help will be greatly appreciated.
The updates that are needed:
1) Refactor out just the patcher routines and then update them so Wrye Bash can process Skyrim's files as it does for Oblivion
2) Refactor all of Wrye Bashes code so that bugs can be worked on and resolved the first time. Currently some bug fixes are just temporary workarounds.
3) Properly solve all UTF8 implementation
4) Update to a newer version of Python
5) Update things on a case by case basis such as the UI or CBash[1].
[1] CBash is the exception in that it can be updated at any time as long as there is a volunteer to work on it.
Changelog for Latest Version:
305 Bug fixes and enhancements [2014/08/23] [Various community members]
- Due to the change from the BOSS API to the LOOT API, and due to internal changes in the way the Standalone is created, no MSVC redistributables are required for either Python or Standalone Wrye Bash.
- Corrected the "Cannot load plugins before masters" error that many users were experiencing. [WrinklyNinja]
- Corrected the "'int' object has no attribute 'startswith'" error that often happened when using the Race Patcher. [jfpelland]
- The Standalone no longer reads loose Python files. This was originally a method to allow small updates, however it ends up causing problems if you have Python files from an older Wrye Bash along side a newer Stadnalone. [lojack5]
- Corrected an error when adding a shortcut to a batch script to the Apps folder. [jfpelland]
- Corrected errors with the DocBrowser when the set document file was missing. [lojack5]
- Corrected BAIN Regression: BAIN was not uninstalling all files. This was affecting both uninstalling and annealling. [lojack5]
- Corrected a few rare Wizard exceptions. [lojack5]
- Corrected an error for some users with Backup Bash Settings. [jfpelland]
- Corrected an error in the Installers Tab after deleting a Save Game. [lojack5]
- Corrected an issue that caused the Bashed Patch Tweak Settings to be non-persistent. [lojack5]
- Fixed "Copy Conflicts to Project" [Utumno]
- Includes bluesky404's updates for Chinese Traditional and Simplified. [bluesky404/Sharlikran]
- Various Readme Updates. [Sharlikran]
- Updated taglist.yaml files (bundled Bash Tags list). [Sharlikran]
- Updated Oblivion record definitions. [Shalikran]
- BOSS launcher fixes. [WrinklyNinja]
- Updated SplashScreen so it no longer has a version number. [Sharlikran]
- Replaced BOSS API with LOOT API. [WrinklyNinja]
Full http://wrye-bash.github.io/docs/Wrye%20Bash%20Version%20History.html is available online.