A fixed and maintained fork of MTG Deluxe Table [Scripted] by Malixx for Tabletop Simulator.
The original mod has ~70k subscribers and is the most popular scripted MTG table on the Workshop. It hasn't been updated since December 2021. This fork fixes the bugs that have been frustrating players since then.
- Undo/Rewind no longer breaks game state — life totals, commander tax, commander damage, energy, poison, and experience counters all persist correctly through undo. Previously, using undo would permanently break all counter buttons until the table was reloaded.
- Deck import commands no longer jam the queue — the Scryfall
legal,legalities,rules, andtextcommands now handle network failures gracefully. Previously, a network error would stall the import queue, making all subsequent Scryfall commands unresponsive. - Deck/Draft/Cube Importer shows a proper error for unseated players — previously gave a cryptic red error instead of the intended "You need to take a seat" message.
- Phasing tooltip now displays — was incorrectly nested inside the rotation parameter.
- Fewer red script errors during play — Keywords, Scry, and Menu modules handle missing data gracefully instead of showing error messages when the Encoder is momentarily unavailable.
- 24 dead code assignments cleaned up — duplicate
colorkeys in button constructors across avatar, loyalty, and turn counter scripts. - Missing object logging — all 36 GUID lookups in the Global script now log errors at load time instead of silently failing.
All original features are intact:
- 2 deck importers (Scryfall Card Importer, rikrassen Deck/Draft/Cube Importer)
- 10+ supported deck sites (Moxfield, Archidekt, Scryfall, MTGGoldfish, TappedOut, Deckstats, CubeCobra, and more)
- Scripted command zones with life, tax, commander damage, experience, energy, poison counters
- Numpad keybinds: untap, draw, scry, mill, reveal, move to graveyard/exile/library
- Encoder system with keyword icons, P/T tracking, +1/+1 counters, DFC handling, ownership
- Token/emblem spawning from oracle text
- Cascade and Reveal Until Type
- Treachery mode with 16 identity cards
- Smart mulligan, hand card counters, turn timers
- Tabletop Simulator
- Python 3.x
- selene (optional, for linting — place binary in
tools/)
bash build.sh ship # Lint + check duplicates + build + deploy to TTS
bash build.sh lint # Static analysis
bash build.sh check-dupes # Verify duplicate script groups are consistent
bash build.sh build # Embed scripts into build/output.json
bash build.sh deploy # Copy to TTS Mods folder
bash build.sh extract # Extract scripts from save (overwrites src/)MTGDeluxe.json # TTS save file (source of truth for non-Lua data)
src/global/Global.-1.lua # Main entry point (~2500 lines)
src/objects/ # 102 per-object Lua scripts
tools/ # Extract/embed scripts, linter, duplicate checker
CLAUDE.md # Claude Code project context
CODEMAP.md # Feature-oriented code documentation
TRIAGE.md # Bug tracking with verification status
See CLAUDE.md for the full dependency graph, Encoder API surface, and duplicate file management instructions.
- Malixx — original mod creator
- rikrassen — MTG Deck/Draft/Cube Importer
- Azumet — Card Importer (pi-modded)
- TyrantNomad — Easy Modules Unified
- Oops I Baked a Pie — scripted buttons and shortcuts
- Larikk — Custom Card Back Changer