CORRUPTMIND

A Lovecraftian Roguelike MUD

Documentation



Getting Started

CORRUPTMIND is a Lovecraftian roguelike MUD played entirely over SSH. There is no client to install - your terminal is your only game client.

1 Sign up on the website to create your account.
2 Activate your account via the verification link sent to your email (check your spam folder).
3 Connect via SSH (connection details are on your profile page after login).
4 Move with WASD or HJKL. Type /help for commands.

Sign Up & Account Activation

To create an account, use the signup form on the website. You will choose a username (3-20 characters, letters, numbers, and underscores only) and provide an email address. Your email is only used for account verification/activation and password resets.

Your password is shown exactly once. Save it immediately. Registering an SSH key on your profile page is still strongly recommended as a backup so you can always log in to the game server even without your password.

New accounts start in a pending state. Activation is completed by clicking a verification link sent to your email. The verification link expires after 24 hours, after which the unverified account is removed.

Once activated, you can log in via SSH using the password generated during signup, or by registering an SSH key (see below).


SSH Keys

SSH keys let you log in without typing a password every time. This is both more convenient and more secure than password authentication.

Why Register an SSH Key?

How to Add an SSH Key

  1. Log in to the web portal with your username and password.
  2. Navigate to your profile page.
  3. Paste your public key in standard authorized_keys format (e.g., the contents of ~/.ssh/id_ed25519.pub).
  4. Supported key types: ssh-ed25519, ssh-rsa, ecdsa-sha2-nistp256/384/521.
  5. You can register up to 10 keys per account. The same key cannot be registered on two different accounts.

Connecting with a Key

Once registered, SSH will use your key automatically. See your profile page for the connection command. If your private key is not in a default location, specify it with -i ~/.ssh/my_key.


Connecting & Movement

Connect to the game via SSH using your account credentials. The connection command is on your profile page.

Movement

The game starts in Move mode. Use the following keys to navigate the world:

W or K North
S or J South
A or H West
D or L East

WASD follows conventional game movement. HJKL follows Vim conventions (h=left, j=down, k=up, l=right). Both key sets work identically.

Movement has a short cooldown (250ms). You cannot move while in combat.

Biomes

The world is divided into biomes, each with its own terrain symbol on the map:

Mode Switching

The interface has two primary modes: Move mode (for navigation) and Command mode (for chat and slash commands).


Character Stats

On first login - and after every death - you choose a class, then allocate 4 bonus points across six ability scores. All stats start at 10, and the modifier for any stat is (score − 10) / 2 (so 10 = +0, 12 = +1, 14 = +2). These points are permanent for that character.

Stat Modifier Affects
STR (Strength) Weapon damage with strength-scaled heavy weapons (greatswords, axes, clubs, etc.).
DEX (Dexterity) Effective AC, initiative, and flee checks - plus weapon damage with dexterity-scaled light/ranged weapons (bows, daggers, thrown blades, etc.).
CON (Constitution) Idle HP regeneration per tick and HP gained on level-up - higher CON means you heal faster and gain more HP each level. Regen also scales with level (min(level÷5, floor(√level)) + CON modifier).
INT (Intelligence) Defend action (/defend grants temporary AC bonus of 2 + INT modifier) - plus weapon damage with intelligence-scaled magical weapons (staves, wands, focus rods, etc.).
WIS (Wisdom) Saving throws against tagged monster attacks, maximum sanity (80 + WIS modifier × 15) - plus weapon damage with wisdom-scaled sacred weapons (psalms, litanies, relics, etc.).
CHA (Charisma) Bonus XP on kills - after standard XP is calculated, CHA modifier × monster level is added as bonus XP.

Stat Allocation

Navigate the allocation modal using W/K (up) and S/J (down). Press D/L to add a point and A/H to remove one. You must distribute all 4 points before entering the game. Stats cannot be changed after allocation - you must create a new character to reallocate them.


Classes

