Agent-Logs-Url: https://github.com/GameServerPanel/GSP/sessions/d9a824dc-5568-4604-a1e1-c72ccf240e13 Co-authored-by: iaretechnician <2749183+iaretechnician@users.noreply.github.com>
89 lines
4.5 KiB
SQL
89 lines
4.5 KiB
SQL
-- GSP Steam Workshop – Manual SQL Reference
|
||
-- =========================================
|
||
-- Replace PREFIX_ with your actual table prefix (e.g. gsp_).
|
||
-- Compatible with MySQL 5.7 and MySQL 8.0.
|
||
-- Do NOT hardcode any database name here.
|
||
-- Run in the panel database.
|
||
|
||
-- ── Drop legacy tables (if upgrading from the old adapter-based implementation) ──
|
||
DROP TABLE IF EXISTS `PREFIX_workshop_game_profiles`;
|
||
DROP TABLE IF EXISTS `PREFIX_workshop_cache`;
|
||
DROP TABLE IF EXISTS `PREFIX_server_workshop_mods`;
|
||
DROP TABLE IF EXISTS `PREFIX_server_workshop_settings`;
|
||
|
||
-- ── Create new tables ─────────────────────────────────────────────────────
|
||
|
||
CREATE TABLE IF NOT EXISTS `PREFIX_steam_workshop_game_profiles` (
|
||
`id` INT NOT NULL AUTO_INCREMENT,
|
||
`config_name` VARCHAR(100) NOT NULL,
|
||
`game_name` VARCHAR(255) NOT NULL DEFAULT '',
|
||
`enabled` TINYINT(1) NOT NULL DEFAULT 0,
|
||
`steam_app_id` VARCHAR(32) NOT NULL DEFAULT '',
|
||
`workshop_app_id` VARCHAR(32) NOT NULL DEFAULT '',
|
||
`steam_login_required` TINYINT(1) NOT NULL DEFAULT 0,
|
||
`steamcmd_login_mode` ENUM('anonymous','account') NOT NULL DEFAULT 'anonymous',
|
||
`steamcmd_path` VARCHAR(512) NOT NULL DEFAULT '/home/gameserver/steamcmd/steamcmd.sh',
|
||
`workshop_download_dir_template` TEXT NULL,
|
||
`server_root_template` TEXT NULL,
|
||
`install_path_template` TEXT NULL,
|
||
`folder_naming_format` VARCHAR(64) NOT NULL DEFAULT '@{MOD_NAME}',
|
||
`mod_launch_param_template` VARCHAR(255) NOT NULL DEFAULT '-mod=',
|
||
`servermod_launch_param_template` VARCHAR(255) NOT NULL DEFAULT '-serverMod=',
|
||
`install_script_template` TEXT NULL,
|
||
`update_script_template` TEXT NULL,
|
||
`copy_bikeys_enabled` TINYINT(1) NOT NULL DEFAULT 1,
|
||
`notes` TEXT NULL,
|
||
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
`updated_at` DATETIME NULL,
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `uniq_config_name` (`config_name`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||
|
||
CREATE TABLE IF NOT EXISTS `PREFIX_steam_workshop_server_mods` (
|
||
`id` INT NOT NULL AUTO_INCREMENT,
|
||
`home_id` INT NOT NULL,
|
||
`profile_id` INT NOT NULL,
|
||
`workshop_id` VARCHAR(64) NOT NULL,
|
||
`mod_name` VARCHAR(255) NOT NULL DEFAULT '',
|
||
`folder_name` VARCHAR(255) NOT NULL DEFAULT '',
|
||
`mod_type` ENUM('client','server') NOT NULL DEFAULT 'client',
|
||
`sort_order` INT NOT NULL DEFAULT 0,
|
||
`enabled` TINYINT(1) NOT NULL DEFAULT 1,
|
||
`install_status` VARCHAR(32) NOT NULL DEFAULT '',
|
||
`last_installed_at` DATETIME NULL,
|
||
`last_updated_at` DATETIME NULL,
|
||
`last_error` TEXT NULL,
|
||
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
`updated_at` DATETIME NULL,
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `uniq_home_workshop` (`home_id`, `workshop_id`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||
|
||
-- ── Example: DayZ profile ────────────────────────────────────────────────
|
||
-- After running the above, insert an example DayZ profile.
|
||
-- Adjust config_name to match your actual DayZ game_key from config_homes.
|
||
-- (Run `SELECT game_key, game_name FROM PREFIX_config_homes WHERE game_name LIKE '%DayZ%';`
|
||
-- to find the right config_name.)
|
||
--
|
||
-- INSERT INTO `PREFIX_steam_workshop_game_profiles`
|
||
-- (`config_name`, `game_name`, `enabled`,
|
||
-- `steam_app_id`, `workshop_app_id`,
|
||
-- `steamcmd_path`,
|
||
-- `workshop_download_dir_template`,
|
||
-- `server_root_template`,
|
||
-- `install_path_template`,
|
||
-- `folder_naming_format`,
|
||
-- `mod_launch_param_template`,
|
||
-- `servermod_launch_param_template`,
|
||
-- `copy_bikeys_enabled`)
|
||
-- VALUES
|
||
-- ('dayz_win64', 'DayZ', 1,
|
||
-- '223350', '221100',
|
||
-- '/home/gameserver/steamcmd/steamcmd.sh',
|
||
-- '{SERVER_ROOT}/steamapps/workshop/content/{WORKSHOP_APP_ID}',
|
||
-- '/home/gameserver/servers/{HOME_ID}',
|
||
-- '{SERVER_ROOT}/{MOD_FOLDER}',
|
||
-- '@{MOD_NAME}',
|
||
-- '-mod=',
|
||
-- '-serverMod=',
|
||
-- 1);
|