SimpleLinks
All systems operational Sign in Start free
v3.23.1 · Two-way Oxide ↔ Discord sync

One verified identity. Discord, Steam, and Rust in 30 seconds.

SimpleLinks ties Discord ↔ Steam ↔ your Rust servers behind a single branded link. Players verify once, your roles, kits, and shop perks gate themselves, every player gets a live Trust Score, and Oxide groups stay in lockstep with Discord roles in both directions. No bot to babysit. No database to host. No analytics on your players.

Free tier · no card Oxide & Carbon Encrypted at rest Global edge · 14 ms
Native integrations · one identity across every surface
RUST OXIDE CARBON DISCORD STEAM STRIPE
What only we ship

Three things no other Rust linker does.

Most identity tools stop at "verified role assigned." We treat every linked player as a living record — roles flow in both directions, reputation is computed in real time, and the full relationship graph is one click away. Built specifically for Rust operators who run more than one server.

01 Industry first

Two-way role bridge

Oxide groups in Rust and Discord roles stay in lockstep — both directions, sub-minute, with full audit trail.

  • Per-server mappings. Different Rust servers in the same Org can map the same Oxide group to different Discord roles.
  • Mods can promote from Discord. Grant @VIP in Discord, the plugin runs oxide.usergroup add on next sync — no SSH, no console.
  • Idempotent reconciliation. Every change is queued, applied, then confirmed. Reboot the plugin mid-sync and nothing duplicates.
02 Computed live

Trust Score, 0–100

Every linked identity carries a composite reputation score with a 30-day history graph. Triage hundreds of players in seconds.

  • Four weighted factors. Stability 35%, cross-server reputation 25%, account age 20%, multi-account penalty 20%.
  • 30-day trend, every player. Spot reputation decay before it becomes a grief incident.
  • No remote scoring service. Computed on our edge from your own data — no third-party model, nothing leaves your Org.
03 One view, all servers

Account Graph

See every Steam ↔ Discord bond — current and archived — for any identity, across every Rust server in your Org.

  • Full relationship history. Every unlink and re-link is preserved as an archived edge — the multi-account penalty isn't a black box.
  • Cross-server reputation surfaces here. See max Oxide tier per server next to each Steam node.
  • Activity Timeline alongside. Every link, unlink, role change, group change — one chronological feed per identity.
Built for operators

Four moving parts. Zero infrastructure of your own.

Identity verification, Rust server integration, Discord automation, and your own brand surface — every layer ships in the box. No SDKs, no schemas to design, no scripts to write.

Identity verification

Discord OAuth and Steam OpenID, fused into one flow.

One-click Discord + Steam. Under 30 seconds, no bot commands, no token paste.
Steam Group gating. Require players to join your Steam group before the link completes.
Player-side unlink page. Self-service revocation honoring GDPR and right-to-be-forgotten.
Relink detection. Account swaps are handled cleanly — the old link is closed, the new one opens.
Encrypted at rest. Per-org isolated row storage. No analytics, no resale.

Rust server integration

One .cs file. Oxide and Carbon supported.

Drop-in plugin. Reads config.json, calls our edge, fires OnPlayerLink hooks.
Multi-server identity pool. One Org, many Rust servers, one shared link table.
Oxide permission group sync. Discord roles map to Rust permissions — reversible in either direction.
Live heartbeat & player count. Dashboard sees who's online, when servers last reported.
Sub-200ms role assign. Plugin reacts to verifications without polling, without rate limits.

Discord automation

Use our bot, or bring your own. Logs go where you tell them.

Verification logs to Discord. Every link and unlink lands as a rich embed in your chosen channel. New
Auto role sync. Verified role assigned the moment a player links — removed when they unlink.
Nickname sync. Prefix or suffix Discord names with Steam IDs, profile flags, or anything you script.
Nitro detection. Recognize boosters and assign a Nitro-only role automatically.
Custom Bot add-on. Run verifications under your own Bot Token instead of the shared platform bot. $5 / mo

Your brand, our edge

A link page on your domain, in your colors, on a global edge.

Custom domain with managed TLS. Point a CNAME, we provision the cert, renew on schedule. Standard
Custom CSS. Full visual control over the link page — background, type, accents, even animations. Pro
White-label. Remove the SimpleLinks footer entirely — your brand stands alone. Pro
Logo, title, and nav. Available on every plan including Free — brand basics aren't gated.
Global low-latency edge. 14 ms p50 from anywhere. No origin servers to keep alive.
Verification logs · new in v3.11

Watch every link land in your Discord channel.

Set a Log Channel ID on each Guild and we'll post a rich embed every time a player links, unlinks, or relinks. Green for successful verifications, red for revocations, with the cause attached — user, admin, plugin, relink, or zombie-cleanup. Best-effort delivery, never blocks the underlying action.

