SPERANZA

GM Operations Dashboard

SPERANZA

Toledo Underground — GM Operations Dashboard

City Resources

ARC Threat Levels

Create Mission

TITLE *
POSTED BY (NPC)
LOCATION
RISK LEVEL
TEAM SIZE
REWARD
MISSION BRIEFING

Active Missions

Completed / Failed

Raider Roster

💸 Transfer Credits

Move credits from one Raider to another. Use this to reward players, correct balances, or simulate IC transactions.

FROM
TO
AMOUNT

ARC Activity Reports

Auto-post SIGINT broadcasts. Reports rotate through ARC unit types and maps, weighted toward high-threat areas.

Auto-Post
Interval
Post To

ARC Probe Landing Events

Auto-post Probe landing alerts. Posted as Shani with location and loot hook — gives players a narrative event between missions.

Auto-Post
Interval
Post To

Surface Condition

Set current Topside weather. Selecting a condition saves it automatically. Hit post to broadcast to Discord.

Condition
Post To
HOW TO USE THIS DASHBOARD
Send any section to a Discord channel as a formatted help post
🏙️ City State
Dashboard → City tab

Tracks the current status of Speranza's five city resources and ARC threat levels across all five Topside maps. Changes here are cosmetic/narrative — they don't auto-affect gameplay unless you use /city-update via slash command.

CITY RESOURCES

Click any tier button to update a resource. Four tiers: Critical Low Stable Surplus

Tracks: Food & Seeds, Medicine, Salvage & Materials, Weapons & Ammo, Credits (city pool).

ARC THREAT LEVELS

Sets the ARC threat for each Topside map. Four levels: None Elevated High Critical

Threat levels weight the ARC Report auto-posts — high-threat maps appear in broadcasts more often.

/city-status — Posts a Puppeteer-rendered city report image to the channel. Falls back to embed if render fails.
/city-update [resource] [tier] — GM-only. Updates a resource tier from Discord.
/threat-update [map] [level] — GM-only. Updates ARC threat level from Discord.
🛒 Traders & Stock
Dashboard → Traders tab

Manage the five NPC traders: Celeste, Shani, Tian Wen, Apollo, and Lance. Each trader has a status, a flavor note, and a structured stock inventory that players can browse and purchase from via slash commands.

TRADER STATUS & NOTE

Status buttons: Open Limited Closed — shown in /trader results.

The Trader Note field is the IC flavor text shown when players use /trader [name]. Update it to reflect what's going on narratively.

STOCK ITEMS

Each stock item has a Name, Qty, and Price in Credits. The 5-character code next to the name (e.g. A1B2C) is the item ID players use with /buy.

Edit qty and price inline. When qty hits 0 it shows as out of stock. Use + Add to add new items. Clear All Stock wipes the whole list.

/trader [name] — Shows the trader's status and note. Available to all Raiders.
/trader-update [name] [status] [note] — GM-only. Updates status and optional note from Discord.
/stock [trader] — Shows trader inventory with item IDs, prices, and quantities. Leave trader blank to see all.
/buy [trader] [item-id] [qty] — Deducts credits automatically, reduces stock, notifies GM in #gm-planning.
💰 Credits
Dashboard → Roster tab (Credits column)

Each approved Raider has a personal credit balance. Credits are awarded by the GM and spent at trader markets. The system is automatic — /buy deducts credits without GM confirmation, but a notification is posted to #gm-planning for every purchase.

AWARDING CREDITS

In the Roster tab, each Raider has a credit input field. Type a new value and click away to save. This is how you pay Raiders after missions — set the new total manually.

To add credits: check their current balance, add the reward amount, enter the total.

PURCHASE FLOW

When a player uses /buy: bot checks they have enough credits → deducts → reduces stock qty → posts notification embed to #gm-planning.

If the player can't afford it, the command fails with an error (ephemeral — only they see it). Out-of-stock items also block purchase.

/credits — Shows the player their current credit balance. Ephemeral (only they see it).
/buy [trader] [item-id] [qty] — Deducts credits and reduces stock automatically on use.
📋 Missions
Dashboard → Missions tab

Create, track, and archive Topside missions. Missions created from the dashboard are stored in state only — they don't auto-post to Discord. Use /mission-create from Discord to post directly to #mission-board with a ping.

CREATING MISSIONS

