Jump to content

Dashboard: Difference between revisions

From Gor Wiki
Created page with "{{DISPLAYTITLE:Web Dashboard}} __NOTOC__ <div style="width:calc(100% - 40px); max-width:1500px; margin:-42px auto 30px auto; padding:0; font-family:Georgia, 'Times New Roman', serif; color:#e8dfcf;"> <div style="overflow:hidden; border:1px solid #7d5b37; border-radius:8px; background:#17110d; box-shadow:0 4px 18px rgba(0,0,0,0.55);"> <!-- ========================================================= --> <!-- HEADER --> <!-- ==================================================..."
 
No edit summary
 
Line 10: Line 10:
<div style="margin:0; padding:24px 24px 20px 24px; text-align:center; line-height:1.2; background:linear-gradient(180deg,#3b2118 0%,#1b120e 100%); border-bottom:1px solid #7d5b37;">
<div style="margin:0; padding:24px 24px 20px 24px; text-align:center; line-height:1.2; background:linear-gradient(180deg,#3b2118 0%,#1b120e 100%); border-bottom:1px solid #7d5b37;">
<div style="margin:0; padding:0; font-size:36px; line-height:1.18; font-weight:bold; letter-spacing:2px; color:#e0b45d; text-shadow:2px 2px 4px #000;">WEB DASHBOARD</div>
<div style="margin:0; padding:0; font-size:36px; line-height:1.18; font-weight:bold; letter-spacing:2px; color:#e0b45d; text-shadow:2px 2px 4px #000;">WEB DASHBOARD</div>
<div style="margin:10px 0 0 0; padding:0; font-size:18px; line-height:1.35; color:#c9bba6; font-style:italic;">A dedicated web interface for managing the parts of GorBot that are easier to use outside Discord commands.</div>
<div style="margin:10px 0 0 0; padding:0; font-size:18px; line-height:1.35; color:#c9bba6; font-style:italic;">A dedicated web interface for the GorBot features that are easier to manage outside Discord commands.</div>
</div>
</div>


Line 19: Line 19:


<div style="padding:30px 42px 18px 42px; font-size:16px; line-height:1.8;">
<div style="padding:30px 42px 18px 42px; font-size:16px; line-height:1.8;">
<div style="font-size:22px; color:#d9b36c; margin:0 0 12px 0; font-weight:bold;">Discord Is the Community — the Dashboard Is the Control Surface</div>
<div style="font-size:22px; color:#d9b36c; margin:0 0 12px 0; font-weight:bold;">Discord Is Where the Community Lives — the Dashboard Gives It More Room</div>


The '''GorBot Web Dashboard''' gives users and server administrators a dedicated place to manage features that would be difficult, repetitive, or cumbersome to handle entirely through Discord commands.
The '''GorBot Web Dashboard''' gives community members, server owners, and authorized staff a dedicated place to manage features that would be difficult or cumbersome to handle entirely through Discord commands.


Discord remains the place where communities gather, roleplay, communicate, moderate, and interact with GorBot. The dashboard complements that experience by moving complex configuration, profile management, detailed forms, administrative tools, and long-form controls into a web interface designed for those tasks.
Discord remains the main place for conversation, roleplay, live moderation, events, notifications, and community interaction.
 
The dashboard complements Discord by providing larger forms, persistent pages, searchable records, visual controls, profile editors, server settings, and other tools that benefit from more space than a command window can provide.


<div style="margin:24px 0 6px 0; padding:20px 24px; background:#241813; border-left:4px solid #9e2f26; border-radius:4px;">
<div style="margin:24px 0 6px 0; padding:20px 24px; background:#241813; border-left:4px solid #9e2f26; border-radius:4px;">
<div style="font-size:19px; font-weight:bold; color:#e0b45d; margin-bottom:7px;">The dashboard does not replace Discord.</div>
<div style="font-size:19px; font-weight:bold; color:#e0b45d; margin-bottom:7px;">The dashboard does not replace Discord.</div>
It exists so users and administrators do not have to force every complex workflow into slash commands, prefix commands, buttons, and temporary Discord forms.
It gives GorBot a better place for detailed configuration, profile management, roleplay tools, community settings, and other workflows that would otherwise require long sequences of commands or temporary forms.
</div>
</div>
</div>
</div>
Line 39: Line 41:
<div style="text-align:center; margin-bottom:24px;">
<div style="text-align:center; margin-bottom:24px;">
<div style="font-size:28px; font-weight:bold; color:#e0b45d; text-shadow:1px 1px 3px #000;">WHAT THE DASHBOARD PROVIDES</div>
<div style="font-size:28px; font-weight:bold; color:#e0b45d; text-shadow:1px 1px 3px #000;">WHAT THE DASHBOARD PROVIDES</div>
<div style="margin-top:6px; color:#a99a87; font-style:italic;">A web-based home for profile management, configuration, administration, and live community tools.</div>
<div style="margin-top:6px; color:#a99a87; font-style:italic;">Personal roleplay tools and server-management features in one connected interface.</div>
</div>
</div>


Line 45: Line 47:
|-
|-
| style="width:33.33%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
| style="width:33.33%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
<div style="font-size:21px; font-weight:bold;">User Profiles</div>
<div style="font-size:21px; font-weight:bold;">[[Character System|Characters & Profiles]]</div>
<div style="margin-top:9px; line-height:1.6;">Members can work with supported personal and roleplay information through forms that are easier to read and maintain than command-only interfaces.</div>
<div style="margin-top:9px; line-height:1.6;">Create, browse, edit, and maintain persistent roleplay characters with flexible profile styles, custom fields, images, and supported presentation controls.</div>


| style="width:33.33%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
| style="width:33.33%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
<div style="font-size:21px; font-weight:bold;">Character Management</div>
<div style="font-size:21px; font-weight:bold;">[[NPC Database|NPC Database]]</div>
<div style="margin-top:9px; line-height:1.6;">The [[Character System|Character Library]] provides a centralized way to create, browse, edit, and maintain persistent roleplay characters.</div>
<div style="margin-top:9px; line-height:1.6;">Create and maintain NPC profiles, portraits, profile styles, custom fields, cloning, sharing, and global publishing from a dedicated management view.</div>


| style="width:33.33%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
| style="width:33.33%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
<div style="font-size:21px; font-weight:bold;">NPC Management</div>
<div style="font-size:21px; font-weight:bold;">Server Settings</div>
<div style="margin-top:9px; line-height:1.6;">The [[NPC Database]] provides a dedicated interface for creating, editing, cloning, sharing, publishing, and maintaining persistent NPC identities.</div>
<div style="margin-top:9px; line-height:1.6;">Authorized community managers can configure supported GorBot behavior without relying entirely on command syntax or manually entering Discord IDs.</div>
|-
|-


