Personal project I decided to (partially) release to the public.
This project is for educational purposes only. Using this on a live server is against the Blade & Soul Rules of Conduct and User Agreement. I accept no responsibility should you manage to get yourself banned while using it.
- Enables multi-client.
- Prevents
aegisty.bin
/aegisty64.bin
from loading. - Disable WinLicense(R) protections:
- "Detect File/Registry Monitors"
- "Anti-Debugger Detection"
- "Disallow execution under VMware/Virtual PC"
bnspatch loads %userprofile%\Documents\BnS\patches.xml
, which can be used to apply various types of
transformations to any .xml
file loaded by Blade & Soul.
There is also support for BnS Buddy-style addons (.patch
files). Just place them in %userprofile%\Documents\BnS\addons
.
The patches.xml
format isn't documented yet but you can read the code and figure it out,
or look at other peoples examples. It implements most of pugixml's relevant API for element and attribute nodes.
For an example of basic and advanced usage, see patches.xml
at the root of the repository,
or the extra files in the contrib
folder.
For more info, refer to xmlpatch.cpp
, XML Path Language (XPath) Version 1.0, and the pugixml manual.
Q: Does this work with d912pxy?
Yes it does! In fact, I highly recommend using it.
No. Each component works individually and may be used together or separately.
Not really. I've been using some variant of it since I started development in 2017, and have never been warned nor banned, and neither has anyone else I shared it with.
There is some overlapping functionality, but yes. Just understand that changes made by bnspatch will always take priority over conflicting changes made by BnS Buddy.
Since there seems to be some confusion about the technical differences, I want to try and clear it up:
-
Plugins (*.dll): These are files that make changes to the game's code in some way. bnspatch is a plugin. They are loaded by my
winmm.dll
(pluginloader). They belong in:%programfiles(x86)%\NCSOFT\BNS\bin\plugins
%programfiles(x86)%\NCSOFT\BNS\bin64\plugins
-
Addons (*.patch): Legacy BnS Buddy-style addons, what you're probably already used to. They are only capable of rudimentary searching & replacing text in .xml files. These belong in
%userprofile%\Documents\BnS\addons
-
Patches (*.xml): This is my own format, similar to addons but much more powerful, though there is a steeper learning curve. The location is configurable, but generally unless you know exactly what you're doing, you'll want to put
patches.xml
in%userprofile%\Documents\BnS
, and any extra patches (if applicable) in%userprofile%\Documents\BnS\patches
.
Join the Mod Police Discord server and ask!
- microsoft/Detours (MIT license)
- microsoft/GSL (MIT license)
- zeux/pugixml (MIT license)
- processhacker/phnt (CC-BY-4.0 license)
- JustasMasiulis/xorstr (Apache-2.0 license)