🛠️Installation

Database

circle-info

We have a option on config.lua Config.AutoDatabase to run this query's for you.

CREATE TABLE IF NOT EXISTS `m_court_announcements` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(255) NOT NULL,
  `body` text NOT NULL,
  `posted_by` varchar(100) NOT NULL,
  `pinned` tinyint(1) NOT NULL DEFAULT 0,
  `date` datetime NOT NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`),
  KEY `idx_pinned` (`pinned`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

CREATE TABLE IF NOT EXISTS `m_court_appointments` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `player_name` varchar(100) NOT NULL,
  `identifier` varchar(100) NOT NULL,
  `service_type` varchar(100) NOT NULL,
  `attorney_name` varchar(100) DEFAULT '',
  `date` date DEFAULT NULL,
  `time` varchar(10) DEFAULT NULL,
  `status` enum('pending','approved','rejected') NOT NULL DEFAULT 'pending',
  `notes` text DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_identifier` (`identifier`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

CREATE TABLE IF NOT EXISTS `m_court_businesses` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(200) NOT NULL,
  `owner_name` varchar(100) NOT NULL,
  `owner_identifier` varchar(100) NOT NULL,
  `tax_rate` decimal(5,2) NOT NULL DEFAULT 0.00,
  `status` enum('pending','approved','revoked') NOT NULL DEFAULT 'pending',
  `total_tax` decimal(12,2) NOT NULL DEFAULT 0.00,
  `income` decimal(12,2) NOT NULL DEFAULT 0.00,
  `created_by` varchar(100) DEFAULT '',
  `date` datetime NOT NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`),
  KEY `idx_owner` (`owner_identifier`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

CREATE TABLE IF NOT EXISTS `m_court_cases` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `case_name` varchar(200) NOT NULL,
  `defendant` varchar(100) NOT NULL,
  `defense_attorney` varchar(100) DEFAULT '',
  `settlement_fee` int(11) DEFAULT 0,
  `public` tinyint(1) NOT NULL DEFAULT 0,
  `date` date DEFAULT NULL,
  `time` varchar(10) DEFAULT NULL,
  `verdict` text DEFAULT NULL,
  `status` enum('open','closed') NOT NULL DEFAULT 'open',
  `created_by` varchar(100) DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `idx_status` (`status`),
  KEY `idx_public` (`public`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

CREATE TABLE IF NOT EXISTS `m_court_chat_members` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `room_id` int(11) NOT NULL,
  `identifier` varchar(100) NOT NULL,
  `added_by` varchar(100) DEFAULT '',
  `added_at` datetime NOT NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_room_member` (`room_id`,`identifier`),
  KEY `idx_identifier` (`identifier`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

CREATE TABLE IF NOT EXISTS `m_court_chat_messages` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `room_id` int(11) NOT NULL,
  `sender_name` varchar(100) NOT NULL,
  `identifier` varchar(100) NOT NULL,
  `message` text NOT NULL,
  `sent_at` datetime NOT NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`),
  KEY `idx_room_id` (`room_id`),
  KEY `idx_sent_at` (`sent_at`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

CREATE TABLE IF NOT EXISTS `m_court_chat_rooms` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(80) NOT NULL,
  `created_by` varchar(100) DEFAULT 'system',
  `is_general` tinyint(1) NOT NULL DEFAULT 0,
  `created_at` datetime NOT NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

CREATE TABLE IF NOT EXISTS `m_court_criminal_records` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `player_name` varchar(100) NOT NULL,
  `identifier` varchar(100) NOT NULL,
  `reason` text NOT NULL,
  `points` int(11) NOT NULL DEFAULT 0,
  `added_by` varchar(100) DEFAULT '',
  `date` datetime NOT NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`),
  KEY `idx_identifier` (`identifier`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

CREATE TABLE IF NOT EXISTS `m_court_documents` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `doc_type` varchar(60) NOT NULL,
  `issued_by` varchar(100) NOT NULL,
  `issued_by_id` varchar(100) NOT NULL,
  `issued_to_name` varchar(100) NOT NULL DEFAULT '',
  `issued_to_id` varchar(100) NOT NULL DEFAULT '',
  `fields` text NOT NULL,
  `created_at` datetime NOT NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`),
  KEY `idx_issued_to` (`issued_to_id`),
  KEY `idx_type` (`doc_type`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

CREATE TABLE IF NOT EXISTS `m_court_election_votes` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `election_id` int(11) NOT NULL,
  `identifier` varchar(100) NOT NULL,
  `candidate` varchar(100) NOT NULL,
  `voted_at` datetime NOT NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_voter` (`election_id`,`identifier`),
  KEY `idx_election` (`election_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

CREATE TABLE IF NOT EXISTS `m_court_elections` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(255) NOT NULL,
  `candidates_json` text NOT NULL,
  `created_by` varchar(100) DEFAULT '',
  `created_at` datetime NOT NULL DEFAULT current_timestamp(),
  `closes_at` datetime NOT NULL,
  `status` enum('active','closed') NOT NULL DEFAULT 'active',
  PRIMARY KEY (`id`),
  KEY `idx_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

CREATE TABLE IF NOT EXISTS `m_court_evidence` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `case_id` int(11) NOT NULL,
  `type` enum('image','video','document') NOT NULL DEFAULT 'document',
  `url` text NOT NULL,
  `description` text DEFAULT NULL,
  `added_by` varchar(100) DEFAULT '',
  `date` datetime NOT NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`),
  KEY `idx_case_id` (`case_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

CREATE TABLE IF NOT EXISTS `m_court_exams` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `player_name` varchar(100) NOT NULL,
  `identifier` varchar(100) NOT NULL,
  `exam_type` varchar(50) NOT NULL,
  `score` int(3) NOT NULL DEFAULT 0,
  `status` enum('pending','approved','denied','failed') NOT NULL DEFAULT 'pending',
  `notes` text DEFAULT NULL,
  `license_expiry` date DEFAULT NULL,
  `date` datetime NOT NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`),
  KEY `idx_identifier` (`identifier`),
  KEY `idx_status` (`status`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

CREATE TABLE IF NOT EXISTS `m_court_fines` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `player_name` varchar(100) NOT NULL,
  `identifier` varchar(100) NOT NULL,
  `reason` text NOT NULL,
  `amount` int(11) NOT NULL DEFAULT 0,
  `paid` tinyint(1) NOT NULL DEFAULT 0,
  `issued_by` varchar(100) DEFAULT '',
  `date` datetime NOT NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`),
  KEY `idx_identifier` (`identifier`),
  KEY `idx_paid` (`paid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

CREATE TABLE IF NOT EXISTS `m_court_invoices` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `from_identifier` varchar(100) NOT NULL,
  `from_name` varchar(100) NOT NULL,
  `to_identifier` varchar(100) NOT NULL,
  `to_name` varchar(100) NOT NULL,
  `amount` int(11) NOT NULL DEFAULT 0,
  `description` text NOT NULL,
  `status` enum('pending','paid','rejected','cancelled') NOT NULL DEFAULT 'pending',
  `date` datetime NOT NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`),
  KEY `idx_from` (`from_identifier`),
  KEY `idx_to` (`to_identifier`),
  KEY `idx_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

CREATE TABLE IF NOT EXISTS `m_court_jail` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `player_src` int(11) NOT NULL,
  `identifier` varchar(100) NOT NULL,
  `player_name` varchar(100) NOT NULL,
  `duration` int(11) NOT NULL,
  `reason` text NOT NULL,
  `jailed_by` varchar(100) NOT NULL,
  `jailed_at` bigint(20) NOT NULL,
  `release_at` bigint(20) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_identifier` (`identifier`),
  KEY `idx_jail_release` (`release_at`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

CREATE TABLE IF NOT EXISTS `m_court_job_permissions` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `job` varchar(50) NOT NULL,
  `page` varchar(50) NOT NULL,
  `min_grade` int(11) NOT NULL DEFAULT 0,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_job_page` (`job`,`page`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

CREATE TABLE IF NOT EXISTS `m_court_licenses` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `player_name` varchar(100) NOT NULL,
  `identifier` varchar(100) NOT NULL,
  `license_key` varchar(50) NOT NULL,
  `license_label` varchar(100) NOT NULL,
  `status` enum('active','revoked') NOT NULL DEFAULT 'active',
  `granted_by` varchar(100) DEFAULT '',
  `date` datetime NOT NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`),
  KEY `idx_identifier` (`identifier`),
  KEY `idx_license_key` (`license_key`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

CREATE TABLE IF NOT EXISTS `m_court_penal_codes` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `category` varchar(100) NOT NULL,
  `code` varchar(20) NOT NULL,
  `name` varchar(200) NOT NULL,
  `description` text DEFAULT NULL,
  `fine` int(11) NOT NULL DEFAULT 0,
  `jail` int(11) NOT NULL DEFAULT 0,
  `created_by` varchar(100) DEFAULT '',
  `created_at` datetime NOT NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_code` (`code`),
  KEY `idx_category` (`category`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

CREATE TABLE IF NOT EXISTS `m_court_schedules` (
  `identifier` varchar(100) NOT NULL,
  `staff_name` varchar(100) NOT NULL,
  `schedule_json` text NOT NULL DEFAULT '{}',
  `updated_at` datetime NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  PRIMARY KEY (`identifier`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

CREATE TABLE IF NOT EXISTS `m_court_taxes` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `category` varchar(100) NOT NULL,
  `rate` decimal(5,2) NOT NULL DEFAULT 0.00,
  `description` text DEFAULT NULL,
  `last_updated` datetime NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_category` (`category`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

CREATE TABLE IF NOT EXISTS `m_court_vehicle_images` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `plate` varchar(20) NOT NULL,
  `image_url` text NOT NULL,
  `updated_at` datetime NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_plate` (`plate`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

CREATE TABLE IF NOT EXISTS `m_court_warrants` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `target_name` varchar(150) NOT NULL,
  `target_identifier` varchar(100) NOT NULL DEFAULT '',
  `type` enum('arrest','search') NOT NULL DEFAULT 'arrest',
  `reason` text NOT NULL,
  `issued_by` varchar(100) NOT NULL,
  `status` enum('active','executed','expired') NOT NULL DEFAULT 'active',
  `expires_at` varchar(100) DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`),
  KEY `idx_w_identifier` (`target_identifier`),
  KEY `idx_w_status` (`status`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

CREATE TABLE IF NOT EXISTS `m_court_witnesses` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `case_id` int(11) NOT NULL,
  `player_name` varchar(100) NOT NULL,
  `identifier` varchar(100) NOT NULL,
  `type` enum('witness','observer') NOT NULL DEFAULT 'witness',
  `notes` text DEFAULT NULL,
  `date` datetime NOT NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`),
  KEY `idx_case_id` (`case_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;

Items Installation

Job Installation

Last updated