| style="width:33.33%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
| style="width:33.33%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
<div style="font-size:21px; font-weight:bold;">Server Configuration</div>
<div style="font-size:21px; font-weight:bold;">[[Moderation|Moderation & Administration]]</div>
<div style="margin-top:9px; line-height:1.6;">Server owners and authorized managers can configure supported GorBot features from organized web pages instead of relying only on command syntax.</div>
<div style="margin-top:9px; line-height:1.6;">Trusted staff can use supported web tools for community moderation, permissions, role management, and server-level administrative workflows.</div>


| style="width:33.33%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
| style="width:33.33%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
<div style="font-size:21px; font-weight:bold;">Moderation & Administration</div>
<div style="font-size:21px; font-weight:bold;">[[Automations|Automation]]</div>
<div style="margin-top:9px; line-height:1.6;">Authorized staff can access supported moderation, role, permissions, configuration, and administrative workflows from a clearer management surface.</div>
<div style="margin-top:9px; line-height:1.6;">Build and manage configurable workflows through forms that make triggers, roles, channels, actions, and publishing behavior easier to understand.</div>


| style="width:33.33%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
| style="width:33.33%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
<div style="font-size:21px; font-weight:bold;">Automation & Community Tools</div>
<div style="font-size:21px; font-weight:bold;">Community Tools</div>
<div style="margin-top:9px; line-height:1.6;">Complex automation, announcements, tracked content, roleplay systems, and other community features can be configured more comfortably through dedicated web controls.</div>
<div style="margin-top:9px; line-height:1.6;">Manage supported announcements, tracked content, role interactions, roleplay tools, and other community-facing features from one web interface.</div>
|}
|}
</div>
</div>
Line 73: Line 75:


<!-- ========================================================= -->
<!-- ========================================================= -->
<!-- USER DASHBOARD -->
<!-- USER VIEW -->
<!-- ========================================================= -->
<!-- ========================================================= -->


<div style="padding:30px 42px 10px 42px;">
<div style="padding:30px 42px 10px 42px;">
<div style="text-align:center; margin-bottom:24px;">
<div style="text-align:center; margin-bottom:24px;">
<div style="font-size:28px; font-weight:bold; color:#e0b45d;">THE USER DASHBOARD</div>
<div style="font-size:28px; font-weight:bold; color:#e0b45d;">THE MEMBER DASHBOARD</div>
<div style="margin-top:6px; color:#a99a87; font-style:italic;">A personal view focused on the features an ordinary community member actually needs.</div>
<div style="margin-top:6px; color:#a99a87; font-style:italic;">Ordinary users see the tools that belong to them.</div>
</div>
</div>


<div style="padding:24px 28px; background:#211712; border:1px solid #5f452e; border-radius:7px; line-height:1.8;">
<div style="padding:24px 28px; background:#211712; border:1px solid #5f452e; border-radius:7px; line-height:1.8;">
The user side of the dashboard is intended to keep personal and roleplay tools accessible without exposing administrative controls that do not belong to ordinary members.
The member-facing dashboard is intended to focus on personal and roleplay features rather than server administration.


Depending on enabled features and permissions, a user-facing dashboard may provide access to:
Depending on enabled features, a community member may use the dashboard to manage:


* [[Character System|Characters & Profiles]];
* their [[Character System|Characters & Profiles]];
* [[NPC Database|NPCs]] owned or managed by the user;
* NPCs they own in the [[NPC Database]];
* roleplay-related tools;
* personal roleplay information;
* personal profile information;
* profile images and presentation;
* supported notifications or account-facing controls;
* supported privacy choices;
* public profile and presentation settings;
* community features made available to ordinary members.
* community features that have been enabled for normal members.


The goal is to give users useful self-service tools while keeping server administration separate.
This creates a self-service area where users can maintain their own information without needing staff to make every change for them.
</div>
</div>
</div>
</div>
Line 107: Line 108:
<div style="text-align:center; margin-bottom:24px;">
<div style="text-align:center; margin-bottom:24px;">
<div style="font-size:28px; font-weight:bold; color:#e0b45d;">SERVER MANAGEMENT</div>
<div style="font-size:28px; font-weight:bold; color:#e0b45d;">SERVER MANAGEMENT</div>
<div style="margin-top:6px; color:#a99a87; font-style:italic;">Configuration and control for the people responsible for running a community.</div>
<div style="margin-top:6px; color:#a99a87; font-style:italic;">Additional controls appear only to users with the authority to manage the community.</div>
</div>
</div>


<div style="padding:24px 28px; background:#211712; border:1px solid #5f452e; border-radius:7px; line-height:1.8;">
<div style="padding:24px 28px; background:#211712; border:1px solid #5f452e; border-radius:7px; line-height:1.8;">
Authorized server owners and trusted managers can access additional configuration areas that are not shown to ordinary users.
Server owners and other authorized managers can access additional GorBot configuration appropriate to their Discord community.


These controls are intended for tasks such as:
Supported server-management areas can include:


* server-wide GorBot configuration;
* server-wide GorBot settings;
* role and permission management;
* roles and permission-related configuration;
* moderation settings;
* [[Moderation|moderation]] settings;
* automation setup;
* [[Automations|automation]] configuration;
* tracked content;
* tracked Discord content;
* community features;
* role-selection systems;
* server identity and presentation;
* welcome and community presentation features;
* supported roleplay systems;
* supported roleplay settings;
* diagnostic and management functions where appropriate.
* other server-level GorBot features.


GorBot's dashboard is designed around permissions. A page being available somewhere in the platform does not mean every logged-in user can access or use it.
The dashboard is permission-aware. A control existing on the website does not mean every logged-in user is allowed to use it.
</div>
</div>
</div>
</div>
Line 131: Line 132:


<!-- ========================================================= -->
<!-- ========================================================= -->
<!-- ADMIN GATEWAY -->
<!-- DISCORD LOGIN -->
<!-- ========================================================= -->
<!-- ========================================================= -->


<div style="padding:30px 42px 10px 42px;">
<div style="padding:30px 42px 10px 42px;">
<div style="text-align:center; margin-bottom:24px;">
<div style="text-align:center; margin-bottom:24px;">
<div style="font-size:28px; font-weight:bold; color:#b65a50;">ADMIN GATEWAY</div>
<div style="font-size:28px; font-weight:bold; color:#e0b45d;">DISCORD SIGN-IN</div>
<div style="margin-top:6px; color:#a99a87; font-style:italic;">Operational control for the GorBot platform itself.</div>
<div style="margin-top:6px; color:#a99a87; font-style:italic;">Your Discord identity connects the web interface to the communities and records you are allowed to manage.</div>
</div>
</div>


