Skip to content

Repository files navigation

RuneCards

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.

How the challenge works

  1. Play an Ironman and take Slayer assignments.
  2. Complete a task for a chance to earn a card pack.
  3. Open a pack to draw four currently eligible cards.
  4. Choose one card and complete its quest or progression goal.
  5. 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.

Ways to play

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.

Requirements

  • Python 3.10 or newer
  • A trusted home network

Run it

Clone or download this repository, then run:

python server.py

Windows 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.py

On PowerShell:

$env:RUNECARDS_DATA_DIR = "D:\RuneCardsData"
$env:RUNECARDS_PORT = "9000"
python server.py

See HOW_TO_RUN.md for the complete beginner-friendly setup guide, or NETWORK_SETUP.md for the short network checklist.

Backups and updates

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.

Security model

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.

Repository layout

  • server.py — static file server and shared-save API
  • index.html, styles.css, web-app.js — browser application
  • cards.json, quests.json, config.json — game content and tuning
  • CUSTOMIZATION.md — card weights, pity rules, totals, and editing guide
  • assets/ — icons, fonts, and images
  • scripts/ — content-generation utilities
  • tests/ — server and storage tests

Development

Run the test suite without installing anything:

python -m unittest discover -s tests -v

Please keep game data changes separate from application changes where possible.

License

Released into the public domain under the Unlicense. Anyone may copy, modify, publish, use, sell, or redistribute the code for any purpose.

About

An OSRS Ironman challenge: earn card packs through Slayer tasks, then draw quest and skilling unlocks to shape account progression.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages