Documentation

Everything you need to run your guild with Ironkeep.

Docs version v2026.04.27 Last updated: April 27, 2026

Feature confidence labels

We label important features so guilds know what is production-ready today, what is still maturing, and what is planned work. Labels apply to docs first, then are gradually mirrored in product pages.

Stable

Recommended for normal guild operations. Backward-compatible behavior expected.

Beta

Usable in production with officer review. UX/details may still change from feedback.

Planned

On roadmap, not shipped yet. Scope/order can change as priorities move.

Area Confidence Notes
CTA / roster core flow Stable Create CTA, signups, assignment, attendance, and Discord posting are core daily workflows.
Payout ledger Stable Officer ledger writes (wizard, manual, attendance), history, and exports are in regular operations use.
Regear queue Stable Production-ready reimbursement workflow for Albion guilds; valuation quality continues to improve without changing the core approve/deny/fulfill flow.
Scout attendance addon Beta Opt-in addon for specialized guild workflows.
Alliance / linked guild workflows Planned Scope is still being defined before implementation starts.

Game profile & multi-game

Ironkeep uses one documentation for everyone. What changes per guild is the game profile: your owner picks a supported game (or requests another) during setup. The app then shows the right labels, tabs, and integrations for that title — without maintaining separate doc sites per game.

How to read this page: Sections below apply to all guilds unless marked Albion or Arma Reforger. If a feature is hidden in your guild, your profile may not expose it yet.
Profile Core CTAs / events / roster / Discord Typical extras
Albion Online Full Builds, comps, market prices, optional enemy watch list (Gameinfo feed), verification, game calendar, regear queue, siphoned energy tracking
Arma Reforger Full Operation-focused labels (e.g. role templates); no Albion API features
Other / requested Core coordination Limited integrations until supported; owners can request a game so the team can prioritize

Technical detail for contributors: capability flags and adapter layout are described in the repo under docs/game-adapters.md.

1 Getting Started

What has to be set up to start using Ironkeep

Ironkeep is Discord-first: sign-in is Discord OAuth, and most guilds want the bot posting CTA/event cards in a channel. Use this as a checklist before you expect members to live in the app during a real CTA.

  1. Guild access — Complete Add your server — then finish the setup wizard. You can use the guild web dashboard as soon as the invite completes.
  2. Who can run operations — In Admin → Permissions (the permission matrix), add your officer Discord roles and grant at least CTA/event (and admin if needed) access. Until roles are mapped, usually only the Discord server owner has full control. Permission matrix
  3. Discord channels — In Admin → Discord integration, pick a CTA announcement channel if you want signup embeds posted when callers create CTAs. Add an event channel if you use events. Optional roster channel is for posting formatted rosters from caller tools (plan-gated on some hosts). Discord integration
  4. Guild data you actually fight with — Create or import comps and builds so signups and assignments have something to attach to. The Migration assistant and Configure your guild sections cover the practical paths. Albion — optional verification and Albion-specific admin pages; see Albion verification.
  5. Members — Share your guild URL so people sign in with Discord and land in the right workspace. Invite your members
Minimum to run a CTA from the website — approved guild + at least one account with CTA create permission + comps/builds as needed for your signup flow. Discord announcement posting additionally needs a configured CTA channel and bot permissions in that channel.

Help & contact

The Help hub groups setup help, product feedback, and bug reports on one page. In Discord, run /help for an ephemeral link to the same page (works in DMs and any server).

Server operators can set optional FEEDBACK_URL and BUG_REPORT_URL (see .env.example) so feedback and bug cards get one-click links; otherwise those cards fall back to support Discord or documentation.

Add your server

To get started, the guild owner needs to add Ironkeep to the Discord server. This is a one-step flow that logs you in and adds the bot at the same time — you can start it right here without opening Settings first.

Add Ironkeep to your Discord server

Opens Discord’s authorization screen. You need the Manage Server permission on the server you pick.

  1. Use the Add to Discord server button above, or go to ironkeep.gg and start new guild setup (same flow as the landing page Path A).
  2. Discord will ask you to select a server. Pick the server you want to manage.
  3. Authorize the bot permissions. Ironkeep only needs permission to send messages.
  4. Ironkeep registers your server and sends you to the setup wizard so you can pick your game profile and finish guild configuration.
Note: New guilds are active immediately after the invite. Hosts can set GUILD_MANUAL_APPROVAL_REQUIRED=1 to require a superadmin approval step instead.