<div style="padding:24px; background:#211412; border:1px solid #723b35; border-radius:7px; margin-bottom:12px; line-height:1.7;">
<div style="padding:24px 28px; background:#211712; border:1px solid #5f452e; border-radius:7px; line-height:1.8;">
The '''Admin Gateway''' is separate from the ordinary user dashboard.
GorBot uses Discord OAuth for supported dashboard sign-in.
 
This allows the web application to identify the Discord user and apply the ownership and authorization rules required by dashboard features.
 
Signing in answers one question:
 
'''Who are you?'''


It provides protected operational management for the GorBot platform and managed node fleet. This includes areas such as:
GorBot then separately determines:


* cluster overview and health;
* which records you own;
* node management;
* which servers you can manage;
* shared data state;
* whether you have an authorized staff role;
* updates and releases;
* which features the server has enabled;
* backups and rollback;
* what actions you are permitted to perform.
* diagnostics;
* provisioning;
* website and platform management;
* operational documentation and Primer topics.


These tools are intended for authorized platform administration and are not part of the normal member experience.
Logging in does not automatically grant moderation or server-management authority.
</div>
</div>
</div>
</div>
Line 167: Line 170:
<div style="text-align:center; margin-bottom:24px;">
<div style="text-align:center; margin-bottom:24px;">
<div style="font-size:28px; font-weight:bold; color:#e0b45d;">WEB AND DISCORD WORK TOGETHER</div>
<div style="font-size:28px; font-weight:bold; color:#e0b45d;">WEB AND DISCORD WORK TOGETHER</div>
<div style="margin-top:6px; color:#a99a87; font-style:italic;">Use each interface for the kind of work it handles best.</div>
<div style="margin-top:6px; color:#a99a87; font-style:italic;">Each interface handles the work it is best suited for.</div>
</div>
</div>


Line 174: Line 177:
| style="width:50%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
| style="width:50%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
<div style="font-size:21px; font-weight:bold;">Discord</div>
<div style="font-size:21px; font-weight:bold;">Discord</div>
<div style="margin-top:9px; line-height:1.6;">Best suited for live conversation, roleplay, commands, moderation actions, notifications, events, reactions, community interaction, and immediate bot responses.</div>
<div style="margin-top:9px; line-height:1.6;">Live conversation, roleplay, commands, reactions, notifications, moderation actions, community events, and immediate interaction with GorBot.</div>


| style="width:50%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
| style="width:50%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
<div style="font-size:21px; font-weight:bold;">Web Dashboard</div>
<div style="font-size:21px; font-weight:bold;">Web Dashboard</div>
<div style="margin-top:9px; line-height:1.6;">Best suited for detailed forms, profile editing, settings, management pages, long configuration workflows, browsing stored data, and administrative tasks that benefit from more screen space.</div>
<div style="margin-top:9px; line-height:1.6;">Detailed forms, stored profiles, configuration pages, searches, browsing, long-form editing, role selectors, and other tasks that benefit from more screen space.</div>
|}
|}


<div style="margin:0 12px; padding:22px 26px; background:#241813; border:1px solid #6a4b2d; border-left:4px solid #9e2f26; border-radius:6px;">
<div style="margin:0 12px; padding:22px 26px; background:#241813; border:1px solid #6a4b2d; border-left:4px solid #9e2f26; border-radius:6px;">
<div style="font-size:22px; font-weight:bold;">One GorBot platform, two useful ways to interact with it.</div>
<div style="font-size:22px; font-weight:bold;">One GorBot platform, two useful ways to interact with it.</div>
<div style="margin-top:9px; line-height:1.7;">A feature may be configured on the web and then used inside Discord, or information created through Discord may later be viewed and managed through the dashboard.</div>
<div style="margin-top:9px; line-height:1.7;">A feature can be configured on the web and then used inside Discord, while information created through Discord can later be viewed or managed through the dashboard where supported.</div>
</div>
</div>
</div>
</div>
Line 189: Line 192:


<!-- ========================================================= -->
<!-- ========================================================= -->
<!-- OAUTH -->
<!-- CHARACTER LIBRARY -->
<!-- ========================================================= -->
<!-- ========================================================= -->


<div style="padding:30px 42px 10px 42px;">
<div style="padding:30px 42px 10px 42px;">
<div style="text-align:center; margin-bottom:24px;">
<div style="text-align:center; margin-bottom:24px;">
<div style="font-size:28px; font-weight:bold; color:#e0b45d;">DISCORD SIGN-IN</div>
<div style="font-size:28px; font-weight:bold; color:#e0b45d;">CHARACTER LIBRARY</div>
<div style="margin-top:6px; color:#a99a87; font-style:italic;">The dashboard uses Discord identity so GorBot can understand who is accessing the site.</div>
<div style="margin-top:6px; color:#a99a87; font-style:italic;">Persistent characters are easier to manage when they have a dedicated home.</div>
</div>
</div>


<div style="padding:24px 28px; background:#211712; border:1px solid #5f452e; border-radius:7px; line-height:1.8;">
<div style="padding:24px 28px; background:#211712; border:1px solid #5f452e; border-radius:7px; line-height:1.8;">
The public GorBot dashboard uses Discord OAuth for supported sign-in.
The [[Character System|Character Library]] is one of the dashboard's primary roleplay tools.


This allows the web layer to associate the logged-in user with their Discord identity and apply the permissions and ownership rules required by supported dashboard features.
It allows a user to work with their stored characters through a persistent web interface instead of recreating profile information through Discord every time.


Authentication is only the first step. Authorization still determines what the user may actually view or change.
Supported character workflows include:


For example:
* creating characters;
* browsing existing characters;
* searching stored profiles;
* editing character information;
* changing profile styles;
* maintaining custom fields;
* managing supported images and presentation;
* returning to older characters when they become relevant again.


* a normal user can manage their own supported character information;
The library is designed to remain practical even for users with large character collections.
* an NPC owner can manage NPCs they own;
* a server owner or authorized manager can access server-management features;
* protected platform administration remains restricted separately.
</div>
</div>
</div>
</div>
Line 216: Line 223:


<!-- ========================================================= -->
<!-- ========================================================= -->
<!-- CHARACTERS AND NPCS -->
<!-- NPC DATABASE -->
<!-- ========================================================= -->
<!-- ========================================================= -->


