On this page 7 sections
Requirements#
- Vampire: The Masquerade – Bloodlines with the Unofficial Patch (Basic or Plus). The patch's mod loader (its "Advanced EXE") loads every
.vtmfile inBin/loader; BLSE is one of them. - Windows.
Installing#
- Extract the release zip anywhere.
- Copy its
Binfolder into the game folder (the folder that containsVampire.exe), merging with the existingBin. - Start the game. In the console (
~) typeblse.
What gets installed:
| Path (inside the game folder) | Purpose |
|---|---|
Bin/loader/blse.vtm |
The BLSE runtime |
Bin/loader/blse/mods/ |
Mod folders: one folder per mod, with its files, Python scripts and plugins (see below) |
Bin/loader/blse/blse.log |
The log of the current run (blse.log.old: the previous run). It stops growing at 64 MiB |
BLSE creates more folders when mods need them: config/ (settings, .ini), data/ (JSON files), translations/ (text for each language), cache/ (files BLSE built from several mods' changes; safe to delete) and crash logs next to blse.log.
Installing mods that use BLSE#
Not sure where a download goes? Where mod files go shows every folder, how to recognise each kind of mod and the common mistakes.
Every mod is one folder in Bin/loader/blse/mods/ (see Mod folders below). Its Python scripts are in the folder's blse/scripts/, its plugins (.dll files) in blse/plugins/, and they load at game start. A mod's own page may name other mods it needs; a mod or plugin whose requirements are missing is not loaded, and the log says why.
Plugins are native code with the same rights as the game: only install plugins from people you trust.
Mod folders#
A mod comes as a folder (for example my_mod with models, sound, vdata, blse ... inside). Put the whole folder in Bin/loader/blse/mods/. You do not copy anything into the game's own folders and nothing is replaced, so several such mods can be installed together.
- Order:
Bin/loader/blse/config/loadorder.txtlists the mod folders. Mods are combined where they can be; where two change the same thing (a file, a line of dialogue, a value), the one further down wins. BLSE adds new folders to the end; move a line to change the order, or put-in front of a name to switch that mod off. Mods that build on other mods go below them.blse.loglists the order and every conflict. - A mod is off: a mod can name what it needs (a BLSE version, other mods). If something is missing, BLSE switches that mod off and says why: type
blsein the console, or seeblse.log. A mod that is off runs none of its scripts and loads none of its plugins. - Two plugins with the same file name: if two mods ship a
.dllwith the same name, only the one from the mod further down is loaded; the log names the other as not loaded. - Removing: delete the mod's folder. Keep the mod while you play a game you started with it: a save can contain items, quests or characters from it, and a save holding a new item from a removed mod makes the game crash when it loads.
Settings#
Bin/loader/blse/config/blse.ini holds BLSE's own settings. BLSE writes it on first use:
[Translations]haslanguage = auto(the Windows display language); set a language name such asgermanto choose another.
Mods keep their own settings in config/<mod>.ini.
Uninstalling#
Delete Bin/loader/blse.vtm and the Bin/loader/blse folder. Keep a backup of your saves first: a save made with mods that store data may behave differently without them, and a save holding new items that mods added cannot be loaded without BLSE.
If something goes wrong#
blsedoes nothing in the console. BLSE did not load. Check that the Unofficial Patch is installed, thatblse.vtmis inBin/loader, and thatBin/loader/blse/blse.logexists. If there is no log, the loader never started it.- The log says the build is not recognized. BLSE still runs, but features that depend on exact game code switch themselves off. Report it with the log.
- A mod does not work. Look in
blse.logfor lines marked[python]or with the plugin's name, and in the console for Python tracebacks. - The game gets slower or uses more memory after many loads. Type
blse_debugin the console after each load: it writes the game's memory and how much BLSE holds (subscriptions, HUD elements, ...) to the console andblse.log. Numbers of BLSE's that grow with every load point to a mod that registers again at each load (the log also warns at 256 Python subscriptions); send the log with the report. A second "held:" line (b0.5.49) counts plugins' draw callbacks, button sounds and their vtable copies, and model animations with the models and model files they keep. - A plugin was disabled. The log names the plugin and where it crashed. The game keeps running without it.
- The game crashed. The game writes
crash(<date time>).login the game folder; BLSE adds a[ BLSE ]section to it saying which mod was running. Crashes the game does not report getcrash-<date>_<time>.logand a.dmpinBin/loader/blse/. Send these withblse.logwhen you report a problem. - Updating. Copy the new
Binfolder over the old one. Later versions only add to what mods use, so your mods keep working; a mod made for a newer BLSE says so in the log.