Compliance and fair use

Ironkeep is designed as a coordination and communication platform for guild operations. It does not automate gameplay actions in the Albion game client.

  • No gameplay automation: no macros, botting, or automated in-game actions.
  • No client tampering: no memory reading, code injection, packet manipulation, or client modification.
  • No account credential handling: sign-in uses Discord OAuth; Ironkeep does not ask for Albion account passwords.
  • Tool scope: web + Discord workflows for planning CTAs/events, signups, and announcements.
  • Guild responsibility: each guild should still review and follow Albion Online and Discord rules.
Important: Policies can change over time. If you are unsure about a specific workflow, verify the latest Albion Online and Discord policy pages before using it in production.

Permission matrix

Ironkeep uses a per-role permission matrix. Add only the Discord roles you want to manage, then grant module/action access per role in Admin.

Role type Permissions How to assign
Owner Admin settings, role mapping, plus everything below Automatic — Discord server owner
Manager role Whatever you enable in the permission matrix (for example CTA/Event edit, roster, builds, payouts) Admin > Permissions > Add role to permission matrix
Member Member-facing access such as signup/view depends on your matrix configuration Automatic — all guild members
  1. In Discord, create roles for your managers/callers (e.g. "Officer", "Shotcaller").
  2. Right-click each role and copy the Role ID. (Enable Developer Mode in Discord Settings > Advanced.)
  3. In Ironkeep, go to Admin > Permissions, add those roles to the matrix, and set the permissions you want per module/action.
  4. Save. Members with those Discord roles will use those matrix permissions on their next login.
Tip: If no roles are added to the permission matrix, only the guild owner has management access.

Configure your guild

Head to the Admin page to customize your guild settings:

  • Game profile — set during guided setup; drives labels, visible tabs, and which integrations apply (see Game profile & multi-game above).
  • Guild name — displayed in the navigation bar.
  • Permission matrix — add specific Discord roles and configure permissions per module/action.
  • Roster channel — the Discord channel where rosters get posted.
  • Roles — customize which roles players can pick (Tank, Healer, DPS, etc.).
  • Event types — define event categories (ZvZ, Ganking, Gathering, etc.).
  • Timezones — choose which timezones to show in the timezone picker.

Migration assistant Stable

Migration assistant (v1) helps officers bring builds and compositions in from spreadsheets or other tools. Open it from your guild Setup wizard (Open migration assistant), or go to /g/your-guild-slug/setup/migration while signed in.

  • Download pack — a ZIP with README.txt plus CSV templates whose columns match the live Builds and Compositions importers.
  • Column mapping — rename export columns to match the templates (or use Compositions → Excel to CSV on the comps page to normalize Albion-style sheets). Role names must match your guild’s configured roles.
  • Run imports — use the linked Builds and Compositions pages. Both CSV flows show a preview first; nothing is written until you confirm.
  • Rollback — self-hosted guilds can restore a database backup from before the import; otherwise fix the sheet and import again. The pack README points to deploy backup examples.
  • Setup progress — the wizard marks this step done when the guild has at least one active build or comp, or the guild owner chooses complete without importing.

Future optional enhancements (not required for v1): interactive column remap for odd exports, or uploading directly from the wizard.

Invite your members

Share your guild's link with your members. They just need to click it and sign in with Discord — no signup form or password needed.

Tip: Your guild URL looks like ironkeep.gg/g/your-slug/. Pin it in a Discord channel so members can find it easily.

Testing on a phone (or a narrow desktop window)

Ironkeep works in mobile browsers and on desktop. To preview phone widths on a PC, use Chrome DevTools: open DevTools (F12 or Ctrl+Shift+I), click the Toggle device toolbar icon (phone/tablet), choose Responsive, and set width to 360 or 430 CSS pixels. Scroll vertically inside the preview as you would on a phone; use DevTools’ zoom (e.g. 75%) if the frame looks small on your monitor. On Windows, Ctrl+Shift+M may open Chrome’s profile menu—use the toolbar icon, or with DevTools focused run Ctrl+Shift+P and pick “Toggle device toolbar”.

2 For Members

Menu names and some options depend on your guild’s game profile (for example Albion uses builds and comps; other games may use different labels).

Signing up for CTAs