<div style="padding:30px 42px 10px 42px;">
<div style="padding:30px 42px 10px 42px;">
<div style="text-align:center; margin-bottom:24px;">
<div style="text-align:center; margin-bottom:24px;">
<div style="font-size:28px; font-weight:bold; color:#e0b45d;">CHARACTERS AND NPCs ON THE WEB</div>
<div style="font-size:28px; font-weight:bold; color:#e0b45d;">NPC DATABASE</div>
<div style="margin-top:6px; color:#a99a87; font-style:italic;">Some of GorBot's most detailed roleplay tools benefit directly from the dashboard.</div>
<div style="margin-top:6px; color:#a99a87; font-style:italic;">Recurring NPCs gain a management interface instead of remaining scattered across old messages.</div>
</div>
</div>


{| style="width:100%; table-layout:fixed; border-collapse:separate; border-spacing:12px;"
<div style="padding:24px 28px; background:#211712; border:1px solid #5f452e; border-radius:7px; line-height:1.8;">
|-
The [[NPC Database]] provides dashboard tools for persistent non-player identities.
| style="width:50%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
 
<div style="font-size:21px; font-weight:bold;">[[Character System|Character Library]]</div>
Supported workflows include:
<div style="margin-top:9px; line-height:1.6;">Create, browse, edit, search, and manage persistent roleplay characters through a dedicated interface designed for profile data and long-form editing.</div>
 
* creating NPCs;
* editing owned NPCs;
* changing profile styles;
* maintaining custom fields;
* managing portraits;
* cloning NPC records;
* sharing supported public profiles;
* publishing eligible NPCs to the broader global listing.


| style="width:50%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
The dashboard gives these long-lived world identities a place to be maintained as roleplay develops.
<div style="font-size:21px; font-weight:bold;">[[NPC Database]]</div>
</div>
<div style="margin-top:9px; line-height:1.6;">Manage NPC profiles, portraits, profile styles, custom fields, cloning, public sharing, and global publishing through an interface better suited to persistent world-building.</div>
|}
</div>
</div>




<!-- ========================================================= -->
<!-- ========================================================= -->
<!-- LIVE CONTROL -->
<!-- AUTOMATION -->
<!-- ========================================================= -->
<!-- ========================================================= -->


<div style="padding:30px 42px 10px 42px;">
<div style="padding:30px 42px 10px 42px;">
<div style="text-align:center; margin-bottom:24px;">
<div style="text-align:center; margin-bottom:24px;">
<div style="font-size:28px; font-weight:bold; color:#e0b45d;">LIVE DASHBOARD CONTROL</div>
<div style="font-size:28px; font-weight:bold; color:#e0b45d;">AUTOMATION MANAGEMENT</div>
<div style="margin-top:6px; color:#a99a87; font-style:italic;">Some web actions need to reach the Discord runtime while the user is still on the page.</div>
<div style="margin-top:6px; color:#a99a87; font-style:italic;">Complex workflows are easier to understand when the trigger and response can be seen together.</div>
</div>
</div>


<div style="padding:24px 28px; background:#211712; border:1px solid #5f452e; border-radius:7px; line-height:1.8;">
<div style="padding:24px 28px; background:#211712; border:1px solid #5f452e; border-radius:7px; line-height:1.8;">
Certain dashboard features require live communication with the managed GorBot Discord runtime.
The [[Automations|Automation]] dashboard is designed to make event-driven workflows easier to configure.


The modern GorBot platform uses managed dashboard relay infrastructure so web requests can reach healthy Discord nodes without requiring a public management port on each node.
Instead of relying on long command syntax, supported workflows can present clear controls for:


This allows the dashboard to support live Discord-side actions while preserving the larger high-availability design of the cluster.
* trigger selection;
* channels;
* roles;
* user-facing content;
* actions;
* enabled or disabled state;
* publishing behavior.


The relay system is designed around active shard-owning nodes and healthy standby capacity so live dashboard control can remain responsive without requiring every managed node in a large fleet to poll at the same aggressive rate.
Role selectors can use actual server roles where supported, reducing the need for administrators to manually copy Discord role IDs.
</div>
</div>
</div>
</div>
Line 261: Line 280:


<!-- ========================================================= -->
<!-- ========================================================= -->
<!-- AUTHORITATIVE STATE -->
<!-- TRACKED CONTENT -->
<!-- ========================================================= -->
<!-- ========================================================= -->


<div style="padding:30px 42px 10px 42px;">
<div style="padding:30px 42px 10px 42px;">
<div style="text-align:center; margin-bottom:24px;">
<div style="text-align:center; margin-bottom:24px;">
<div style="font-size:28px; font-weight:bold; color:#e0b45d;">SHARED AUTHORITATIVE STATE</div>
<div style="font-size:28px; font-weight:bold; color:#e0b45d;">TRACKED CONTENT</div>
<div style="margin-top:6px; color:#a99a87; font-style:italic;">The dashboard should not depend on whichever Discord node happened to answer last.</div>
<div style="margin-top:6px; color:#a99a87; font-style:italic;">Persistent Discord content should be editable without producing endless duplicates.</div>
</div>
</div>


<div style="padding:24px 28px; background:#211712; border:1px solid #5f452e; border-radius:7px; line-height:1.8;">
<div style="padding:24px 28px; background:#211712; border:1px solid #5f452e; border-radius:7px; line-height:1.8;">
RackNerd SQL acts as the authoritative shared GorBot state for the managed platform.
GorBot supports tracked published content for selected dashboard-managed features.


This is important because GorBot can run across multiple Discord nodes.
When content is tracked, GorBot remembers the Discord message associated with that configuration.


For systems such as Characters and NPCs, the web dashboard increasingly reads authoritative shared data directly where appropriate while still routing protected mutations through the application paths that perform ownership, permission, and validation checks.
Later dashboard changes can update that same message instead of always posting another copy.


This helps prevent a user from seeing different stored information simply because two requests were handled by different healthy nodes.
This is useful for:
 
* persistent information panels;
* role-selection messages;
* community notices;
* automation controls;
* other long-lived dashboard-managed Discord content.
 
If a tracked message is no longer available, supported workflows can recreate it and establish tracking again.
</div>
</div>
</div>
</div>
Line 283: Line 310:


<!-- ========================================================= -->
<!-- ========================================================= -->
<!-- RELIABILITY -->
<!-- SAVE / PUBLISH -->
<!-- ========================================================= -->
<!-- ========================================================= -->


