"A beginning is a very delicate time."

Sahir Venn — Mentat of Dune: Awakening Docker

The watcher that never sleeps.

Mentat Link is home to Sahir Venn — the Mentat serving Dune: Awakening Docker. A Mentat is a human trained as a living computer; Sahir Venn is the one assigned to your server. Status cards, player inventories, combat intel, and more — all through slash commands.

See It In Action

Two commands — your server's health and your character's status.

Live Preview
sietch-watch
U
Fedaykin Today at 14:32
/dune server status
Sahir Venn APP Today at 14:32
Sietch Watch — Server Status
STATUS
● Online
PLAYERS
0 online, 2 total
BATTLEGROUP
Tabr-Tau (sh-afe01…)
SPICE FIELDS
33 active across both maps
U
Fedaykin Today at 14:33
/dune player whoami
Sahir Venn APP Today at 14:33
The Personal Ledger — Your Character
You are linked as Fedaykin. Your faction is Fremen.
INVENTORY
24 items
STORAGE
4 containers
LEVEL
GUILD
Fedakyn Raiders
players online
sietches
battlegroups
spice fields
installations
commands run
Read-only by default Bearer-token auth RBAC Zero Docker access
Live data

What Sahir Venn Brings to Your Sietch

Seven pillars of knowledge, pinned to the board for all to see.

Sietch Watch

Eyes on the battlegroup

health status summary readiness services

The Personal Ledger

Know thyself, know thy spice

link whoami inventory storage find faction

Deep Desert Intel

What the worms know

activity combat resources economy dashboard

The Archives

Records of Arrakis

population backups maps logs

Kanly Council

The voice of the Naib

doctor cooldowns latency events broadcast

Foundation Stones

Beneath the sand

version servers ports db

Mentat Core

The beat that calls

about ping help setup

How Sahir Venn Works

From silence to watcher in minutes.

1

Add to Discord

Invite Sahir Venn to your Discord server. No application or bot token to create — it's already a running, hosted bot.

2

Connect Your Console

Sign in with Discord on the setup portal, then enter your console URL and adapter token. If your console's Discord adapter is already enabled, no .env editing is needed.

3

Type /dune

Assign roles to your members. Check server status, view inventories, track combat intel — right from Discord.

Built for Survival

Security is not a feature. It is the foundation.

Deny-by-Default RBAC

Every command is denied unless explicitly granted. The owner assigns Discord roles to four tiers (Player, Moderator, Admin, Owner) with fine-grained per-command permissions. Write operations (restarts, backups, updates) are separately gated behind a global enable flag.

Bearer-Token Auth

Every request to the console requires a secret bearer token. No token, no access.

Granular Role-Based Access

Four tiers — Player, Moderator, Admin, Owner — control command access. The owner can assign any Discord role to any command or group of commands. Two modes: restricted (explicit grants required) and open (all members have access).

No Docker Socket

The bot never touches the Docker socket. It cannot see or control your containers.

No Direct Game Database Access

The bot never queries the game server's Postgres database. Character linking stores Discord↔Character associations (up to three per user) in the bot's own local database. All game data flows through the console's secure API layer.

No Shell Commands

The bot cannot execute shell commands on your server. Period.

Secrets Stay Out of Code

Tokens loaded from files (keep them at 0600) or environment variables — never committed to git. Multi-tenant adapter tokens encrypted at rest (AES-256-GCM). The bot's own code never writes secrets to logs.

Scanned Every Commit and PR

Pre-commit hooks run gitleaks, ggshield, and semgrep locally. CI adds full Semgrep Pro + Supply Chain analysis, trivy scanning, and dependency auditing on every push to main and every pull request.

All the Words Sahir Venn Speaks

Every command, laid bare on the scroll.