When an officer creates a Call To Arms, you'll see it on the home page under the CTAs tab in Active CTAs. On a phone the list is above quick create; on a wide screen it sits beside the create form (list on the right) so you can open signups without scrolling past caller tools. You may also see a Discord announcement in your guild's CTA channel. Click a CTA to view details and sign up.

  • One-click signup — your preferred role and build are auto-filled from your profile. Just click "Sign Up".
  • Discord sign-up — if CTA announcements are enabled, you can sign up directly from the Discord embed button without opening the website.
  • Change role/build — pick a different role or build before signing up if you want to flex.
  • Waitlist — if the CTA is full, you can join the waitlist. You'll be automatically promoted if a spot opens up and notified via Discord DM.
  • Swap requests — after signing up, you can request a role or build swap. The officer managing the CTA will approve or deny it.
  • Gear readiness — once you're assigned to the roster, you can confirm that your gear is ready. This helps officers see who's prepared.
  • DM notifications — when an officer assigns your role and build, you receive a Discord DM with a visual build card showing all equipment icons, spells, and alternative gear.
  • Cancel — changed your mind? Cancel your signup at any time (unless signups are locked).
Tip: Set up your profile first so your preferred role and builds auto-fill when you sign up. It saves a lot of clicks.

Your profile

Your profile page has three tabs:

  • Preferences — set your primary and secondary roles, timezone, preferred builds for quick signup, and whether you want Discord DM notifications.
  • Build Proficiency — rate your skill level on each build from 1 to 5 stars (1 = beginner, 5 = expert), and optionally tag builds as Learning or Preferred. Callers use this info when assigning you to the roster and the auto-assign algorithm prioritises higher-rated and preferred builds.
  • Participation — see your signup history and attendance record across past CTAs.

Events and calendar

Events are lighter-weight than CTAs (no comp-required roster flow). The Events tab lists upcoming events first so everyone can browse and sign up; creating an event requires the events → create permission in your guild (same rule as the server). Members without that permission still see the list and can open events to join.

  • Open the Events tab on the home page; use Create an event / the full form below the list when your role allows it.
  • The event form uses a quick-create layout (name, type, time) with optional settings in Advanced options.
  • Time entry is UTC (Albion server time), and the form shows a live local-time preview (including when editing an event you manage).
  • If a comp is linked to the event, members can pick a role and matching build when signing up.
  • On the web event page, the build dropdown auto-filters to the selected role so players only see relevant builds.
  • The event creator can close signups, reopen, edit, or delete the event.
  • Discord announcements — if an event channel is configured, events can be posted to Discord with role/build dropdowns, sign-up, and cancel actions. The embed updates automatically as players sign up or change role/build; roster lines use display name + Discord mention when known (same idea as CTA embeds).

The Calendar page shows a monthly overview of all upcoming CTAs, events, and in-game events, so you can plan your week at a glance.

Game calendar events

Albion — admins can enable in-game Albion events on the calendar so your guild always knows what's coming up. Preconfigured events include:

  • Season Start / End — one-time events, set the date each season.
  • Territory Resets — up to three per season, set specific dates.
  • Castle Outpost — weekly recurring (default: Saturday).
  • Crystal League — weekly recurring (default: Wednesday).

Configure these in Admin > Game Calendar Events. Toggle each event on/off and set dates. They appear on the calendar with distinct color-coded markers.

Market prices

  • Search for any item by name with autocomplete.
  • See prices across all cities side-by-side.
  • Check the build cost of any build in your library — it totals up all gear slots.
  • Use /price <item> in Discord for quick lookups without opening the browser.

Player verification

Albion — link your Discord account to your Albion Online character for identity verification. Verification is guild-scoped, so you can link and verify per guild.

  • Go to Profile > Preferences and search for your Albion character.
  • Ironkeep verifies your character against the Albion Gameinfo API and checks guild membership.
  • Once linked, your character name appears on your profile and is visible to officers in that guild.
  • Ironkeep automatically refreshes verification on login/profile access and in the background (about every 20 minutes), so role changes stay in sync.
  • You can re-verify at any time if you switch guilds, or unlink your character for a specific guild.
Tip: Guild admins can set up the Albion guild ID in Admin > Verification and optionally choose a Verified Discord role. Ironkeep will auto-add/remove that role when verification status changes.

3 For Officers

Creating CTAs