<div style="padding:30px 42px 10px 42px;">
<div style="padding:30px 42px 10px 42px;">
<div style="text-align:center; margin-bottom:24px;">
<div style="text-align:center; margin-bottom:24px;">
<div style="font-size:28px; font-weight:bold; color:#e0b45d;">BUILT FOR HIGH AVAILABILITY</div>
<div style="font-size:28px; font-weight:bold; color:#e0b45d;">SAVE AND PUBLISH</div>
<div style="margin-top:6px; color:#a99a87; font-style:italic;">The web control plane is intended to remain useful even when individual Discord nodes fail.</div>
<div style="margin-top:6px; color:#a99a87; font-style:italic;">Preparing configuration and making it live do not always need to be the same action.</div>
</div>
</div>


{| style="width:100%; table-layout:fixed; border-collapse:separate; border-spacing:12px;"
<div style="padding:24px 28px; background:#211712; border:1px solid #5f452e; border-radius:7px; line-height:1.8;">
|-
For supported dashboard features, GorBot can separate configuration from publication.
| style="width:33.33%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
 
<div style="font-size:21px; font-weight:bold;">Central Control Plane</div>
This allows workflows such as:
<div style="margin-top:9px; line-height:1.6;">The RackNerd-hosted web platform remains the central management surface rather than living only on one Discord node.</div>


| style="width:33.33%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
* '''Save''' — preserve the configuration;
<div style="font-size:21px; font-weight:bold;">Multiple Managed Nodes</div>
* '''Save & Publish''' — preserve the configuration and publish the supported Discord result;
<div style="margin-top:9px; line-height:1.6;">GorBot can distribute Discord Gateway work across multiple siblings with automatic failover and weighted load sharing.</div>
* '''Unpublish''' — remove or disable the published presentation where supported;
* edit and republish — update an existing published configuration.


| style="width:33.33%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
This gives server managers more control over when changes become visible to members.
<div style="font-size:21px; font-weight:bold;">Relay Failover</div>
</div>
<div style="margin-top:9px; line-height:1.6;">Live dashboard-control requests can use healthy relay nodes instead of assuming one fixed Discord machine will always be available.</div>
|}
</div>
</div>




<!-- ========================================================= -->
<!-- ========================================================= -->
<!-- PERFORMANCE -->
<!-- MODERATION -->
<!-- ========================================================= -->
<!-- ========================================================= -->


<div style="padding:30px 42px 10px 42px;">
<div style="padding:30px 42px 10px 42px;">
<div style="text-align:center; margin-bottom:24px;">
<div style="text-align:center; margin-bottom:24px;">
<div style="font-size:28px; font-weight:bold; color:#e0b45d;">PAGE-AWARE PERFORMANCE</div>
<div style="font-size:28px; font-weight:bold; color:#e0b45d;">MODERATION AND SERVER ADMINISTRATION</div>
<div style="margin-top:6px; color:#a99a87; font-style:italic;">Pages should load the information they need without turning every visit into a full-platform refresh.</div>
<div style="margin-top:6px; color:#a99a87; font-style:italic;">The web interface can make staff workflows easier to review and configure.</div>
</div>
</div>


<div style="padding:24px 28px; background:#211712; border:1px solid #5f452e; border-radius:7px; line-height:1.8;">
<div style="padding:24px 28px; background:#211712; border:1px solid #5f452e; border-radius:7px; line-height:1.8;">
The modern dashboard has been optimized so pages can request the data relevant to the view being opened instead of forcing unnecessary live-control work across the entire platform.
Supported [[Moderation|Moderation & Administration]] tools can use the dashboard when a web interface provides better context than a command.


This is especially important as GorBot grows.
Examples can include:


A responsive dashboard needs to remain practical for:
* server moderation settings;
* role configuration;
* trusted moderator settings;
* permissions-related configuration;
* reviewing stored moderation information;
* longer forms and notes;
* community safety settings.


* ordinary users opening profile pages;
Immediate moderation actions can still remain available inside Discord where staff are actively working.
* server owners moving between management sections;
* administrators checking live state;
* larger future node fleets;
* roleplay communities with growing Character and NPC collections.
 
The goal is to keep the interface useful as both the feature set and the number of managed communities increase.
</div>
</div>
</div>
</div>
Line 338: Line 363:


<!-- ========================================================= -->
<!-- ========================================================= -->
<!-- DASHBOARD AREAS -->
<!-- PERMISSIONS -->
<!-- ========================================================= -->
<!-- ========================================================= -->


<div style="padding:30px 42px 10px 42px;">
<div style="padding:30px 42px 10px 42px;">
<div style="text-align:center; margin-bottom:24px;">
<div style="text-align:center; margin-bottom:24px;">
<div style="font-size:28px; font-weight:bold; color:#e0b45d;">DASHBOARD AREAS</div>
<div style="font-size:28px; font-weight:bold; color:#e0b45d;">PERMISSION-AWARE BY DESIGN</div>
<div style="margin-top:6px; color:#a99a87; font-style:italic;">Different tools appear according to the user's role and the features available to the server.</div>
<div style="margin-top:6px; color:#a99a87; font-style:italic;">The dashboard does not bypass Discord permissions or GorBot ownership rules.</div>
</div>
</div>


{| style="width:100%; table-layout:fixed; border-collapse:separate; border-spacing:12px;"
<div style="padding:24px 28px; background:#211712; border:1px solid #5f452e; border-radius:7px; line-height:1.8;">
|-
GorBot separates authentication from authorization.
| style="width:33.33%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
 
<div style="font-size:20px; font-weight:bold;">Roleplay</div>
A user may be signed in successfully but still be unable to perform an action because they do not own the record, do not manage the server, or do not have the required Discord authority.
<div style="margin-top:8px; line-height:1.6;">Characters, NPCs, profiles, and other roleplay-oriented systems.</div>
 
Dashboard actions can depend on factors such as:
 
* Discord identity;
* ownership of the character or NPC;
* server ownership;
* trusted management roles;
* enabled features;
* Discord permissions;
* Discord role hierarchy.
 
A web button does not give GorBot powers that Discord itself has not granted.
</div>
</div>
 
 
<!-- ========================================================= -->
<!-- SHARED STATE -->
<!-- ========================================================= -->


| style="width:33.33%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
<div style="padding:30px 42px 10px 42px;">
<div style="font-size:20px; font-weight:bold;">Community</div>
<div style="text-align:center; margin-bottom:24px;">
<div style="margin-top:8px; line-height:1.6;">Server identity, community-facing features, tracked content, and supported engagement tools.</div>
<div style="font-size:28px; font-weight:bold; color:#e0b45d;">SHARED PERSISTENT STATE</div>
<div style="margin-top:6px; color:#a99a87; font-style:italic;">Persistent dashboard information should not belong to whichever Discord node happened to answer one request.</div>
</div>


| style="width:33.33%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
<div style="padding:24px 28px; background:#211712; border:1px solid #5f452e; border-radius:7px; line-height:1.8;">
<div style="font-size:20px; font-weight:bold;">Administration</div>
GorBot uses shared authoritative state for persistent platform data.
<div style="margin-top:8px; line-height:1.6;">Server-management controls available only to users with the required authority.</div>
|-


| style="width:33.33%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
This is important because the Discord service can run across multiple managed nodes.
<div style="font-size:20px; font-weight:bold;">Moderation</div>
<div style="margin-top:8px; line-height:1.6;">Supported moderation, permissions, safety, and staff-management features.</div>


| style="width:33.33%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
Information such as character profiles, NPC records, community configuration, and other supported persistent state can remain consistent across the platform rather than becoming isolated copies tied to individual machines.
<div style="font-size:20px; font-weight:bold;">Automations</div>
<div style="margin-top:8px; line-height:1.6;">Configurable workflows and event-driven behavior that would be awkward to define through commands alone.</div>


| style="width:33.33%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
The result is a dashboard that can continue presenting the same stored community information even as Discord work moves between healthy nodes.
<div style="font-size:20px; font-weight:bold;">Platform Operations</div>
</div>
<div style="margin-top:8px; line-height:1.6;">Protected Admin Gateway tools for cluster health, updates, backups, provisioning, diagnostics, and platform maintenance.</div>
|}
</div>
</div>




