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
Spoiler
- 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.
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 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 General Readme for information, and the Advanced Readme 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:
Spoiler
- 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=1497553.
- 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:
Version 304.3[2013/11/21]
Spoiler
- 275 Wrye Bash crashes on startup if there are no .esp files in the Data directory. [Daidalos]
- 274 Bash throws an error when deleting esm files in the mods tab. [Daidalos]
- 273 Order of masters on a file does not match mod list view Current. [Daidalos]
- 272 Bash throws an error when renaming files using the mods tab. [Daidalos]
Changelog for Version:
Version 304.2 Beta [2013/08/11]
Spoiler
- Fix for Bug 267 using "sort by selected" provided by Edwyn Lannister
- Updated bosh.py to add a potential fix for "Clean Data" when files are removed while Wrye Bash is open
- Updated basher.py to add a potential fix bug 268 onMouseCaptureLost not handled under wine for Installers tab by rifter
- Fix for Bug [#270] "False flagged ESP files cannot be sorted with the ESM group as expected." by Daidalos