RuneCards is a card-driven Old School RuneScape Ironman challenge. Slayer tasks earn card packs; opening a pack presents account-progression unlocks such as quests and skilling goals. The card you choose determines what part of the account opens next.
The intended starting rule is that combat against monsters is limited to assigned Slayer tasks. Beyond that, this is a self-imposed challenge rather than a plugin that polices the game: adapt the rules when that makes the account more enjoyable.
The concept is heavily inspired by the tile/grid-based progression tool used by DanPlaysOSRS. RuneCards reimagines that progression format around card packs, with its own card pool, progression choices, pity system, local-network hosting, and browser version. It is not affiliated with DanPlaysOSRS or Jagex.
- Play an Ironman and take Slayer assignments.
- Complete a task for a chance to earn a card pack.
- Open a pack to draw four currently eligible cards.
- Choose one card and complete its quest or progression goal.
- The completed card and its unlocks expand the pool of future possibilities.
Miniquests and achievement diaries are deliberately not cards. They are free to complete once your account meets their requirements, preventing smaller unlocks from clogging the draw pool. Everything not explicitly covered is left to the player's own self-imposed rules.
You are welcome—and encouraged—to use RuneCards as the basis for your own YouTube series, streams, or progress logs. Put your own spin on the rules and make the challenge yours.
The included catalog currently contains 340 cards: 161 progression/task cards and 179 quest cards. See CUSTOMIZATION.md for card weights, pack composition, Slayer pack limits, the pity formula, and instructions for changing all of them.
The optional hosted web app runs without installing anything. It stores progress in that browser, so use the Backup screen to export your save before clearing browser data or moving to another device.
Run the local server instead if you want several devices on your home network to share one save automatically.
The project has no database, cloud account, telemetry, build step, or third-party Python dependency. It uses Python's standard library and plain HTML, CSS, and JavaScript.
- Python 3.10 or newer
- A trusted home network
Clone or download this repository, then run:
python server.pyWindows users can double-click start-runecards.bat instead. The terminal prints
the addresses to open. Keep it running and visit the LAN address from another PC or
phone on the same network, for example http://192.168.1.20:8765.
The save is written atomically to ~/.runecards/save.json. Override its directory,
host, or port with environment variables:
RUNECARDS_DATA_DIR=/path/to/data RUNECARDS_PORT=9000 python server.pyOn PowerShell:
$env:RUNECARDS_DATA_DIR = "D:\RuneCardsData"
$env:RUNECARDS_PORT = "9000"
python server.pySee HOW_TO_RUN.md for the complete beginner-friendly setup guide, or NETWORK_SETUP.md for the short network checklist.
Use the Backup screen to export or import JSON. Stop the server before replacing files during an update; user data lives outside the repository and is not overwritten by a fresh clone.
RuneCards is intended only for a trusted LAN. It has no login system and anyone who can reach the server can read or change its shared save. Do not expose port 8765 to the internet. Only required web assets and game data are served; source and hidden files are blocked.
server.py— static file server and shared-save APIindex.html,styles.css,web-app.js— browser applicationcards.json,quests.json,config.json— game content and tuningCUSTOMIZATION.md— card weights, pity rules, totals, and editing guideassets/— icons, fonts, and imagesscripts/— content-generation utilitiestests/— server and storage tests
Run the test suite without installing anything:
python -m unittest discover -s tests -vPlease keep game data changes separate from application changes where possible.
Released into the public domain under the Unlicense. Anyone may copy, modify, publish, use, sell, or redistribute the code for any purpose.