This page documents Lumina's private publishing workflow. The /website command, Website panel and publication jobs are not registered or executed in public Universal or Community editions.
Gallery, Art, Blog and Roleplay use the uploader’s main character name by default, without level or loyalty details. Before submitting, the author may instead choose another registered character or enter a manual public credit.
Gallery flow
Send one finished media proposal
Use Add screenshot when an image or short video is already ready for the public Gallery. Luminox first records a subject category and matching subcategory, then collects its title, description, accessibility text and public credit.
- Press Add screenshot and classify it under Adventures, Guild life, Events, Milestones, Roleplay or World & discoveries.
- Choose the matching subcategory, complete every required description field and attach one JPG, PNG or MP4 file.
- Luminox copies the proposal into a private, read-only review thread shared with its author and Website staff.
- Website staff approve it, request a corrected submission or reject it with a reason.
- After approval, a Discord administrator runs
/website publishinside that review thread. The isolated publisher then validates and sanitizes the entry before it reaches the website.
Gallery files are limited to 10 MB. Video is detected from the validated MP4 file and remains an additional format filter; it never replaces the chosen subject classification.
Art archive
Publish one original work with archive-ready details
Use Add artwork for an illustration that belongs in Lumina Art rather than the screenshot Gallery. The guided flow first asks for its public category and then a matching subcategory, before collecting one image and the exact information required by the archive.
- Choose Places, Heroes & characters, Creatures, Adversaries, Guild life, Objects & designs or Abstract & concepts, then choose the matching archive subcategory.
- Add a 3–80 character title, a 20–360 character description and accessible alternative text.
- The public credit starts with the uploader’s main character name; it can be changed to another registered character or a manually written credit.
- Upload exactly one JPG or PNG file up to 10 MB.
- Luminox creates a private, read-only review thread. Staff may approve, request a complete corrected submission or reject it; final publication remains administrator-only.
The isolated publisher validates the real file signature, removes metadata, limits dimensions and converts the accepted image to a bounded WebP before adding it to the Art Archive.
Blog process
Use a private thread as the article editor
Write blog post is designed for comfortable long-form writing. The author chooses a category and title first; Luminox then opens a private draft thread where normal Discord messages become the article.
- Choose Guild news, Events, Community, Guides, Tibia & Secura, Luminox, History, Roleplay or Editorial, then enter the article title.
- Write the article in one or several messages. Blank lines create separate website paragraphs.
- Attach up to four JPG or PNG images inside the same thread. The combined safe limit is 25 MB.
- Edit the title, category or your own messages freely while the article remains a draft.
- Press Submit for review. Luminox captures the current article, locks the thread and prevents further author changes.
The author may discard the entire draft before review. Discord stores the working conversation and original attachments; the Luminox data file stores only the validated publication record and attachment references.
Roleplay stories
Turn a long Discord draft into a Lumina Chronicle
Write roleplay uses the same private, reviewable writing model as Blog, but gives longer illustrated stories their own structure and destination in Lumina Chronicles.
- Choose Saga, One-shot, Character journal, Lorebook or Anthology.
- Complete the public title, optional subtitle, archive summary and first chapter title.
- Write between 200 and 30,000 characters across as many author messages as needed. Each message becomes a new paragraph in chronological order.
- Add up to eight JPG or PNG images, 10 MB each and 50 MB combined. Their message order is preserved; the first image becomes the cover while remaining in its original chapter position.
- Edit or delete your own messages while drafting, then press Submit for review. Staff messages never become part of the published story.
Approval creates or updates the matching story rather than duplicating it. Authorized staff can later request another revision, hide or restore the story, edit its public metadata or remove it through controls preserved in the original private thread.
Staff review
Two roles protect every publication decision
A Discord administrator can always review Website content. A non-administrator must hold both one configured global Moderator role and the additional Website staff role selected with /website staff-role.
If changes are requested after Blog or Roleplay publication, the live entry is hidden first. Only when the secure hide operation succeeds does Luminox unlock the author thread and request a new revision.
Published content
Keep moderation controls in the original thread
The private thread remains the permanent audit and control point after publication. Authorized Website staff can return to it to edit public metadata, hide the entry temporarily, show it again, request another author revision or remove it from the website.
- Edit validates replacement metadata and securely updates the existing Blog article or Roleplay story.
- Hide keeps text and images stored but removes the entry from public results.
- Show restores a hidden entry without creating a duplicate.
- Delete removes the public entry and its generated website images after a confirmation step.
- The Discord thread stays locked and archived between actions, preserving who reviewed and changed the publication.
Secure publication
Discord requests an operation; GitHub validates it
Luminox sends an encrypted, fixed-destination request to an isolated GitHub publishing job. Discord users cannot choose a repository path, automation file or publication destination. Blog and Roleplay approval starts publication automatically; Gallery and Art approval remain pending until a Discord administrator runs /website publish in the review thread. An authorized reviewer may safely retry a failed long-form operation from the same thread.
The isolated runner validates every field, downloads only approved Discord CDN attachments, checks their real signatures, strips image metadata, creates bounded WebP files and rejects any unexpected artifact before changing the website data.
Technical validation cannot decide copyright, privacy or community suitability. Publish only content Lumina is allowed to share.
Safety
Limited input, private review and no credentials in Discord
- Gallery accepts one JPG, PNG or MP4 file per proposal, up to 10 MB.
- Art accepts exactly one JPG or PNG image up to 10 MB and publishes only controlled categories.
- Blog accepts up to four JPG or PNG images, 10 MB each and 25 MB combined.
- Roleplay accepts up to eight JPG or PNG images, 10 MB each and 50 MB combined, plus 200–30,000 characters of story text.
- Blog and Roleplay text is validated as plain text and rendered with safe DOM text nodes, never executed as HTML or JavaScript.
- Only Discord CDN attachment addresses are accepted; arbitrary external download links are blocked.
- The original filename never becomes a public website path.
- Repository credentials stay outside Discord and are never stored in guild configuration.
- Every live publication targets the submission ID generated by Luminox, preventing arbitrary file paths or deletion.
- The publisher rejects extra files, symbolic links, oversized output and invalid image signatures.
Members, moderators and server administrators should never be asked for a bot token, repository token, environment file or private key during this process.
Administrator setup
Configure one panel and one specialist role
/website set channel:#website url:https://your-public-site.exampleCreates or updates the Website panel in the selected text channel and stores its public HTTPS address. Re-running it edits the existing panel rather than posting a duplicate.
/website staff-role role:@WebsiteAssigns the additional specialist role. A non-administrator reviewer needs this role plus any role configured globally through /moderators roles add.
/website overviewShows panel health, queue counts, the configured specialist role and whether the isolated publisher is ready without revealing any secret value.
/website refreshRefreshes the existing panel and performs a new public website availability check.
- The deployment owner configures the repository connection privately, outside Discord.
- An administrator configures at least one global Moderator role if moderators will review content.
- Run
/website set, then optionally assign the specialist role with/website staff-role. - Run
/website overviewand confirm that the panel and publisher report Ready.
Discord permissions
Panel channel and private writing threads
- View Channel, Send Messages and Embed Links.
- Read Message History.
- Create Private Threads and Send Messages in Threads.
- Manage Threads so Luminox can add reviewers, reopen author editing, lock review snapshots and archive completed work.
- Manage Messages so the control message can remain pinned and the public panel channel can stay clean.
Private threads contain only the author, eligible Website staff and Luminox. The public panel is edited in place; routine status checks do not repost it or generate unnecessary notifications.