<!-- ========================================================= -->
<!-- ========================================================= -->
<!-- SECURITY -->
<!-- RELIABILITY -->
<!-- ========================================================= -->
<!-- ========================================================= -->


<div style="padding:30px 42px 10px 42px;">
<div style="padding:30px 42px 10px 42px;">
<div style="text-align:center; margin-bottom:24px;">
<div style="text-align:center; margin-bottom:24px;">
<div style="font-size:28px; font-weight:bold; color:#e0b45d;">PERMISSIONS AND SECURITY</div>
<div style="font-size:28px; font-weight:bold; color:#e0b45d;">BUILT ON RELIABLE INFRASTRUCTURE</div>
<div style="margin-top:6px; color:#a99a87; font-style:italic;">A powerful dashboard is only useful if the right controls stay in the right hands.</div>
<div style="margin-top:6px; color:#a99a87; font-style:italic;">The dashboard is part of a wider platform designed to operate beyond one Discord machine.</div>
</div>
</div>


<div style="padding:24px 28px; background:#211712; border:1px solid #5f452e; border-radius:7px; line-height:1.8;">
<div style="padding:24px 28px; background:#211712; border:1px solid #5f452e; border-radius:7px; line-height:1.8;">
GorBot separates authentication, ownership, and authorization.
GorBot's web services are hosted independently from individual managed Discord nodes.


Logging into the dashboard does not automatically grant administrative authority.
This allows the dashboard and persistent web-facing information to remain separate from the health of one specific Discord machine.


Depending on the feature, access may depend on factors such as:
The Discord side can use multiple managed nodes, shared state, failover, and load sharing while the web interface continues to provide a consistent place for users and server managers to work.
 
* Discord identity;
* ownership of the record being modified;
* server ownership;
* Bot Commander or other authorized roles;
* administrative permissions;
* protected Admin Gateway access.


Sensitive platform secrets and node credentials are not intended to be exposed through ordinary dashboard pages.
For more information about the underlying architecture, see [[GorBot Cluster|Reliable Infrastructure]].
</div>
</div>
</div>
</div>
Line 419: Line 449:
Gor Ultima and GorBot are part of the same overall project and ecosystem.
Gor Ultima and GorBot are part of the same overall project and ecosystem.


The RunUO server provides the persistent in-game world. GorBot extends the project into Discord, web-based management, roleplay profiles, NPCs, automation, community administration, and the infrastructure that connects those systems.
The RunUO server provides the persistent game world.


The dashboard is the web-facing part of that ecosystem.
GorBot extends that project into Discord, the web, roleplay profiles, NPCs, automation, moderation, and community management.


It gives the project a place to handle detailed management and persistent information that would not fit naturally inside the game client or Discord command interface.
The dashboard is the web-facing part of that ecosystem, providing space for the detailed management and persistent information that does not fit naturally inside the game client or a Discord command.
</div>
</div>
</div>
</div>
Line 435: Line 465:
<div style="text-align:center; margin-bottom:24px;">
<div style="text-align:center; margin-bottom:24px;">
<div style="font-size:28px; font-weight:bold; color:#e0b45d;">COMMON QUESTIONS</div>
<div style="font-size:28px; font-weight:bold; color:#e0b45d;">COMMON QUESTIONS</div>
<div style="margin-top:6px; color:#a99a87; font-style:italic;">A support-ready starting point for using the GorBot web interface.</div>
<div style="margin-top:6px; color:#a99a87; font-style:italic;">A quick guide to using the GorBot Web Dashboard.</div>
</div>
</div>


Line 442: Line 472:
| style="width:50%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
| style="width:50%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
<div style="font-size:20px; font-weight:bold;">Do I need the dashboard to use GorBot?</div>
<div style="font-size:20px; font-weight:bold;">Do I need the dashboard to use GorBot?</div>
<div style="margin-top:8px; line-height:1.6;">Not for every feature. Discord remains a primary interaction surface. The dashboard is used when a feature benefits from more detailed web-based management.</div>
<div style="margin-top:8px; line-height:1.6;">Not for every feature. Discord remains a primary interaction surface. The dashboard is used where a feature benefits from detailed web-based management.</div>


| style="width:50%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
| style="width:50%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
<div style="font-size:20px; font-weight:bold;">Why use the web instead of slash commands?</div>
<div style="font-size:20px; font-weight:bold;">Why use the web instead of commands?</div>
<div style="margin-top:8px; line-height:1.6;">Complex forms, large profiles, long settings pages, browsing, and administration are easier to manage on a dedicated web page than through a sequence of temporary Discord interactions.</div>
<div style="margin-top:8px; line-height:1.6;">Profiles, settings, role selectors, long forms, searches, and configuration pages are easier to manage with a persistent web interface than through a sequence of temporary Discord interactions.</div>
|-
|-


| style="width:50%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
| style="width:50%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
<div style="font-size:20px; font-weight:bold;">Can every logged-in user see admin tools?</div>
<div style="font-size:20px; font-weight:bold;">Can every signed-in user see server-management tools?</div>
<div style="margin-top:8px; line-height:1.6;">No. Dashboard access is permission-aware. Administrative and platform-management features remain restricted to authorized users.</div>
<div style="margin-top:8px; line-height:1.6;">No. Access depends on ownership, Discord identity, server authority, enabled features, and the permissions required by the feature.</div>