Callers create CTAs from the home CTAs tab. Create a CTA (quick form) and the Active CTAs list share one row on wide screens (create left, list right); on narrow screens the list is first, then quick create. The full form stays below for callers — members without create access still browse and sign up from the list.

  • Quick createCTA name, UTC time, optional template; use Manage templates to open /cta/templates. Defaults (comp, description, caps, deadlines, reminders, Discord options) come from the template when defined.
  • Full form — comp, description, signup deadline, reminders, duration, announcement format, and toggles. Jump links: Open full form from the quick block. Template chips still pre-fill the advanced form when used.
  • Edit in caller view — UTC start and signup deadline fields include the same local-time preview as create.

CTA templates

Templates live under CTA Templates (from the board or /cta/templates). When you create a template you can set a default comp, description, and max signups, and choose which sections apply when someone uses the template — for example include a signup deadline offset (hours before start), reminder, duration, Discord announcement style, voice tracking, check-ins, and whether to post to Discord on create.

From any CTA’s caller view, Save as template stores the current CTA settings as a new template (all sections included).

  • Guild vs private — templates can be visible to the whole guild or only to you (when creating the template).
  • Free tier — plan limits still apply to how many templates you can save.

Important: CTA and Event creation and edit forms use UTC for datetime-local fields (Albion server time). CTA creation defaults to 20:00 UTC for the current day where applicable; the UI shows a live local-time preview next to those fields.

You can also set:

  • Signup deadline — signups auto-close at this time.
  • Reminder — send an automatic Discord DM to everyone who hasn't signed up, X hours before the CTA.
  • Max signups — limit the number of signups. Players who come after can join the waitlist.
  • Post to Discord — if a CTA announcement channel is configured, check this box to post the CTA to Discord automatically.

Discord CTA announcements

When enabled, creating a CTA posts to your configured Discord channel. You can choose between two formats:

  • Embed mode — compact rich embed with CTA summary and role-grouped roster fields.
  • Party roster mode — fixed Party 1 / Party 2 layout with slot caps, player names per slot, and explicit (empty) placeholders.

CTA announcement messages include:

  • CTA name, time (with Discord auto-locale formatting), comp, status, and signup counts.
  • Role-grouped roster fields list players as display name + Discord mention when the user id is known, so the roster stays readable if a mention does not resolve in the client.
  • Sign Up and Sign Out buttons — players can join/leave directly from Discord.
  • A View Details link to the full CTA page.
  • Live updates when players sign up, cancel, or get final assignments in caller view.

The embed stays in sync — every signup, cancellation, or roster assignment updates it in real time.

Assignment thread — when an officer assigns the first player, a Discord thread is automatically created on the CTA announcement message (named "Assignments — {CTA name}"). Each subsequent assignment posts a message to the thread with the player's name, role, build, and a visual build card image showing equipment icons and spells. This gives the whole guild visibility into the roster as it's built.

Setup: Go to Admin > Discord Integration, paste the CTA channel ID, and choose your default CTA announcement format. You can still override the format per CTA on create/edit.
Tip: After creating a CTA, click Save as template to reuse the same settings next time.

The roster dashboard

The roster dashboard is where you build your roster. Open it by clicking Caller View on any CTA.

While a player is still unassigned, each card shows SR (signed role at signup), Pref and Alt as role · build. After you set a final assignment, the card switches to a compact view (name, role, build name, priority badge, and P/S/OVR source hint) so crowded lanes stay scannable — single-click the card anytime for the full signup recap, guild attendance totals, and other builds on file (slide-over panel).

Live prep: faster assignments and frozen comps Stable

These flows exist so you can react quickly during prep without library comp edits unexpectedly changing who can sign up or which builds appear in swap lists for this CTA.

  • Double-click a roster card — opens the assignment modal for role/build changes (the search area documents the gesture).
  • Save & next — after saving an assignment, jumps to the next player still in Unassigned so you can clear the pile with fewer clicks.
  • Freeze comp for this CTA — snapshots the current comp’s build list onto the CTA. Edits to the library comp no longer reshape signups, swaps, recommendations, or assignment eligibility for this operation until you Use live library comp again or pick another comp.

Optional future polish (not required for daily ops): keyboard shortcuts or bulk reassignment if guilds still want more throughput.

Roster layout modes Stable

On the caller page header, Standard, Cockpit, and Board switch how much chrome you see around the bucket board. Your last choice is saved in this browser only (localStorage key ironkeep_caller_layout) so different devices can use different layouts.

  • Standard — the default: full setup stack (CTA edit, status, comp, targets, quality checks) above the six-column bucket grid and search.
  • Cockpit — on large screens, search and Unassigned stay in a left column; the five role lanes sit on the right as a horizontally scrollable row of fixed-width columns so lane titles and long names stay readable instead of squeezing into one grid. Setup lives in a Setup & CTA tools disclosure (collapsed on desktop so the board stays in view; use the summary to expand). On smaller widths the pool stacks above the lanes.
  • Board — board-first: compact header, tall bucket area, setup moved into Mission control (slide-over from the header button), and a bottom bar for search plus auto-assign / assign-next plus a short quality-check readout. Discord notify/reminder actions stay under More in the header.