CommandDescriptionRole
/dune server healthCheck the Discord adapterPlayer
/dune server statusDashboard card with server status, players, mapsPlayer
/dune server summaryCompact text summary of server statusPlayer
/dune server readinessReadiness and preflight checksPlayer
/dune server servicesList all game services and their statePlayer
/dune server services-detailDetailed service status with diagnosticsPlayer
/dune server readiness-detailReadiness with full issue reportingPlayer
/dune server maintenanceShow maintenance mode statusPlayer
CommandDescriptionRole
/dune player link <name>Link Discord to your in-game characterPlayer
/dune player unlink <id>Remove a specific character link by IDPlayer
/dune player whoamiShow your linked game character infoPlayer
/dune player verify <code>Verify a multi-character link codePlayer
/dune player charactersList all your linked charactersPlayer
/dune player enable <id>Enable a linked character in this serverPlayer
/dune player disable <id>Disable a linked character in this serverPlayer
/dune player default <id>Set your default character for this serverPlayer
/dune player inventoryView your character's inventoryPlayer
/dune player storageView items in your storage containersPlayer
/dune player find <item>Search for an item across all storagePlayer
/dune player faction <name>Set your faction for themed embedsPlayer
CommandDescriptionRole
/dune ops activityPlayer activity statisticsPlayer
/dune ops combatCombat and death statisticsPlayer
/dune ops resourcesResource field data (spice, water, minerals)Player
/dune ops economyCurrency, trading, and tax dataPlayer
/dune ops locationMap location activity (markers, density, territories)Player
/dune ops dashboardAggregated operational summaryPlayer
/dune ops armoryServer-wide aggregate inventory statsPlayer
/dune ops prometheusContainer and infrastructure metricsPlayer
/dune ops socBridge health and request statsPlayer
/dune ops announcementsShow recent server announcementsPlayer
/dune ops alertsShow active Prometheus alertsPlayer
CommandDescriptionRole
/dune admin doctorFull system diagnostic across all servicesAdmin
/dune admin cooldownsShow active command cooldownsAdmin
/dune admin latencyAdapter request latency historyAdmin
/dune admin eventsRecent server incidents and alertsAdmin
/dune admin broadcast <msg>Send a message to all in-game playersModerator+
/dune admin rolesShow configured Discord role mappingsAdmin
/dune admin sync-commandsCheck Core's command catalog for drift against the bot's registryAdmin
CommandDescriptionRole
/dune infra versionShow Dune stack versionPlayer
/dune infra serversList game server partitionsPlayer
/dune infra portsShow network port and listener statusPlayer
/dune infra dbDatabase status and healthPlayer
CommandDescriptionRole
/dune core aboutBot version, security info, connection detailsPlayer
/dune core pingTest Discord and adapter latencyPlayer
/dune core helpList all commands you have permission to usePlayer
/dune core setupHow to add this bot to your own Discord serverPlayer
CommandDescriptionRole
/dune data populationShow server population statisticsPlayer
/dune data backupsList recent database backupsPlayer
/dune data mapsShow active map partitionsPlayer
CommandDescriptionRole
/dune logs dune-cacheView dune-cache container logsPlayer
/dune logs dune-generatedView dune-generated container logsPlayer
/dune logs dune-serverView dune-server container logsPlayer
/dune logs dune-steamView dune-steam container logsPlayer
/dune logs dune-workView dune-work container logsPlayer
/dune logs orchestratorView orchestrator service logsPlayer
/dune logs redblink-dune-docker-consoleView the console adapter's own container logsPlayer

Bring the Watcher to Your Sietch

"The mystery of life isn't a problem to solve, but a reality to experience."

Sahir Venn is a hosted Discord bot — invite it, connect your console through the setup portal. If your console's Discord adapter is already enabled, you're up in about 5 minutes. No Discord application or bot token to create.

Questions the Fremen Ask

Wisdom for those who seek to understand.

Yes. Sahir Venn is a single, hosted bot — invite it with the Add to Discord link, then connect your console through the web setup portal. No Discord application to create. Follow the Setup Guide for step-by-step instructions.

Yes. It never accesses the Docker socket or game files directly. All commands go through a bearer-token protected API. Secrets use file-based storage with restricted permissions (0600). Security scanning runs on every commit.

Sahir Venn uses a deny-by-default IAM-style RBAC model. The owner assigns Discord roles to four tiers (Player, Moderator, Admin, Owner) with per-command permissions. Character linking (/dune player link) stores a Discord↔Character association in the bot's local database. Admin write operations (restarts, backups, updates) require an explicit enable flag and role authorization.

First, link your Discord account to your character: /dune player link <your-character-name>. Then run /dune player inventory to see everything your character is carrying.

You likely don't have a role for Sahir Venn assigned yet — ask a server admin to give you the Player role (or higher). If commands still don't appear after a minute, try logging out and back into Discord. If your server was just connected, allow up to an hour for commands to register globally.

No coding. Inviting the bot and connecting it through the web setup portal is mostly point-and-click — you'll need your console's URL and an adapter token. If your console doesn't have the Discord adapter enabled yet, that's one SSH step (the Setup Guide shows the exact commands) rather than anything you write yourself.

Yes — Sahir Venn runs on our hosted infrastructure, so your Console URL must be publicly reachable (a public IP, a domain, or a tunnel like Cloudflare Tunnel if your console runs on a home network). See the Setup Guide for details.

Generate a new token, update the token file in your console's repo root (runtime/secrets/discord-adapter-token.txt — the full path is /repo/runtime/secrets/discord-adapter-token.txt inside the console container), restart the console, and paste the new token into the setup portal. The old token stops working immediately.