diff --git a/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php b/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php
index 0f39633e1..9118afb76 100644
--- a/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php
+++ b/code/ryzom/tools/server/ryzom_ams/www/html/installer/libsetup.php
@@ -75,22 +75,22 @@
-- -----------------------------------------------------------------------------------------------------------------------
-- -----------------------------------------------------------------------------------------------------------------------
- DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`ticket_log` ;
- DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`tagged` ;
- DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`tag` ;
- DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`in_support_group` ;
- DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`in_group` ;
- DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`ticket_group` ;
- DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`ticket_info` ;
- DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`email` ;
- DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`forwarded` ;
- DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`assigned` ;
- DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`ticket_reply` ;
- DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`ticket_content` ;
- DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`ticket` ;
- DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`support_group` ;
- DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`ticket_category` ;
- DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`ticket_user` ;
+ DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`ticket_log` ;
+ DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`tagged` ;
+ DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`tag` ;
+ DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`in_support_group` ;
+ DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`in_group` ;
+ DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`ticket_group` ;
+ DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`ticket_info` ;
+ DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`email` ;
+ DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`forwarded` ;
+ DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`assigned` ;
+ DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`ticket_reply` ;
+ DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`ticket_content` ;
+ DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`ticket` ;
+ DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`support_group` ;
+ DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`ticket_category` ;
+ DROP TABLE IF EXISTS `" . $cfg['db']['lib']['name'] ."`.`ticket_user` ;
-- -----------------------------------------------------
@@ -463,7 +463,123 @@
";
$dbl->executeWithoutParams($sql);
print "The Lib & Web database were correctly installed!
";
+
+ //SETUP THE SHARD DB
+ $dbs = new DBLayer("install", "shard");
+ $sql = "
+ CREATE DATABASE IF NOT EXISTS `" . $cfg['db']['shard']['name'] ."`;
+ USE `". $cfg['db']['shard']['name'] . "`;
+
+ CREATE TABLE IF NOT EXISTS `domain` (
+ `domain_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `domain_name` varchar(32) NOT NULL DEFAULT '',
+ `status` enum('ds_close','ds_dev','ds_restricted','ds_open') NOT NULL DEFAULT 'ds_dev',
+ `patch_version` int(10) unsigned NOT NULL DEFAULT '0',
+ `backup_patch_url` varchar(255) DEFAULT NULL,
+ `patch_urls` text,
+ `login_address` varchar(255) NOT NULL DEFAULT '',
+ `session_manager_address` varchar(255) NOT NULL DEFAULT '',
+ `ring_db_name` varchar(255) NOT NULL DEFAULT '',
+ `web_host` varchar(255) NOT NULL DEFAULT '',
+ `web_host_php` varchar(255) NOT NULL DEFAULT '',
+ `description` varchar(200) DEFAULT NULL,
+ PRIMARY KEY (`domain_id`),
+ UNIQUE KEY `name_idx` (`domain_name`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=13 ;
+ INSERT INTO `domain` (`domain_id`, `domain_name`, `status`, `patch_version`, `backup_patch_url`, `patch_urls`, `login_address`, `session_manager_address`, `ring_db_name`, `web_host`, `web_host_php`, `description`) VALUES
+ (12, 'ryzom_open', 'ds_open', 610, 'http://127.0.0.1:23001', NULL, '127.0.0.1:49998', '127.0.0.1:49999', 'ring_open', '127.0.0.1:30000', '127.0.0.1:40916', 'Open Domain');
+
+ CREATE TABLE IF NOT EXISTS `permission` (
+ `UId` int(10) unsigned NOT NULL DEFAULT '0',
+ `ClientApplication` char(64) NOT NULL DEFAULT 'ryzom',
+ `ShardId` int(10) NOT NULL DEFAULT '-1',
+ `AccessPrivilege` set('OPEN','DEV','RESTRICTED') NOT NULL DEFAULT 'OPEN',
+ `prim` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`prim`),
+ KEY `UIDIndex` (`UId`)
+ ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+
+ CREATE TABLE IF NOT EXISTS `shard` (
+ `ShardId` int(10) NOT NULL DEFAULT '0',
+ `domain_id` int(11) unsigned NOT NULL DEFAULT '0',
+ `WsAddr` varchar(64) DEFAULT NULL,
+ `NbPlayers` int(10) unsigned DEFAULT '0',
+ `Name` varchar(255) DEFAULT 'unknown shard',
+ `Online` tinyint(1) unsigned DEFAULT '0',
+ `ClientApplication` varchar(64) DEFAULT 'ryzom',
+ `Version` varchar(64) NOT NULL DEFAULT '',
+ `PatchURL` varchar(255) NOT NULL DEFAULT '',
+ `DynPatchURL` varchar(255) NOT NULL DEFAULT '',
+ `FixedSessionId` int(11) unsigned NOT NULL DEFAULT '0',
+ `State` enum('ds_close','ds_dev','ds_restricted','ds_open') NOT NULL DEFAULT 'ds_dev',
+ `MOTD` text NOT NULL,
+ `prim` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`prim`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='contains all shards informations for login system' AUTO_INCREMENT=31 ;
+
+ INSERT INTO `shard` (`ShardId`, `domain_id`, `WsAddr`, `NbPlayers`, `Name`, `Online`, `ClientApplication`, `Version`, `PatchURL`, `DynPatchURL`, `FixedSessionId`, `State`, `MOTD`, `prim`) VALUES
+ (302, 12, '127.0.0.1', 0, 'Open Shard', 0, 'ryzom_open', '', '', '', 0, 'ds_dev', '', 30);
+
+ CREATE TABLE IF NOT EXISTS `user` (
+ `UId` int(10) NOT NULL AUTO_INCREMENT,
+ `Login` varchar(64) NOT NULL DEFAULT '',
+ `Password` varchar(13) DEFAULT NULL,
+ `ShardId` int(10) NOT NULL DEFAULT '-1',
+ `State` enum('Offline','Online') NOT NULL DEFAULT 'Offline',
+ `Privilege` varchar(255) NOT NULL DEFAULT '',
+ `GroupName` varchar(255) NOT NULL DEFAULT '',
+ `FirstName` varchar(255) NOT NULL DEFAULT '',
+ `LastName` varchar(255) NOT NULL DEFAULT '',
+ `Birthday` varchar(32) NOT NULL DEFAULT '',
+ `Gender` tinyint(1) unsigned NOT NULL DEFAULT '0',
+ `Country` char(2) NOT NULL DEFAULT '',
+ `Email` varchar(255) NOT NULL DEFAULT '',
+ `Address` varchar(255) NOT NULL DEFAULT '',
+ `City` varchar(100) NOT NULL DEFAULT '',
+ `PostalCode` varchar(10) NOT NULL DEFAULT '',
+ `USState` char(2) NOT NULL DEFAULT '',
+ `Chat` char(2) NOT NULL DEFAULT '0',
+ `BetaKeyId` int(10) unsigned NOT NULL DEFAULT '0',
+ `CachedCoupons` varchar(255) NOT NULL DEFAULT '',
+ `ProfileAccess` varchar(45) DEFAULT NULL,
+ `Level` int(2) NOT NULL DEFAULT '0',
+ `CurrentFunds` int(4) NOT NULL DEFAULT '0',
+ `IdBilling` varchar(255) NOT NULL DEFAULT '',
+ `Community` char(2) NOT NULL DEFAULT '--',
+ `Newsletter` tinyint(1) NOT NULL DEFAULT '1',
+ `Account` varchar(64) NOT NULL DEFAULT '',
+ `ChoiceSubLength` tinyint(2) NOT NULL DEFAULT '0',
+ `CurrentSubLength` varchar(255) NOT NULL DEFAULT '0',
+ `ValidIdBilling` int(4) NOT NULL DEFAULT '0',
+ `GMId` int(4) NOT NULL DEFAULT '0',
+ `ExtendedPrivilege` varchar(128) NOT NULL DEFAULT '',
+ `ToolsGroup` varchar(20) NOT NULL DEFAULT '',
+ `Unsubscribe` date NOT NULL DEFAULT '0000-00-00',
+ `SubDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `SubIp` varchar(20) NOT NULL DEFAULT '',
+ `SecurePassword` varchar(32) NOT NULL DEFAULT '',
+ `LastInvoiceEmailCheck` date NOT NULL DEFAULT '0000-00-00',
+ `FromSource` varchar(8) NOT NULL DEFAULT '',
+ `ValidMerchantCode` varchar(13) NOT NULL DEFAULT '',
+ `PBC` tinyint(1) NOT NULL DEFAULT '0',
+ `ApiKeySeed` varchar(8) DEFAULT NULL,
+ PRIMARY KEY (`UId`),
+ KEY `LoginIndex` (`Login`),
+ KEY `GroupIndex` (`GroupName`),
+ KEY `ToolsGroup` (`ToolsGroup`),
+ KEY `CurrentSubLength` (`CurrentSubLength`),
+ KEY `Community` (`Community`),
+ KEY `Email` (`Email`),
+ KEY `GMId` (`GMId`)
+ ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='contains all users informations for login system' AUTO_INCREMENT=1 ;
+
+ GRANT ALL ON `" . $cfg['db']['shard']['name'] ."`.* TO `" . $cfg['db']['shard']['user'] ."`@localhost;
+ ";
+ $dbs->executeWithoutParams($sql);
+ print "The shard database was correctly installed!
";
+
+
//Now create an admin account!
$hashpass = crypt("admin", Users::generateSALT());
$params = array(
@@ -485,6 +601,7 @@
}
+ //copy config.default.php to config.php!
if (!file_exists('../config.php')) {
if (!copy('../config.default.php', '../config.php')) {
echo "failed to copy ../config.php ...\n";