Fill in Title, NPC Poster, Location, Risk Level, Team Size, Reward, and Briefing. Only Title is required. Click + Create Mission — it appears in Active Missions immediately.

The Briefing field is quoted IC text attributed to the NPC poster — write it in-character.

COMPLETING & ARCHIVING

✓ Complete or ✗ Fail moves the mission to the archive. 🗑 Delete removes it entirely (no recovery).

When completing via /mission-complete on Discord you can optionally tie the outcome to a city resource change (e.g. success → food goes to Stable).

/mission-create [title] [location] [risk] [objective] [reward] [teamsize] — GM-only. Posts formatted mission embed to #mission-board with @Mission Pings.
/mission-complete [id] [outcome] [resource] [impact] — GM-only. Archives mission, optionally updates a city resource.
/mission-list — Posts all active missions as an embed. Available to all Raiders.
👥 Roster
Dashboard → Roster tab

Lists all approved Raiders with their specialty, current status, and credit balance. Characters are added here automatically when you use /approve. New Raiders start with 0 credits and Active status.

STATUS MANAGEMENT

Four statuses: Active Shaken Injured Critical

Change via the dropdown — saves immediately. Also posts a status update embed to #status-board when set via /status on Discord.

Injured = out of Topside missions 48–72hr. Critical = permanent consequence, negotiated with player.

ONBOARDING FLOW

Player posts in #character-sheets → bot pings GM in #gm-planning → GM runs /approve @user [specialty] → Newcomer role removed, Raider + Specialty roles assigned, IC channels unlock, welcome posted in #the-streets. Character appears in Roster with 0 cr.

/approve @user [specialty] — GM/Staff. Assigns Raider + Specialty role, removes Newcomer, registers character.
/status @user [tier] — GM/Staff. Updates character status, posts to #status-board.
/sheet @user — Pulls character data. Available to all Raiders.
📡 Surface Intel
Dashboard → Surface Intel tab

Three automated or manually-triggered broadcast systems that post in-character messages to Discord channels to generate narrative atmosphere between sessions.

ARC ACTIVITY REPORTS

Posts randomized SIGINT-style alerts about ARC unit activity. Rotates through all ARC unit types and Topside maps — weighted toward maps with higher threat levels. Enable auto-post with an interval (3–24hr), or fire manually with ▶ Post Report Now.

ARC PROBE EVENTS

Posts Probe landing alerts voiced as Shani, with location and loot hook. Good for giving players something to react to IC. Set interval (24–72hr) or trigger manually.

SURFACE CONDITION

Sets current Topside weather. Five conditions: Standard, Snowfall, Hurricane, Heavy Fog, Electrical Storm. Selecting a condition saves it; hit ▶ Post Condition Update to broadcast to Discord. The preview shows the exact text that will be posted.

CHANNEL SELECTORS

Each feature has its own channel dropdown. Populated live from Discord. Hit ↻ Refresh Channels if a channel is missing. Selections are saved with the feature settings.

/arc-report — GM-only. Manually posts an ARC activity broadcast to the configured channel.
/probe-event — GM-only. Manually posts a Probe landing alert.
/surface-condition [condition] — GM-only. Sets condition and broadcasts it.
⚡ Slash Commands Quick Reference
All bot commands — post this in #rules or #lore-codex for players
CITY & WORLD
/city-status — Post city report
/city-update — Update resource (GM)
/threat-update — Update ARC threat (GM)
/surface-condition — Set Topside weather (GM)
/arc-report — Post SIGINT broadcast (GM)
/probe-event — Post probe landing (GM)
TRADERS & CREDITS
/trader [name] — Check trader status
/trader-update — Update trader (GM)
/stock [trader] — View trader inventory
/buy [trader] [id] [qty] — Purchase item
/credits — Check your balance
CHARACTERS & MISSIONS
/approve @user [spec] — Approve sheet (GM/Staff)
/status @user [tier] — Update status (GM/Staff)
/sheet @user — View character data
/mission-create — Post mission (GM)
/mission-complete — Archive mission (GM)
/mission-list — View active missions
HOW TO ROLEPLAY IN SPERANZA
A guide for new and experienced writers — channels, etiquette, and how to actually do this
📖 What Is Roleplay?
Start here if you've never done this before

Roleplay (RP) is collaborative storytelling. You create a character, give them a name and a history and a personality, and then you write what they do, say, and feel — in response to what other players write. Think of it like improv theater, or co-writing a novel, or a tabletop RPG without dice.