On first login - and after every death - you must choose a class before allocating stats. Your class determines which ability scores improve automatically as you level up. The choice is permanent for that character; you must create a new character to choose again.

Class Major Stat (+2 per 5 levels) Minor Stat (+1 per 5 levels) Role
Bulwark STR DEX An unyielding presence against the tide of horrors. Strength fuels devastating strikes; dexterity improves evasion and initiative.
Voidweaver INT WIS One who reaches into the emptiness and pulls out power. Intelligence enhances defensive insight; wisdom guards against supernatural attacks.
Stalker DEX STR A swift hunter whose dexterity ensures evasion, while strength guarantees lethal damage.
Harbinger WIS INT Wisdom and intelligence form a bulwark against the dangers of the outer reaches.

Class Stat Bonuses on Level-Up

Every 5 levels, your class grants +2 to your major stat and +1 to your minor stat. These bonuses are spread across individual level-ups (at most +1 per level-up) so that progression feels steady rather than burst. The cycle begins at level 2 and repeats every 5 levels.

Level-Up Bonus
2, 7, 12, 17, 22, 27, 32, 37 +1 Major stat
3, 8, 13, 18, 23, 28, 33, 38 +1 Minor stat
4, 9, 14, 19, 24, 29, 34, 39 No class bonus
5, 10, 15, 20, 25, 30, 35, 40 +1 Major stat
6, 11, 16, 21, 26, 31, 36 No class bonus

By level 5, every class has gained exactly +2 major and +1 minor. This pattern repeats at levels 10, 15, 20, and so on, up to the level cap of 40. Class stat bonuses are applied automatically on level-up and are shown in the level-up notification.

Each class also has two active abilities unlocked at levels 1 and 10. See the Class Abilities section below for details.


Class Abilities

Each class has two active combat abilities with cooldowns measured in combat rounds. Use /ability (alias /ab) to list available abilities and /ability <name> to use one in combat.

Every ability carries a Lovecraftian cost. Drawing on forbidden power erodes your sanity or risks acquiring a bane. The void always takes its cut.

Class Ability Level Cooldown Effect Cost
Bulwark Grave Grip 1 3 rounds 1d8 + STR mod damage, stuns monster (skips next turn) 1 sanity
Bulwark Unyielding Flesh 10 4 rounds +AC equal to 2x proficiency bonus for 2 rounds 2 sanity
Voidweaver Void Bolt 1 3 rounds 2d6 + INT mod damage, ignores monster defense 2 sanity
Voidweaver Phase Shift 10 5 rounds Untargetable for 1 round (monster skips attacking you) 15% bane risk
Stalker Shadow Vein 1 3 rounds Weapon damage + DEX mod, +4 attack, crit 18-20, +1d6 shadow damage 1 sanity
Stalker Flee into the Dark 10 4 rounds Guaranteed successful flee with no opportunity attack 10% bane risk
Harbinger Eldritch Smite 1 3 rounds 1d12 + WIS mod damage + 2 sanity recovery. If sanity below 50%, damage doubled but no sanity recovered None (recovers sanity)
Harbinger Revelation 10 5 rounds Restore 1d6 + WIS mod sanity to all active combat participants 10% bane risk per target

Sanity Costs

Bane Risk

/autoability (alias /aab) toggles automatic ability use: on your turn, the first available (off-cooldown) ability is used after a 2-second countdown. If all abilities are on cooldown, it falls back to a normal attack. This is mutually exclusive with /autoattack and /autodefend.


Health Regeneration

When you are out of combat and below maximum HP, your body mends on a timed interval (every 10 seconds). The rate depends on your Constitution and your surroundings.

Regeneration Rates

Base healing per tick is max(1, min(level÷5, floor(√level)) + CON modifier), then multiplied by a location bonus. At low levels the level÷5 term dominates; at higher levels the square-root term slows growth so that combat damage remains impactful.

Location Multiplier Effect
Rest Point (Campfire) x3 The campfire at the origin offers the highest recovery rate.
Forest x2 Forest biome grants doubled health regeneration.
Other Biomes x1 Plains, desert, and other terrain offer no recovery bonus.

