Playedthis phase · each card in its owner’s colour
0vs0
Ready0
Readyyour minions · tap to select / lock for a reaction · double-tap to act
100%
Controls
Drag move · Double-click lock · Right-click menu Click select / set active minion · Drag on felt box-select (Shift adds) Scroll on a card · Ctrl+click +1 · Shift+click −1 — adjust the token under the pointer (blood / blue / green) · +/− adjust blood on the selected card (or pool if none selected) D draw · Ctrl+click library undo last draw Ctrl (panel hidden) preview the card at the pointer Touch long-press = menu · pinch = zoom · drag felt = pan (L4) · tap ± / badges = counters
Played tab · Action flow — what closes the batch Bleed · Hunt · Rescue · Diablerie · Card action 💬 “It resolves” quick phrase · a Vote/Combat Resolve New action card played (card DB on) Phase advance — all batches Block · other phrases: do NOT close the batch
Uncontrolled
Torpor
Ready Region
Crypt0
Library0
Ash Heap0
Hand0
Pool
30
?
▾
Crypt · Library · Ash heap · Hand▲
Log
Player
30
Pool
100%
Your turn!
(Click Unlock to start your turn)
The table is set
You have a saved game.
You're still in an online room.
We strongly recommend enabling the KRCG card database (a ~3 MB download) for full functionality (minion detection, card text, Deck Lab). If you have storage to spare, downloading the image library (~80–150 MB for all cards) gives faster loading and offline play. (Downloads run in the background — you can keep playing.)
Play online, or offline on this screen — set up anything from a solo goldfish to a full multiplayer table.
Prey
Predator
Table ▾
TABLE
Log
Notice
Import deck
Imported decks are saved in your deck library (in this browser) so you can re-load them from the list above. Card images are fetched automatically from static.krcg.org based on card names. Unrecognized cards are shown as text cards (and flagged with ⚠ in Deck Lab if the name doesn't match the database).
Deck lab
Add from New Blood
New Blood is a starter-style product many players use to round out a 77-card starter. These are the cards from the matching New Blood deck — the number in parentheses is how many it provides.
Card catalog — freeform building
Filtering with a colon (:) — words before the colon match KRCG data points; text after the colon searches the card text. No colon = free text across everything. library dom combat: maneuver = Dominate combat cards with “maneuver” in the text.
Disciplines (trigram or full name, e.g. dom = dominate) abo ani aus cel chi dai dem dom for mel myt nec obe obf obt pot pre pro qui san ser spi tem tha thn val vic vis
Clan any clan name — ventruetremerenosferatubrujah …
Number on a vampire = capacity · on a library card = pool / blood cost
V5 cards▸
Legacy cards▸
Load deck
This replaces the deck you're currently editing in the lab (unsaved edits are lost) — your saved deck library is untouched either way.
Browse
Settings
Files
Download or refresh the card catalog from KRCG now. The catalog is cached locally for offline play.
Checked FIRST, before the cache/KRCG above. Put files next to this client file (or, if you're using the Elysium server, next to elysium-server.js) in a folder named images. Cards:name.webp or .jpg, lowercased and stripped of spaces/punctuation — e.g. gratiano.webp for "Gratiano". Both extensions are checked (whichever exists wins), so KRCG's full card-image zip from static.krcg.org can be unzipped straight into the folder regardless of the Image format setting above. Card backs (downloadable from static.krcg.org too): cardbackcrypt.jpg and cardbacklibrary.jpg, exactly. Icons (clan/discipline/path symbols): same idea but with each / in the KRCG path turned into a - — e.g. KRCG's svg/path/caine.svg becomes svg-path-caine.svg, svg/disc/sup/dom.svg becomes svg-disc-sup-dom.svg. Missing files fall straight through to the cache/KRCG either way, so a partial folder is fine. Card database too: drop KRCG’s vtes.json (from static.krcg.org/data/) into the same folder and the card database (names, types, disciplines) also loads from your file first. Note: unlike images, the database file needs the Elysium server or a tunnel — a double-clicked file:// client can’t fetch local files and falls back to its browser-cached copy instead. First time, fully offline, file://? Use 📁 From file… (under Card data above) once — it loads and caches the database, and every later start is automatic. Off by default.
Image format — WebP is smaller (~80–150 MB for all cards); JPEG is more compatible. Affects new downloads only — already-cached images keep their format. Local only.
Download card images from KRCG to this browser for offline play and faster loading. Downloads run in the background — you can close Settings and keep playing. All cards requires the card database (above). My decks downloads only cards in your saved deck library. This game downloads cards currently on the table.
Card image on hover (panel hidden) — when the side panel is collapsed, how to trigger the floating card preview at the pointer. Ctrl + hover is the default (hold Ctrl and move over a card); Always shows the image as soon as you hover any card — no modifier key needed. A local choice.
Played-cards tab order — Newest first lists plays in strict chronological order, newest at the top (stable, cards never jump). Action flow groups by action status: action-type cards lead, their modifiers & reactions follow, resolved cards trail — cards move within the list as an action resolves, which naturally reflects the live action structure. A local choice.
Resolver Resolve — what happens to the Played tab when anyone hits Resolve on a Block/Vote/Combat counter. Clear the view re-baselines the tab (cards stay on the board); Clear + discard mine also sends your own played cards to your ash heap (undo-able). The card-play batch closes either way, just like the “It resolves” phrase. A local choice.
Action animations — when a card is played, locked, or unlocked, an enlarged clone pulses centre-screen. Local choice; everyone else still sees animations per their own setting. Mine hidden skips your own (handy when you know what you played); All hidden shows none for you (follow the log instead).
Animation length — scale how long the action animations last. 100% is the default; lower is snappier, higher is more dramatic. Local only.100%
Draw from library / crypt — whether a single click or a double-click draws a card from the library pile or moves a crypt card to uncontrolled. Double-click is the default (less prone to accidental draws); Single click matches the classic feel. Ctrl+click to undo a draw is always single click regardless. Local choice.
Dock while dragging a card — whether the bottom dock stays open until the dragged card leaves it (default), or closes immediately as the drag starts. Applies to pile drags in every view and hand drags in Classic; in L2/L3 the open hand fan rides out the whole drag (it is the hand). Clicking the dock's open background (not on a card or button) overrides either mode: a pinned dock never auto-closes. Local choice.
Touch controls — larger tap targets, always-visible pool buttons and (as they land) touch-specific rows in the menus. Auto follows the device (touchscreen → on); force On/Off to override. Gestures themselves (long-press for the menu, drag, pinch) always follow the finger regardless. Local choice.
Player-colour outlines on cards — in ready & torpor, each card carries its owner's player colour so you can see at a glance whose it is. Local only. Hide home hides your own cards' colour on your own board (keeps it visible when visiting opponents). Mine hidden hides your own everywhere. All hidden hides every player's. (Selection & target rings are separate — below.)
Brightness — adjust the overall table brightness. 100% is the default. Local only.100%
Menu/panel brightness — a separate brightness for menus, panels and dialogs, so they can follow the table's brightness (or stay put) independently. 100% is the default. Local only.100%
Sound effects volume — master level for all in-game sounds (card plays, lock/unlock, pass bell, oust, your turn). 100% is the default; drag to 0 to mute all SFX. Local only.0%
Sound effects — per-channel
Fine-tune individual sounds relative to the master volume above. 100% = unchanged; 0% = muted. Local only.
Shortcuts — mouse (fixed)
Shortcuts — basic
Click a key chip, then press the new key. Delete clears a binding, Esc cancels. Reassigning a key steals it from its old action, and shortcuts are paused while a dialog is open.
Game log
The log lives only in this session — download it to keep it.
Play online
Filled in when you arrive by link — on elysium.cards just leave it. Typing it yourself needs the scheme: https://elysium.cards, or paste a host’s https://…trycloudflare.com link whole. A bare 192.168.1.42:8123 is a direct connection on the same network.
How you appear to everyone else at the table.
Pick one to create a room, or type a friend's room name to join it.
Optional. Only needed to join if the room was created with one. Make up a fun phrase — never reuse a real password from anywhere else.
Only for privately run servers started with --server-pass (a locked door for the whole server). Not used on elysium.cards — leave empty.
For tournament referees on servers started with --admin-pass: grants every host action at any table you sit at, for this connection. Leave empty otherwise.
Optional clock, in minutes. Create only.
Seconds players get for reaction prompts. Create only.
Structured: guided zones with columns and helicopter views. Classic: open table — place cards freely, like Lackey. Create only.
Who governs the table helpers. Player’s choice: everyone keeps their own Settings. All helpers on: every helper on for everyone, locked. Tournament mode: every helper off for everyone, locked — for practising under real tournament conditions. The host can still change this later under Settings → Helpers. Create only.
Not connected.
On elysium.cards everything above is ready: pick a room name and Create room, or
use 🔍 List rooms to join one — nothing to install, for you or your guests. Anyone can also run the
server themselves (node elysium-server.js; same network, Tailscale/ZeroTier or a Cloudflare tunnel all
work) — then everyone enters that address at the top instead. Either way the room lives as long as its server
runs, and a refresh puts you back in your seat.
Lobby
Everyone loads a deck and claims a seat. Roll to settle the seating order, then the host starts — the server shuffles and deals. Your seat order becomes the turn order.
Claim your seat
Play offline — hotseat
Seat each player and give them a deck — one screen, pass-and-play. Take priority from the PRIORITY bar to control whoever's acting; a player's hand stays hidden until you take their seat.
The same three modes an online table offers. Hotseat is one screen with one set of Settings, so the online Player's choice mode is simply your local settings here. Applies to this table only — your stored preferences are left alone.
Saved matches
About Elysium
Elysium is a free, non-commercial fan-made digital table for playing
Vampire: The Eternal Struggle with your own decks. It is unofficial Dark Pack
fan content — not affiliated with, endorsed by, or sponsored by Paradox Interactive AB
or Black Chantry Productions.
DARK PACK
Official Dark Pack logo & assets: see the Dark Pack page at worldofdarkness.com
Portions of the materials are the copyrights and trademarks of Paradox
Interactive AB, and are used with permission. All rights reserved. For more information
please visit worldofdarkness.com.
Card images and card backs are served by the community project
KRCG (static.krcg.org) — with thanks. Deck building and exports: VDB (vdb.im).
Vampire: The Eternal Struggle is published by Black Chantry Productions under
license from Paradox Interactive AB.
Security & your data, in short
Elysium runs on a single small server in the EU (Helsinki) with zero open network ports — all traffic flows through an encrypted tunnel over HTTPS/WSS. The software has zero third-party dependencies, sets no trackers or analytics, and requires no account.
While you play, the server handles your display name, room name, chat, and the public board — plus your decklist in server memory, so it can hold your hidden cards honestly. Your hand is encrypted on your device with the room password before it leaves; the server relays it but cannot read it. Your IP is used for rate-limiting and is logged only on abuse events. Room data expires within an hour of everyone leaving; named saves are opt-in and expire after 90 days untouched. Your deck library, settings, and card images live only in your browser — never uploaded.
Honest limits: this is a hobby service run best-effort by one person, without a formal security audit. Room passwords are shared phrases between friends — pick a fun phrase, never a real password. Questions, bug reports, or feedback is happily received through the ‘Tools feedback’ channel on the V:TES Discord.
If you enjoy Elysium, you can buy me a coffee — it’s always appreciated!
Tutorial
The basic tutorials walk you through playing in Play offline mode — the controls, shortcuts, and how a turn flows. The advanced tutorials build on that foundation and cover Structured tables, online play, and more. Start from the top, or jump to any section.