

ScarletHooks is a V Rising server mod that enables advanced webhook integration for chat messages. It allows admins to configure multiple webhooks for admin, public, and clan-specific notifications, with fine-grained control over which messages are sent and how they are batched. All features are accessible via chat commands and can be customized in the config file.
Notes:
- This mod does not support sending messages to in-game chat — it only sends messages from the server to external webhooks.
- While the mod isn’t restricted to Discord, using other webhook services may require modifying the source code, and recompiling the mod. See the guide for more information.
Advanced Webhook Integration:
Send chat messages and notifications to multiple webhooks, including admin, public, and clan-specific endpoints.
Granular Message Routing:
Configure which types of messages (global, local, clan, whisper) are sent to each webhook. Admin and public webhooks can be toggled for each message type, while clans can have their own dedicated webhooks for clan chat.
Dynamic Clan Webhooks:
Add or remove clan webhooks dynamically via in-game commands. Each clan can have its own webhook URL, managed through the config file and easily updated or reloaded without restarting the server.
In-Game Command Management:
Most webhook and settings management can be performed through chat commands by server admins (Except for setting webhook URLs and intervals). Commands allow adding/removing clans, reloading settings or webhooks, listing all configured webhooks, and toggling settings.
Batching and Rate Limiting:
Messages are queued and sent at configurable intervals to avoid rate limiting by webhook services. Batching can be enabled to combine multiple messages into a single webhook request, reducing spam and improving reliability.
Automatic Retry and Failure Handling:
If a webhook fails, the system will automatically retry sending messages after a configurable delay. After several consecutive failures, the message queue for that webhook is cleared to prevent server overload.
Persistent Configuration:
All webhook URLs and clan mappings are saved and loaded automatically from disk, ensuring settings persist across server restarts.
Flexible Configuration File:
Fine-tune all aspects of the mod via the ScarletHooks.cfg file, including intervals, enabled message types, and webhook URLs.
Status and Debug Commands:
View current settings, all configured webhooks, and the status of the message dispatch system directly from in-game chat.
Safe Start/Stop Controls:
Admins can start or forcibly stop the message dispatch system at any time, clearing all message queues if needed.
Most management is done via chat commands. Only admins can use these commands.
Note: Some settings can only be changed through the config file due to character length limitations in the in-game chat or for other reasons.
.hooks add <clan-name>
Add a clan to the webhook list.
(You must set the webhook URL in the config file and use the reload command after adding.)
.hooks afp <player-name>
Add a clan to the webhook list using a player's name (the clan will be detected from the player data).
(You must set the webhook URL in the config file and use the reload command after adding.)
.hooks remove <clan-name|player-name>
Remove a clan from the webhook list by clan name or by player name.
.hooks reload settings
Reload all settings from the config file.
.hooks reload webhooks
Reload all webhook URLs from the saved file.
.hooks reload
Reload both settings and webhooks.
.hooks list
List all configured webhooks (admin, public, and clans).
.hooks settings <setting> <true|false>
Change a boolean setting (except for webhook URLs and intervals, which are handled via the config file).
.hooks settings
Show current settings and their values.
.hooks start
Start the message dispatch system if it has been manually stopped.
.hooks stop
Stop the message dispatch system.
.hooks forcestop
Stop the message dispatch system and clear all cache.
This mod requires the following dependencies:
Make sure both are installed and loaded before installing ScarletHooks.
Download the latest release of ScarletHooks.
Extract the contents into your BepInEx/plugins folder:
<V Rising Server Directory>/BepInEx/plugins/
Your folder should now include:
BepInEx/plugins/ScarletHooks.dll
Ensure VampireCommandFramework is also installed in the plugins folder.
Start or restart your server.
All settings can be adjusted in the ScarletHooks.cfg file located in your server's BepInEx/config folder.
MessageInterval: Interval (in seconds) between sending messages to webhooks.
Default: 0.2
OnFailInterval: Interval (in seconds) to wait before retrying after a webhook failure.
Default: 2
AdminWebhookURL: Webhook URL for admin messages.
Default: null
PublicWebhookURL: Webhook URL for public messages.
Default: null
EnableBatching: Enable or disable batching of messages to avoid rate limiting.
Default: true
AdminGlobalMessages: Enable or disable sending global chat messages to the admin webhook.
Default: true
AdminLocalMessages: Enable or disable sending local chat messages to the admin webhook.
Default: true
AdminClanMessages: Enable or disable sending clan chat messages to the admin webhook.
Default: true
AdminWhisperMessages: Enable or disable sending whisper messages to the admin webhook.
Default: true
PublicGlobalMessages: Enable or disable sending global chat messages to the public webhook.
Default: true
PublicLocalMessages: Enable or disable sending local chat messages to the public webhook.
Default: false
PublicClanMessages: Enable or disable sending clan chat messages to the public webhook.
Default: false
PublicWhisperMessages: Enable or disable sending whisper messages to the public webhook.
Default: false
Create a webhook in your preferred service.
Open the config file at:
BepInEx/config/ScarletHooks.cfg
Paste the webhook URL into the appropriate field:
AdminWebhookURL = <your-webhook-url>PublicWebhookURL = <your-webhook-url>Save the config file.
Reload the settings in-game with:
.hooks reload settings
or restart your server.
Test the integration by sending a chat message in-game and verifying it appears in your webhook destination.
In-game, use:
.hooks add <clan-name>
or
.hooks afp <player-name>
Open the config file at: BepInEx/config/ScarletHooks/ClanWebHookUrls.json
Set the webhook URL for the new clan/player entry.
Apply changes with the command: .hooks reload webhooks or restart the server.
Stop message dispatch: .hooks stop
Force stop and clear all queues: .hooks forcestop
Start/restart dispatch: .hooks start
See current webhooks: .hooks list
See all mod settings: .hooks settings
Note: Some settings (e.g., webhook URLs and message intervals) can only be changed directly in the config file due to some limitations.
Yes, ScarletHooks can work with other webhook services, but:
MessageDispatchSystem.cs file to match the requirements of your webhook service.ScarletHooks.cfg..hooks list in-game to verify the active webhooks..hooks reload or restart the server.Some mod settings require editing the .cfg file directly. This includes:
This is due to character limitations in the in-game chat and other reasons.