Bonuses do not stack - the campfire bonus takes priority over the forest bonus.

Visual Feedback


Leveling & Progression

Defeating monsters awards XP, split evenly among active combat participants (when a monster's XP is smaller than the group size, every participant instead receives the monster's full XP). When you accumulate enough, you level up automatically.

XP Curve

XP required per level follows a polynomial curve: floor(100 × level1.5). Each level costs more than the last.

Level XP Cost Cumulative Total
1 → 2 100 100
2 → 3 282 382
3 → 4 519 901
4 → 5 800 1,701
5 → 6 1,118 2,819
6 → 7 1,469 4,288
7 → 8 1,852 6,140
8 → 9 2,262 8,402
9 → 10 2,700 11,102
10 → 11 3,162 14,264
11 → 12 3,648 17,912
12 → 13 4,156 22,068
13 → 14 4,687 26,755
14 → 15 5,238 31,993
15 → 16 5,809 37,802
16 → 17 6,400 44,202
17 → 18 7,009 51,211
18 → 19 7,636 58,847
19 → 20 8,281 67,128

Level-Up Effects

Each level-up grants:

Level Cap

The maximum level is 40. XP continues accumulating at cap for leaderboard scoring purposes, but no further level-ups occur.

XP Reduction

Monster XP is reduced when the monster is below your level: 10% less per level gap, reaching 0 XP at a gap of 10+ levels. Kills still count and loot still drops regardless.

Charisma Bonus XP

After level-diff scaling is applied, CHA modifier × monster level is added as bonus XP. A character with 14 CHA (+2 modifier) killing a level 5 monster earns +10 bonus XP. Low CHA does not penalize - it simply grants no bonus.


Slash Commands

Type commands in Command mode (press i or / to enter it). Commands start with /.

Command Aliases Description
/help Show available commands and their aliases
/me <message> /emote Send an emote to players on your tile
/look Observe your surroundings, including corpses
/inspect Inspect current tile or a corpse for details
/attack /a Attack the monster in your current combat
/autoattack /aa Toggle auto-attack: automatically attacks each turn after a 2-second countdown (Esc to cancel). Mutually exclusive with auto-defend.
/autodefend /ad Toggle auto-defend: automatically defends each turn after a 2-second countdown (Esc to cancel). Mutually exclusive with auto-attack.
/defend /d Take a defensive stance (+2 AC + INT modifier, minimum +1, until next turn)
/flee /run Attempt to escape combat (DEX roll)
/combat Show current combat status and turn order
/character /char Show your stats, HP, AC, level, XP, and kills
/equipment /eq List all equipped items and their stat bonuses
/loot Claim loot from a corpse at your location
/need Need roll d100 for pending loot (higher priority than greed)
/greed Greed roll d100 for pending loot (lower priority than need)
/pass Pass on pending loot
/scrap Scrap loot at your location for scrap currency
/reforge <slot> Re-roll stats on an equipped item (costs scrap)
/dice <NdS[+/-M]> Roll dice for roleplaying (e.g., /dice 2d6 or /dice 1d20+3)
/leaderboard /lb View death scores: top, recent, or me
/sshkeys List your registered SSH keys
/echoes Open the Echoes shop overlay; /echoes buy <key> to purchase
/ability /ab List or use class abilities in combat (/ability <name>)
/autoability /aab Toggle automatic class-ability use in combat
/meditate Meditate at a sanity-recovery landmark to restore 25% max sanity (per-location cooldown)
/mind /sanity Show your current sanity, threshold, and active boons/banes
/quest Open quest overlay; /quest available shows quests at landmark; accept, abandon, history also available

Any text that does not start with / is sent as chat to players on your tile.


Combat

Combat begins the moment you step onto a tile occupied by a monster, or when one spawns beneath your feet. While in combat, you cannot move - you fight, you flee, or you die.