Assignment behavior (hold then drag between buckets, single-click details panel, double-click assignment modal, shortcuts A / E / Ctrl+F) is the same in Standard; other modes only rearrange layout.

Roster cards: names, builds, and narrow screens Stable

Display names and build titles wrap on the card instead of being cut off with ellipses. Each role lane keeps a minimum width so text stays readable; if the whole board is wider than your window (for example many lanes on a small monitor), you can scroll the bucket row horizontally rather than squeezing cards unreadably thin.

Use the card surface: single-click for the details slide-over, double-click for assign or edit, hold and drag to move between buckets. In the assignment modal, Remove role & build clears the final assignment and sends the player back to Unassigned while keeping their signup; Remove signup drops them from the CTA entirely. Inline signup notes appear on unassigned cards; for assigned players, notes remain in the details panel.

  • Drag and drop — press and hold on a card briefly, then drag to a role bucket (quick clicks stay a normal click). Drop where you want them; if a build cannot be chosen automatically, the assignment modal opens.
  • Auto-assign — click the auto-assign button to let Ironkeep fill the roster based on player skill ratings, preferred/learning tags, and role preferences. You can always override afterwards.
  • Role targets — set how many of each role you need. The dashboard shows you how many spots are filled vs. needed.
  • Swap requests — if players requested a role or build change, you'll see a notification. Approve or deny from the dashboard.
  • Gear readiness — see which assigned players have confirmed their gear is ready.
  • Player notes — add private notes on players (only visible to officers). Useful for tracking reliability or build preferences.

When the roster is ready:

  • Notify players — sends a DM to each assigned player with their role, build name, and a visual build card image showing all equipment, spells, and alternative gear. Players also get notified automatically each time they are assigned or reassigned.
  • Post to Discord — posts a formatted roster to your guild's roster channel.
  • Export CSV — download the roster as a spreadsheet.
  • Lock signups — prevent new signups or changes.
  • Archive — move the CTA to the archive when it's done.

Builds and compositions

The build library is your collection of builds with full gear slots and Albion item icons.

  • Create builds individually or use Bulk Create to add many at once.
  • Import from JSON or CSV if you already have builds in a spreadsheet (see Migration assistant for templates, preview/confirm behavior, and rollback notes).
  • Share builds via URL — anyone with the link can view (and optionally save) the build, including all equipment and alternative gear.
  • Notes — optional free text on each build. Use it to tell similar loadouts apart in the comp picker (for example “brawl” vs “ZvZ”); the comp page can search and display notes when you add builds to a composition.
  • Hide vs deleteHide removes a build from normal lists until you show hidden builds and restore it; links to comps stay attached. Delete removes the build permanently after confirmation (blocked if the build is required on an active CTA). The same idea applies to comps: hide vs permanent delete.
  • Spells & abilities — select the specific spells (Q, W, E, passives) for each equipment slot. Spells are shown on the build card and in the build detail view.
  • Alternative gear (swaps) — each equipment slot can have an optional swap item. Alt items are shown with an amber border overlay on build cards and included in CSV exports, share URLs, and assignment DMs.

Compositions group builds together into a team setup.

  • Create a comp, then add builds from the library. On the comp page, use the filter to search by build name, notes, weapon, or other comp names; each row can show weapon, notes, and Also in (other comps that already use that build).
  • On the comps list, compositions are grouped into CTA-eligible (pickers and signup flows) and other when both exist—separate panels, per-group counts, and Jump to links under the search row. The CTA eligible filter still shows only one kind. Role counts on cards use a fixed order for default guild roles: Caller, then Tank, Healer, Melee DPS, Ranged DPS, Support, Scout.
  • Set role counts (e.g. 3 Tanks, 5 Healers, 12 DPS) to define the ideal team shape. That number is how many players you want in each role — you only need at least one linked build per role; many players can use the same build. The comps list warns if a role has a target but no build linked for that role.
  • Use Compare to see two comps side-by-side with differences highlighted.
  • Assign a comp to a CTA so players only see the builds that match your team plan.
  • Export — download one comp as CSV (same columns as comp CSV import) or JSON (same v1 structure as the full build library export, but only that comp and its builds). Links are on comp detail and on each comp card on the list.
  • CSV import — import a full comp (with builds and role counts) from a single CSV file. The import previews changes and handles conflicts with existing builds/comps automatically.

