ScarletHooks
Send V Rising server chat messages to Discord or other webhooks. Supports admin, public, and clan channels with in-game management.
| Date uploaded | a year ago |
| Version | 0.1.10 |
| Download link | ScarletMods-ScarletHooks-0.1.10.zip |
| Downloads | 85 |
| Dependency string | ScarletMods-ScarletHooks-0.1.10 |
This mod requires the following mods to function
BepInEx-BepInExPack_V_Rising
BepInEx pack for V Rising. Preconfigured and includes Unity Base DLLs.
Preferred version: 1.733.2deca-VampireCommandFramework
Command framework for developers to easily create universal commands for their plugins.
Preferred version: 0.10.2ScarletMods-ScarletCore
Framework and utilities for all Scarlet mods in V Rising.
Preferred version: 1.3.11README
ScarletHooks
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.
Support & Donations
Features
-
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 theScarletHooks.cfgfile, 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.
Usage
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.
Show Commands
Webhook Management
-
.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).
Settings
-
.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.
Dispatch System Control
-
.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.
Installation
Requirements
This mod requires the following dependencies:
Make sure both are installed and loaded before installing ScarletHooks.
Manual Installation
-
Download the latest release of ScarletHooks.
-
Extract the contents into your
BepInEx/pluginsfolder:<V Rising Server Directory>/BepInEx/plugins/Your folder should now include:
BepInEx/plugins/ScarletHooks.dll -
Ensure VampireCommandFramework is also installed in the
pluginsfolder. -
Start or restart your server.
Configuration
All settings can be adjusted in the ScarletHooks.cfg file located in your server's BepInEx/config folder.
Show Settings
General
-
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
Admin
-
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
Public
-
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
Guide & Troubleshooting
Getting Started
Setting Up a Webhook
-
Create a webhook in your preferred service.
- For Discord: Go to your channel settings → Integrations → Webhooks → New Webhook → Copy Webhook URL.
- For other services: Follow their documentation to generate a webhook URL.
-
Open the config file at:
BepInEx/config/ScarletHooks.cfg -
Paste the webhook URL into the appropriate field:
- For admin messages, set
AdminWebhookURL = <your-webhook-url> - For public messages, set
PublicWebhookURL = <your-webhook-url>
- For admin messages, set
-
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.
Setting Up a Clan Webhook
-
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 webhooksor restart the server.
Managing the Dispatch System
-
Stop message dispatch:
.hooks stop -
Force stop and clear all queues:
.hooks forcestop -
Start/restart dispatch:
.hooks start
Viewing and Changing Settings
-
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.
Using Non-Discord Webhooks
Yes, ScarletHooks can work with other webhook services, but:
- You may need to download the mod’s source code and manually modify the POST request payload format in the
MessageDispatchSystem.csfile to match the requirements of your webhook service. - Some services may require additional configuration, such as authentication tokens or custom headers.
Troubleshooting
What happens if a webhook fails?
- The system keeps a queue of messages for each webhook.
- When a message is sent targeting a specific webhook, the system tries to deliver it.
- If the webhook fails more than 5 times, all pending messages for that webhook are discarded to prevent overload.
- The webhook itself is not disabled — the system will continue attempting to send any new messages to it.
- However, while the webhook is still in a "failed" state, new messages will not be queued. Each new message is attempted once and immediately dropped if it fails, without being added to the queue — unless the webhook starts responding successfully again.
- If a message is successfully delivered to that webhook, the failure counter is reset. From that point on, messages will once again be queued and retried normally until delivered.
Why are my messages not being sent?
- Check if the webhook URL is set correctly in
ScarletHooks.cfg. - Use
.hooks listin-game to verify the active webhooks. - Confirm the webhook service (e.g., Discord) is online and the URL is valid.
- After changes, use
.hooks reloador restart the server.
Why isn’t a new clan webhook working?
- The webhook may not be linked in the config file.
- You may have forgotten to reload after adding it.
- Double-check the spelling of the clan name in both the command and config — it’s case sensitive. Recommended: Use the player name instead, so the mod can automatically detect the clan from the player’s data.
Why can't I change settings from the game?
Some mod settings require editing the .cfg file directly. This includes:
- Webhook URLs
- Dispatch intervals
- Some other settings
This is due to character limitations in the in-game chat and other reasons.
CHANGELOG
Update 1.1.4
- Updated compatibility with the latest ScarletCore version.
Update 1.1.3
- Fixed Login messages not appearing.
Update 1.1.2
- Fixed PvP kill messages so they are dispatched when players are downed.
Update 1.1.1
- Fixed PvP kill messages to correctly display the target player's clan.
Update 1.1.0
- Added PvP kills hook to track player kills in PvP combat.
- Added VBlood kills hook to track VBlood boss eliminations.
- Major Refactor: Migrated most services and systems to use existing ScarletCore infrastructure.
- Improved performance and reduced code duplication by leveraging ScarletCore's established systems.
- Enhanced compatibility and stability through unified core architecture.
- Reduced mod footprint and potential conflicts with other ScarletCore-based mods.
Update 1.0.2
- Improved the handling of login/logout messages to ensure they are sent only once per connection.
- Added new RCON commands for setting webhook URLs without needing to modify or reload the configuration file. (RCON exclusive due to in-game chat limitations)
Update 1.0.1
- Removed
Destroy_TravelBuffSystem.OnUpdatepatch, as it was causing lag.
Update 0.1.23
- Removed some logs that were not needed anymore.
- Added support for dedicated login/logout webhooks and message formatting
- Introduced customizable prefixes and formats for all message types
- Implemented granular control over login/logout message routing
- Updated configuration system to support new options
- Improved in-game command management and documentation