Combat Flow

  1. You enter a monster-occupied tile (or one spawns after your move).
  2. Initiative is rolled for all participants (players and the monster).
  3. Turns advance in initiative order.
  4. On your turn, use /attack, /defend, or /flee. Use /autoattack to attack automatically each turn after a 2-second delay, or /autodefend to defend automatically.
  5. If you wait too long, your turn is skipped automatically (30s timeout).
  6. Monster turns are executed automatically by the server.
  7. Other players who move onto the tile join the fight mid-combat.

Attack Resolution

WIS Saving Throws

Some monsters possess supernatural capabilities beyond mere physical attack - mind-altering whispers, dimensional rifts, temporal distortions. When one of these tagged creatures (psychological, dimensional, or time) hits you, a WIS saving throw is triggered:

The save is rolled automatically when a tagged monster lands a hit. No action is required - your Wisdom stat and proficiency determine your resistance. Monsters without these special tags deal normal damage with no save.

Reconnection

Combat state is fully database-backed. If you disconnect mid-fight, you can reconnect and resume from where you left off.


Looting

When a monster is defeated, it may drop loot. Drops are probabilistic and vary by creature; not every kill yields loot.

Solo vs. Multiplayer Loot

Corpse Inspection

Defeated monsters remain as visible corpses for five minutes. Use /look to see nearby corpses and /inspect to examine a corpse for remaining loot.

Claiming & Equipping


Items & Rarity

Not all items are created equal. When loot drops, it carries two layers of rarity: the item's fixture rarity (how powerful the base item is) and a randomly rolled drop rarity (how lucky the roll was). The rarer of the two determines the displayed rarity tag and color.

Drop Rarity

Every loot drop rolls a random drop rarity, which may upgrade the displayed tag above the item's base fixture rarity:

Drop Rarity Chance Effect on Item Stats
Standard 55% Base fixture stats unchanged
Enhanced 25% +1 to one existing stat; displays at least Uncommon
Superior 14% +1 to one existing stat and +1 to one new stat, armor slots get +1 AC; displays at least Rare
Exalted 6% Budget of 3–4 bonus points across stats, armor slots get +1 AC; displays at least Epic

Fixture Rarity

Each item template has a base fixture rarity that determines its starting stats and how common it is in loot tables:

Fixture Rarity Description
Common Baseline items found throughout the world
Uncommon Slightly better base versions (also produced by Enhanced drops on Common items)
Rare Stronger base items with more stat budget
Epic Powerful items with significant stat bonuses
Legendary The most powerful items in the game

A drop's displayed rarity is always at least as high as the item's fixture rarity. A Standard roll on a Legendary item displays as Legendary. An Exalted roll on a Common item displays as Epic. Drop rarity can only upgrade the display, never downgrade it.

Weapons display two additional properties that are critical for comparing them: their scaling stat (STR, DEX, INT, or WIS) and their damage dice (e.g., 2d8). The scaling stat determines which of your ability modifiers is added to weapon damage, so a weapon that matches your class's major stat is far more effective for your build. The damage dice override replaces your level-based default dice when present.

Reforging

Once you have scrap, you can spend it to re-roll an equipped item's stat bonuses with /reforge <slot>. The cost in scrap equals the item's current gear score. Reforging is blocked while you are in combat.

Example Items by Rarity

Below are examples showing how rarity affects the same base item type. Stats are generated using the game's live rarity logic.

[Common] Shimmering Veil Head
AC +1
A translucent membrane stretched across a wire frame, faintly pulsing with residual warmth. It smells of salt and something older.
[Uncommon] Shimmering Veil Head
AC +2
The weave is tighter here, threads pulling against your skin as though trying to root themselves. It turns aside blows you never saw coming.
[Rare] Crawling Cowl Head
AC +3 Defense +1
It shifts against your scalp when danger draws near. The fabric is warm and slightly damp, as though something beneath it is breathing.
[Epic] Torn Continuum Wrap Body
AC +4 Defense +3
When worn, it alters your outline just enough that doorways seem unsure whether you have already passed through.
[Legendary] ?????? ??????
??????
You should not have found this. The thing exhales against your skin and the shadows in its folds move with terrible, patient intelligence. Those who have worn it speak of a voice that is not their own, of roads that appear on no map, and of a door that opens only once. It weighs nothing and cannot be set down.

Armor Slot Rule

Armor-like slots (head, body, hands, feet) always have a base AC bonus. This AC is inherent to the slot type and does not consume a rarity bonus slot. Rare and Epic items on armor slots receive an additional +1 AC on top of their normal rarity bonuses.

Weapon and jewelry items never provide AC. Trinkets never provide AC either - their value lies in their stat bonuses.

Rarity Colors

Item names are color-coded by effective rarity in the TUI and loot messages:


Equipment

You carry seven equipment slots on your person - no more, no less. There is no backpack or stash. Only equipped items persist - upon death, everything is lost.

[HEAD]
[HANDS]
[BODY]
[JEWELRY]
[WEAPON]
[FEET]
[TRINKET]

Equipment Stats

Replacing Equipment

Equipping a new item into an occupied slot destroys the old item permanently. The equip confirmation sidebar shows a side-by-side comparison before you decide - study it carefully. There is no unequip command; items are only removed by replacement or by death.

Permanent death strips all equipment. You return to the origin with no gear.

Gear Score

Every equipped item has a gear score based on its tier (higher-tier items from deeper regions score more), its displayed rarity (common through legendary), and the total of its stat bonuses. Your Gear Score is the sum of scores for all equipped items.

Gear score is shown on your character panel (GS), the /character and /equipment commands, and when other players inspect you. It also contributes to your total leaderboard score on death - better gear means a higher final score.


The Infinite World

The world of CORRUPTMIND is procedurally generated and stretches without end in every direction. Biomes, creatures, and terrain are determined algorithmically from your coordinates - the same location always looks the same, no matter when you visit. Biomes and difficulty scale endlessly in every direction.

Distance & Difficulty

The world grows more hostile the further you travel from the origin (0,0). Distance is measured by Manhattan distance (|x| + |y|), and creatures in the outer reaches scale accordingly.

Zone Distance Monster Tiers
The Safe Zone 0 – 14 Level 1 only. No dangerous spawns.
The Stirring 15 – 60 Tier 1 (Levels 1–3)
The Creeping 61 – 100 Tier 2 (Levels 6–8)
The Manifesting 101 – 150 Tier 3 (Levels 11–13)
The Unraveling 151 – 200 Tier 4 (Levels 16–18)
The Fraying 201 – 400 Tier 5 (Levels 20–23)
The Dissolution 401 – 700 Tier 6 (Levels 26–29)
The Abyssal Verge 701 – 1200 Tier 7 (Levels 31–34)
The Final Dark 1201+ Tier 8 (Levels 36–40)

From distance 201 onward, deeper-tier monsters join the spawn pool alongside lingering Tier 4 threats, so the frontier is always more dangerous than the zone you just left. Monster levels continue to scale with distance beyond their base tier.

Each base monster has a rare variant with boosted stats and better loot, identifiable by its distinct name. These These rare variants spawn less frequently but drop better loot.

Monster scaling mode (linear or exponential) is server-configured. The further you go, the harder things get - but the loot improves to match.


Multiplayer

CORRUPTMIND is a shared world. Other players share the same world and are visible on the minimap.


Chat

In Command mode, any text that does not begin with / is sent as local chat, visible only to players on your tile. Chat is local to your current tile.


Sanity System

Sanity is a secondary resource that tracks your mental resilience as you face the horrors of the abyss. Your maximum sanity is 80 + WIS modifier × 15, so a wise mind holds out longer before breaking.

Sanity Thresholds

Your sanity is shown as a percentage bar in the sidebar. As it drops, your mind crosses four tiers:

Sanity Loss

Sanity Recovery


Boons & Banes

As you delve deeper, you may acquire Boons (beneficial traits) and Banes (curses). These modify your combat, movement, and sanity.

Slots

Acquisition

Death


Death & the Leaderboard

When your HP reaches zero, your character dies permanently. There is no resurrection - you start over at level 1 with no equipment.

What Happens on Death

Live Leaderboard

The leaderboard tracks both alive and dead players. Alive players' scores update in real time as they gain XP, kill monsters, explore further, or equip better gear. Each entry is marked with a status icon:

The leaderboard shows all alive players first (sorted by score), then fills remaining slots with each player's highest-scoring death (sorted by score), up to a total of 50 entries (configurable via CM_LEADERBOARD_LIMIT). If there are 50 or more alive players, no dead records are shown.

Score Formula

Score = XP + (Kills × 10) + (Distance × 5) + SurvivalMinutes + GearScore

Distance is the furthest Manhattan distance you reached during that life, not merely where you died. SurvivalMinutes is the time since your current character was created (resets to 0 on death). Gear Score is the sum of your equipped items' gear scores. The same formula applies to both alive and dead entries.

Leaderboard Commands

Register of the Fallen

Every recorded death has a public obituary page on the website. The register grades each death by how memorable it was: Unremembered, Remembered, Distinguished, or Immortal. The verdict line on your death screen tells you whether the register took note, and the style of your obituary reflects the grade. Records from before the register existed still have pages, holding only the plain numbers.

Sharing Your Death


Echoes & Unlocks

Death is permanent, but it is not wasted. Each death earns Echoes - an account-bound currency that persists across lives. Spend Echoes on permanent starting bonuses that apply to every future run.

Earning Echoes

When you die, you earn Echoes based on your death score. The formula is max(1, floor(score / 500)), so even a short run earns at least 1 Echo. Your Echoes balance is displayed on the death screen.

Unlock Store

Use /echoes to open the shop overlay. Navigate the unlock table with W/S (or j/k), and press Enter to purchase the selected unlock directly. You can also use /echoes buy <key> from the command line. Unlocks are permanent and apply to all future runs:

Unlock Key Cost Max Effect
Extra Starting HP extra_hp 15 3 +5 MaxHP at run start
Bonus Stat Point bonus_stat 30 4 +1 point during stat allocation
Starting Scrap starting_scrap 9 5 +50 scrap at run start
Starting Boon Slot starting_boon 45 1 Begin run with 1 random boon
Campfire Echo campfire 120 3 +1 HP regen per tick per rank
Meditative Insight meditative 100 2 +5% sanity restored on meditate per rank
Lucky Find lucky_find 130 3 +2% loot drop chance per rank
Echo Resonance echo_resonance 200 2 +5% Echoes earned on death per rank
Forged in Death forged_death 140 2 Start run with a random item (common r1, uncommon r2)
Second Boon second_boon 220 1 Begin run with 2 random boons instead of 1
Extended Breath deep_breath 110 2 -2 min passive sanity regen interval per rank

After class and stat allocation, if you have unspent Echoes you will see a prompt reminding you to use /echoes.


Quests

Quests provide directed goals tied to existing gameplay: kill monsters, explore deeper, meditate at landmarks, and reach new levels. Quests are offered at landmarks in the world and must be accepted before progress counts.

Accepting Quests

Objective Types

Rewards

Quest stages reward Echoes (the meta-progression currency from the Echoes system), scrap, XP, and sometimes temporary boons. When a stage is completed, an overlay appears showing the quest name, the completed objective, and the rewards you received.

Per-Life Nature

Quests are per-life: they are cleared on death and must be re-accepted each run. This gives each life a structured progression arc rather than a single repeating loop.

Commands


Quitting the Game

To exit the game and close your SSH session, press Ctrl+C.

Your character's state is fully persisted in the database. You can safely reconnect later and resume from where you left off - your position, stats, equipment, and even mid-combat state are preserved.


Back to Home