v1.3.7 "Reckoning" | FREE AND OPEN SOURCE | GPL v2
Up to 200 autonomous NPCs (59 at the start of a new game) wake up, go to work, visit taverns, fall in love, get married, have children, age, and eventually die of old age, all while you're offline. Log back in, read the news feed, and discover that the blacksmith married the barmaid, the king was assassinated, or a new generation just came of age. The world doesn't wait for you.
Play now:
- Browser: https://usurper-reborn.net (no install required)
- SSH / MUD client:
ssh usurper@play.usurper-reborn.net -p 4000(gateway passwordplay, then register or log in inside the game) - Direct MUD client (Mudlet, MUSHclient, TinTin++, etc.):
play.usurper-reborn.net 4000(raw TCP, GMCP supported) - Steam: https://store.steampowered.com/app/4336570/Usurper_Reborn/
Download standalone: Latest Release | Report bugs: Discord or GitHub Issues or press ! in-game
| Main Street | Combat |
|---|---|
![]() |
![]() |
| A dungeon room and its map | Character status |
|---|---|
![]() |
![]() |
The core of Usurper Reborn is a 24/7 agent-based simulation. NPCs aren't quest dispensers standing in place, they're goal-driven agents with personalities, memories, and opinions about each other and about you.
Autonomous NPCs: Each NPC has 13 personality traits, a memory system (30 memories per NPC, importance-weighted), and a goal-based AI brain. They choose careers, form gangs, visit shops, train at the guild, and develop relationships with each other independently of player action. NPCs react to neighbor density (Conway-inspired clustering), migrate when overcrowded, and form friend groups based on personality compatibility.
Full Lifecycles: Married NPCs can become pregnant, have children, and raise them. Children grow up over real time and eventually join the realm as new adult NPCs. Adults age according to their race's lifespan (Human ~30 days, Elf ~80 days, Orc ~22 days) and die permanently when their time comes. The population turns over. No one is permanent.
Emergent Events: Marriages, divorces, affairs, births, coming-of-age ceremonies, natural deaths, gang wars, and political upheavals all happen organically and appear in the live news feed on the website and in-game.
Persistent Multiplayer: Connect via browser, SSH, or any MUD client to a shared world backed by SQLite. Your actions affect other players. PvP arena, cross-player chat, leaderboards, guilds, group dungeons, world bosses, and a news feed that captures everything happening in the realm.
Cross-platform Discord bridge: In-game /gos lines mirror to a Discord channel and back, so the realm's gossip channel stays alive even when nobody is logged in.
Beyond the simulation, there's a deep RPG with 100+ hours of content.
- 12 Base Classes + 5 Prestige Classes (17 total): Warrior, Paladin, Assassin, Magician, Cleric, Ranger, Bard, Sage, Barbarian, Alchemist, Jester, Mystic Shaman, plus 5 NG+ prestige classes (Tidesworn, Wavecaller, Cyclebreaker, Abysswarden, Voidreaver) unlocked by completing different endings.
- 10 Races: Human, Elf, Dwarf, Hobbit, Half-Elf, Orc, Gnome, Troll, Gnoll, Mutant, with race-specific lifespans, stats, and lore.
- Specialization System: Each base class has 2 specializations, and Paladin has 3 (25 total) selectable at the Level Master, shaping NPC AI ability priorities and giving role-specific stat bonuses (Tank, DPS, Healer, Utility, Debuff).
- 100 spells across caster classes, 174 class abilities, plus 5 universal abilities. Meaningful stat scaling with diminishing returns past natural caps.
- Romantic orientation (Straight / Gay / Bisexual / Asexual) selectable at character creation, affects NPC pool filtering for romance.
- Deterministically generated floors with boss encounters, treasure rooms, traps, hidden secrets, settlements, meditation chambers, puzzles, and lever rooms.
- 7 corrupted Old Gods sealed in the depths (floors 25, 40, 55, 70, 85, 95, 100), each with multi-phase combat, channeled abilities, AoE mechanics, and meaningful dialogue choices. Aurelion, Terravok and Manwe wear divine armor that only their own counter enchant from the Magic Shop (Sunbane, Stonebane, Godbane) removes.
- 7 Ancient Seals to collect, unlocking the truth about who you are.
- 5 endings based on your choices: Conqueror, Savior, Defiant, True, and a secret Dissolution ending.
- Floor-aware monster loot with full per-slot armor coverage (head, arms, hands, legs, feet, waist, face, cloak, body, weapons, shields, rings, necklaces).
- Settlements at Floor 1 (NPC-built shops, services, vote-driven proposals).
You wake with no memory. A letter in your own handwriting warns you: "The gods are broken. Collect the Seven Seals. Break the cycle. You are not what you think you are."
- Ocean Philosophy: A Buddhist-inspired awakening system with 7 levels: "You are not a wave fighting the ocean. You ARE the ocean, dreaming of being a wave."
- 5 Companions who can die permanently: Lyris, Aldric, Mira, Vex, Melodia, each with personal quests, real grief consequences, and signature combat abilities.
- NG+ Cycle System: Each playthrough, you remember more. NPCs notice. Cycle 4+ players face stacking world modifiers (+monster HP/damage, +gold scaling).
- 6 Town NPCs with story arcs, dream sequences, stranger encounters, and faction politics.
- Romance, marriage, children, divorce, affairs, polyamory.
- Challenge the throne, recruit guards, manage treasury, navigate court factions, set tax rates and city-control turf.
- 3 joinable factions: The Crown, The Shadows, The Faith.
- PvP arena with daily limits, gold theft, and leaderboards.
- Guild system with 12 chat commands, guild bank, member XP bonus, invite flow.
- Knighthood with combat buffs and Sir/Dame title prefix.
30+ player-visitable locations: Main Street, Inn, Bank, Weapon Shop, Armor Shop, Magic Shop, Music Shop, Healer, Temple, Church, Dark Alley, Level Master, Marketplace, Castle, Castle Courtyard, Pantheon, Hall of the Ascended, Prison, Prison Walk, Anchor Road, Team Corner, Quest Hall, Dungeons, Home (with 5-tier upgrade system and tamed-beasts menagerie), Wilderness (with Druid's Shrines pilgrimage and beast-taming encounters), Outskirts settlement, Arena, and more.
Opt-in JSON mods drop into a GameData/ folder next to the executable: NPCs, monster families, dreams, achievements, dialogue lines, balance constants, custom equipment, and (since 1.2) the numbers on every built-in class ability and spell (abilities.json, spells.json, replace-by-key, a file with any invalid entry is rejected whole) are all overridable without a recompile. A bundled menu-driven editor (UsurperReborn --editor, or [G] Game Editor from the main menu in single-player) is the sysop-tool analogue of the DOS-era USEDIT.EXE: arrow-key / number-key navigation, edits saves and mods from one UI, auto-backs up before writes. See DOCS/MODDING.md for the full guide.
- Screen reader mode: auto-detected on Windows for the standard console launch (NVDA / JAWS / Narrator), or pass
--screen-readerexplicitly. Strips box-drawing, decorative Unicode, color-bracketed menus; all locations have plain-text paths. - Compact mode: smaller terminals (mobile SSH, narrow windows). Toggle with
[Z]on the main menu or/compactanywhere. - Steam launcher:
Play.batis the default;Play-Accessible.batopts into screen-reader mode at launch. - 5 languages: English, Spanish, French, Hungarian, Italian. Swap via in-game preferences. Per-character language preference saved.
An optional Electron-based graphical client is in active development with Darkest Dungeon-style combat sprites, a dungeon map overlay, paperdoll inventory, party panels, status overlays, and an audio infrastructure layer (sound files filling in over time). Text mode remains the primary supported way to play.
Originally inspired by Usurper (1993) by Jakob Dangarden, a classic BBS door game. The original Pascal source was preserved by Rick Parrish and Daniel Zingaro. Usurper Reborn maintains compatibility with the original formulas while building an entirely new simulation layer on top.
This is free and open source software, you can build it yourself.
- .NET SDK 8.0+
- Git
git clone https://github.com/binary-knight/usurper-reborn.git
cd usurper-reborn
# Build and run (framework-dependent, requires .NET runtime installed)
dotnet build usurper-reloaded.csproj -c Release
dotnet run --project usurper-reloaded.csproj -c ReleaseBuild a standalone executable that includes the .NET runtime. Always pass --self-contained so the binary runs on machines without .NET installed.
dotnet publish usurper-reloaded.csproj -c Release -r win-x64 --self-contained -o publish/win-x64
# Run: publish/win-x64/UsurperReborn.exedotnet publish usurper-reloaded.csproj -c Release -r win-x86 --self-contained -o publish/win-x86dotnet publish usurper-reloaded.csproj -c Release -r linux-x64 --self-contained -o publish/linux-x64
chmod +x publish/linux-x64/UsurperReborn
# Run: ./publish/linux-x64/UsurperReborndotnet publish usurper-reloaded.csproj -c Release -r linux-arm64 --self-contained -o publish/linux-arm64
chmod +x publish/linux-arm64/UsurperReborndotnet publish usurper-reloaded.csproj -c Release -r osx-x64 --self-contained -o publish/osx-x64
chmod +x publish/osx-x64/UsurperReborndotnet publish usurper-reloaded.csproj -c Release -r osx-arm64 --self-contained -o publish/osx-arm64
chmod +x publish/osx-arm64/UsurperRebornThe full multi-player stack (game server + SSH gateway + web proxy + Nginx) is documented in DOCS/SERVER_DEPLOYMENT.md. A Docker-based 3-container stack is available via docker compose up -d (DOCS/DOCKER.md).
- Runtime: .NET 8.0 (LTS) | Language: C# 12
- Codebase: 350,000+ lines across 300+ files, 160+ game systems
- NPC Simulation: Goal-based AI with 13 personality traits, importance-weighted memory, lifecycle aging, neighbor-pressure migration
- Platforms: Windows (x64/x86), Linux (x64/ARM64), macOS (Intel/Apple Silicon)
- Multiplayer: SQLite shared backend, SSH gateway, raw-TCP MUD interface, GMCP for Mudlet/MUSHclient/TinTin++, WebSocket browser terminal
- Save System: JSON (single-player file backend) / SQLite (online) with autosave, in-place repair for bloated saves, and 7-day archived restore for permadeath
- Website: Live stats API, SSE event feed, xterm.js terminal, real-time admin snoop, banned-IP / banned-account moderation tools, founder-statue hall, leaderboard
- Discord bridge: Bidirectional
/gosmirror, login/logout announcements, live#server-statusembed,!who/!helpcommands
usurper-reborn/
├── Scripts/
│ ├── Core/ # Character, NPC, Item, Monster, GameEngine, GameConfig
│ ├── Systems/ # 160+ game systems
│ │ ├── OceanPhilosophySystem.cs
│ │ ├── AmnesiaSystem.cs
│ │ ├── CompanionSystem.cs
│ │ ├── GriefSystem.cs
│ │ ├── SevenSealsSystem.cs
│ │ ├── StoryProgressionSystem.cs
│ │ ├── PuzzleSystem.cs
│ │ ├── EndingsSystem.cs
│ │ ├── GuildSystem.cs
│ │ ├── WorldBossSystem.cs
│ │ ├── PermadeathHelper.cs
│ │ └── ... (many more)
│ ├── BBS/ # BBS door mode (DropFileParser, SocketTerminal, BBSTerminalAdapter)
│ ├── Server/ # MudServer, PlayerSession, GroupSystem, MudChatSystem, GmcpBridge
│ ├── Locations/ # 30+ game locations
│ ├── AI/ # NPC AI (Brain, Memory, Goals, Emotions, Personality)
│ ├── Data/ # NPCs, Equipment, Monsters, Old Gods, FounderStatueData
│ └── UI/ # Terminal emulator, ANSI art, accessibility detection
├── Console/ # Bootstrap (Bootstrap/Program.cs), console engine and terminal
├── Localization/ # en.json, es.json, fr.json, hu.json, it.json
├── electron-client/ # Optional Electron graphical client (beta)
├── web/ # Website (index.html, ssh-proxy.js, admin.html, language packs)
├── DOCS/ # Documentation, release notes, BBS setup, server deployment, modding
├── docker/ # Docker images for the web proxy and nginx (docker-compose.yml is at the root)
└── .github/ # CI/CD workflows
- Quest Hall: Central hub for viewing quests and bounties.
- Starter Quests: 11 pre-made quests spanning levels 1-100.
- Open Contract Bounties: Kill any NPC with a bounty and get paid immediately.
- King's Bounties: The reigning monarch posts bounties on criminals and NPCs.
- Auto-Refresh: Completed bounties are automatically replaced.
- Difficulty Scaling: Easy / Medium / Hard / Extreme tiers.
79 achievements across Combat, Progression, Economy, Exploration, Social, and Challenge categories. Tier-scaled Fame rewards. Server-wide broadcasts for Gold-tier and above unlocks. Steam achievements wired through the same path.
Total monsters killed, gold earned, time played, peak gold, deepest dungeon floor, quests completed, world boss kills, MVP count, achievements unlocked, and dozens of combat / economy / social counters.
- Easy: 150% XP, 75% monster damage, 150% gold
- Normal: Standard balanced experience
- Hard: 75% XP, 125% monster damage, 75% gold
- Nightmare: 50% XP, 150% monster damage, 50% gold, permadeath
- Marriage via the Church, multi-spouse polyamory supported.
- Children inherit traits from both parents, age over real time (about 9.6 real hours per year, so about 7 real days to come of age).
- Per-child stat bonuses (HP, Strength, Charisma, daily gold).
- Coming-of-age at 18 turns children into adult NPCs that join the world.
- Custody, divorce, infidelity, and child rearing all carry mechanical weight.
- CK-style parenting (24 scenarios with moral choices that shape your child's alignment).
Quick settings via the Preferences menu (compact, screen-reader, language, font size, date format, character/monster art, hide intimate scenes, etc.). All preferences saved per character. The Share combat data line (opt-in telemetry, see below) is there too; its answer covers the copy of the game, or the account on a BBS or server.
| Playstyle | Hours | Description |
|---|---|---|
| Casual | 40-60 | Main story, reach level 50-60, see one ending |
| Full Playthrough | 100-150 | All seals, all gods defeated, multiple endings |
| Completionist | 200-400 | All achievements, all companions, all quests, level 100, multiple NG+ cycles |
Playtime varies based on difficulty mode and exploration style.
The official server is play.usurper-reborn.net. Multiple connection paths:
- Browser: usurper-reborn.net with an embedded xterm.js terminal. No install. Easiest for new players.
- SSH:
ssh usurper@play.usurper-reborn.net -p 4000(gateway passwordplay). Once connected, you'll see the in-game register/login screen. - MUD client:
play.usurper-reborn.net 4000raw TCP. Mudlet, MUSHclient, TinTin++, etc. GMCP enabled (live HP/MP/SP gauges, room info, character status, chat capture). - Steam: Usurper Reborn on Steam, use the in-game
[O] Online Playmenu. - Standalone client: Same as Steam, the
[O] Online Playmenu now opens a server picker (Official server pre-selected at[1], or[2]to enter a custom hostname/port for a friend's server).
Each player has 3 free resurrections. Once those run out, the next death is permanent: the character is erased server-wide and the news feed records it. (Single-player saves are unaffected by online permadeath.)
Run Usurper Reborn as a door game on modern BBS software:
- Auto-Detection: Reads DOOR32.SYS and auto-configures. No special flags needed for most setups.
- Fully Tested: Synchronet (Standard I/O), EleBBS (Socket), Mystic BBS (Socket + SSH).
- Should Work: WWIV, GameSrv, ENiGMA, Renegade (NFU stdio).
- Native Winsock I/O: Bypasses .NET socket finalizers to fix the long-standing relaunch bug on EleBBS / Mystic.
- DOOR32.SYS & DOOR.SYS: Both drop-file formats supported.
- Multi-Node Support: Each node gets isolated session handling.
- BBS-Isolated Saves: Saves stored per-BBS so users on different BBSes don't conflict.
- CP437 Auto-Detection: Synchronet stdio mode automatically switches output encoding to CP437 for correct box-drawing.
- SysOp Console: In-game admin console for player management, difficulty settings, MOTD, online-play toggle, the combat data sharing switch, and auto-updates.
- In-Game Bug Reports: Players press
!to submit bug reports directly from a BBS session, posted to Discord with player context. - Cross-Platform: Windows x64/x86, Linux x64/ARM64, macOS.
Quick Setup for Sysops:
UsurperReborn --door32 <path> # Just point it to your DOOR32.SYS
UsurperReborn --door32 <path> --online # Local SQLite-backed shared world for THIS BBS's players
UsurperReborn --verbose # Detailed debug output for troubleshootingFor detailed BBS setup, see DOCS/BBS_DOOR_SETUP.md.
BBS Online Play: A BBS player can pick [O] Online Play from the main menu to connect to the public game server (or any other Usurper Reborn server with a hostname they know). As of v0.60.8 the connection requires a normal username + password (the previous trusted-passthrough was removed for security; the BBS handle is pre-filled as the username default).
Telemetry (opt in). From 1.2.7 the game asks once whether to share combat data. Nothing is sent unless you say yes. With sharing on, each monster fight adds one row of whole numbers with these values and no others: the outcome (victory, fled or death); your class, level, maximum HP, HP at the end of the fight, strength, dexterity, weapon power and armor power; the monster's family, level, maximum HP, strength and defence, and whether it was a boss; the number of monsters and the encounter size; who acted first; the dungeon floor and difficulty; whether you had teammates, the party size and teammates lost; rounds; total damage dealt and taken; damage to you by kind (basic, ability, spell, damage over time); damage to your team; damage by you and by your team; healing you received; potions, abilities and spells used; XP and gold gained. No player or monster names, no chat, no save contents, no hardware ids. Each upload also carries the game version, the kind of install (single player, Steam, BBS door or server) and a random id.
On single player and Steam the id is made when you say yes, covers every character on that copy of the game, and you can replace it under Preferences. On a BBS or self hosted server the id belongs to that server and is shared by its players; no player can replace it. The operator must allow sharing there, each player is still asked, and the answer is for that player's account.
The data is pseudonymous, not anonymous. Exact stat values can link one character's fights, even across a new id, and on a small BBS or server the rows can be told apart by anyone who knows it. Addresses are not stored with the rows. Rows are kept for up to 30 days, including rows sent before you turn sharing off. Turning it off deletes anything not yet sent.
BBS sysops and server operators: the question is off by default. A sysop turns it on with E in the SysOp console, a server operator with the Privacy setting telemetry_prompt in the web admin. See DOCS/release-notes/RELEASE_NOTES_1.2.7.md.
The game ships small patches frequently. Each version has a dedicated release notes file under DOCS/release-notes/ (Steam-formatted copies in DOCS/release-notes/steam/). Highlights of the recent arc:
- v1.1.0 "Regalia": the gear and reward loop. Items store their rarity and family instead of hiding the tier in a localized name; eight item families are gear sets with bonuses at two, four, and six pieces, for players and NPCs alike; the Black Market sells to your Dread standing with a rarity floor and a rarity premium, the level 20-40 gold sink the July analysis found missing; the NPC market no longer strips items it holds; two long-standing races in the equipment catalog are closed. See
DOCS/release-notes/RELEASE_NOTES_1.1.0.md. - v1.1.1: a bug pass. Five review agents each took a domain of the codebase and about seventy findings were verified and fixed: NPCs losing their innate power on load, the world simulator editing the wrong player's relationships, a restored character unable to save, one player's autosave starving everyone else's, the Black Market re-rolling on relog, a closed connection spinning the server, bank and gambling exploits, buffs consumed a fight early, and raw placeholders in the text. See
DOCS/release-notes/RELEASE_NOTES_1.1.1.md. - v1.1.2: seven of the eight open design items, each designed twice (Codex and Claude), reconciled against the code, and reviewed before implementation: grouped followers get their own cooldowns and a real death; haggling finally has a way in and its attempts persist; the bank vault is one persisted reserve per world, atomic online; relationships cool with neglect measured in days you were present; NPCs left to die while you held a heal remember it; ability and spell numbers are moddable from
GameData/; the two intimacy lines that really dropped a name are fixed. Docker stack refreshed and verified. SeeDOCS/release-notes/RELEASE_NOTES_1.1.2.md. - v1.1.3: party survivability. Wounded allies shield up, brace (half damage on ordinary hits, specials, and life drain), and drink their own potion first; NPC allies who die in your party roll the 2 percent team permadeath rate they were always meant to; three stances per ally (Aggressive, Balanced, Cautious) set from the dungeon party menu or the Inn and saved with the character; monsters no longer prefer a wounded target and an ally's brace no longer pulls hits unless it is Aggressive; a shared potion belt (off by default, two loans per fight, never the player's last three), give-a-number, and the one-personal-potion rule; a fight summary per ally, a warning before a voluntary fight with an ally below 30 percent, and a floor guard that offers Cautious to an ally eleven levels behind. Planned by a council of Codex, a Claude design agent, and the supervisor session in
DOCS/PARTY_SURVIVABILITY_PLAN.md; the downed state is the next release. - v1.3.7: 18 changes; the Changelist is in DOCS/release-notes/RELEASE_NOTES_1.3.7.md
- v1.3.6: 79 changes; the Changelist is in DOCS/release-notes/RELEASE_NOTES_1.3.6.md
- v1.3.5: 46 changes; the Changelist is in DOCS/release-notes/RELEASE_NOTES_1.3.5.md
- v1.3.4: 27 changes; the Changelist is in DOCS/release-notes/RELEASE_NOTES_1.3.4.md
- v1.3.3: 15 changes; the Changelist is in DOCS/release-notes/RELEASE_NOTES_1.3.3.md
- v1.3.2: 72 changes; the Changelist is in DOCS/release-notes/RELEASE_NOTES_1.3.2.md
- v1.3.1: Loading: a current character could be handled as a save from before base stats existed, which replaced the character's base stats with its saved totals and equipped an item. A save that carries base stats is now always loaded as it was saved. No existing character is changed. See
DOCS/release-notes/RELEASE_NOTES_1.3.1.md. - v1.3.0 "Reckoning": 1.3.0 is the first step of a longer rework of dungeon difficulty. In this step monsters use their abilities and spells more, encounters on dungeon floors 4 to 10 mix monster types and sizes, elite monsters carry traits, the player's attacks roll to hit, and healing potions scale with the character. Its targets were set for dungeon floors 1 to 10, measured with a combat simulator. Elites, monster tactics, the hit roll and scaled potions are also active on deeper floors, which have not been tuned yet. Next steps: 1.3.1 brings tuning and fixes from play on 1.3.0; 1.3.2 covers dungeon floors 11 to 25, 1.3.3 floors 26 to 50 and 1.3.4 floors 51 to 100. Also in 1.3.0: betrayal is part of play and saved with the character; dual-wielding uses each hand's own weapon; hiring NPCs costs less below level 25 and the town keeps a pool of low-level NPCs to hire; hired NPCs and friends in your dungeon party carry the oath-mark of your banner; Online Play saves a login token in place of your password and checks the server's identity over SSH; the website's Content-Security-Policy is enforced. See
DOCS/release-notes/RELEASE_NOTES_1.3.0.md. - v1.2.7: Opt-in combat data sharing: the game asks once whether to share combat data for balancing (single player and Steam at start; on a BBS or a self hosted server each player after login, only when the operator turns the question on, off by default). Only a yes or a no answers, and Preferences has a Share combat data line to change it. What is sent and kept is in the Telemetry section above. A monster's critical hit line no longer leaves an empty gap where a damage number was. The balance dashboard gains a Source choice for the rows sent by copies of the game, marked Unverified. See
DOCS/release-notes/RELEASE_NOTES_1.2.7.md. - v1.2.6: Online fights record detailed combat data for the coming difficulty pass: the floor, the difficulty mode, party and encounter size, who acted first, damage by kind and target, heals, potions, abilities and spells used, teammates lost and the HP left at the end, written in the background so a fight never waits for the database. Combat rows are kept 30 days or the newest 15000 for fights other than deaths, and 90 days for deaths. Logins no longer show whether an account exists, and refused sign-ups count toward the per-address login throttle. New character, child, team, guild and divine names can no longer contain < > & or a double quote; existing names are kept. The website escapes all player and sponsor text, its tests run in CI, and a report-only Content-Security-Policy template is in scripts-server. The balance dashboard gains Difficulty and Onboarding tabs and counts every rate over one stated window. See
DOCS/release-notes/RELEASE_NOTES_1.2.6.md. - v1.2.5: The whole game is translated into Spanish, French, Hungarian and Italian: the town, the castle, the online server, NPC speech, items, monsters, quests, achievements, the story and the endings, and mail and broadcasts reach each player in their own language. Every message, shop, equipment and status row fits 79 columns in all five languages, and shop, equipment and backpack rows are tighter. The world boss notice is no longer mailed every night, old world boss mail is deleted once, and system mail older than 30 days is deleted. The Mysterious Stranger appears in play and the answer carries into the Manwe fight. English players salvage gold after a PvP win, answered moral paradoxes are saved, Magic Shop enchant removal returns an item to its base form, NPC attackers fight surviving Inn guards, and loot bonuses are the same in every language. The wiki adds a guide to accounts and character slots. See
DOCS/release-notes/RELEASE_NOTES_1.2.5.md. - v1.2.4: Reconnecting no longer drops a player from /who, /tell, groups and broadcasts, and the old session no longer saves over the new one. /history shows the last 50 chat lines, kept in server memory only. Homes are private: room chat and notices no longer reach players at home. In group combat each follower reads the turn screen, menus, round status and group lines in their own language. The Magic Shop haggles over rings and necklaces, a spouse left alone for 21 days writes a letter, mail counts and system notices reach players whose account and character names differ, and immortal ascension and renouncing are fixed. Dungeon text left in English in 1.2.3 is translated, more screens fit 79 columns, and the wiki adds a guide to immortals. See
DOCS/release-notes/RELEASE_NOTES_1.2.4.md. - v1.2.3: The dungeon is translated: room views, settlements, wilderness, rare encounters, puzzles, merchants, the map, party and follower screens, secret bosses and group broadcasts show in the player's language, and group broadcasts wrap at 79 columns. The Quick Commands bar and the status line wrap to a second row when they would pass 79 columns, and the invalid-choice hint reads correctly. Magic Shop basic rings and necklaces show their armor and give a small stat, and sell all sells only the accessories it lists. Wiki guides can show what changed in their feature by version. See
DOCS/release-notes/RELEASE_NOTES_1.2.3.md. - v1.2.2: The whole combat system is translated, class ability names and descriptions included, and in group combat each member reads the lines in their own language. Item comparison screens, status effects and poison are translated too. Temple gold offerings no longer need a good deed left, and offerings no longer give deeds back. The wiki adds guides for reporting bugs, dungeon features and rare encounters, and search ranks matching phrases first. See
DOCS/release-notes/RELEASE_NOTES_1.2.2.md. - v1.2.1: The player wiki opens at
/wiki/with guides, generated references and search, and the Discord bot answers questions from it (Ask) and takes suggestions from trusted helpers (Suggest). Ask can answer in plain language through the Claude API when the server enables it. NPC stat gains from training, blessings and prison now last, street fight rage raises only the fight's opponent, admin stat edits are kept, and the Iron Rations max HP bonus survives a mid-fight recalculation. SeeDOCS/release-notes/RELEASE_NOTES_1.2.1.md. - v1.2.0 "Devotion": Mental Health is real: dungeon depth, loss and drugs wear the mind down, and rest, friends, prayer, learning and the Healer restore it; a collapse sends you to the Healer, or below floor 25 is a death. The Sage is rebuilt as the party's mind, with crowd control and party wards. The gods matter: Favor with four tiers, a boon and a Mental ward for each god, deeds and taboos, daily Miracles, a cost to switching, the god of the week and townsfolk faith, with the Temple's gods and player-gods on one list. The Temple is rebuilt as rooms and Aurelion waits in the Deep Temple. Permanent stat rewards now last. Yes/no questions ask again on a stray key, and single-player menus take Enter. See
DOCS/release-notes/RELEASE_NOTES_1.2.0.md. - v1.1.14: The classic Main Street layout is a setting (Settings, key S), with a tip on the district menu. Every online pause keeps a typed command. Engulf skips a held target, goblins crit once per fight, and the alt slot opens at level 25. Every way onto a team keeps the five-member limit, and the royal court, quests, NPC gear and admin tools fix the remaining known issues from 1.1.13. See
DOCS/release-notes/RELEASE_NOTES_1.1.14.md. - v1.1.13: Main Street is laid out in districts with a Notice Board and an Online hub, and names what a new level opens. Combat XP lines add up, auto-combat heals at a chosen HP share, floors 4 to 6 are gentler, monster stuns cannot chain, and the status line shows effects. Chest trap searching works and invalid choices ask again. New NPC names have no Roman numerals, NPC memories fade as intended, and every royal court change is saved in one step. See
DOCS/release-notes/RELEASE_NOTES_1.1.13.md. - v1.1.12: Awakening grows in seven shown stages with a lasting gift at each, more of what you live through counts, and [P] Progress opens the Ocean Journal; chapter 1 is The Drowning. The Team Corner picks from lists, its rankings load at once with real numbers, and its passwords, dissolving, wars, vault, gear moves and team size are fixed. NPC teammates no longer attack their sleeping player, plus playtest fixes to reward labels, cursed items, rests, lives and gear comparisons. See
DOCS/release-notes/RELEASE_NOTES_1.1.12.md. - v1.1.11: Team HQ upgrades reach every hit, potion and XP award and follow the team you are in; rankings count real members and leadership passes on when a leader leaves. WANTED targets count wherever they are beaten, and Crown bounties on players pay the duel winner. A same-name character starts clean, and deleting a character ends its reign and clears its mail and auctions. An Old God kill pays once, wilderness gold finds pay on the dungeon scale, and Potion Mastery works on every healing potion. See
DOCS/release-notes/RELEASE_NOTES_1.1.11.md. - v1.1.10: Mael'Keth is tuned for a level-30s party, the five floors before every Old God have tougher monsters, a god's power surge lasts three rounds, its intro shows its fight HP, and dialogue answers apply. Companions are protected from special attacks like normal hits and tanks shield before they taunt. Items waiting for pack room reach alts, cannot be lost, and arrive on /boss; bequests from teams reach their leader, with an admin screen to set the leader of older teams. The Inn lists every patron, PvP control can no longer chain, and Team HQ upgrades cost what the menu shows. See
DOCS/release-notes/RELEASE_NOTES_1.1.10.md. - v1.1.9: two player reports. The feet slot offers boots, not weapons, and armor "of Shielding" is no longer labelled a shield. Gear sets count the gear you already have: pieces from before v1.1.0 never recorded which template they dropped as, so the same Leather Cap could count or not depending on when it dropped. That template is now read from the name, never written into the save, and only when the name is one the game really generates for that piece, in any language and with any enchantment, compared against every item so the closest match wins. On the live server that switches on or raises 118 player set bonuses. See
DOCS/release-notes/RELEASE_NOTES_1.1.9.md. - v1.1.8: the website stops stalling. On a server with 400 players the statistics page read every player's save blob without an index, which stalled the whole web service for up to 83 seconds out of every 115, whether or not anyone was visiting, and froze the news feed, the API and the browser terminal along with it. Seven indexes carry the fields those pages read, and the worst stall is now 7 seconds with the service burning 4 percent of a core instead of 68. A server upgrading from an older release has its indexes rebuilt once so every install matches. JSON responses are compressed, which takes the dashboard's main payload from 2.2 MB to 400 KB, and the web service's memory ceiling is raised to what it actually needs. Releases also deploy the website itself now, which they never did before, so the site can no longer drift behind the game.
- v1.1.7: the economy holds. An item's stats and value are bounded wherever an item enters play, and items already over those bounds are repaired the next time they are loaded. Enchanting adds what it cost instead of half again the item's worth, and an item now remembers how often it was enchanted even while it sits in the backpack, so the five-enchant limit holds. Reforging is a bounded roll: three a day, a real price at every level, a value that follows its formula instead of ratcheting upward, and a ceiling tied to the best weapon the dungeon can drop for someone of your level. One PvP fight moves at most a capped amount of gold to its winner, on both sides of the fight, and the winner receives exactly what the loser lost. Salvage is priced from the gear the loser is actually wearing. The gold audit looks for what it used to miss.
- v1.1.6: the world boss town line shows on Main Street only; it was on every screen.
- v1.1.5: the world boss, redone, second half: the fight. The boss's random ability roll is gone. Every couple of minutes it telegraphs its next move from a fixed cycle and the round shows it with its answer and its cost: a Strike is yours to Brace (a tenth of your health) or take (three tenths and its status); a Channel is everyone's to Interrupt, and enough interrupts before it lands break it and stagger the boss so every blow lands half again as hard, while an unbroken one lands on everyone fighting, halved for the braced, and a heal channel heals the boss. The boss focuses whoever is hurting it most, hitting them half again as hard and everyone else half as hard, and you can Challenge it to take that focus. The round screen is under twenty rows: the boss, you, who is fighting beside you (your group first), the telegraph, and a one-line menu; other fighters see your answers. The second half of
DOCS/WORLD_BOSS_PLAN.md. - v1.1.4: the world boss, redone, first half. It comes every evening at 8 PM Eastern whether anyone is online or not, chosen to suit the median level of the last week's players, with a countdown on the town screen, mail to everyone active, news, Discord, and a call an hour before; it withdraws with its wounds if it survives its three-hour window and returns for up to three nights. Its health is a three-fighter budget instead of a population multiplier under the 2.25 difficulty scale (462 thousand for the smallest boss with two online); it meets a lower-level player at their level; blows are capped per round; the one-session lock and the unavoidable aura are gone; a boss left alone heals. Rewards by effort at the player's own level, worth about a dungeon hour, items by contribution, a quarter share on a withdrawal, settled once into a ledger and delivered by the player's own session online or offline, plus a day of extra experience for the realm. Planned by the council in
DOCS/WORLD_BOSS_PLAN.md; the fight itself (telegraphs, interrupts, focus) is 1.1.5. - v1.0.0 "Coronation": the release. The Beta label comes off. Nothing in this version is a new subsystem; it is the accumulated result of the Countdown arc below plus a final hardening pass: the level-40 progression cliff closed end to end (XP taper through level 40, boss-flee desperation scaling, a guarded round after a failed flee, and the Hall of the Fallen memorial that hands a fallen character's heir a level-scaled inheritance), the login gate and permadeath cinematic fully localized in all five languages, AI-painted NPC portraits rendered at full fidelity for terminals that can carry them, and an external security audit answered in full. See
DOCS/release-notes/RELEASE_NOTES_1.0.0.md. - v0.62 through v0.65 (the Beta to 1.0 "Countdown" arc): the alignment / Light-and-Dark payoff pass (Dread and Renown notoriety ladders, the Sellsword Hall freelance career, the Sanctum light hub, Dark Alley depth); the "Bloodlines" multi-generational family arc (adult children recognize you as their parent, dynasty standing, inheritance on permadeath); the NPC "Brain v2" overhaul (goal-aware utility scorer, real combat for notable NPCs, optional server-side LLM moment generators with a heuristic fallback that always works); a haproxy migration for the online server; a big onboarding pass (guided first fight, guaranteed level 2, progression roadmap screen); player class specializations at level 25; and companion three-beat quest chains ("The Long Road"). See the individual
DOCS/release-notes/RELEASE_NOTES_0.6*.mdfiles for detail. - v0.61.4 (Dynamic NPC Dialogue Phase 1.5 + Hungarian end-to-end + Steam achievement coverage): Phase 1.5 of the dynamic NPC dialogue plan. Seven contextual flavor layers (mood, memory, witness, player-state, grief, personality, faction-tension) tone-coherent via a Tone classification on the mood layer that downstream layers consult, recent-line variety cache keyed per-(npc, layer), romance-partner suppression for the faction layer. Wired into
ShowGreeting,ShowFarewell,HandleChatTopic, andHandlePersonalQuestion. Hungarian end-to-end: 175 VN dialogue template strings + 114 enhancer flavor pool strings extracted todialogue.vn.*anddialogue.enhance.*loc keys with full Hungarian translations. Language gate widened from English-only to en+hu. Hungarian players now get the complete contextual-dialogue experience. Steam achievement coverage: 79/79 live. One previously-unreachable in-game achievement (big_spender_magic) wired up, and 30 in-game achievements that had never been registered on the Steamworks Partner dashboard are now live with unique icon art per achievement (tier-appropriate frames: Diamond rainbow / Platinum / ornate gold / polished silver / bronze; visual progression sets for the Gauntlet tier, login-streak, and world-boss series). Thebouny_huntertypo on the Steam side corrected tobounty_hunter. Plus rolled-in hotfix work: 12 pre-existing v0.60.0 corrupted loc keys fixed (dungeon advice, duel decline, attack treacherous, breadcrumb -- they shipped with literal" \\"placeholder values and never got real content); stuck player-echo recruitment auto-cleanup at dungeon entry + visible recruited-list at Team Corner + new[U]un-recruit hotkey; dungeon feature gold-split bug (companions/NPCs were eating the player's gold reward, now grouped-players-only); class names localized everywhere (Character.ClassNamenow routes throughLoc.Getso all ~15 display sites pick up session language); bug-report cancel hint surfaced; 10 login-streak messages localized. - v0.61.0 (Wilderness Reborn): Two new systems folded into the wilderness. Druid's Shrines -- 5 named shrines (one per remaining Old God: Terravok, Maelketh, Noctura, Aurelion, Veloura), each in a wilderness region, granting a 24-hour combat passive on attunement (HP regen / melee damage / crit + backstab / holy damage / charisma + reaction). One attunement at a time with alignment cost; per-shrine favor counter; favor-10 milestone grants a permanent stat lift themed to the god's domain. Beast Taming -- 8 tameable wild creatures, permanent roster (cap 8), per-encounter 3-attempt CHA+DEX skill check. 6 passives (hawk map-reveal, goat fatigue reduction, toad poison resist + daily antidote, sprite mana regen, spider crit + reaction penalty, wisp shadow proc + opening-fight Hidden) and 2 combat pets (Dire Wolf + Storm Eagle) that occupy a brand-new 5th party slot in dungeon combat. Plus a street-encounter NPC murder-cap bypass fix (was uncapped, now real-NPC kills count toward the 3/day limit), and the newborn notification text correction (children live at Home, not Love Corner). All 66 new keys translated into Spanish, French, Italian, Hungarian.
- v0.60.x (Beta launch and post-launch hardening): Online server wipe, founder statues for the 11 alpha-era pioneers, GMCP support for modern MUD clients, online-mode death system with 3 free resurrections, royal-guard arrest combat (replacing the phantom-arrest debuff), tank rebalance (75%-sticky AoE taunts), full ban-system rewrite (account + IP + CIDR + active-session kick + permadeath world-state purge), Discord bridge with login/logout announcements, server picker in
[O] Online Play, AUTH security fix (loopback-only trusted auth), SR auto-detect false-positive fix on Steam and BBS. The Gauntlet redesigned (v0.60.11) as a 7-champion gladiatorial arena with herald entrances, surrender option, tier-titled completions, daily run cap, and quadratic entry fee. - v0.57.x (Alignment, Shields, and many hotfix rollups): Paired chivalry/darkness movement, Temple Confession path, "Balanced" alignment with both-sides shop discounts, shield-required tank abilities, Warrior Shield Bash, Paladin Holy Shield Slam, save-file repair tooling, save-file resilience pass.
- v0.56.x (Class Completeness + Difficulty Tuning): Tank second-taunt abilities at level 40, healer onboarding (Curative Tincture, Mending Meditation, etc.), Tidesworn cohesion, champion / floor-boss / Old God rebalance, stamina-mana economy.
- v0.55.x (The Specialist): 24 NPC class specializations (2 per class), spec-driven AI ability priorities.
- v0.54.x (The Soul Update): Equipment system overhaul, NPC system overhaul, comprehensive gameplay audit (17 fixes), Vex timed death, Awakening Moments integrated, moments of silence after profound events, NPC dungeon idle comments, dynamic location flavor, moddable game data system phase 1.
- v0.53.x (Ancestral Spirits): Mystic Shaman class, comprehensive class/spell audit, relationship system audit, king/prison overhaul, Alethia lore woven through dungeon fragments, ELectron client DD-style combat UI.
For per-version detail, see the dedicated release notes in DOCS/. The complete in-CLAUDE.md changelog ships with every clone for archeological purposes.
- 0.58.x and 0.59.x: originally reserved for the Electron graphical client roadmap. That work folded into beta, so the version number jumped straight from 0.57.x to 0.60.0.
Usurper Reborn is FREE SOFTWARE licensed under GPL v2.
- Use: Run the game for any purpose.
- Study: Examine the complete source code.
- Share: Distribute copies to anyone.
- Modify: Change the game and distribute improvements.
- Commercial Use: Even sell your versions, under GPL v2.
- Complete source included with every download.
- GitHub: https://github.com/binary-knight/usurper-reborn
- All build tools and scripts included.
Join Discord for discussions, feedback, and updates: https://discord.gg/EZhwgDT6Ta
- Jakob Dangarden: Created the original Usurper (1993), the seed this grew from.
- Rick Parrish: Preserved the Pascal source code.
- Daniel Zingaro: Tremendous help with the Pascal source.
- Coosh: Community code contributor. Diagnosed an XP-formula desync from his own soft-locked Lv.73 character, traced it to 12 duplicated copies of the same function across the codebase, and submitted PR #98 centralizing them into one canonical implementation.
- Xykier, DJLunacy, evanofficial, maxsond, LowLevelJavaCoder: Community PRs covering combat loot party switching, smart sell filters, companion auto-equip, screen-reader preference persistence, shield loot generation, and the murder-mechanics rework.
- The 12 alpha-era founders commemorated in the Hall of the Ascended (in-game,
/founders). - The BBS Community: For keeping the spirit alive.
- All players, testers, and bug reporters who made beta possible.
"You are not a wave fighting the ocean. You ARE the ocean, dreaming of being a wave."
- Save files from the earliest alpha versions may not be fully compatible.
- BBS FOSSIL mode not natively supported (use
--stdioflag for FOSSIL-based BBSes via host pipe). - Steam features only work when the game is launched through the Steam client.
- The Electron graphical client is optional and still incomplete; the terminal client is the supported way to play.
- The Electron client has no party menu: ally stances and the shared potion belt are set from the terminal client.
- All game text is translated into the five languages as of 1.2.5. A short list stays in English on purpose (slash commands, BBS listings, admin lines, words drawn into ASCII art, god rank titles in news, online locations on /who), and news shows in the language of the session that wrote it; both are listed in the 1.2.5 release notes. A test keeps the untranslated count from growing.
- Auto-updater for Linux x64 BBS deployments doesn't currently apply the update (under investigation).
Report bugs: Press ! in-game, or Discord, or GitHub Issues.
Status: v1.3.7 "Reckoning". The world is running. Watch it live.