Nobody controls the whole story. Every player controls their own character and contributes scenes, reactions, and moments. The GM (Game Master) runs the world — NPCs, missions, consequences — but the story belongs to everyone.

You don't need to be a great writer. You need to be present, react honestly to what's happening, and let your character be a real person with wants and flaws. That's it.

IC vs OOC

IC (In Character) — you are writing as your character. Everything you post in IC channels is your character speaking, acting, and thinking inside the world of Speranza.

OOC (Out of Character) — you, the player, talking to other players. Use #general for OOC chat. If you need to say something OOC inside an IC channel, wrap it in parentheses: (OOC: gonna be offline tonight, feel free to continue without me)

The Basic Format

Most RP is written in third person, past tense — like a novel. You describe what your character does and says.

Dialogue goes in quotes. Actions are described in prose. Thoughts are optional but add depth.

Mira pushed through the crowded street, her medkit banging against her hip. She spotted the man first — the way he was holding his side, the tight jaw, trying not to show it.

"Hey." She stepped in front of him. "Don't walk that off. I've seen that walk before."
⚖️ The Golden Rules
Keep these in mind every time you write
Don't Godmode

You only control your own character. You cannot write what another player's character does, says, feels, or decides — ever, without their permission. You can write your character attempting to grab someone. You cannot write that they succeed.

"Kade grabbed Mira by the arm and pulled her into the alley."

"Kade reached for her arm — trying to pull her out of the street before someone saw them."
React, Don't Just Act

The best RP is responsive. Read what others wrote. Let your character be affected by it. A character who never reacts to anything — never gets scared, surprised, moved — feels hollow. Give people something to work with.

She hadn't expected that. For a second she just looked at him — then looked away, jaw tight. "Fine," she said, like it wasn't.
Yes, And...

Borrow from improv: when someone introduces something into a scene, accept it and build on it. Don't shut down other players' contributions. Conflict between characters is great. Conflict between players kills servers.

If something goes wrong story-wise, take it to #general or DM the player — not the IC channels.

🏙️ The Channels — Where Things Happen
What each IC channel is for and how to use it
#the-streets THE MAIN STAGE

The busiest channel. The streets of Speranza — crowded, loud, and alive. This is where most casual IC interaction happens: bumping into someone, overhearing news, moving between locations. If your character is in Speranza and not specifically somewhere else, they're probably here.

Good for: first meetings, casual conversation, reactions to city news, arrivals back from Topside, crowd scenes.

EXAMPLE

The gravity lift shuddered as it descended, and Kade stepped off into the noise of Speranza with two things: a cracked rib and a crate of salvage he didn't want to explain. He kept his head down through the crowd, taking the long way around the market square.

Someone bumped his shoulder. He caught himself on a wall, hissed through his teeth.

"Watch it," he said, before he'd looked up to see who it was.

#the-undercroft THE BAR — WHERE PEOPLE ACTUALLY TALK

An old underground hall converted into Speranza's main drinking spot. This is where Raiders go when they're tired and a little desperate. Slower, more intimate than the streets. The best place for meaningful conversations, alliance-building, information exchange, and the kind of honesty that only comes out after the third drink.

Good for: character development, building relationships, sharing backstory, tension between characters, rumors and intel.

EXAMPLE

Mira had a corner table. She always had a corner table. She was on her second drink when the chair across from her scraped back without her permission.

She looked up, already forming the words to tell whoever it was to find another seat. Then she recognized the jacket.

"You look worse than last time," she said. It wasn't a question.

Kade dropped into the seat like his legs had decided without him. "I'm fine."

"You said that last time too." She pushed her glass toward him. "Drink."

#the-market TRADE, GEAR, AND NPC INTERACTIONS

Where goods change hands. The five NPC traders — Celeste, Shani, Tian Wen, Apollo, and Lance — operate here. Use /stock and /buy for mechanical purchases, but you can also roleplay the transaction in the channel. The GM may respond as the traders for flavor.

Good for: buying and selling gear, interacting with traders, player-to-player trade negotiations, bartering scenes.

EXAMPLE

The stall smelled like machine oil and something chemical underneath it. Apollo didn't look up when Kade approached — just kept cataloguing rounds into a tray with practiced efficiency.

"I need a trauma kit. The good kind." Kade put his credits on the counter. "And I don't want to explain why."

Apollo finally looked at him. At the credits. Back at him. He picked up the stack.

