Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import clr;
- import System;
- clr.AddReference("TCAdmin.DatabaseProviders.MySql");
- clr.AddReference("TCAdmin.SDK");
- from TCAdmin.DatabaseProviders.MySql import MySqlManager;
- from System import String;
- mysql_server="localhost";
- mysql_root="root";
- mysql_password="Password111";
- with MySqlManager() as mysql:
- escapeduser=mysql.PrepareSqlValue(ThisService.Variables["MySQLUser"]);
- escapedpass=mysql.PrepareSqlValue(ThisService.Variables["MySQLPassword"]);
- mysql.Connect(String.Format("Data Source={0};User Id={1};Password={2};Pooling=False;", mysql_server, mysql_root, mysql_password));
- mysql.ExecuteNonQuery(String.Format("DROP DATABASE IF EXISTS {0};", escapeduser));
- if mysql.Execute(String.Format("SELECT * FROM mysql.user WHERE user='{0}' AND host='localhost';", escapeduser)).Rows.Count == 1 :
- mysql.ExecuteNonQuery(String.Format("DROP USER {0}@localhost;", escapeduser));
- mysql.ExecuteNonQuery(String.Format("CREATE DATABASE {0};", escapeduser));
- mysql.ExecuteNonQuery(String.Format("GRANT ALL PRIVILEGES ON {0}.* TO '{0}'@'localhost' IDENTIFIED BY '{1}';", escapeduser, escapedpass));
- mysql.ExecuteNonQuery(String.Format("USE '{0}';", escapeduser));
- mysql.ExecuteNonQuery(String.Format("""CREATE TABLE `account` (
- `uid` varchar(32) NOT NULL,
- `clan_id` int(11) UNSIGNED DEFAULT NULL,
- `name` varchar(64) NOT NULL,
- `money` double NOT NULL DEFAULT '0',
- `score` int(11) NOT NULL DEFAULT '0',
- `kills` int(11) UNSIGNED NOT NULL DEFAULT '0',
- `deaths` int(11) UNSIGNED NOT NULL DEFAULT '0',
- `first_connect_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
- `last_connect_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
- `last_disconnect_at` datetime DEFAULT NULL,
- `total_connections` int(11) UNSIGNED NOT NULL DEFAULT '1'
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
- CREATE TABLE `clan` (
- `id` int(11) UNSIGNED NOT NULL,
- `name` varchar(64) NOT NULL,
- `leader_uid` varchar(32) NOT NULL,
- `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
- `insignia_texture` varchar(255) DEFAULT NULL
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
- CREATE TABLE `construction` (
- `id` int(11) UNSIGNED NOT NULL,
- `class` varchar(64) NOT NULL,
- `account_uid` varchar(32) NOT NULL,
- `spawned_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
- `position_x` double NOT NULL DEFAULT '0',
- `position_y` double NOT NULL DEFAULT '0',
- `position_z` double NOT NULL DEFAULT '0',
- `direction_x` double NOT NULL DEFAULT '0',
- `direction_y` double NOT NULL DEFAULT '0',
- `direction_z` double NOT NULL DEFAULT '0',
- `up_x` double NOT NULL DEFAULT '0',
- `up_y` double NOT NULL DEFAULT '0',
- `up_z` double NOT NULL DEFAULT '0',
- `is_locked` tinyint(1) NOT NULL DEFAULT '0',
- `pin_code` varchar(6) NOT NULL DEFAULT '000000',
- `territory_id` int(11) UNSIGNED DEFAULT NULL,
- `last_updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
- CREATE TABLE `container` (
- `id` int(11) UNSIGNED NOT NULL,
- `class` varchar(64) NOT NULL,
- `spawned_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
- `account_uid` varchar(32) DEFAULT NULL,
- `is_locked` tinyint(1) NOT NULL DEFAULT '0',
- `position_x` double NOT NULL DEFAULT '0',
- `position_y` double NOT NULL DEFAULT '0',
- `position_z` double NOT NULL DEFAULT '0',
- `direction_x` double NOT NULL DEFAULT '0',
- `direction_y` double NOT NULL DEFAULT '0',
- `direction_z` double NOT NULL DEFAULT '0',
- `up_x` double NOT NULL DEFAULT '0',
- `up_y` double NOT NULL DEFAULT '0',
- `up_z` double NOT NULL DEFAULT '1',
- `cargo_items` text NOT NULL,
- `cargo_magazines` text NOT NULL,
- `cargo_weapons` text NOT NULL,
- `cargo_container` text NOT NULL,
- `last_updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- `pin_code` varchar(6) NOT NULL DEFAULT '000000',
- `territory_id` int(11) UNSIGNED DEFAULT NULL,
- `abandoned` DATETIME DEFAULT NULL
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
- CREATE TABLE `player` (
- `id` int(11) UNSIGNED NOT NULL,
- `name` varchar(64) NOT NULL,
- `account_uid` varchar(32) NOT NULL,
- `damage` double UNSIGNED NOT NULL DEFAULT '0',
- `hunger` double UNSIGNED NOT NULL DEFAULT '100',
- `thirst` double UNSIGNED NOT NULL DEFAULT '100',
- `alcohol` double UNSIGNED NOT NULL DEFAULT '0',
- `temperature` double NOT NULL DEFAULT '37',
- `wetness` double UNSIGNED NOT NULL DEFAULT '0',
- `oxygen_remaining` double UNSIGNED NOT NULL DEFAULT '1',
- `bleeding_remaining` double UNSIGNED NOT NULL DEFAULT '0',
- `hitpoints` varchar(255) NOT NULL DEFAULT '[]',
- `direction` double NOT NULL DEFAULT '0',
- `position_x` double NOT NULL DEFAULT '0',
- `position_y` double NOT NULL DEFAULT '0',
- `position_z` double NOT NULL DEFAULT '0',
- `spawned_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
- `assigned_items` text NOT NULL,
- `backpack` varchar(64) NOT NULL,
- `backpack_items` text NOT NULL,
- `backpack_magazines` text NOT NULL,
- `backpack_weapons` text NOT NULL,
- `current_weapon` varchar(64) NOT NULL,
- `goggles` varchar(64) NOT NULL,
- `handgun_items` text NOT NULL,
- `handgun_weapon` varchar(64) NOT NULL,
- `headgear` varchar(64) NOT NULL,
- `binocular` varchar(64) NOT NULL,
- `loaded_magazines` text NOT NULL,
- `primary_weapon` varchar(64) NOT NULL,
- `primary_weapon_items` text NOT NULL,
- `secondary_weapon` varchar(64) NOT NULL,
- `secondary_weapon_items` text NOT NULL,
- `uniform` varchar(64) NOT NULL,
- `uniform_items` text NOT NULL,
- `uniform_magazines` text NOT NULL,
- `uniform_weapons` text NOT NULL,
- `vest` varchar(64) NOT NULL,
- `vest_items` text NOT NULL,
- `vest_magazines` text NOT NULL,
- `vest_weapons` text NOT NULL,
- `last_updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
- CREATE TABLE `player_history` (
- `id` int(11) UNSIGNED NOT NULL,
- `account_uid` varchar(32) NOT NULL,
- `name` varchar(64) NOT NULL,
- `died_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
- `position_x` double NOT NULL,
- `position_y` double NOT NULL,
- `position_z` double NOT NULL
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
- CREATE TABLE `territory` (
- `id` int(11) UNSIGNED NOT NULL,
- `owner_uid` varchar(32) NOT NULL,
- `name` varchar(64) NOT NULL,
- `position_x` double NOT NULL,
- `position_y` double NOT NULL,
- `position_z` double NOT NULL,
- `radius` double NOT NULL,
- `level` int(11) NOT NULL,
- `flag_texture` varchar(255) NOT NULL,
- `flag_stolen` tinyint(1) NOT NULL DEFAULT '0',
- `flag_stolen_by_uid` varchar(32) DEFAULT NULL,
- `flag_stolen_at` datetime DEFAULT NULL,
- `flag_steal_message` varchar(255) DEFAULT NULL,
- `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
- `last_paid_at` datetime DEFAULT CURRENT_TIMESTAMP,
- `build_rights` varchar(640) NOT NULL DEFAULT '0',
- `moderators` varchar(320) NOT NULL DEFAULT '0'
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
- CREATE TABLE `vehicle` (
- `id` int(11) UNSIGNED NOT NULL,
- `class` varchar(64) NOT NULL,
- `spawned_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
- `account_uid` varchar(32) DEFAULT NULL,
- `is_locked` tinyint(1) NOT NULL DEFAULT '0',
- `fuel` double UNSIGNED NOT NULL DEFAULT '0',
- `damage` double UNSIGNED NOT NULL DEFAULT '0',
- `hitpoints` text NOT NULL,
- `position_x` double NOT NULL DEFAULT '0',
- `position_y` double NOT NULL DEFAULT '0',
- `position_z` double NOT NULL DEFAULT '0',
- `direction_x` double NOT NULL DEFAULT '0',
- `direction_y` double NOT NULL DEFAULT '0',
- `direction_z` double NOT NULL DEFAULT '0',
- `up_x` double NOT NULL DEFAULT '0',
- `up_y` double NOT NULL DEFAULT '0',
- `up_z` double NOT NULL DEFAULT '1',
- `cargo_items` text NOT NULL,
- `cargo_magazines` text NOT NULL,
- `cargo_weapons` text NOT NULL,
- `cargo_container` text NOT NULL,
- `last_updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
- `pin_code` varchar(6) NOT NULL DEFAULT '000000',
- `vehicle_texture` text NOT NULL
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
- ALTER TABLE `account`
- ADD PRIMARY KEY (`uid`),
- ADD KEY `clan_id` (`clan_id`);
- ALTER TABLE `clan`
- ADD PRIMARY KEY (`id`),
- ADD KEY `leader_uid` (`leader_uid`);
- ALTER TABLE `construction`
- ADD PRIMARY KEY (`id`),
- ADD KEY `account_uid` (`account_uid`),
- ADD KEY `territory_id` (`territory_id`);
- --
- -- Indexes for table `container`
- --
- ALTER TABLE `container`
- ADD PRIMARY KEY (`id`),
- ADD KEY `account_uid` (`account_uid`),
- ADD KEY `territory_id` (`territory_id`);
- ALTER TABLE `player`
- ADD PRIMARY KEY (`id`),
- ADD KEY `player_uid` (`account_uid`);
- ALTER TABLE `player_history`
- ADD PRIMARY KEY (`id`);
- ALTER TABLE `territory`
- ADD PRIMARY KEY (`id`),
- ADD KEY `owner_uid` (`owner_uid`),
- ADD KEY `flag_stolen_by_uid` (`flag_stolen_by_uid`);
- ALTER TABLE `vehicle`
- ADD PRIMARY KEY (`id`),
- ADD KEY `account_uid` (`account_uid`);
- ALTER TABLE `clan`
- MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;
- ALTER TABLE `construction`
- MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;
- ALTER TABLE `container`
- MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
- ALTER TABLE `player`
- MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=34;
- ALTER TABLE `player_history`
- MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=21;
- ALTER TABLE `territory`
- MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;
- ALTER TABLE `vehicle`
- MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;
- ALTER TABLE `account`
- ADD CONSTRAINT `account_ibfk_1` FOREIGN KEY (`clan_id`) REFERENCES `clan` (`id`) ON DELETE SET NULL;
- ALTER TABLE `clan`
- ADD CONSTRAINT `clan_ibfk_1` FOREIGN KEY (`leader_uid`) REFERENCES `account` (`uid`) ON DELETE CASCADE;
- ALTER TABLE `construction`
- ADD CONSTRAINT `construction_ibfk_1` FOREIGN KEY (`account_uid`) REFERENCES `account` (`uid`) ON DELETE CASCADE,
- ADD CONSTRAINT `construction_ibfk_2` FOREIGN KEY (`territory_id`) REFERENCES `territory` (`id`) ON DELETE CASCADE;
- ALTER TABLE `container`
- ADD CONSTRAINT `container_ibfk_1` FOREIGN KEY (`account_uid`) REFERENCES `account` (`uid`) ON DELETE CASCADE,
- ADD CONSTRAINT `container_ibfk_2` FOREIGN KEY (`territory_id`) REFERENCES `territory` (`id`) ON DELETE CASCADE;
- ALTER TABLE `player`
- ADD CONSTRAINT `player_ibfk_1` FOREIGN KEY (`account_uid`) REFERENCES `account` (`uid`) ON DELETE CASCADE;
- ALTER TABLE `territory`
- ADD CONSTRAINT `territory_ibfk_1` FOREIGN KEY (`owner_uid`) REFERENCES `account` (`uid`) ON DELETE CASCADE,
- ADD CONSTRAINT `territory_ibfk_2` FOREIGN KEY (`flag_stolen_by_uid`) REFERENCES `account` (`uid`) ON DELETE SET NULL;
- ALTER TABLE `vehicle`
- ADD CONSTRAINT `vehicle_ibfk_1` FOREIGN KEY (`account_uid`) REFERENCES `account` (`uid`) ON DELETE CASCADE;""", escapeduser));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement