Maps
Upload map images (paste, drag & drop, or multi-page sets), PoIs with cooldowns, Discord channel/thread cooldown posts, personal and shared drawing, and guild map link lists.
Maps is a standalone site feature (not tied to a guild). Any logged-in user can create a map, upload one or more images, mark points of interest (PoIs) with optional cooldowns, and draw on personal or shared layers. Maps can be public (searchable on /maps) or private (viewable only with a share link). Guilds can keep a curated list of map links on their own Map links page.
Create a map (/maps)
- Log in — Map creation requires Discord login.
- Title & description — Title is required; description is optional.
- Upload images — Use the styled dropzone: click to browse, drag & drop files, or click the zone then paste (Ctrl+V) a screenshot or copied image. Add several images at once if the map spans multiple pages (e.g. dungeon floors). Up to 20 images per map, 6 MB each (site admins have no per-image size limit).
- Access — Private (default) is only reachable with the owner’s share link. Public appears in the searchable list on
/maps. - Cooldown resets — Choose whether everyone logged in viewing the map or editors only can reset PoI cooldowns (with a confirmation pop-up). Resetting is a write action, so it always requires being logged in — visitors without an account can view cooldowns but not reset them.
- Duplicate — On
/maps, logged-in users can Duplicate any of their maps (owned or edited) or any public map. The copy includes pages, PoIs, and shared layers under a new title ending in(copy), with a fresh share link and you as owner. Cooldown timers, done history, Discord channel links, editors, and subscriptions are not copied. Duplicate is always independent (no sync). - Create slave — Editors can create a slave map linked to a master (from the maps list or Map settings). Pages and confirmed PoIs are cloned and stay in sync when the master changes. Each slave keeps its own running timers, done history, editors, and Discord links. Choosing a slave as the “master” when linking always resolves to the original root master (no nesting).
- Link existing as slave — In Map settings on a master, attach another map you can edit as a slave. That map’s pages/PoIs are replaced with the master’s structure. Maps that already have their own slaves cannot be linked until those are unlinked.
Master & slave maps
Use a master when several communities share the same layout but need separate cooldown clocks and Discord channels.
- Synced from master — Pages (images/labels/order) and PoI structure: name, description, icon, color, position, default cooldown duration.
- Not synced — Running timers (
cooldown_reset_at), last-done history, editors, Discord channel links, subscriptions, drawing layers. - Slave PoI requests — On a slave, editors use Request point of interest instead of adding freely. The request appears greyed on the slave and on the master. Master editors Approve (becomes a real PoI and syncs to all slaves) or Reject. Pending PoIs can still be used on Discord Region Timer scouting posts (button label includes “(pending)”).
- Unlink — Slave owner/editor or master editor can unlink; the map keeps its last structure but stops syncing.
Map pages (image sets)
Each uploaded image is a page on the map. Switch pages with the thumbnail tab strip above the map — switching is instant (no page reload) and preloads the next image to avoid any flash. PoIs, personal drawings, and layers are stored per page — coordinates only apply to that image.
- Add pages — Editors use the + tile on the tab strip or the dropzone in Map settings (same click / drag / paste upload).
- Name pages — In Map settings → Map pages, give each page an optional label (e.g. “Floor 1”, “Boss room”). The label appears on the tab strip above the map and updates immediately when you change it. Unnamed pages show as Page 1, Page 2, and so on.
- Reorder pages — Use ▲ / ▼ in Map settings to preview a new order (tab strip updates live). Click Save changes below the pages list to persist — one refresh applies the new order.
- Replace image — Replace swaps a page’s image file while keeping that page’s PoIs, layers, and drawings (same page id). Prefer this over delete + re-add when you only need a newer screenshot.
- Delete — Remove a page when the map has more than one; that page’s PoIs, layers, and drawings are deleted too. A map must keep at least one image.
Viewing the map
- Zoom — Use the zoom slider above the map to scale the display size from 50% to 200%. Points of interest, drawings, and layers always stay correctly aligned at any zoom level; your zoom preference is remembered on this device.
- Pinned header & details — The map title, Subscribe, and Map settings buttons stay pinned to the top of the page as you scroll. The point-of-interest details panel on the right stays pinned just below them, so it's always visible while you work through a long page.
Presenter view
Click 🖥️ Present on a map's header to open a chrome-free full-screen view — no navbar, toolbars, or title clutter, ideal for screen-sharing during a raid or run.
- Maximized map — The map is scaled to fill as much of the screen as possible while staying fully visible (no cropping), with a slim control bar at the top.
- PoI details — Click a point of interest to see its name, description, and live cooldown right next to the marker — below it when there's room, otherwise above, and always clamped so it never runs off-screen. On phones/narrow screens it opens as a bottom pop-up instead.
- Pages & Layers controls — A page dropdown switches between map pages instantly. A 🗂️ Layers button opens a checklist to show/hide any layer for the audience — handy for revealing a strategy step by step. This visibility choice is local to your screen and doesn't affect what editors see.
- Quick actions — If cooldown resets are allowed for you, you can reset a PoI's cooldown right from its popup, or set a custom remaining time when the full timer wasn't started on time. Logged-in viewers can also tap Log done now to record a completion without leaving presenter view.
- Fullscreen — An optional ⛶ button requests the browser's fullscreen mode for an even more distraction-free presentation.
Points of interest (PoIs)
- Place — Editors click Add point of interest, then click on the map. Unlimited PoIs per page. On a slave map this becomes Request point of interest (pending until the master approves).
- Fields — Name, icon (boss, Region Timer, waypoint, resource, chest, NPC, quest, danger, portal, number, or custom), marker color (border around the icon), optional cooldown in minutes, and description. Each page may have at most one Region Timer.
- Cooldown — When a PoI has a cooldown, clicking it offers Reset cooldown (if allowed by map settings). A confirmation dialog appears before the timer restarts. While a cooldown is active, a live countdown badge appears next to the marker on the map (e.g.
4m 12s); the marker also gets a red ring. The badge updates every second and disappears when the timer finishes. Use Custom remaining (minutes) to set how much time is left instead of a full reset — handy when someone forgot to start the timer when the boss was killed (enter0to mark ready now). - Discord channel / thread updates — Map editors can link a map from Map settings → Discord cooldown posts on the web (servers where the bot is installed and you have Administrator / Manage Server). You can also use
/map-channel connectin Discord (map owner/editor or Manage Channels): pick a public map or one you own/edit, a notification role, and optional channel/thread — or run the command inside the thread. Only one map can be linked to a given channel or thread; the same map can post to many targets. When a cooldown is started (reset on the web), the bot posts a Discord embed only (no map image): ready-in (:R) / ready-at (:f) timestamps. When a normal PoI cooldown becomes ready, the bot posts again with a role ping and a square pin-centered map crop. - Region Timer (shared Discord + web scouting) — When a page’s Region Timer opens for scouting, the bot pings the notification role and posts scout buttons for every other PoI on that same page (no map image on that post). Set PoI cooldowns to the true spawn length; in Map settings, Region Timer scout early (minutes) opens Discord + web scouting that many minutes before spawn (synced to slave maps). Countdowns and Discord text still show the full spawn time as Spawning in …. Coverage is a single shared pool across every linked Discord channel for that map and the web map page: claim a spot in Discord or on the web and the counts update everywhere. Discord embeds still show counts only (no usernames). Regions with many scout spots spill onto follow-up Discord messages (more scout spots), filling up to 25 PoI buttons per message; Custom, Not here, and Report spawn always stay on the last message; the web Scouting panel shows counts and names (profile display name, or Discord display name if unset). Logged-in viewers who can open the map can claim on the web; guests see coverage read-only. Discord scouting and Report spawn also require that the Discord user has logged in on the website at least once. Map editors can ban users from scouting/reporting in Map settings → Banned from scouting (applies on every linked Discord and the web; bans are per Discord user id — search a logged-in user or paste a Discord id for someone who has never used the site). Each person can cover only one spot at a time — choosing another moves them. On Discord, uncovered scout buttons are blurple, covered ones gray, and spots marked Not here are red. On the web, Cover buttons use the same colors; covered cards/markers stay blue, your own claim is yellow, and Not here spots are red. After covering a spot, Not here (Discord ready post or web panel) marks it red for everyone for the rest of the scout cycle — you can move to another cover without clearing that mark. Not here is visual only: the spot stays coverable and reportable. Scout lists always include a virtual Custom spot (after the page PoIs) for locations that are not on the map — cover it like any other spot; focusing Custom on the web does nothing (no marker). A reported spawn on a real PoI gets a red circle around that pin (cleared when the report is cancelled or the Region Timer resets); Custom reports show a Custom spawn reported banner and note on the web instead of a map pin. Coverage clears when the Region Timer resets or a new ready cycle starts. Report spawn works after you have chosen a scout location — on Discord (ready post) or on the web (Scouting panel, next to Not here while you are covering a spot). Confirmation offers Yes (post immediately), No, or Yes, Additional Info (opens a text field, then posts). Same three choices for Custom and map PoIs. Posts go to every linked Discord channel for the map (pin crop for real PoIs only; Custom posts title as Custom location). The embed shows who reported and Through which Discord server (or Web). Report notes appear on Discord embeds and in the web Scouting panel. The map side panel Leaderboard tab (web only) lists the top Discord servers for that map by spawn reports, and under each server its top reporters with report count and vote accuracy. Map editors can press Append note to PoI on a Discord report post (real PoI + non-empty note) to append that note to the PoI description; descriptions are never auto-written. Each post has a one-time Reset cooldown button (restarts the Region Timer), Cancel report (reporter, map editor, or Manage Channels — removes the report on all channels), and Accurate / Not accurate vote buttons. Votes are display-only and synced across all linked Discords (one vote per user; click the other side to change). After Reset, Cancel/Reset disable but voting stays on the report posts. Only one active spawn report is allowed per Region Timer until cancelled or reset. After the Region Timer is reset, scout and Report spawn buttons on the ready post are disabled (scouting closed) until the next scout window. Multi-page maps can have one Region Timer per page. Claims stay on the map that owns the Region Timer (not shared to master/slave copies). Archived threads are unarchived automatically before posting. Use
/map-channel disconnect/infoto manage links. Reset individual PoI cooldowns on the web map. - Cooldown data (miss-scouts) — After a Region Timer is reset, Discord posts a Show Cooldown Data button (on the closed scout post and the cooldown-started embed). Anyone can click it for an ephemeral summary of who scouted which location, who marked Not here, Discord user ids (for cross-server reports), and the spawn report if any. Use
/map-cooldown-datawith map + region to look up the last reset for that Region Timer retrospectively. Data is overwritten on the next reset for that region. - Region Cooldowns board —
/map-cooldowns postposts a live embed listing every Region Timer on a map (ready / relative countdown). Pick a public map or one you own/edit; posting/removing requires map owner/editor or Manage Channels. The board updates automatically when timers are reset or become ready. Use/map-cooldowns removeto delete it from the channel. - Last done history — Open a PoI to see a log of when it was last done. Logged-in viewers can tap Now to record the current time, or pick a local date/time and click Add to backfill an earlier completion; an optional comment (up to 300 characters, e.g. loot notes) can be added with either. Each entry shows who recorded it and any comment left. Editors can delete individual entries (e.g. to fix a mistake). Use this alongside cooldowns to track respawn timing.
- Edit / delete / move — Editors can drag a PoI marker to reposition it, or open it to edit its fields, color, or remove it.
Drawing tools
- Everyone (logged in) — Personal drawing: pen, line, arrow, box, circle, and text tools with a free color picker. Only you see your strokes, and they always render on top of every layer; they sync when you return to the same page.
- Shapes & text — Box and circle are drag-drawn (drag from one corner/edge to the other) and can be outlined or filled; text is click-placed and prompts for the label and a font size.
- Editors — Optional Draw on layer checkbox writes to whichever layer is currently active (see Layers below) instead of your personal drawing.
- Edit an element — Click a line, arrow, box, circle, or text element (on your personal drawing or any editor layer) to select it. Drag the endpoint/move handles to reshape or reposition it, change its color (and fill, for box/circle) from the toolbar, edit its text (for text elements), or delete it. Freehand pen strokes are not individually selectable.
- Undo / clear — Undo the last element added to your active target (personal drawing or the active layer); clear your personal drawing any time, or clear/delete a layer from the Layers panel.
Layers
Editors see a 🗂️ Layers bar below the page tabs to build a page like a slide deck — multiple stacked, re-orderable drawing layers on top of the map image. On wider screens the layers appear in a horizontal tab row (like map pages); on narrow screens they stack vertically. Everything that existed before layers were added (the old shared drawing) was preserved as Layer 0.
- Stacking — Layers render bottom-to-top in the order shown in the panel (top of the list = top of the stack, drawn last). Your personal drawing always renders above all layers.
- Add / delete — Add up to 15 layers per page. A page always keeps at least one layer, so the last one can’t be deleted.
- Reorder — Drag a layer by its handle (⠿) to move it up or down the stack.
- Show / hide — Toggle a layer’s visibility without deleting its contents (useful for planning multiple strategies on one page).
- Rename & clear — Give a layer a name (e.g. “Phase 1”, “Kill order”) and clear its contents independently of deleting it.
- Active layer — Click a layer tab to make it the active drawing target; new elements go there while Draw on layer is checked in the toolbar.
Editors & ownership
- Owner — Full control: settings, visibility, share link, editors, pages, PoIs, and shared drawing.
- Editors — Assigned by the owner (Discord user search). Editors can add/edit PoIs, manage pages, and manage/draw on layers. They cannot change visibility, regenerate the share link, or manage other editors.
- Viewers — Anyone with access (public map or share link) can view the map read-only without logging in. Logging in unlocks personal drawing and, when the map allows it, resetting cooldowns. Editing PoIs, layers, and map settings always requires being an editor or owner.
Private share links
Private maps include a ?key=… token in the share URL. Anyone with the link can view without logging in. Owners can regenerate the link in Map settings (old links stop working).
Guild map links
Inside a guild, open Map links in the guild sidebar. All members can browse the list; staff with the Map links permission (or owner/admin) can add entries.
- Title — Display name for the link.
- Category — Free-text label for grouping (e.g. “Raids”, “Open world”).
- URL — Link to a map on this site (
/maps/{id}) or elsewhere. - Filter — Filter the guild list by category and title search.
Grant Map links on the Members page — see guild member permissions.
Maps are independent of Party Finder — for cross-server parties see Party Finder & profile.