"I never ask," he said, and reached under the counter.

#workshop-floor GEAR PREP AND TECHNICAL WORK

The smell of gun oil and welding sparks. This is where Raiders get ready for Topside — repairing gear, crafting, running diagnostics, testing loadouts. A great channel for showing what your character does when they're not in the field.

Good for: pre-mission preparation, showing character competence, tech-focused interactions, mentoring newer Raiders, quiet solo scenes that establish character.

EXAMPLE

Mira had the medkit spread across the worktable in pieces. Reorganizing again. She did it before every run — not because it needed reorganizing, but because she needed to know exactly where everything was when her hands were shaking.

She heard boots behind her and didn't turn around.

"If you're here to talk me out of the Dam run, save it."

#raider-den QUIET MOMENTS AND PRIVATE THOUGHTS

The quieter corner of Speranza. Personal space, downtime, recovery. Good for introspective scenes — journaling, lying awake at night, processing what happened on the last run. Injured characters often end up here. The slowmode is intentional: this channel has a different energy.

Good for: solo reflection, injury recovery scenes, emotional aftermath, character journaling, private two-person conversations.

EXAMPLE

She'd been staring at the ceiling long enough that the crack in the concrete had started to look like something. A coastline, maybe. She didn't know what a coastline looked like. She'd been born underground.

The photo in her boot was starting to fade at the edges. She took it out and looked at it in the low light. Four people. None of them here anymore.

Still looking, she thought at them. Still coming.

#mission-board → Mission Threads TOPSIDE — WHERE IT GETS DANGEROUS

When a mission is confirmed, the GM creates a dedicated thread off of #mission-board. This is where the Topside RP happens — the actual run. The GM posts environmental details and ARC behavior; players write their characters navigating it. Stakes are real. Consequences apply.

Good for: high-tension action, team coordination, improvised problem-solving, moments of failure and sacrifice, the scenes players remember for months.

EXAMPLE — GM POST

📡 [GM] — The filtration plant is quieter than the intel suggested. That's not a good sign. The sealed cache is visible through the broken glass of the control room — roughly forty meters across an open floor. The drones that were supposed to be on a southern sweep are not on a southern sweep. Two Skimmers are circling the building's east side, methodical, close. One of them just changed direction.

EXAMPLE — PLAYER RESPONSE

Kade dropped to a crouch behind a rusted pump housing, pressed his back against the metal. Forty meters. Open floor. Two drones and a changed pattern.

He looked at Mira. Held up two fingers. Pointed east. Then spread his hands: your call.

🌱 If You've Never Done This Before
Practical advice for your first posts
START SMALL

You don't have to write a novel for your first post. Two sentences is fine. Drop your character into #the-streets — they just came back from somewhere, or they're looking for someone, or they're just trying to get from one side of Speranza to the other. That's enough. Other players will find you.

A single specific detail is worth more than a paragraph of vague description. "She had the kind of tired that food doesn't fix" tells you more about a character than three sentences about what she was wearing.

HOW TO JOIN A SCENE

If a scene is already happening, you can write your character into it — just be natural about it. Don't teleport in. Your character was nearby, or they heard something, or they just happened to walk past. Give a brief in-world reason they're there, and then react to what's happening rather than redirecting it.

If you're unsure whether a scene is open, a quick OOC note in the channel — (mind if I jump in?) — is always welcome.

WRITING YOUR CHARACTER'S VOICE

Every character should sound like themselves. A gruff ex-soldier speaks differently than a nervous engineer. You don't have to maintain this perfectly — just think about how your character would actually say something before you write their dialogue.

Your character's flaw is your best tool. A character who can't leave an injured person behind has already written half their story for you. Lean into it.

PACING AND LENGTH

Match the energy of the scene. Fast action gets short posts — punchy, reactive. Quiet emotional scenes can breathe more. You don't need to respond immediately to every post; a thoughtful reply an hour later is better than a rushed one in five minutes.

If you're going to be away for a while, a quick OOC note keeps things moving. Nobody expects you to be online 24/7 — just communicate.

🎯 If You've Done This Before
What makes Speranza specifically work
THE TONE

Speranza runs gritty and grounded. It's not grimdark for its own sake, but it's not a power fantasy either. Characters are competent but not invincible. The world is genuinely hostile. Stakes mean something because consequences are real.