| style="width:50%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
| style="width:50%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
<div style="font-size:20px; font-weight:bold;">Where do I manage characters?</div>
<div style="font-size:20px; font-weight:bold;">Where do I manage my characters?</div>
<div style="margin-top:8px; line-height:1.6;">Use the [[Character System|Character Library]] in the GorBot dashboard.</div>
<div style="margin-top:8px; line-height:1.6;">Use the [[Character System|Character Library]] in the GorBot dashboard.</div>
|-
|-
Line 460: Line 490:
| style="width:50%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
| style="width:50%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
<div style="font-size:20px; font-weight:bold;">Where do I manage NPCs?</div>
<div style="font-size:20px; font-weight:bold;">Where do I manage NPCs?</div>
<div style="margin-top:8px; line-height:1.6;">Use the [[NPC Database]], which provides NPC creation, editing, cloning, portraits, sharing, and publishing tools.</div>
<div style="margin-top:8px; line-height:1.6;">Use the [[NPC Database]], which provides creation, editing, cloning, portrait, sharing, and publishing tools.</div>


| style="width:50%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
| style="width:50%; vertical-align:top; padding:22px; background:#211712; border:1px solid #5f452e; border-radius:6px;" |
<div style="font-size:20px; font-weight:bold;">Does the dashboard stop working if one Discord node goes offline?</div>
<div style="font-size:20px; font-weight:bold;">Does the dashboard bypass Discord permissions?</div>
<div style="margin-top:8px; line-height:1.6;">The modern GorBot architecture is designed around a central RackNerd control plane and multiple managed Discord nodes so one node failure does not define the availability of the entire web platform.</div>
<div style="margin-top:8px; line-height:1.6;">No. Dashboard actions still respect GorBot authorization, ownership rules, Discord permissions, and role hierarchy.</div>
|}
|}
</div>
</div>
Line 475: Line 505:
<div style="margin:34px 42px 36px 42px; padding:28px; text-align:center; background:linear-gradient(180deg,#301d16 0%,#1c130f 100%); border:1px solid #7d5b37; border-radius:7px;">
<div style="margin:34px 42px 36px 42px; padding:28px; text-align:center; background:linear-gradient(180deg,#301d16 0%,#1c130f 100%); border:1px solid #7d5b37; border-radius:7px;">
<div style="font-size:25px; font-weight:bold; color:#e1bf7a;">Use Discord for the community. Use the dashboard when the work deserves more room.</div>
<div style="font-size:25px; font-weight:bold; color:#e1bf7a;">Use Discord for the community. Use the dashboard when the work deserves more room.</div>
<div style="margin-top:10px; font-size:17px; color:#c9bba6;">Profiles. NPCs. Settings. Administration. Automation. Live control. One connected GorBot platform.</div>
<div style="margin-top:10px; font-size:17px; color:#c9bba6;">Characters. NPCs. Settings. Moderation. Automation. Community management. One connected GorBot platform.</div>
<div style="margin-top:16px; font-size:14px; color:#998b79; font-style:italic;">The Web Dashboard is the management layer that helps GorBot remain powerful without making Discord itself unnecessarily complicated.</div>
<div style="margin-top:16px; font-size:14px; color:#998b79; font-style:italic;">The Web Dashboard makes GorBot easier to manage without making Discord itself unnecessarily complicated.</div>
</div>
</div>


</div>
</div>
</div>
</div>

Latest revision as of 02:45, 17 August 2026



WEB DASHBOARD
A dedicated web interface for the GorBot features that are easier to manage outside Discord commands.


Discord Is Where the Community Lives — the Dashboard Gives It More Room

The GorBot Web Dashboard gives community members, server owners, and authorized staff a dedicated place to manage features that would be difficult or cumbersome to handle entirely through Discord commands.

Discord remains the main place for conversation, roleplay, live moderation, events, notifications, and community interaction.

The dashboard complements Discord by providing larger forms, persistent pages, searchable records, visual controls, profile editors, server settings, and other tools that benefit from more space than a command window can provide.

The dashboard does not replace Discord.

It gives GorBot a better place for detailed configuration, profile management, roleplay tools, community settings, and other workflows that would otherwise require long sequences of commands or temporary forms.


WHAT THE DASHBOARD PROVIDES
Personal roleplay tools and server-management features in one connected interface.
Create, browse, edit, and maintain persistent roleplay characters with flexible profile styles, custom fields, images, and supported presentation controls.
Create and maintain NPC profiles, portraits, profile styles, custom fields, cloning, sharing, and global publishing from a dedicated management view.
Server Settings
Authorized community managers can configure supported GorBot behavior without relying entirely on command syntax or manually entering Discord IDs.
Trusted staff can use supported web tools for community moderation, permissions, role management, and server-level administrative workflows.
Build and manage configurable workflows through forms that make triggers, roles, channels, actions, and publishing behavior easier to understand.
Community Tools
Manage supported announcements, tracked content, role interactions, roleplay tools, and other community-facing features from one web interface.


THE MEMBER DASHBOARD
Ordinary users see the tools that belong to them.

The member-facing dashboard is intended to focus on personal and roleplay features rather than server administration.

Depending on enabled features, a community member may use the dashboard to manage:

  • their Characters & Profiles;
  • NPCs they own in the NPC Database;
  • personal roleplay information;
  • profile images and presentation;
  • supported privacy choices;
  • community features made available to ordinary members.

This creates a self-service area where users can maintain their own information without needing staff to make every change for them.


SERVER MANAGEMENT
Additional controls appear only to users with the authority to manage the community.

Server owners and other authorized managers can access additional GorBot configuration appropriate to their Discord community.

Supported server-management areas can include:

  • server-wide GorBot settings;
  • roles and permission-related configuration;
  • moderation settings;
  • automation configuration;
  • tracked Discord content;
  • role-selection systems;
  • welcome and community presentation features;
  • supported roleplay settings;
  • other server-level GorBot features.

The dashboard is permission-aware. A control existing on the website does not mean every logged-in user is allowed to use it.


DISCORD SIGN-IN
Your Discord identity connects the web interface to the communities and records you are allowed to manage.

GorBot uses Discord OAuth for supported dashboard sign-in.

This allows the web application to identify the Discord user and apply the ownership and authorization rules required by dashboard features.

Signing in answers one question:

Who are you?

GorBot then separately determines:

  • which records you own;
  • which servers you can manage;
  • whether you have an authorized staff role;
  • which features the server has enabled;
  • what actions you are permitted to perform.