S
SimpleLinks · Verification Logs
✅ Joker has successfully verified their accounts
Discord
@joker
Steam
76561198012345678
Country
🇬🇧 United Kingdom
SimpleLinks · today at 17:42
linked — verified role assigned
S
SimpleLinks · Verification Logs
❌ Joker unlinked their accounts
Discord
@joker
Steam
76561198012345678
Removed by
admin (Joker)
Duration
14 days, 3 hours
SimpleLinks · today at 18:05
unlinked — verified role removed
How it works

Three steps from install to first verified player.

01 CREATE ORG

Sign in with Discord

One click. We pull your Discord guilds — pick one, give it a slug, that's your org.

org: demo
guild: 123456789012345678
tier: free
02 INSTALL PLUGIN

Drop the plugin in Oxide

Copy SimpleLinks.cs into oxide/plugins/. Paste your API key into the generated config.

"api_key": "sl_live_8c3a…"
"guild_id": "123…"
03 SHARE LINK

Send players to /verify

Your branded page at yourbrand.com/verify. The plugin auto-syncs Discord roles within 200 ms.

hook OnPlayerLink(steamId, discordId) {
  // assign role, grant kit…
}
vs. the alternatives

What you don't have to build.

Most Rust communities patch verification together from a general-purpose Discord linker, a spreadsheet, and a handful of console scripts. SimpleLinks ships every layer purpose-built for Rust operators — here's how the capabilities line up, neutrally.

Capability
DIY scripts
Other Rust linkers
SimpleLinks
Discord OAuth + Steam OpenID flow
Build it
Discord only
Built in
Oxide / Carbon plugin with role sync
Write & maintain
No game hook
Drop in .cs
Verification logs to Discord channel
Build webhook
Plain text
Rich embeds
Custom domain with managed TLS
DIY certs
Bot only
CNAME & done
Multi-server identity pool per org
Manual joins
Per-server config
One identity
Hosted infra (you babysit nothing)
You run it
Your VPS
Global edge
REST API with scoped keys
If you ship it
Rarely
Standard+
Two-way Oxide ↔ Discord sync
Out of reach
One direction
Both, sub-minute
Trust Score per player (0–100)
N/A
Not offered
Live, 30-day trend
Cross-server Account Graph
Manual joins
Single server
Whole-Org view
For developers

A clean REST API. Three key types. Scoped permissions.

Issue a Plugin key for your Rust servers, a Bot key for your Discord automations, or a Custom key for whatever else — each one carries only the action groups it needs. Verification responses are HMAC-signed per org.

Built for the operators who write code.

Every link, unlink, role sync, and pending-change query lives behind a single REST surface. Permission groups (lookup, update, sync, cleanup) keep blast radius tight. Docs include curl-ready samples for every endpoint.

Three key types: Plugin, Bot, Custom
Per-key permission groups, revocable from the dashboard
HMAC-signed responses with per-org rotating secret
Bulk endpoints for nicknames, roles, and Oxide groups
curl · lookup by Steam ID
# Find a player's Discord link by Steam ID
curl "https://simplelinks.cc/api/findBySteam"   -H "Authorization: Bearer sl_live_8c3a…"   -d '{"steam_id":"76561198012345678"}'

# Response
{
  "success": true,
  "data": {
    "discord_id": "349279096745754624",
    "discord_name": "Joker",
    "linked_at": 1747234280,
    "nitro": true
  }
}
Transparent by design

What we read. What we keep. What we don't.

SimpleLinks is opinionated about identity privacy. The data your players hand over to us is the minimum needed to verify, and we publish what we ask for, what we store, and what we won't touch.

We do this
Read Discord identify scope (id, username, avatar).
Read Steam ID via Steam OpenID 2.0 (public).
Store the link {discord_id, steam_id, guild_id} in your organization's isolated row.
Sign verification responses with a per-org HMAC before sending to your plugin.
Honor unlink requests within seconds; data export available on Standard and up.
We never do this
Request email, friends list, DMs, or any write scope on Discord.
Run analytics, fingerprinting, or third-party JS on your link pages.
Share identity data across organizations or resell it. Ever.
Rate-limit the free tier's verifications or charge per linked account.
Lock you in. Your data is exportable as JSON; portable to any backend.
Pricing

Start free. Scale when your community does.

Same edge, same plugin, same identity model. Higher tiers unlock custom domains, the public API, white-label, and CSS overrides. Switch or cancel anytime.

Free
Free
For a single Rust server kicking the tires.
$0 / month / month
  • 1 organization · 1 guild · 2 servers
  • 500 active links
  • Shared Discord bot, Oxide & Carbon plugin
  • Verification logs to Discord channel
  • Custom domain & API access
  • White-label · custom CSS
Pro
Pro
For agencies and networks running it as their own product.
$10$100 / month / year Save $20
  • 10 orgs · 10 guilds · 50 servers
  • 100,000 active links
  • White-label (no SimpleLinks footer)
  • Custom CSS on link pages
  • Everything in Standard
  • Priority support · 24h SLA

Verify your first player in under five minutes.

No card. No setup call. Sign in with Discord, drop the plugin in, and your /verify page is live.