Installation guide — please follow each step carefully and exactly as described to ensure the script works correctly on your server. Skipping or modifying steps may cause the system to not function properly, so follow it step by step.
This script requires some mandatory dependencies to function correctly. Make sure to download and extract them inside your server’s main directory, keeping their original folder structure intact.
This script may cause conflicts or errors if you use other admin systems on your server. Common examples include qb-admin or other similar admin scripts. It’s strongly recommended to remove them completely before installation to prevent compatibility or functionality issues.
This script includes an essential database required for its operation.You must import it before starting your server, preferably using HeidiSQL or any other manager compatible with MariaDB/MySQL.
ESX/QB
sql
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS =0;
CREATE TABLE IF NOTEXISTS `qs_admin_roles` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(64) NOT NULL,
`priority` INTNOT NULLDEFAULT0,
`is_system` TINYINT(1) NOT NULLDEFAULT0,
`created_at` TIMESTAMPNOT NULLDEFAULTCURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `uniq_name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOTEXISTS `qs_admin_permissions` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`key` VARCHAR(96) NOT NULL,
`category` VARCHAR(32) NOT NULL,
`description` VARCHAR(190) NOT NULLDEFAULT'',
PRIMARY KEY (`id`),
UNIQUE KEY `uniq_key` (`key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOTEXISTS `qs_admin_role_permissions` (
`role_id` INT UNSIGNED NOT NULL,
`permission_id` INT UNSIGNED NOT NULL,
PRIMARY KEY (`role_id`, `permission_id`),
KEY `idx_permission` (`permission_id`),
CONSTRAINT `fk_qs_admin_role_permissions_role`
FOREIGN KEY (`role_id`) REFERENCES `qs_admin_roles`(`id`) ONDELETE CASCADE,
CONSTRAINT `fk_qs_admin_role_permissions_permission`
FOREIGN KEY (`permission_id`) REFERENCES `qs_admin_permissions`(`id`) ONDELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOTEXISTS `qs_admin_accounts` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`identifier` VARCHAR(96) NOT NULL,
`username` VARCHAR(48) NOT NULL,
`password_hash` VARCHAR(255) NOT NULL,
`status` ENUM('pending', 'approved', 'rejected') NOT NULLDEFAULT'pending',
`role_id` INT UNSIGNED NULL,
`avatar` TEXT NULL,
`last_login_at` DATETIME NULL,
`created_by` VARCHAR(96) NULL,
`approved_by` VARCHAR(96) NULL,
`approved_at` DATETIME NULL,
`created_at` DATETIME NOT NULLDEFAULTCURRENT_TIMESTAMP,
`updated_at` DATETIME NOT NULLDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `uniq_identifier` (`identifier`),
UNIQUE KEY `uniq_username` (`username`),
KEY `idx_status` (`status`),
KEY `idx_role` (`role_id`),
CONSTRAINT `fk_qs_admin_accounts_role`
FOREIGN KEY (`role_id`) REFERENCES `qs_admin_roles`(`id`) ONDELETESETNULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOTEXISTS `qs_admin_account_permissions` (
`account_id` BIGINT UNSIGNED NOT NULL,
`permission_id` INT UNSIGNED NOT NULL,
`value` TINYINT(1) NOT NULLDEFAULT1,
PRIMARY KEY (`account_id`, `permission_id`),
KEY `idx_permission` (`permission_id`),
CONSTRAINT `fk_qs_admin_account_permissions_account`
FOREIGN KEY (`account_id`) REFERENCES `qs_admin_accounts`(`id`) ONDELETE CASCADE,
CONSTRAINT `fk_qs_admin_account_permissions_permission`
FOREIGN KEY (`permission_id`) REFERENCES `qs_admin_permissions`(`id`) ONDELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOTEXISTS `qs_admin_activity_stats` (
`identifier` VARCHAR(96) NOT NULL,
`total_active_seconds` INT UNSIGNED NOT NULLDEFAULT0,
`total_duty_seconds` INT UNSIGNED NOT NULLDEFAULT0,
`last_duty_started_at` DATETIME NULL,
`last_duty_ended_at` DATETIME NULL,
`updated_at` DATETIME NOT NULLDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMP,
PRIMARY KEY (`identifier`),
KEY `idx_updated_at` (`updated_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOTEXISTS `qs_adminmenu_playtime` (
`license` VARCHAR(128) NOT NULL,
`seconds` INT UNSIGNED NOT NULLDEFAULT0,
PRIMARY KEY (`license`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOTEXISTS `qs_adminmenu_queue_settings` (
`id` TINYINT UNSIGNED NOT NULL,
`enabled` TINYINT(1) NOT NULLDEFAULT0,
`max_players` INT UNSIGNED NOT NULLDEFAULT32,
`whitelist_only` TINYINT(1) NOT NULLDEFAULT0,
`red_message` VARCHAR(240) NOT NULL,
`queue_message` VARCHAR(240) NOT NULL,
`queue_status_template` VARCHAR(240) NOT NULL,
`tick_ms` INT UNSIGNED NOT NULLDEFAULT1200,
`manage_rate_limit_ms` INT UNSIGNED NOT NULLDEFAULT700,
`updated_at` TIMESTAMPNOT NULLDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOTEXISTS `qs_adminmenu_queue_whitelist` (
`identifier` VARCHAR(120) NOT NULL,
`note` VARCHAR(120) NOT NULLDEFAULT'',
`created_by` VARCHAR(80) NOT NULLDEFAULT'system',
`created_at` TIMESTAMPNOT NULLDEFAULTCURRENT_TIMESTAMP,
PRIMARY KEY (`identifier`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOTEXISTS `qs_adminmenu_queue_tiers` (
`identifier` VARCHAR(120) NOT NULL,
`tier` SMALLINTNOT NULLDEFAULT0,
`note` VARCHAR(120) NOT NULLDEFAULT'',
`updated_at` TIMESTAMPNOT NULLDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMP,
PRIMARY KEY (`identifier`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOTEXISTS `qs_adminmenu_entity_control` (
`id` TINYINT UNSIGNED NOT NULL,
`ped_density` DECIMAL(3,2) NOT NULLDEFAULT1.00,
`vehicle_density` DECIMAL(3,2) NOT NULLDEFAULT1.00,
`parked_vehicle_density` DECIMAL(3,2) NOT NULLDEFAULT1.00,
`random_vehicle_density` DECIMAL(3,2) NOT NULLDEFAULT1.00,
`scenario_ped_density` DECIMAL(3,2) NOT NULLDEFAULT1.00,
`suppress_cops` TINYINT(1) NOT NULLDEFAULT0,
`suppress_military` TINYINT(1) NOT NULLDEFAULT0,
`suppress_animals` TINYINT(1) NOT NULLDEFAULT0,
`suppress_gangs` TINYINT(1) NOT NULLDEFAULT0,
`suppress_emergency` TINYINT(1) NOT NULLDEFAULT0,
`updated_at` TIMESTAMPNOT NULLDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOTEXISTS `qs_admin_logs` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`ts` DATETIME(3) NOT NULLDEFAULTCURRENT_TIMESTAMP(3),
`category` VARCHAR(32) NOT NULL,
`event` VARCHAR(64) NOT NULL,
`color` VARCHAR(16) NOT NULLDEFAULT'default',
`source_id` INTNULL,
`source_name` VARCHAR(255) NULL,
`source_identifier` VARCHAR(255) NULL,
`target_id` INTNULL,
`target_name` VARCHAR(255) NULL,
`target_identifier` VARCHAR(255) NULL,
`message` TEXT NOT NULL,
`meta` JSON NULL,
PRIMARY KEY (`id`),
KEY `idx_ts` (`ts`),
KEY `idx_event` (`event`),
KEY `idx_category` (`category`),
KEY `idx_source_id` (`source_id`),
KEY `idx_target_id` (`target_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
ALTER TABLE `qs_admin_logs`
MODIFY `source_name` VARCHAR(255) NULL,
MODIFY `source_identifier` VARCHAR(255) NULL,
MODIFY `target_name` VARCHAR(255) NULL,
MODIFY `target_identifier` VARCHAR(255) NULL;
CREATE TABLE IF NOTEXISTS `qs_admin_reports` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`public_id` CHAR(10) NOT NULL,
`type` ENUM('player', 'bug', 'staff') NOT NULLDEFAULT'player',
`category` VARCHAR(32) NOT NULLDEFAULT'general',
`priority` TINYINT UNSIGNED NOT NULLDEFAULT1,
`status` ENUM(
'open', 'triaged', 'assigned', 'in_progress',
'waiting_player', 'resolved', 'closed', 'rejected'
) NOT NULLDEFAULT'open',
`subject` VARCHAR(190) NOT NULL,
`description` TEXT NOT NULL,
`reporter_source_id` INTNULL,
`reporter_identifier` VARCHAR(96) NOT NULL,
`reporter_name` VARCHAR(96) NOT NULLDEFAULT'',
`target_source_id` INTNULL,
`target_identifier` VARCHAR(96) NULL,
`target_name` VARCHAR(96) NULL,
`assigned_account_id` BIGINT UNSIGNED NULL,
`assigned_at` DATETIME(3) NULL,
`location` JSON NULL,
`evidence` JSON NULL,
`meta` JSON NULL,
`resolved_at` DATETIME(3) NULL,
`closed_at` DATETIME(3) NULL,
`created_at` DATETIME(3) NOT NULLDEFAULTCURRENT_TIMESTAMP(3),
`updated_at` DATETIME(3) NOT NULLDEFAULTCURRENT_TIMESTAMP(3) ONUPDATECURRENT_TIMESTAMP(3),
PRIMARY KEY (`id`),
UNIQUE KEY `uniq_public_id` (`public_id`),
KEY `idx_status_created` (`status`, `created_at`),
KEY `idx_assigned_status` (`assigned_account_id`, `status`, `updated_at`),
KEY `idx_reporter_created` (`reporter_identifier`, `created_at`),
KEY `idx_target_created` (`target_identifier`, `created_at`),
KEY `idx_priority_open` (`priority`, `status`, `created_at`),
KEY `idx_type_status` (`type`, `status`, `created_at`),
KEY `idx_updated_at` (`updated_at`),
CONSTRAINT `fk_qs_admin_reports_assigned`
FOREIGN KEY (`assigned_account_id`) REFERENCES `qs_admin_accounts`(`id`) ONDELETESETNULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOTEXISTS `qs_admin_report_status_history` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`report_id` BIGINT UNSIGNED NOT NULL,
`from_status` VARCHAR(32) NULL,
`to_status` VARCHAR(32) NOT NULL,
`changed_by_account_id` BIGINT UNSIGNED NULL,
`changed_by_identifier` VARCHAR(96) NULL,
`changed_by_name` VARCHAR(96) NULL,
`note` VARCHAR(500) NULL,
`created_at` DATETIME(3) NOT NULLDEFAULTCURRENT_TIMESTAMP(3),
PRIMARY KEY (`id`),
KEY `idx_report_created` (`report_id`, `created_at`),
KEY `idx_to_status_created` (`to_status`, `created_at`),
CONSTRAINT `fk_report_status_report`
FOREIGN KEY (`report_id`) REFERENCES `qs_admin_reports`(`id`) ONDELETE CASCADE,
CONSTRAINT `fk_report_status_account`
FOREIGN KEY (`changed_by_account_id`) REFERENCES `qs_admin_accounts`(`id`) ONDELETESETNULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOTEXISTS `qs_admin_report_assignments` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`report_id` BIGINT UNSIGNED NOT NULL,
`from_account_id` BIGINT UNSIGNED NULL,
`to_account_id` BIGINT UNSIGNED NULL,
`assigned_by_account_id` BIGINT UNSIGNED NULL,
`note` VARCHAR(500) NULL,
`created_at` DATETIME(3) NOT NULLDEFAULTCURRENT_TIMESTAMP(3),
PRIMARY KEY (`id`),
KEY `idx_report_created` (`report_id`, `created_at`),
KEY `idx_to_account_created` (`to_account_id`, `created_at`),
CONSTRAINT `fk_report_assign_report`
FOREIGN KEY (`report_id`) REFERENCES `qs_admin_reports`(`id`) ONDELETE CASCADE,
CONSTRAINT `fk_report_assign_from`
FOREIGN KEY (`from_account_id`) REFERENCES `qs_admin_accounts`(`id`) ONDELETESETNULL,
CONSTRAINT `fk_report_assign_to`
FOREIGN KEY (`to_account_id`) REFERENCES `qs_admin_accounts`(`id`) ONDELETESETNULL,
CONSTRAINT `fk_report_assign_by`
FOREIGN KEY (`assigned_by_account_id`) REFERENCES `qs_admin_accounts`(`id`) ONDELETESETNULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOTEXISTS `qs_admin_report_comments` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`report_id` BIGINT UNSIGNED NOT NULL,
`author_account_id` BIGINT UNSIGNED NULL,
`author_identifier` VARCHAR(96) NOT NULL,
`author_name` VARCHAR(96) NOT NULLDEFAULT'',
`visibility` ENUM('internal', 'public') NOT NULLDEFAULT'internal',
`body` TEXT NOT NULL,
`created_at` DATETIME(3) NOT NULLDEFAULTCURRENT_TIMESTAMP(3),
`updated_at` DATETIME(3) NULL,
PRIMARY KEY (`id`),
KEY `idx_report_created` (`report_id`, `created_at`),
KEY `idx_report_visibility` (`report_id`, `visibility`, `created_at`),
CONSTRAINT `fk_report_comment_report`
FOREIGN KEY (`report_id`) REFERENCES `qs_admin_reports`(`id`) ONDELETE CASCADE,
CONSTRAINT `fk_report_comment_author`
FOREIGN KEY (`author_account_id`) REFERENCES `qs_admin_accounts`(`id`) ONDELETESETNULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOTEXISTS `qs_admin_vehicle_overrides` (
`model` VARCHAR(64) NOT NULL,
`name` VARCHAR(128) NULL,
`category` VARCHAR(64) NULL,
`class` VARCHAR(64) NULL,
`price` INTNULL,
`brand` VARCHAR(64) NULL,
`hidden` TINYINT(1) NOT NULLDEFAULT0,
`is_custom` TINYINT(1) NOT NULLDEFAULT0,
`updated_by` VARCHAR(64) NULL,
`updated_at` TIMESTAMPNOT NULLDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMP,
PRIMARY KEY (`model`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOTEXISTS `qs_admin_report_audit` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`report_id` BIGINT UNSIGNED NOT NULL,
`action` VARCHAR(64) NOT NULL,
`actor_account_id` BIGINT UNSIGNED NULL,
`actor_identifier` VARCHAR(96) NULL,
`actor_name` VARCHAR(96) NULL,
`before` JSON NULL,
`after` JSON NULL,
`created_at` DATETIME(3) NOT NULLDEFAULTCURRENT_TIMESTAMP(3),
PRIMARY KEY (`id`),
KEY `idx_report_created` (`report_id`, `created_at`),
KEY `idx_action_created` (`action`, `created_at`),
CONSTRAINT `fk_report_audit_report`
FOREIGN KEY (`report_id`) REFERENCES `qs_admin_reports`(`id`) ONDELETE CASCADE,
CONSTRAINT `fk_report_audit_actor`
FOREIGN KEY (`actor_account_id`) REFERENCES `qs_admin_accounts`(`id`) ONDELETESETNULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
SET FOREIGN_KEY_CHECKS =1;
INSERT INTO `qs_admin_roles` (`name`, `priority`, `is_system`) VALUES
('OWNER', 1000, 1),
('SUPERADMIN', 900, 1),
('ADMIN', 700, 1),
('MODERATOR', 400, 1)
ON DUPLICATE KEY UPDATE
`priority` =VALUES(`priority`),
`is_system` =VALUES(`is_system`);
INSERT INTO `qs_admin_permissions` (`key`, `category`, `description`) VALUES
('dashboard.view', 'dashboard', 'View dashboard data'),
('players.view', 'players', 'View players list'),
('players.kick', 'players', 'Kick players'),
('players.ban', 'players', 'Ban players'),
('players.warn', 'players', 'Warn players'),
('players.goto', 'players', 'Teleport to player'),
('players.bring', 'players', 'Bring player to admin'),
('players.spectate', 'players', 'Spectate players'),
('players.freeze', 'players', 'Freeze players'),
('players.invisible', 'players', 'Toggle player invisibility'),
('players.giveItem', 'players', 'Give item to players'),
('players.giveMoney', 'players', 'Give money to players'),
('players.setJob', 'players', 'Set job for players'),
('players.changeSkin', 'players', 'Change player ped model'),
('players.openInventory', 'players', 'Open player inventory'),
('players.revive', 'players', 'Revive players'),
('players.heal', 'players', 'Heal players'),
('players.reviveAll', 'players', 'Revive all players'),
('players.kickAll', 'players', 'Kick all players'),
('vehicles.view', 'vehicles', 'View vehicle catalog'),
('vehicles.giveCar', 'vehicles', 'Give permanent vehicle'),
('vehicles.garage.view', 'vehicles', 'View player garage'),
('vehicles.garage.spawn', 'vehicles', 'Spawn garage vehicle'),
('vehicles.garage.delete', 'vehicles', 'Delete garage vehicle'),
('resources.view', 'resources', 'View resource list'),
('resources.start', 'resources', 'Start resources'),
('resources.stop', 'resources', 'Stop resources'),
('resources.restart', 'resources', 'Restart resources'),
('resources.ensure', 'resources', 'Ensure resources'),
('resources.refresh', 'resources', 'Refresh resources'),
('queue.view', 'queue', 'View queue module'),
('queue.manage', 'queue', 'Manage queue module'),
('entity.view', 'entity', 'View entity controls'),
('entity.manage', 'entity', 'Manage entity controls'),
('weather.view', 'weather', 'View weather module'),
('weather.manage', 'weather', 'Manage weather module'),
('console.view', 'console', 'View live console'),
('console.execute', 'console', 'Execute console commands'),
('console.clear', 'console', 'Clear console output'),
('console.export', 'console', 'Export console output'),
('logs.view', 'logs', 'View logs'),
('logs.export', 'logs', 'Export logs'),
('logs.clear', 'logs', 'Purge logs'),
('editor.view', 'editor', 'View code editor'),
('editor.edit', 'editor', 'Edit files in code editor'),
('editor.reload', 'editor', 'Reload edited resources'),
('self.view', 'self', 'View self actions'),
('self.godmode', 'self', 'Toggle godmode'),
('self.noclip', 'self', 'Toggle noclip'),
('self.superJump', 'self', 'Toggle super jump'),
('self.invisible', 'self', 'Toggle self invisibility'),
('self.infiniteAmmo', 'self', 'Toggle infinite ammo'),
('self.revive', 'self', 'Self revive'),
('self.vehicle', 'self', 'Spawn admin vehicle'),
('self.repairVehicle', 'self', 'Repair vehicle'),
('self.skin', 'self', 'Change player model'),
('self.clearVehicles', 'self', 'Clear all streamed vehicles'),
('self.clearPeds', 'self', 'Clear all streamed peds'),
('self.clearObjects', 'self', 'Clear all streamed objects'),
('self.copyCoords', 'self', 'Copy current coordinates'),
('self.teleportCoords', 'self', 'Teleport to custom coordinates'),
('self.tpm', 'self', 'Teleport to waypoint'),
('auth.approve', 'auth', 'Approve pending accounts'),
('auth.manage', 'auth', 'Manage account statuses'),
('roles.view', 'roles', 'View roles and permissions'),
('roles.manage', 'roles', 'Create and update roles'),
('profile.view', 'profile', 'View own profile'),
('profile.edit', 'profile', 'Edit own profile'),
('admins.view', 'admins', 'View admin list'),
('reports.view', 'reports', 'View reports'),
('reports.manage', 'reports', 'Manage reports'),
('reports.comment', 'reports', 'Comment on reports'),
('reports.create', 'reports', 'Create reports from admin panel'),
('reports.close', 'reports', 'Close or reject reports'),
('reports.export', 'reports', 'Export reports')
ON DUPLICATE KEY UPDATE
`category` =VALUES(`category`),
`description` =VALUES(`description`);
INSERT IGNORE INTO `qs_admin_role_permissions` (`role_id`, `permission_id`)
SELECT r.`id`, p.`id`
FROM `qs_admin_roles` r
CROSSJOIN `qs_admin_permissions` p
WHERE r.`name` IN ('OWNER', 'SUPERADMIN');
INSERT IGNORE INTO `qs_admin_role_permissions` (`role_id`, `permission_id`)
SELECT r.`id`, p.`id`
FROM `qs_admin_roles` r
INNERJOIN `qs_admin_permissions` p ON p.`key` IN (
'dashboard.view', 'players.view', 'players.kick', 'players.bring', 'players.goto',
'players.freeze', 'players.warn', 'players.ban', 'players.spectate', 'players.invisible',
'players.giveItem', 'players.giveMoney', 'players.setJob', 'players.changeSkin',
'players.openInventory', 'players.revive', 'players.heal', 'players.reviveAll', 'players.kickAll',
'resources.view', 'resources.start', 'resources.stop', 'resources.restart', 'resources.ensure', 'resources.refresh',
'queue.view', 'queue.manage', 'entity.view', 'entity.manage', 'weather.view', 'weather.manage',
'console.view', 'console.execute', 'console.clear', 'console.export',
'logs.view', 'logs.export', 'logs.clear', 'editor.view', 'editor.edit', 'editor.reload',
'self.view', 'self.godmode', 'self.noclip', 'self.superJump', 'self.invisible', 'self.infiniteAmmo',
'self.revive', 'self.vehicle', 'self.repairVehicle', 'self.skin', 'self.clearVehicles', 'self.clearPeds',
'self.clearObjects', 'self.copyCoords', 'self.teleportCoords', 'self.tpm',
'auth.approve', 'auth.manage', 'roles.view', 'roles.manage', 'profile.view', 'profile.edit', 'admins.view',
'reports.view', 'reports.manage', 'reports.comment', 'reports.create', 'reports.close', 'reports.export'
)
WHERE r.`name` ='ADMIN';
INSERT IGNORE INTO `qs_admin_role_permissions` (`role_id`, `permission_id`)
SELECT r.`id`, p.`id`
FROM `qs_admin_roles` r
INNERJOIN `qs_admin_permissions` p ON p.`key` IN (
'dashboard.view', 'players.view', 'players.warn', 'players.kick', 'players.spectate',
'logs.view', 'queue.view', 'profile.view', 'profile.edit', 'admins.view',
'reports.view', 'reports.comment'
)
WHERE r.`name` ='MODERATOR';
INSERT INTO `qs_adminmenu_queue_settings` (
`id`, `enabled`, `max_players`, `whitelist_only`, `red_message`, `queue_message`, `queue_status_template`, `tick_ms`, `manage_rate_limit_ms`
) VALUES (
1, 0, 32, 0,
'Server is full. Please try again later.',
'You are waiting in queue... Tier: {tier}',
'Queue: {position}/{total} | Tier: {tier} | Wait: {seconds}s',
1200, 700
) ON DUPLICATE KEY UPDATE `id` = `id`;
INSERT INTO `qs_adminmenu_entity_control` (
`id`, `ped_density`, `vehicle_density`, `parked_vehicle_density`, `random_vehicle_density`, `scenario_ped_density`,
`suppress_cops`, `suppress_military`, `suppress_animals`, `suppress_gangs`, `suppress_emergency`
) VALUES (
1, 1.00, 1.00, 1.00, 1.00, 1.00, 0, 0, 0, 0, 0
) ON DUPLICATE KEY UPDATE `id` = `id`;