Logging in does not automatically grant moderation or server-management authority.


WEB AND DISCORD WORK TOGETHER
Each interface handles the work it is best suited for.
Discord
Live conversation, roleplay, commands, reactions, notifications, moderation actions, community events, and immediate interaction with GorBot.
Web Dashboard
Detailed forms, stored profiles, configuration pages, searches, browsing, long-form editing, role selectors, and other tasks that benefit from more screen space.
One GorBot platform, two useful ways to interact with it.
A feature can be configured on the web and then used inside Discord, while information created through Discord can later be viewed or managed through the dashboard where supported.


CHARACTER LIBRARY
Persistent characters are easier to manage when they have a dedicated home.

The Character Library is one of the dashboard's primary roleplay tools.

It allows a user to work with their stored characters through a persistent web interface instead of recreating profile information through Discord every time.

Supported character workflows include:

  • creating characters;
  • browsing existing characters;
  • searching stored profiles;
  • editing character information;
  • changing profile styles;
  • maintaining custom fields;
  • managing supported images and presentation;
  • returning to older characters when they become relevant again.

The library is designed to remain practical even for users with large character collections.


NPC DATABASE
Recurring NPCs gain a management interface instead of remaining scattered across old messages.

The NPC Database provides dashboard tools for persistent non-player identities.

Supported workflows include:

  • creating NPCs;
  • editing owned NPCs;
  • changing profile styles;
  • maintaining custom fields;
  • managing portraits;
  • cloning NPC records;
  • sharing supported public profiles;
  • publishing eligible NPCs to the broader global listing.

The dashboard gives these long-lived world identities a place to be maintained as roleplay develops.


AUTOMATION MANAGEMENT
Complex workflows are easier to understand when the trigger and response can be seen together.

The Automation dashboard is designed to make event-driven workflows easier to configure.

Instead of relying on long command syntax, supported workflows can present clear controls for:

  • trigger selection;
  • channels;
  • roles;
  • user-facing content;
  • actions;
  • enabled or disabled state;
  • publishing behavior.

Role selectors can use actual server roles where supported, reducing the need for administrators to manually copy Discord role IDs.


TRACKED CONTENT
Persistent Discord content should be editable without producing endless duplicates.

GorBot supports tracked published content for selected dashboard-managed features.

When content is tracked, GorBot remembers the Discord message associated with that configuration.

Later dashboard changes can update that same message instead of always posting another copy.

This is useful for:

  • persistent information panels;
  • role-selection messages;
  • community notices;
  • automation controls;
  • other long-lived dashboard-managed Discord content.

If a tracked message is no longer available, supported workflows can recreate it and establish tracking again.


SAVE AND PUBLISH
Preparing configuration and making it live do not always need to be the same action.

For supported dashboard features, GorBot can separate configuration from publication.

This allows workflows such as:

  • Save — preserve the configuration;
  • Save & Publish — preserve the configuration and publish the supported Discord result;
  • Unpublish — remove or disable the published presentation where supported;
  • edit and republish — update an existing published configuration.

This gives server managers more control over when changes become visible to members.


MODERATION AND SERVER ADMINISTRATION
The web interface can make staff workflows easier to review and configure.

Supported Moderation & Administration tools can use the dashboard when a web interface provides better context than a command.

Examples can include:

  • server moderation settings;
  • role configuration;
  • trusted moderator settings;
  • permissions-related configuration;
  • reviewing stored moderation information;
  • longer forms and notes;
  • community safety settings.

Immediate moderation actions can still remain available inside Discord where staff are actively working.


PERMISSION-AWARE BY DESIGN
The dashboard does not bypass Discord permissions or GorBot ownership rules.

GorBot separates authentication from authorization.

A user may be signed in successfully but still be unable to perform an action because they do not own the record, do not manage the server, or do not have the required Discord authority.

Dashboard actions can depend on factors such as:

  • Discord identity;
  • ownership of the character or NPC;
  • server ownership;
  • trusted management roles;
  • enabled features;
  • Discord permissions;
  • Discord role hierarchy.

A web button does not give GorBot powers that Discord itself has not granted.


SHARED PERSISTENT STATE
Persistent dashboard information should not belong to whichever Discord node happened to answer one request.

GorBot uses shared authoritative state for persistent platform data.

This is important because the Discord service can run across multiple managed nodes.

Information such as character profiles, NPC records, community configuration, and other supported persistent state can remain consistent across the platform rather than becoming isolated copies tied to individual machines.

The result is a dashboard that can continue presenting the same stored community information even as Discord work moves between healthy nodes.


BUILT ON RELIABLE INFRASTRUCTURE
The dashboard is part of a wider platform designed to operate beyond one Discord machine.

GorBot's web services are hosted independently from individual managed Discord nodes.

This allows the dashboard and persistent web-facing information to remain separate from the health of one specific Discord machine.

The Discord side can use multiple managed nodes, shared state, failover, and load sharing while the web interface continues to provide a consistent place for users and server managers to work.

For more information about the underlying architecture, see Reliable Infrastructure.


THE DASHBOARD IN THE GOR ULTIMA ECOSYSTEM
One project extending from the RunUO world into Discord and the web.

Gor Ultima and GorBot are part of the same overall project and ecosystem.

The RunUO server provides the persistent game world.

GorBot extends that project into Discord, the web, roleplay profiles, NPCs, automation, moderation, and community management.

The dashboard is the web-facing part of that ecosystem, providing space for the detailed management and persistent information that does not fit naturally inside the game client or a Discord command.


COMMON QUESTIONS
A quick guide to using the GorBot Web Dashboard.
Do I need the dashboard to use GorBot?
Not for every feature. Discord remains a primary interaction surface. The dashboard is used where a feature benefits from detailed web-based management.
Why use the web instead of commands?
Profiles, settings, role selectors, long forms, searches, and configuration pages are easier to manage with a persistent web interface than through a sequence of temporary Discord interactions.
Can every signed-in user see server-management tools?
No. Access depends on ownership, Discord identity, server authority, enabled features, and the permissions required by the feature.
Where do I manage my characters?
Use the Character Library in the GorBot dashboard.
Where do I manage NPCs?
Use the NPC Database, which provides creation, editing, cloning, portrait, sharing, and publishing tools.
Does the dashboard bypass Discord permissions?
No. Dashboard actions still respect GorBot authorization, ownership rules, Discord permissions, and role hierarchy.


Use Discord for the community. Use the dashboard when the work deserves more room.
Characters. NPCs. Settings. Moderation. Automation. Community management. One connected GorBot platform.
The Web Dashboard makes GorBot easier to manage without making Discord itself unnecessarily complicated.