Comps list: Ready % and role targets

On /comps, each card can show Ready N% when the comp has role targets set. That percentage compares your configured targets to coverage: for each role with a target above zero, you need at least one build linked for that role. Targets are player headcounts, not a requirement for that many distinct builds — several players can run the same linked build.

The score weights your total target slots: roles with no linked build count their full target toward the gap (expected players you cannot assign from this comp’s library links alone). Roles with one or more builds linked count as fully covered for readiness. When something is wrong, the card explains which roles are affected and the expected headcount per role.

Build priority (Prio 1 vs. Prio 2)

When adding builds to a comp, you can set each build's priority:

  • Prio 1 — first-pick builds that should be assigned first.
  • Prio 2 — secondary builds used when Prio 1 is unavailable.

Priority affects the entire system:

  • The comp list shows a Prio 1 count badge per comp.
  • The CTA page highlights Prio 1 builds in the recommendations section.
  • The roster dashboard sorts Prio 1 builds first and shows Prio 1 / Prio 2 badges on assignments.
  • The auto-assign algorithm gives a score bonus to Prio 1 builds.

Attendance and stats

After a CTA, mark who actually showed up:

  1. Open the CTA and click Attendance.
  2. Mark each player as present, absent, or late.
  3. Save. The data feeds into the attendance dashboard and player stats.

The Stats page (Manage → Stats) shows guild-wide metrics: role distribution, active vs inactive players, recent activity, and a weekly digest of CTA throughput and attendance health (last 7 days).

