TAC Documentation

Terminal Access Control (TAC) is a comprehensive access control system for ComputerCraft that provides card-based authentication, extensible modules, and integration with external services.

Quick Install

Get started with TAC in seconds! Run this command in ComputerCraft:

wget run https://raw.githubusercontent.com/Twijn/tac/main/installer.lua

This will download and run the TAC installer, which will guide you through the setup process.

Core Modules

tac.core.card_managerv1.0.1

Provides consistent card creation, validation, and management APIs. Handles standard card creation, subscription cards with expiration, card renewal, and card information queries.

tac.core.extension_loaderv1.0.1

Provides robust extension loading with dependency management, error handling, and graceful degradation. Supports extension metadata, version checking, and load order resolution based on dependencies.

tac.core.hardwarev1.0.1

Handles peripheral detection, door control, and sign updates for the TAC system. Provides utilities for finding and interacting with ComputerCraft peripherals.

tac.core.loggerv1.0.1

Handles all access logging functionality for the TAC system. Logs access events, card creation, and other security-related activities.

tac.core.securityv1.0.1

Handles tag matching, access control logic, and hierarchical permissions. Provides utilities for generating random tokens, parsing tags, and checking access permissions with support for hierarchical a...

Library Modules

tac.lib.interactive_listv1.0.2

Provides an interactive list UI with keyboard navigation for browsing items. Supports arrow key navigation, detail view, and customizable rendering.

tac.lib.shopk_shared

Get the current ShopK configuration

Other Modules

installerv1.1.3

tac.initv1.4.3

The main package interface for the TAC access control system. This module provides the core functionality for managing card-based access control, including extension management, command registration, ...

tac.lib.interactive_listv1.0.2

Provides an interactive list UI with keyboard navigation for browsing items. Supports arrow key navigation, detail view, and customizable rendering.

tac.lib.shopk_shared

Get the current ShopK configuration

Extension Modules

tac.extensions._examplev1.0.1

This file demonstrates how to create a TAC extension. Extensions can register commands, add hooks to TAC events, and provide custom functionality.

tac.extensions.shop_monitorv1.0.4

Displays available shop items on a monitor with payment commands. Shows access tiers, pricing, and renewal information on an external monitor. Optionally integrates with shopk_access extension for enh...

tac.extensions.shopk_accessv1.4.2

Sells access tags as SKUs via ShopK/Kromer payments. Integrates with ShopK to allow users to purchase access tags through the Kromer payment system. Modular version using separate modules for differen...

commands - Command implementations for shop management. Handles all CLI commands for configuring and managing the ShopK integration.
config - Handles tier configuration, loading, and saving for ShopK access sales. Manages subscription tier definitions, pricing, and duration settings.
init - Module loader that provides access to all ShopK access submodules. This is used internally by the parent shopk_access.lua extension.
monitor_ui - Provides interactive monitor-based UI for card purchases and renewals. Allows users without terminal access to make choices and see transaction progre...
shop - Handles ShopK shop instance and transaction processing. Manages the ShopK integration, processes purchases, and handles payment events.
slots - Handles slot discovery, availability checking, and assignment for subscription-based access slots.
subscriptions - Handles viewing, canceling, and refunding active subscriptions. Provides tools for managing user subscription lifecycles.
ui - FormUI-based configuration interfaces for ShopK access management. Provides interactive forms for configuring tiers and settings.
utils - Core utilities for time, formatting, and basic helper functions used throughout the ShopK access extension.

tac.extensions.shopk_nodev1.0.0

Allows configuring the ShopK syncNode option for connecting to different Krist nodes. Provides UI and commands for managing node settings.

tac.extensions.updaterv1.3.0

Provides auto-update functionality for TAC libraries and (eventually) the TAC system itself via lib/updater.lua. This extension checks for updates on startup and provides commands to check for and ins...