# ServerOps.gg for RedM

For RedM roleplay communities. Same SDK as FiveM, same operator stack, sized for the slower-burn nature of RedM moderation.

## Scenarios

### Evidence that survives the wagon ride.

RedM clips and screenshots get lost to Discord channel rolls the same way FiveM's do. ServerOps gives you a CDN your retention controls, with per-script tokens so the dashcam script and the mod-action script have separate usage lines.

### Search every chat, ban, and shoot-out by player.

RedM logs from your server resource straight into ServerOps with the same SDK as FiveM. Filter by player, by event type (chat / ban / kill / case-link), by project. Save the filter as a dashboard your whole moderation team can read.

### Cases for cattle theft and RDM in green-zone.

Every case file has a state, a timeline, attached clips from MEDIA, and the staff who touched it. Public appeal portal optional, off by default. Built by people who run a 46,000-player RedM community.

### Whitelist + lawman applications on your domain.

Apply on apply.yourrp.com (your subdomain or your own custom domain). Discord webhook pings when a submission lands. Auto-flag duplicate IPs. Escalate any submission into a Case for staff review.

## Code

### Lua · RedM resource

```lua
-- Identical API to the FiveM SDK. Server-side handler in your
-- resource, called from a player-event or your dashcam script.

local serverops = exports['serverops']

local url = serverops:upload({
    token   = "sops_live_...",
    file    = clipFile,
    project = "redm-saints",
    tags    = { "evidence", "rdm-saintdenis" },
})

serverops:log("chat", {
    player_id = "license:e1b2c3",
    channel   = "ooc",
    body      = "@admin help, my horse just despawned",
})
```

## By the numbers

| Metric | Value |
| --- | --- |
| Ranch Roleplay players on ServerOps | 46,000+ |
| RedM-server lifetime log entries | 200M+ |
| Cases opened in our home community | 1,300+ |
