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:
- https://github.com/wrye-bash/wrye-bash/releases
- http://www.nexusmods.com/oblivion/mods/22368
- http://www.nexusmods.com/skyrim/mods/1840
- 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:
Spoiler
- Your operating system! If on windows and UAC is enabled and the game is in the default directory (ex C:\Program Files (x86)\Bethesda Softworks\Oblivion) please install it somewhere else. This can cause lots of problems.
- Wrye Bash version! Also specify if you are using Python Wrye Bash, or Wrye Bash StandAlone exe (WBSA). If you're using a development version, be sure to include the commit SHA.
- Bug description - be sure to include:
- what you did (step-by-step),
- what you expected, and
- what happened.
- Any and every error message you encounter. `stdout/stderr` window that pops up with errors is especially useful - but if you produced a bugdump you won't see this - the errors will go to the bugdump (preferred).
- The bashbugdump.log
The `bashbugdump.log` contains precious information on your python install, encodings etc - you must add this to your report. To generate it:- Python version
Launch `Wrye Bash Debug.bat` (recommended) or fire up a command prompt, navigate to Mopy and issueC:\path\to\Mopy>c:\path\to\Python27\python.exe "Wrye Bash Launcher.pyw" -d
C:\path\to\Mopy>"Wrye Bash Launcher.pyw" -d won't work. - WBSA version: Fire up a command prompt, navigate to Mopy and issue:
C:\path\to\Mopy>"Wrye Bash.exe" -d
- Python version
- 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). Right click on a column header in the Mods tab > 'List Mods...'.
- Your Bashed Tags (in spoiler tags). Right click on a column header in the Mods tab > 'List Bash Tags...'.
- Your Bashed Patch config (in spoiler tags). Right click on a column header in the Mods tab > 'List Patch Config...'.
- If you think you've found an error using 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, and more info on reporting a bug and Bash's logs
on our https://github.com/wrye-bash/wrye-bash/wiki/%5Bgithub%5D-Reporting-a-bug wiki page
Linking: If you'd like to link to Bash from somewhere else, please do! But be sure to link to either one of the Nexus site urls or https://github.com/wrye-bash/wrye-bash. Don't link to the actual download file, since that changes fairly frequently.
Related Projects:
- 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) Update patchers so Wrye Bash can process Skyrim's files as it does for Oblivion
2) Finalize the code refactoring that started with 305 and 306 - mainly refactor BAIN and freeze the layout of the patchers package
3) Finalize the UI refactoring so we can move on to newer python/wx python versions
4) Update CBash. CBash is the exception in that it can be updated at any time as long as there is a volunteer to work on it.
Please see the https://github.com/wrye-bash/wrye-bash#contributing in our repo readme.
Changelog for Latest Version:
306 Code refactoring, performance [2015/11/07] [Utumno]
Spoiler
- Option to list dependencies on a particular mod [Utumno]
- Optionally skip instead of ignoring Skyrim .BSL [Utumno]
- Wine Compatibility [Utumno]
- Oblivion esm version swapping fixups [Utumno]
- Switching save profile does not activate mods for this save profile [Utumno]
- Master list fixups and enhancements [Utumno]
- UnicodeDecodeError on tmp dir creation when username contains non ascii chars [Utumno]
- Table.dat fixups [Utumno]
- Scroll position not set on startup (Installers, People and Screens tabs) [Utumno]
- Delete fixups [Utumno]
- Ghosted Plugins Sorted after the Bash Patch [Utumno]
- Bash loads an invalid plugins.txt without notifying the user of the error. [Utumno]
- Mergeable plugins do not auto deactivate [Utumno]
- Error when applying BCF [Utumno]
- [Ini setting] re-add setting for BOSS executable location [Sharlikran]
- [Ini setting] Disable prompt for activating bashed patch [Utumno]
- skyrim_const.py is missing the 3rd hi-res DLC file in bethDataFiles array [jfpelland]
- Added a force UTF-8 option to plugin encodings. [Utumno]
- Skyrim - New GMST settings tweaks requests [jfpelland]
- Huge lag when switching back to mods tab from another application [Utumno]
- Menu item to load only selected mods [Utumno]
- Comments box forgets its size [Utumno]
- UnicodeDecodeError when importing a face to a save [Utumno]
- Rework Mod Groups - remove BALO [Utumno]
- Bash should send deleted files to the Recycle Bin [Utumno]
- Masters list displays incorrectly [Utumno]
Full http://wrye-bash.github.io/docs/Wrye%20Bash%20Version%20History.html is available online.