Main Settings
Every card on the page and the version it needs, Resources Installation (Auto-Installation before 1.9.3), Discord logging, the drop messages and rejection screens, the JSON editor, and how saving works.
Main Settings holds everything about the server that is not a detection rule. Detections live on Protection Rules, which shares the same editor chrome and the same save bar, so what this page says about the header controls, the JSON view and saving is true of both.
The header controls
| Control | Who sees it | What it does |
|---|---|---|
| Visual | Everyone | The cards. With view only, every control renders disabled and you can change nothing. |
| Edit as JSON | Everyone | The same configuration as text. Switching between the two views keeps your unsaved edits. |
| Reset to default | Settings edit only | Loads the recommended configuration for this server version into the editor as unsaved changes. It keeps your current Discord webhooks, because those are your own wiring and not a factory setting. |
Reset to default is an edit like any other: nothing is written until you press Save Changes, and Reset on the save bar puts your old settings back.
The cards, and the version each one needs
The page is not the same on every server. A card that an older resource would not read is not shown, because a switch that does nothing is worse than no switch. This is the whole set, in the order they appear.
| Card | Resource version | What it holds |
|---|---|---|
| Global Bans | Below 1.7.3 | The network ban list switch and its per-ban whitelist. From 1.7.3 up, Connection Filters owns it and this standalone card is hidden. It also needs 1.5.9 to work at all, and below that it is shown greyed out with an update notice over it. |
| Resources Installation | 1.9.3 and up | The master switch, the Automatic switch and the whitelist. Raven is removed from whitelisted resources. |
| Auto-Installation | Below 1.9.3 | The master switch and the ignore list. |
| Discord Logging | 1.5.9.4 and up | Two webhook URLs, posted by the Raven cloud. |
| Connection Filters | 1.7.3 and up | The on-connect pipeline, and the Global Bans control on these servers. |
| Discord Integration | Below 1.5.9.4 | The legacy card: kick, ban and screenshot webhooks that live in the config and are posted by the resource itself. |
| Display Settings | Any | Everything the resource puts on a player’s screen. Two of its blocks need 1.8.9. |
Resources Installation
Resource 1.9.3 renamed Auto-Installation to Resources Installation and split its switch in two. The dashboard moves an older server's settings across on its own: whatever Auto-Installation's switch was becomes both new switches, and its ignore list becomes the whitelist.
| Field | Stored at | What it does |
|---|---|---|
| Master switch | ResourcesInstallation.Enable | Lets Raven manage which of your resources it is installed in. Off, it changes no manifest by itself; rac install and the Resources page still work. |
| Automatic | ResourcesInstallation.Automatic | Installs Raven into every resource that is not whitelisted, on start and on every resource refresh. Only acts while the master switch is on. |
| Whitelisted Resources | ResourcesInstallation.WhitelistResources | Resource names Raven is never installed in. While the master switch is on, Raven also removes itself from any of them that still have it, on start, on refresh and as soon as you save the list. |
Saving the card reaches a running server straight away, so whitelisting a resource removes Raven from it without restarting the server. Its manifest changes at once, and Raven stops running inside that resource the next time the resource itself restarts. rac install skips whitelisted resources too. On the Resources page, Uninstall puts a resource on the whitelist and Install takes it off, so the list and what is installed stay in step.
Raven is kept out of a whitelisted resource, and does not protect it. Adding the wrong name silently removes Raven coverage from that resource, so keep the list short and know why each entry is on it. If a script seems invisible to Server Event Protections, this list is the first place to look.
Auto-Installation (below 1.9.3)
When on, Raven detects your resources and wires itself into them without you editing each one by hand. Ignored Resources is a list of resource names to leave alone. An ignored resource is skipped by the installer but not cleaned: Raven stays in one it was already installed in until you run rac uninstall <name>.
Discord Logging
On resource 1.5.9.4 and newer this card takes two webhook URLs. The logs are sent by the Raven cloud, not by your FiveM resource, and any screenshot or recording attached to the action is stored on the Raven CDN and added to the message automatically. There is no screenshot webhook to fill in any more.
| Field | Stored at | Notes |
|---|---|---|
| Ban Webhook | Discord.Webhooks.ban | Masked like a password, with an eye toggle to reveal it. Clearing it removes that webhook and leaves the other one alone. |
| Kick Webhook | Discord.Webhooks.kick | The same. Both are credentials: anyone holding one can post into your channel. |
Each URL is validated before it is accepted. It has to be exactly this shape:
https://discord.com/api/webhooks/{id}/{token}| Rule | Accepted |
|---|---|
| Scheme | HTTPS only |
| Host | discord.com or discordapp.com |
| Path | /api/webhooks/ then digits, then a token of letters, digits, underscores or hyphens |
| Empty | Valid. An empty field clears that webhook |
On a server older than 1.5.9.4 the card is the legacy Discord Integration instead, with kick, ban and screenshot webhooks that live in the config and are sent by the resource itself. Discord logs walks through creating the webhook in Discord.
Connection Filters
Resource 1.7.3 and newer show the Connection Filters section here, and the Global Bans control lives inside it on those servers. Both have their own pages: Connection filters and Global bans.
Display Settings
Everything the resource puts on a player's screen, in the order the card shows them. Two of these blocks are what a rejected player reads, two are what the people still in the server see, and one is a single field that both halves use.
| Block | Config | Needs |
|---|---|---|
| Drop messages | Display.Messages | Any |
| In-game notifications | Display.Notifications | 1.8.9 |
| Admin message alerts | Display.Alerts | 1.8.9 |
| Connection rejected screen | Display.Ban | Any |
| Connection filter rejection | Display.Filter | Any |
| Support link | Display.Link | Any |
Drop messages
What FiveM shows in its disconnect dialog. Two boxes, and only two: the kick reason and the ban reason.
| Field | Variables | Shown when |
|---|---|---|
| Kick reason | {reason} {link} | A player is kicked. |
| Ban reason | {reason} {banid} {link} | A player is dropped on a ban. |
Leaving {banid} out of the ban message is the most common mistake here. Without it a banned player opens a ticket with nothing you can look up.
In-game notifications
Whether the server says anything in game the moment Raven bans or kicks somebody, and who hears it. The player who was actioned is already being dropped, so they never see it.
| Setting | Choices | Notes |
|---|---|---|
| Announce actions in game | On, off | The master switch for the block. |
| Who sees it | Admins only, Everyone | Admins only is the default and the safer one: announcing every ban to the whole server tells a cheater exactly which of their tricks got caught, which is free tuning advice for the next attempt. |
| Which actions | Bans, Kicks | Switched separately, so you can announce kicks and keep bans quiet. |
The card only appears for a server on resource 1.8.9 or newer. An older build does not read the setting.
Admin message alerts
Where a direct message or a server-wide announcement from an admin lands on a player's screen, and what it looks like when it gets there. This is a different surface from the detection notices in the corner, on purpose: a player should be able to tell a person talking to them from the anticheat warning them.
| Setting | Choices | Notes |
|---|---|---|
| Where it appears | Nine positions | A three-by-three grid, any cell, from top-left to bottom-right. A bottom placement measures the detection notices already on screen and lifts itself above them, so the two never overlap even in the corner the notices live in. The default is top-center. |
| How it looks | banner, card, plain | banner is the default, a full-width strip across the edge it sits on. card is a dark panel with the sender above the message and an icon. plain is text only, the lightest touch over the HUD. |
A direct message and an announcement read differently whichever style you pick, so a player can tell which one reached them without being told. Both are capped and stripped of control characters before they are sent, and the sender's name is capped with them. Like in-game notifications, the card needs resource 1.8.9 or newer. The composer that sends these is on Resources and World.
Connection rejected screen
The card a banned player sees when they try to connect. The preview on the page is the editor: click any piece of text on it and type. Clearing a field puts the default wording back rather than leaving it blank. Two lines are not always on screen, the Global ban badge and the Evidence line, and the chips above the card reveal them so you can edit those too. The footer accepts {link}.
Connection filter rejection
The same idea for a player turned away by a VPN, name, country or Discord filter rather than a ban. Each filter has its own reason label and message, reachable from the chips on the card. This screen is served by the cloud rather than by the resource, so it is trimmed out of the configuration before anything is sent to your server.
Support link
One URL, usually your Discord invite. It is the appeal button on both screens and the value {link} resolves to in the drop messages. Setting this is worth two minutes: it is the difference between a banned cheater going away and a wrongly banned player having no way to reach you.
Editing as JSON
The JSON view shows the whole configuration, including the cloud-only sections that have no card of their own. It is validated as you type against the template for your resource version, and the Save button refuses an invalid configuration rather than storing it.
| Refused | What you see |
|---|---|
| A syntax error | The line number and the parser message. |
| A key that is not in the template | Invalid at, then the full path of the key. |
| A missing key | The same message, naming the key that should be there. |
| A changed value type | The same message. A number cannot become text, and a list cannot become an object. |
| A blacklisted security key | The save is refused outright. admin_bypass and disable_all_security are rejected wherever they appear in the text. |
One section in the JSON is a view of values stored outside the configuration: GlobalBans. Editing it there works exactly like editing the card, and on save it folds back into the two server columns that own it rather than being stored twice. The Discord webhooks are not like that: they really do live in the configuration, under Discord.Webhooks, and a copy is mirrored onto an older column the cloud logger still reads.
Saving
Nothing on this page writes as you type. A bar appears at the bottom once something is dirty, with Reset, which throws your edits away, and Save Changes. It is only shown to someone who can actually save, because the write would be refused for anyone else.
| What you changed | What the save does |
|---|---|
| Detections | Writes a protection rules row to the activity log and pushes the new configuration to a connected resource. |
| Anything else in the configuration | Writes a config row instead. One save can write both rows. |
| Only cloud-side settings | Nothing is pushed. The connection filter rejection wording, the Discord webhooks and the global-ban columns never reach the resource, so a save that touched only those resolves to an identical payload and no connected client reloads its detections for a change it will never receive. The drop messages do reach it, so editing those still pushes. |
| Nothing, after normalisation | In the JSON view, the text is rewritten in its canonical form and the unsaved-changes bar clears. This is what happens when you type a value that normalises to what is already stored. |
If someone else saved while you had the page open, your save is refused with a conflict message and the current configuration is loaded so you can reapply your change. Nothing is silently overwritten in either direction, and the check is a compare against the version you loaded rather than a timestamp, so it holds even for two saves a second apart.
The proxy host field
There is no longer one. Since resource 1.5.9.5 the resource dials out to Raven over a WebSocket instead of the dashboard dialling in, so there is no inbound address to point at and nothing to configure. The field was removed from the panel and the endpoint behind it now refuses every request. If a guide tells you to set a proxy host, it predates that change. The activity log still carries its proxy_update rows for the edits made before then.