File information
Last updated
Original upload
Created by
BUTR TeamUploaded by
AragasVirus scan
Safe to use
Current section
About this mod
Extension library for Mount & Blade II: Bannerlord containing common functions for modification development.
- Requirements
-
Nexus requirements
Mod name Notes Bannerlord Software Extender (BLSE) Required for Xbox. Optional for Steam/GOG/Epic before v1.2.0 Harmony Always on top of the loading order. Mods requiring this file
- Permissions and credits
-
Credits and distribution permission
- Other user's assets All the assets in this file belong to the author, or are from free-to-use modder's resources
- Upload permission You are not allowed to upload this file to other sites under any circumstances
- Modification permission You must get permission from me before you are allowed to modify my files to improve it
- Conversion permission You are not allowed to convert this file to work on other games under any circumstances
- Asset use permission You must get permission from me before you are allowed to use any of the assets in this file
- Asset use permission in mods/files that are being sold You are not allowed to use assets from this file in any mods/files that are being sold, for money, on Steam Workshop or other platforms
- Asset use permission in mods/files that earn donation points You are not allowed to earn Donation Points for your mods if they use my assets
Author notes
This author has not provided any additional notes regarding file permissions
File credits
This author has not credited anyone else in this file
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
-
Translations
- Turkish
- Spanish
- French
- Mirrors
-
Name GitHub - Changelogs
-
-
Version v2.9.18
- Removed Crash Report duplicates being shown after closing
- BEW should not be involved anymore when Finalizer is used
-
Version v2.9.17
- Crash reports were not correctly identifying game assemblies, better path data
-
Version v2.9.16
- Some crashes were not intercepted without BLSE
-
Version v2.9.15
- Fixed a regression that prevented crash reports from being shown
-
Version v2.9.14
- Fixed a possible crash related to trace logging
- Updated crash reports path anonymization
-
Version v2.9.13
- Better Wine detection
- Fixed Launcher line on HTML crash report
-
Version v2.9.12
- Added OS info in the Crash Report renders
-
Version v2.9.11
- Updated Crash Reporter to v14
- OS Type/Version and loaded Native Modules are now saved in the crash report
- Fixed methods not being debuggable when Debugger is attached (Thanks Cephas369)
-
Version v2.9.10
- Fixed double key press issue
-
Version v2.9.9
- Fixed SyncAsJson not serializing game types
-
Version v2.9.8
- Improvements to DistanceMatrix
-
Version v2.9.7
- Fixed UpdateInfo parsing for Crash Reports
-
Version v2.9.6
- More Crash Report related fixes. Fixed WinForms renderer
-
Version v2.9.5
- More Crash Report related fixes. Involved modules were incorrectly rendered
-
Version v2.9.4
- More Crash Report related fixes. Improved the Html renderer
-
Version v2.9.3
- More Crash Report related fixes. Improved the Html renderer
-
Version v2.9.2
- BETA release!
- Fixed the Html report renderer and the BLSE and LauncherEx metadata
-
Version v2.9.1
- BETA release!
- Xbox was missing new Crash Reporter dependencies
-
Version v2.9.0
- BETA release!
- Added new Crash Report system
- Added Ukrainian and German localization
- BETA release!
- Added new Crash Report system
- Added Ukrainian and German localization
-
Version v2.8.16
- Fixed an issue with the new JsonSerializer overload
-
Version v2.8.15
- Fixed an issue with the new JsonSerializer overload
-
Version v2.8.14
- Added a SyncDataAsJson overload that takes a JsonSerializer
-
Version v2.8.13
- Might have fixed a reported save issue
- Reflection improvement
-
Version v2.8.12
- Improved logging
-
Version v2.8.11
- Better Clipboard handling
-
Version v2.8.10
- Japanese language update
-
Version v2.8.9
- Fixed unintentional crash with Distance Matrix
- Further unintentional crash fixes
- Added Chinese Simplified and Japanese
-
Version v2.8.8
- Support for v1.2.1
- Proper Watchdog disabling
-
Version v2.8.7
- Small performance improvement
- Moved AutoGen catching to BLSE
-
Version v2.8.6
- Disabled AutoGen catch, seem to have a more severe performance impact than expected
-
Version v2.8.5
- Fixed BLSE detection
-
Version v2.8.4
- ButterLib is not able to disable v1.2.0 Watchdog, BLSE is required
- Added integration with BLSE's better exception intercepter
-
Version v2.8.3
- The UseVanillaCrashHandler setting wasn't set correctly
-
Version v2.8.2
- v1.2.0 - Suppress the new TW debugger so ButterLib's Crash Reporter can work
-
Version v2.8.1
- Added support for v1.2.0
-
Version v2.8.0
- Switched back to Lib.Harmony
- Added support for v1.1.2
-
Version v2.7.2
- Added back Ben.Demystifier
- Updated Crash report to contain more valuable data
-
Version v2.7.1
- Game Pass PC was missing implementation files. Thanks dzpliu for noticing!
-
Version v2.7.0
- Support for Game Pass PC
- Added Spanish translation
-
Version v2.6.3
- Compatibility with NovusLauncher and ModOrganizer
- Fixed copying crash report to Clipboard
- Improvements to LocalizationHelper.SetListVariable
-
Version v2.6.2
- Adapted for v1.1.0
- Added some localizations
- Improvements to BetterExceptionWindow compatibility
-
Version v2.6.1
- v1.0.2 stealth update fix. We ship Newtonsoft.Json 13 for backwards compatibility
-
Version v2.6.0
- StoryMode is now an optional dependency
- Support for including save file and screenshot with a local crash report
- MiniDump inclusion decision moved from settings to the crash report
- Better SubSystem descriptions
- Added Ben.Demystifier for better exceptions
- Added DynamicAPI implementation
- Debug.Print is handled as Debug level now instead of Information
- Limited default log file size per day to 5MB, max 7 files; others to 3MB, max 5 files
- Limited logs in Crash Report to 2000 lines
- ExceptionHandler was still showing CrashReport when asked not to in options
-
Version v2.5.1
- For v1.0.0/v1.0.1
- * Fixed DelayedSubModuleManager check
-
Version v2.5.0
- For v1.0.0/v1.0.1
- * Extended DelayedSubModuleManager with a non generic variant
-
Version v2.4.1
- Removed unnecessary collision for HotKeys
- Better explanation of why a crash report failed to upload
-
Version v2.4.0
- HotKey system overhaul
-
Version v2.3.6
- Disabled "Catch Native->Managed Code Exceptions", seems to be causing issues for some players
-
Version v2.3.5
- Fixed CTD when failing to serialize ButterLib's settings
-
Version v2.3.4
- Another potential CTD fix
-
Version v2.3.3
- Added "Catch Native->Managed Code Exceptions"
- Fixed path being incorrect
-
Version v2.3.2
- Language data fix
-
Version v2.3.1
- Adapted for v1.0.0, removed legacy code
- Language fix
-
Version v2.3.0
- Adapted for v1.0.0, removed legacy code
-
Version v2.2.10
- Crash Reporter now has info about the launcher and BUTRLoader
- Reduced size of minidumps
- Quick update for e1.9.0
-
Version v2.2.8
- Added External metadata to Crash Report, states that module is from Workshop
-
Version v2.2.7
- Added better Involvement filtering
- Added MiniDump feature when saving locally
-
Version v2.2.6
- Added better debugger detection
- Added IL offset reporting
- Added enhanced stracktrace
-
Version v2.2.5
- Added better debugger detection
- Added IL offset reporting
- Added enhanced stracktrace
-
Version v2.2.4
- Adapted for e1.9.0
-
Version v2.2.3
- Fixed localization loader
-
Version v2.2.2
- Updated dependencies
-
Version v2.2.1
- Localization fix
-
Version v2.2.0
- Added settings for subsystems
- Minor code adjustments
- Better module resolution
-
Version v2.1.13
- Crash report was not showing in some cases, better filtering
-
Version v2.1.12
- e1.8.0 hotfix broke ABI, recompilation
-
Version v2.1.11
- Updated crash upload url, pt2
-
Version v2.1.10
- Updated crash upload url
-
Version v2.1.9
- Third workaround for the language issue
-
Version v2.1.8
- Second workaround for the language issue
-
Version v2.1.7
- Workaround for the language issue
-
Version v2.1.5
- Possible crash fix
- InformationManager fix
-
Version v2.1.4
- Possible crash fix
-
Version v2.1.3
- Adapted for e1.8.0
-
Version v2.1.2
- Fixed trace listener
-
Version v2.1.1
- Fixed unintended crashes when running on pre e1.7.2
- Added message when running on pre e1.7.2
-
Version v2.1.0
- Dependency fixes
- Removed CampaignIdentifier, there's an in-game one now
-
Version v2.0.0
- Removed old code and old workarounds
- Crash reports now include logs from last 60 minutes
-
Version v1.0.38
- Include logs in the crash report
-
Version v1.0.37
- Fixed debug issues
-
Version v1.0.36
- Involved mods fix
-
Version v1.0.35
- Build fix
-
Version v1.0.34
- Fixed AccessTools2.
-
Version v1.0.33
- Fixed TW save changes for the modding community, pt2.
-
Version v1.0.32
- Fixed TW save changes for the modding community.
-
Version v1.0.31
- Compatibility with e1.7.0
-
Version v1.0.30
- Compatibility with e1.6.5 (god bless American English in code!)
-
Version v1.0.29
- Compatibility with e1.6.3 and e1.6.4
- Some general code improvements
- IMBSubModuleBaseEx
- Built-in list aggregation for LocalizationHelper
-
Version v1.0.28
- Compatibility with e1.6.2
- Improvements to mod order validation
- Improved stability for exception catching
-
Version v1.0.27
- Fixed possible crash on load caused by MBSubModuleBaseEx
-
Version v1.0.26
- Saving system fix
-
Version v1.0.25
- Compatibility with e1.6.1
- MBSubModuleBaseEx - additional events for the SubModule
- Small numerals fix for LocalizationHelper
- Improvements to MBObject saving system
-
Version v1.0.24
- DistanceMatrix optimization and fix for e1.6.0
- DistanceMatrix is disabled by default
- Better exception catching
-
Version v1.0.23
- Fixed Localization
-
Version v1.0.22
- Added explicit localization files
- Better internal Harmony usage
-
Version v1.0.21
- CampaignIdentifier uses the game's provided Id system starting from e1.5.4
-
Version v1.0.20
- Compatibility with e1.5.7
-
Version v1.0.19
- Added BUTR crash uploader service
- Fixed compatibility with EnhancedBattleTest
-
Version v1.0.18
- Better compatibility with BetterExceptionWindow
- AssemblyLoader is obsolete
- Added SubSystem abstraction
-
Version v1.0.17.1
- Improved version support
- Fixed compatibility issues
-
Version v1.0.17
- Improved version support
- Fixed compatibility issues
-
Version v1.0.16
- Fixed Harmony Patch report tree
- Added "Copy As HTML" button for the report
- Added switchable font sizes in the report for better readability
-
Version v1.0.15
- Added HotKeys from BannerLib
- Added a better ExceptionHandler inspired by BetterExceptionWindow
-
Version v1.0.14
- Fixed serialization issue
-
Version v1.0.13
- More AccessTools extensions
-
Version v1.0.12
- Fixed crash
-
Version v1.0.11
- Added the ability to save classes via JSON instead of the games binary serialization
- Better logging
- Better AppDomain setup
-
Version v1.0.10
- Switched serialization from binary to json
-
Version v1.0.9
- Better nullable handling
-
Version v1.0.8
- Added GetDelegate from ConstructorInfo
-
Version v1.0.7
- Restored Delegate method
-
Version v1.0.6
- Added new Delegate extensions in AccessTools2
- Added new ConstructorInfo extensions in SymbolExtensions2
-
Version v1.0.5
- Added an empty AppDomainManager to prevent Fixed Launcher issues
-
Version v1.0.4
- Fixed binary serialization
-
Version v1.0.3
- Fixed Version comparator
-
Version v1.0.2
- Added the ability to get a persistent and deterministic Campaign Id
- Added the distance matriñes with default implementation for heroes, settlements, clans and kingdoms
- Several helper classes and extensions.
-
Sources available at GitHub!
Installation
This module should be one of the highest in loading order and placed above native modules. Ideally, it should be second in load order after
Important information for v1.2.0
ButterLib's and BEW Crash Reporters are broken by TW. We are not able to do something here via ButterLib, so we suggest to download BLSE v1.4.0 or higher from NexusMods to make Crash Reports work again!
For Players
This mod is a dependency mod that does not provide anything by itself. You need to additionaly install mods that use it.
For Modders
Distributed libraries:
ButterLib 2.1.0 distributes with itself some libraries. Unfortunately, the game has a strict dependency system and if the versions don't match the game will crash. So here's the list of packages:
Highlighted features:
Troubleshooting
Unblocking DLL's
You may need to right click on every
Harmony installation issues:
Check Harmony's Troubleshooting for more info on how to fix it.
Installation
This module should be one of the highest in loading order and placed above native modules. Ideally, it should be second in load order after
Bannerlord.Harmony
Important information for v1.2.0
ButterLib's and BEW Crash Reporters are broken by TW. We are not able to do something here via ButterLib, so we suggest to download BLSE v1.4.0 or higher from NexusMods to make Crash Reports work again!
For Players
This mod is a dependency mod that does not provide anything by itself. You need to additionaly install mods that use it.
For Modders
Distributed libraries:
ButterLib 2.1.0 distributes with itself some libraries. Unfortunately, the game has a strict dependency system and if the versions don't match the game will crash. So here's the list of packages:
- Microsoft.Extensions.DependencyInjection - 2.0.0
- Microsoft.Extensions.DependencyInjection.Abstractions - 2.0.0
- Microsoft.Extensions.Logging - 2.0.0
- Microsoft.Extensions.Logging.Abstractions - 2.0.0
- Microsoft.Extensions.Options - 2.0.0
- Microsoft.Extensions.Primitives - 2.0.0
- System.Reflection.Metadata - 5.0.0
- System.Collections.Immutable - 5.0.0
- System.Memory - 4.5.4
- System.Buffers - 4.5.4
- System.Runtime.CompilerServices.Unsafe - 4.5.3
- Serilog - 2.10.0
- Serilog.Extensions.Logging - 3.1.0
- Serilog.Sinks.File - 5.0.0
Highlighted features:
- ExceptionHandler - Catches all exceptions in BEW style and gives the ability to save the crash report
- CrashUploader - Uploads those crash reports to https://butr.dev for creating tiny url's for sharing!
- CampaignIdentifier - Associates unique string ID with every campaign based on the initial character.
- DistanceMatrix - A generic class that pairs given objects of type MBObject and for each
pair calculates the distance between the objects that formed it. - DelayedSubModule - Execute code after specific SubModule method.
- SubModuleWrappers - Wraps MBSubModulebase for easier calling of protected internal metods.
Troubleshooting
Unblocking DLL's
You may need to right click on every
Bannerlord.ButterLib.*\bin\Win64_Shipping_Client\*.dll
files, click Properties, and click Unblock if you extracted the zip file with Windows Explorer or other programs that try to secure extracted files.Harmony installation issues:
Check Harmony's Troubleshooting for more info on how to fix it.