The Attendance dashboard shows attendance rates over time, so you can track trends and identify players who consistently show up (or don't).

The Players page gives you a per-player breakdown of signup history, last signup (CTAs/events), last in app (throttled web usage for this guild), and Albion link check (last verification refresh).

Payouts Stable

The payout system lets you track player balances, split loot, and pay attendance — replacing manual spreadsheet tracking.

Player view — every guild member can see their own balance and transaction history at Payouts in the nav bar.

Officer dashboard — officers access Manage Payouts with guided entry, quality checks, and detailed feedback.

  • Balances — see every player's running balance, search by name, view individual history, and mark players as paid (zeroes their balance).
  • Add / Deduct — manually credit or debit a player. Type-ahead search finds players by name. Choose a reason (manual, bonus, penalty, refund) and optional note.
  • Payout Wizard — recommended guided loot split: total loot and guild split %, add players with search, optional note, then review (guild share and per-player preview, duplicate / missing-ID checks) before recording.
  • CTA Settlement Wizard — CTA-focused settlement flow: select an ended CTA with attendance completed, import present players, set EMV, apply fixed role regears, optional equal payout, attach officer-only evidence, then Finalize + credit balances. Finalize posts regear and payout credits into the payout ledger and marks eligible rows as credited.
  • Attendance Payout — select a CTA, set the rate per player and a late modifier %. One click pays all present and late attendees. Players already paid for that CTA are automatically skipped.
  • Recent History — shows the last 50 transactions across all players with an undo button on each. Settlement credits are labeled as Settlement Regear or Settlement Payout and show CTA ID / Settlement ID for audit checks.

Bulk import feedback now reports exact rejected lines (for example L12: invalid amount) so officers can quickly fix source sheets.

You can also Export CSV to download the full ledger for external record-keeping, including CTA ID and Settlement ID columns where available.

CTA settlement audit: After finalize, the settlement status changes to Finalized and the button becomes Already finalized. To confirm credits were posted once, open Manage Payouts → Recent History and check there is at most one Settlement Payout row per eligible player for the same Settlement ID. Regear and payout are separate credit types, so a player can correctly have one of each.
Tip: The guild owner can set default values for split %, attendance rate, currency label, late modifier, and fixed regear amounts per role in Admin > Payouts. CTA Settlement Wizard uses the final caller-assigned role (fallback: signup role) to prefill regear amounts.

Regear queue (Albion) Stable

For guilds with an Albion profile and regear enabled, officers manage reimbursement requests on Manage → Regear Queue. Players submit from their profile; officers approve, deny, or fulfill, with optional tie-in to the payout ledger and guild budget where configured.

4 For Guild Admins

The guild owner (the person who added the server) has access to the Admin page. Here you can configure everything about your guild.

Guild settings

  • Permission matrix — add specific Discord roles and configure permissions per module/action. See the Permission Matrix section above for details.
  • Session lifetime — how long users stay logged in before needing to re-authenticate (default: 7 days).

Discord Integration

Configure Discord channel IDs for automated messages. Right-click a channel in Discord and click "Copy Channel ID" (requires Developer Mode).

  • Roster channel ID — where "Post to Discord" sends the formatted roster after roster assignments.
  • CTA announcement channel ID — where new CTAs are automatically posted with sign-up buttons and live-updating embeds.
  • CTA announcement format — choose default Embed or Party roster mode for this guild.
  • Event announcement channel ID — where new events are posted with sign-up buttons.

Albion verification

Link your guild to the Albion Gameinfo API so members can verify their in-game character.

  • Search for your guild by name and select it. This stores your Albion guild ID.
  • Select an optional Verified Discord role from your server roles.
  • Members can then link their Albion character in their profile and Ironkeep verifies guild membership automatically.
  • When a member becomes verified, Ironkeep queues that role to be added. If they are no longer verified later, Ironkeep queues role removal automatically.

Roles, event types, and game events

By default, Ironkeep uses standard Albion roles (Tank, Healer, Melee DPS, Ranged DPS, Support, Scout). You can customize these on the Admin page.

  • Add, remove, or reorder roles to match your guild's terminology.
  • Customize event types (ZvZ, Ganking, HCE, etc.).
  • Configure Content Role Pings per event type with a dropdown + add/remove flow, including multiple roles per type.
  • Customize which timezones appear in the timezone picker.
  • Configure game calendar events — toggle Albion events like Season Start, Territory Resets, Castle Outpost, and Crystal League on or off and set their dates. These appear on the guild calendar.

Watch list (enemy targets)

Albion — optional enemy radar: Discord-only alerts when watched players or guilds appear in the global Albion Gameinfo kill/death feed.

  • Enable watch list — in Admin > Integrations > Watch list, turn on the feature, then add one or more watches. The Discord bot must be online to post messages.
  • Targets — each row is a player or guild identified by Albion id (from search or profile URL), optional label, and a Discord text channel where alerts go. You can choose kills, deaths, or both.
  • Limits & behavior — up to 8 watches per guild; compact embeds only (no large card images); polling about every five minutes. The first time you enable it, Ironkeep advances a cursor so old events are not dumped into the channel.
Note: This uses the same public Gameinfo data as the official killboard. It does not detect “spotted in battle” beyond normal kill/death events on the feed.

Backups

Use the Create Backup button on the Admin page to take a snapshot of your guild's database. Backups are stored on the server and can be restored by the platform administrator if needed.

Note: Archived CTAs are automatically cleaned up after 90 days to keep the database lean. Make sure to export any data you want to keep long-term before that window closes.

Health page

Admins can open Admin > Ops Center > Health Page to verify system status in one view:

  • Web/API status — quick DB-backed health indicator.
  • Discord bot heartbeat — shows whether bot loop heartbeat is fresh, stale, or missing.
  • Latest sync timestamps — payout roster sync metadata for troubleshooting.
  • Scheduled jobs status — last status, messages, and next run times.

Public /status and /api/status (no login) report app health and an Albion Gameinfo reachability check. That check tries regional bases and lightweight /search / /items/search calls — not the removed /servers route — so uptime pages stay accurate when Gameinfo changes paths.

Payout settings

The Payouts section on the Admin page lets the guild owner configure defaults for the payout system:

  • Default split % — pre-fills the loot split calculator. E.g. 70 means 70% goes to the guild fund, 30% is split among players.
  • Attendance payout rate — default amount each present player receives for attendance payouts. Set to 0 for no default.
  • Currency label — display label for all amounts (e.g. "Silver", "Gold"). Purely cosmetic.
  • Late modifier % — how much late players receive compared to present players. E.g. 50 means late players get half the attendance rate.

These defaults pre-fill the caller's payout forms but can be overridden per-operation. Only the guild owner can change them.

5 Scout Attendance BETA

Scout attendance tracking is designed for non-combat players who support CTAs from outside the main group — scouts, transport, refill runners, etc. It provides two ways to verify their participation: voice tracking and check-ins.

Beta feature: Scout attendance is new and may change based on feedback. Voice tracking and auto-mark attendance are Pro features.

Voice tracking

When voice tracking is enabled on a CTA, the Ironkeep bot automatically records which players are in any voice channel on your Discord server during the CTA window.

  • The bot checks voice channels every 2 minutes while a CTA is active.
  • It records the first and last time each player was seen, and calculates total minutes present.
  • Players must meet a minimum minutes threshold (configurable in Admin) to count as present.
  • Voice data appears on the attendance page as a "Voice (min)" column.
Tip: Voice tracking works across all voice channels in your server. Players don't need to be in a specific channel.

Check-ins

Check-ins let scouts and support players confirm they're active during a CTA. There are two ways to check in:

  • Web check-in — on the CTA page, there's a "Check-in" card where players can click a button and optionally enter their current zone. Each check-in records a timestamp.
  • Discord command — players can type /checkin <cta> in Discord to check in without opening a browser. An optional zone parameter lets them specify where they are.

The number of check-ins and timestamps appear on the attendance page. Callers can see who checked in and how many times.

Auto-mark attendance

On the attendance page, callers can click Auto-mark scouts to automatically mark attendance for players who were tracked via voice or check-ins but didn't formally sign up for the CTA.

  • Players who meet the voice minutes threshold are marked as present.
  • Players who checked in at least once are marked as present.
  • These players appear in a separate "Scouts / Non-Combat" table on the attendance page.
  • Auto-mark does not overwrite any attendance that was already manually set.
Pro feature: Auto-mark attendance requires a Pro plan. Free guilds can still view voice and check-in data but must mark attendance manually.

Stale scout notifications

If a scout hasn't checked in within the configured interval (default: 30 minutes), the bot automatically sends them a Discord DM reminder. This helps ensure scouts stay active during long CTAs.

Admin settings

Guild admins can configure scout attendance in Admin > Scout / Non-Combat Attendance:

  • Voice min. minutes — minimum minutes a player must be in voice to count as present (default: 10).
  • Check-in interval — how often scouts should check in, in minutes (default: 30). Used by the stale scout notification system.
  • Auto-attendance — enable or disable the auto-mark attendance feature.

When creating or editing a CTA, callers can also toggle voice tracking and check-ins on or off per-CTA.

6 Discord Bot Commands

Ironkeep includes a Discord bot that brings key information directly into your server. All commands are slash commands — type / in any channel to see them.

CTA commands — everyone

  • /cta list — shows all active CTAs for your guild with signup counts and status. Visible only to you (ephemeral).
  • /demo_cta — posts a live CTA preview in the current channel using your guild's current announcement mode (embed or party roster). Includes disabled demo buttons.
  • /cta info <cta> — shows a detailed embed for a specific CTA: time, status, signups, assigned count, and role breakdown. An autocomplete dropdown lets you search by name.
  • /cta signup <cta> — sign up for a CTA directly from Discord. Your roles and preferred builds are auto-filled from your profile. If the CTA is full, you're added to the waitlist.
  • /cta status <cta> — check your signup status: signed up, waitlisted, assigned role/build, and gear readiness.
  • /cta cancel <cta> — cancel your signup or leave the waitlist. If a spot opens up, the next waitlisted player is automatically promoted and notified.
  • /checkin <cta> [zone] — check in to a CTA as a scout or support player. Optionally specify your current zone. Used for scout attendance tracking. Beta

CTA commands — caller only

  • /cta notify <cta> — sends a DM to every assigned player with their role and build. Caller only.
  • /cta remind <cta> — sends a reminder DM to everyone who signed up. Caller only.

Event commands

  • /event list — shows all active events with type, time, and signup count.
  • /event info <event> — shows a detailed embed for a specific event, including the signed-up players.
  • Event announcement embeds also include interactive controls: choose role, choose build (when a comp is linked), sign up, or cancel signup directly in Discord.

Utility commands

  • /help — opens the Help hub on the website (setup, feedback, bugs). Works in any server and in DMs; reply is ephemeral with a link button. URL uses the same host as your Ironkeep OAuth app.
  • /price <item> — look up real-time market prices for any Albion item. Autocomplete helps you find items by name. Shows buy/sell prices across all cities in a formatted embed.

Automatic reminders

The bot automatically sends reminder DMs 30 minutes before any CTA starts. This happens without any action from callers — the bot checks every minute and sends once per CTA.

Tip: Members can enable or disable DM notifications in their profile preferences. Players who have DMs disabled in Discord will not receive messages.