The best writing here tends to live in the small human moments — the conversation before the mission, the silence after it. The ARC can wait. The character can't always.

THE STRUCTURE

This server is medium-structure: enough framework to keep things consistent, light enough to just write. The GM doesn't need to approve every IC action — just the things with mechanical weight (missions, status changes, major lore additions).

If you want to introduce something big — a new faction, a piece of lore, something that would affect the whole server — check in with the GM first. For everything else, write it.

DRIVING STORY FORWARD

The best players don't wait for the GM to give them something to do. They create situations. They make things complicated for themselves and others. They ask questions that don't have easy answers. They leave hooks in their posts that other players can grab.

If your character is in the Undercroft with nothing happening, make something happen. Start a rumor. Pick a fight. Owe someone a debt. The GM notices players who generate story.

CONSEQUENCES AND STAKES

Permanent character death is always opt-in — that's your call, not anyone else's. But Shaken, Injured, and Critical are real and matter. An Injured character who can't go Topside for 72 hours has story potential. Don't treat consequences as setbacks — treat them as material.

The best moments in servers like this come from the runs that went wrong. Lean into failure. It's more interesting than winning.

⚡ Quick Reference
The short version of everything above
THE CHANNELS
#the-streets — Daily life, first meetings, arrivals
#the-undercroft — The bar. Real conversations happen here
#the-market — Trading, gear, NPC interactions
#workshop-floor — Gear prep, technical RP, pre-mission
#raider-den — Quiet moments, recovery, reflection
Mission threads — Topside. The dangerous part
THE RULES THAT MATTER
Only control your own character
IC channels = write in character
OOC notes go in (parentheses) or #general
Violence stays Topside — not in Speranza
Permanent death is always your choice
Big lore additions need GM approval first
IF YOU'RE STUCK
Drop into #the-streets and react to something
Go to the Undercroft and start a conversation
Check #mission-board — sign up for something
Use your character's flaw. Lean into it
Ask in #general — someone will write with you
Ask in #character-workshop for feedback
💰 Credits & the Economy
How the in-character economy works

Credits are Speranza's currency. They're earned by completing missions and spent at the trader markets. The economy is real within the story — your balance is tracked by the bot, and purchases are automatic.

EARNING CREDITS

The GM awards credits after missions. The payout reflects the risk — a routine salvage run pays less than a high-threat deep-zone extraction. Credits can also be transferred between Raiders: tip the medic who kept you alive, pay someone for a favor, settle a debt.

Use /credits anytime to check your current balance. Only you can see the result.

SPENDING CREDITS

Use /stock to browse what a trader has available. Each item shows its price and stock quantity. Use /buy [trader] [item-id] to purchase — credits are deducted automatically and the GM is notified.

If you can't afford something or it's out of stock, the command fails quietly (only you see the error). No need to ask the GM — just use the commands.

/credits — Check your balance. Ephemeral — only you see it.
/stock — Browse all trader inventories. Add a trader name to filter: /stock celeste
/buy [trader] [item-id] — Purchase an item. Deducts credits and reduces stock automatically.
/transfer @raider [amount] — Send credits to another Raider. Both balances update immediately.
🎒 Inventory & Gear
Your loadout, your identity

Your gear is part of your character. The notable equipment listed on your character sheet defines how others see your Raider — what they carry says something about who they are and what they've been through.

YOUR CHARACTER SHEET

Your sheet lists your Notable Gear — the 3–5 items that matter most. This isn't an exhaustive inventory list, it's the stuff your character would reach for first. Update it in #character-sheets when your loadout changes significantly (you found something important, lost something critical, or bought a major upgrade).

Minor consumables and small purchases don't need to go on your sheet. Use your judgment — would this item come up in a scene?

BUYING FROM TRADERS

When you buy gear from a trader using /buy, it's yours IC. Update your character sheet to reflect it if it's significant. The GM tracks purchases in the background — if you show up to a mission with something new and it matters, the GM may reference it.

Traders restock over time. If something is out, check back or ask Shani IC if she's heard of any supply runs.

Kade checked his credits — enough for the suppressors Apollo had behind the counter. Whether Apollo would remember selling them was a different question.
Update your sheet in #character-sheets when gear changes significantly — edit your original post.
Small items (medkits, ammo, consumables) don't need to be on your sheet unless they become story-relevant.
Lost gear is permanent unless the GM says otherwise. If your character dropped their rifle getting out, it's gone.