Bloodpebble
Hot reloader for V Rising mods.
Screenshots 1 screenshots
About this mod Author’s original text
Bloodpebble
Bloodpebble is a lightweight alternative to Bloodstone. It allows reloading plugins without restarting the game.
Differences from Bloodstone:
- Bloodpebble checks plugin dependencies to load them in the correct order.
- Bloodstone does not. Working on a library for other plugins to use? Choose Bloodpebble for your hot-reloading needs.
- Bloodpebble is not required as a dependency. Simply drop your plugins into the BloodpebblePlugins folder and you're good to go.
- Bloodstone can only reload plugins if they opt-in using its API. Broken bloodstone = broken dependent plugins.
- Bloodpebble can automatically reload plugins when files are changed in the BloodpebblePlugins folder.
- Bloodstone cannot. A manual reload is required.
- Bloodpebble can do a soft reload (only reloading what's necessary) or a full reload.
- Bloodstone only does full reloads.
- Bloodpebble is only responsible for hot-reloading.
- Bloodstone provides functionality for other things. ergo Bloodpebble has a lower maintenance cost when VRising updates.
Installation
- Install BepInEx.
- Extract _Bloodpebble.dll_ into _(VRising folder)/BepInEx/plugins_.
- Optional: extract any reloadable additional plugins into _(VRising folder)/BepInEx/BloodpebblePlugins_.
Configuration
Bloodpebble supports the following configuration settings, available in BepInEx/config/Bloodpebble.cfg.
Client/Server Options:
- ReloadablePluginsFolder [default BepInEx/BloodpebblePlugins]: The path to the directory where reloadable plugins should be searched. Relative to the game directory.
- EnableAutoReload [default true]: Automatically reloads plugins if any of the files get changed (added/removed/modified).
- AutoReloadDelaySeconds [default: 2]: Delay in seconds before auto reloading.
Client Options:
- The keybinding to soft reload is F6. Not currently configurable.
- Press CTRL + F6 for a full reload.
Server Options:
- ReloadCommand [default!reload]: Which text command (sent in chat) should be used to trigger reloading of plugins.\
User must first be AdminAuth'd (accomplished via console command).
RCON
If ScarletRCON is installed, bloodpebble will provide an RCON command to reload.
- bloodpebble.reloadplugins: Soft reload.
- bloodpebble.reloadpluginshard: Fully reload all valid plugins.
- bloodpebble.reloadplugin: Reload one plugin. Other plugins (e.g. dependents) can also be reloaded.
Disclaimer
Not every plugin is going to be reloadable. You will still have to put some things in the usual BepInEx Plugins folder.
Notes for plugin developers:
- The assembly must be collectible. This imposes restrictions.
- Your plugin should implement the Unload method to release any resources, unregister hooks, etc.
- In particular, make sure you cleanup anything that would affect its lifetime.
Support
Join the modding community.
Post an issue on the GitHub repository.
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file.
Install these first, or the mod will not work: