ERRR 2016-05-03 04:33:42.979 {02} <initServer> [0] DB error #1305: PROCEDURE lif_120.sp_checkForeignKeys does not exist. Query: CALL sp_checkForeignKeys('animal_breeds', 1, 1);
%
WARN 2016-05-03 04:33:42.979 {02} <initServer> [0] DB::mfRS(0 ms) CALL sp_checkForeignKeys('animal_breeds', 1, 1);
%
ERRR 2016-05-03 04:33:42.980 {02} <initServer> [0] CmServerInfoManager::_applyDbPatch() - call to sp_checkForeignKeys failed
%
ERRR 2016-05-03 04:33:42.980 {02} <initServer> [0] CmServerInfoManager::processLocalWorlds() - can't access to db for world id=120
%
ERRR 2016-05-03 04:33:42.980 {02} <initServer> [0] Fatal: Can't init local world (id=120). Terminating.
%
quit() -- quit requested!
%
ECHO 2016-05-03 04:33:42.980 {} <> [0] Engine initialized...
%
ECHO 2016-05-03 04:33:42.983 {} <> [0] Thread pool initialized, threads: 7
%
WARN 2016-05-03 04:33:42.983 {} <> [1] Warning - Tick [1] took 769 (>64) ms!
%
core/scripts/server/server.cs (78): Unable to find function destroyWorld
%
INFO 2016-05-03 04:33:42.984 {01} <onExit> [1] The server has been shut down!
%
ECHO 2016-05-03 04:33:42.984 {} <> [1] Thread pool shut down
QObject::connect: Cannot connect (null)::destroyed() to QHostInfoLookupManager::waitForThreadPoolDone()
%
Qt: Untested Windows version 6.2 detected!
%
ECHO 2016-05-03 04:33:44.209 {} <> [0] --------- Loading DIRS ---------
%
INFO 2016-05-03 04:33:44.209 {} <> [0] v1.1.1.11
%
ECHO 2016-05-03 04:33:44.211 {} <> [0]
%
ECHO 2016-05-03 04:33:44.248 {01} <onStart> [0]
--------- Initializing Directory: scripts ---------
%
ECHO 2016-05-03 04:33:44.248 {02} <initServer> [0]
--------- Initializing LiF Server: Server Scripts ---------
%
ECHO 2016-05-03 04:33:44.253 {02} <initServer> [0] Loading CmConfiguration
%
ECHO 2016-05-03 04:33:44.254 {02} <initServer> [0] Init of DB interface
%
INFO 2016-05-03 04:33:44.257 {02} <initServer> [0] WORLD_ID=120
%
WARN 2016-05-03 04:33:44.258 {02} <initServer> [0] DB::RS(1 ms) SHOW DATABASES LIKE 'lif_120';
%
ECHO 2016-05-03 04:33:44.258 {02} <initServer> [0] Patching database [1/2]...
%
WARN 2016-05-03 04:33:44.379 {02} <initServer> [0] DB::noRS(121 ms) USE `lif_120`;
%
WARN 2016-05-03 04:33:44.437 {02} <initServer> [0] DB::mNoRS(58 ms)
-- NOTE: do not use DELIMITER here
-- NOTE: do not use DEFINER for stored procedures and functions here
DROP PROCEDURE IF EXISTS _transferSkill;
CREATE PROCEDURE _transferSkill(
^IN `in_oldSkillTypeID` INT UNSIGNED,
^IN `in_newSkillTypeID` INT UNSIGNED
)
BEGIN
-- allocate needed skill with 0 values at first.
-- don't use "insert ... select on duplicate key update" here - it is not so safe for replication.
insert into skills_new (CharacterID, SkillTypeID, SkillAmount, LockStatus)
^select c.ID, in_newSkillTypeID as SkillTypeID, 0 as newSkillAmount, 1 as newLockStatus
^^from `character` c
^^join skills s on s.CharacterID = c.ID
^^where s.SkillTypeID = in_oldSkillTypeID
^^^and !exists(select * from skills_new sn where sn.CharacterID = c.ID and sn.SkillTypeID = in_newSkillTypeID)
^^order by c.ID;
-- transfer skill values
update skills_new sn
^join skills s on sn.CharacterID = s.CharacterID and sn.SkillTypeID = in_newSkillTypeID and s.SkillTypeID = in_oldSkillTypeID
^set sn.SkillAmount = (sn.SkillAmount + s.SkillAmount);
-- empty old skill values
update skills
^set SkillAmount = 0
^where SkillTypeID = in_oldSkillTypeID;
^
-- allocate child skills, if our skill has value >= 30
insert into skills_new (CharacterID, SkillTypeID, SkillAmount, LockStatus)
^select sn.CharacterID, stn.ID, 0 as newSkillAmount, 1 as newLockStatus
^from skill_type_new stn
^join skills_new sn on sn.SkillTypeID = stn.Parent
^where stn.Parent = in_newSkillTypeID
^^and sn.SkillAmount >= 30*10000000
^^and !exists(select * from skills_new sn2 where sn2.CharacterID = sn.CharacterID and sn2.SkillTypeID = stn.ID);
-- distribute skills with value > 100 to first child skill with value < 100
-- (we can't use ORDER BY and LIMIT in multiple-table update. Also, we can't use LIMIT in subqueries due to MariaDB compatibility reasons)
update skills_new sn
-- select sn.SkillAmount as oldVal, (sn.SkillAmount + (sn_base.SkillAmount - 100*10000000)) as newVal, sn.* from skills_new sn
^join skill_type_new stn on stn.ID = sn.SkillTypeID
^-- join skills_new sn_base on sn_base.SkillTypeID = stn.Parent and sn_base.CharacterID = sn.CharacterID -- we can't use updated table in subquery, so implicitly copy it into a temporary table
^join (select SkillTypeID, CharacterID, SkillAmount from skills_new where SkillTypeID = in_newSkillTypeID) as sn_base
^^on sn_base.SkillTypeID = stn.Parent and sn_base.CharacterID = sn.CharacterID
^set sn.SkillAmount = (sn.SkillAmount + (sn_base.SkillAmount - 100*10000000))
^where sn_base.SkillAmount > 100*10000000
^^-- and sn.SkillAmount < 100*10000000
^^-- and stn.Parent = 1
^^and stn.ID in
^^(
^^^select min(stn2.ID)
^^^from skill_type_new stn2
^^^-- join skills_new sn2 on sn2.SkillTypeID = stn2.ID -- we can't use updated table in subquery, so implicitly copy it into a temporary table
^^^join (select SkillTypeID, CharacterID, SkillAmount from skills_new where SkillAmount < 100*10000000) as sn2
^^^^on sn2.SkillTypeID = stn2.ID
^^^where stn2.Parent = in_newSkillTypeID
^^^^and sn2.CharacterID = sn.CharacterID
^^^^-- and sn2.SkillAmount < 100*10000000
^^);
^-- order by stn.ID
^-- limit 1
-- cap skill values at 100
update skills_new
^set SkillAmount = 100*10000000
^where SkillAmount > 100*10000000;
END;
DROP PROCEDURE IF EXISTS _updateScript;
/*!50003 SET @TEMP_SQL_MODE=@@SQL_MODE, SQL_MODE='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER' */;
CREATE PROCEDURE _updateScript()
BEGIN
-- 0.2.12.0
-- guilds & claims
if(!sf_isConstraintExists('character', 'FK_character_guild_roles')) then
^CREATE TABLE IF NOT EXISTS `guild_roles` (
^^`ID` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
^^`Name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
^^PRIMARY KEY (`ID`)
^) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
^INSERT INTO `guild_roles` (`ID`, `Name`) VALUES
^^(1, 'Leader'),
^^(2, 'Minor leader'),
^^(3, '1st tier member'),
^^(4, '2nd tier member'),
^^(5, '3rd tier member'),
^^(6, 'Normal member'),
^^(7, 'Recruit');
^CREATE TABLE IF NOT EXISTS `guild_types` (
^^`ID` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
^^`GuildLevel` int(11) NOT NULL,
^^`Name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
^^`MessageID` int(10) unsigned NOT NULL,
^^PRIMARY KEY (`ID`)
^) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
^INSERT INTO `guild_types` (`ID`, `GuildLevel`, `Name`, `MessageID`) VALUES
^^(1, 0, 'Band', 680),
^^(2, 1, 'Order', 681),
^^(3, 2, 'Country', 682),
^^(4, 3, 'Kingdom', 683);
^CREATE TABLE IF NOT EXISTS `guild_standing_types` (
^^`ID` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
^^`Name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
^^PRIMARY KEY (`ID`)
^) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
^INSERT INTO `guild_standing_types` (`ID`, `Name`) VALUES
^^(1, 'War'),
^^(2, 'Hostile'),
^^(3, 'Neutral'),
^^(4, 'Friendly'),
^^(5, 'Ally');
^CREATE TABLE IF NOT EXISTS `deleted_character_info` (
^^`ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
^^`ExCharID` int(10) unsigned NOT NULL,
^^`CharName` varchar(9) COLLATE utf8_unicode_ci NOT NULL,
^^`CharLastName` varchar(15) COLLATE utf8_unicode_ci NOT NULL,
^^`DeletedTimestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
^^PRIMARY KEY (`ID`)
^) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
^CREATE TABLE IF NOT EXISTS `deleted_guild_info` (
^^`ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
^^`ExGuildID` int(10) unsigned NOT NULL,
^^`GuildName` varchar(45) COLLATE utf8_unicode_ci NOT NULL,
^^`GuildTag` varchar(4) COLLATE utf8_unicode_ci NOT NULL,
^^`DeletedTimestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
^^PRIMARY KEY (`ID`)
^) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
^CREATE TABLE IF NOT EXISTS `guilds` (
^^`ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
^^`Name` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
^^`GuildTypeID` tinyint(3) unsigned NOT NULL,
^^`IsActive` tinyint(3) unsigned NOT NULL DEFAULT '1',
^^`GuildCharter
%
ECHO 2016-05-03 04:33:44.441 {02} <initServer> [0] Patching database [2/2]...
%
WARN 2016-05-03 04:33:44.442 {02} <initServer> [0] DB::noRS(1 ms) USE `lif_120`;
%
WARN 2016-05-03 04:33:44.927 {02} <initServer> [0] DB::mNoRS(484 ms) /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
DELETE FROM `animal_breeds`;
DELETE FROM `objects_types`;
DELETE FROM `recipe`;
DELETE FROM `recipe_requirement`;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
--
-- MySQL dump 10.13 Distrib 5.7.8-rc, for Win32 (AMD64)
--
-- Host: localhost Database: cm
-- ------------------------------------------------------
-- Server version^5.5.40-MariaDB
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Dumping data for table `animal_breeds`
--
-- ORDER BY: `ID`
INSERT INTO `animal_breeds` (`ID`, `is_strong_animal`, `is_use_threat_accumulation`, `base_hp`, `weapon_datablock_name`, `weapon_weight`, `fast_hit_damaging_distance`, `fast_hit_starting_distance`, `fast_hit_damaging_sector`, `fast_hit_base_speed_min`, `fast_hit_base_speed_max`, `power_hit_damaging_distance`, `power_hit_starting_distance`, `power_hit_damaging_sector`, `power_hit_base_speed_min`, `power_hit_base_speed_max`, `power_attack_probability`, `walk_animation_speed`, `run_animation_speed`, `walk_speed`, `run_speed`, `creature_body_radius`, `alertness_range_min`, `alertness_range_max`, `aggression_range_min`, `aggression_range_max`, `alertness_range_presence_threat_speed`, `alertness_range_presence_memory_duration`, `aggression_range_presence_threat_speed`, `aggression_range_presence_memory_duration`, `threat_from_damage_per_hit_point`, `become_alerted_threshold_on`, `become_alerted_threshold_off`, `become_aggressive_threshold_on`, `become_aggressive_threshold_off`, `sleep_probab`, `eat_probab`, `stand_probab`, `walk_probab`, `run_probab`, `sleep_duration_min`, `sleep_duration_max`, `non_sleep_action_duration_max`, `traveling_distance_min`, `traveling_distance_max`, `start_flee_condition_distance`, `flee_mode_threat_afteraction_duration`, `flee_order_distance_min`, `flee_order_distance_max`, `raw_corpse_object_type_id`, `skinned_corpse_object_type_id`) VALUES
(752,1,1,450,'Bear_Paw',10,1,0.7,60,10,15,1.3,1.2,90,25,40,0.4,0.87,0.75,2,9,3,30,60,15,30,30,10,50,10,300,200,0,300,0,1,3,4,1,0,10,20,8,15,40,15,15,20,40,911,924),
(753,0,0,180,'Wild_Horse_Hoof',10,1.4,1.3,45,10,15,1.5,1.3,90,20,30,0.25,1.09,0.59,3,10,1.5,10,20,10,20,20,8,25,5,50,20,0,50,30,1,3,4,1,2,10,20,8,15,40,15,15,20,40,912,925),
(754,0,1,200,'Deer_Hoof',10,1.3,1.2,45,2,4,1.4,1.2,90,3,6,0.5,0.95,0.52,3,8,1.5,10,20,20,30,20,10,50,10,300,200,0,300,0,0,3,6,0,1,10,20,8,15,40,15,15,20,40,913,926),
(755,1,1,150,'Wolf_Fang',10,0.5,0.4,45,5,10,0.7,0.5,90,15,25,0.35,1.72,1.21,3,6,1.2,25,45,10,25,20,10,50,10,300,200,0,300,0,1,3,4,1,0,10,20,8,15,40,15,15,20,40,915,928),
(756,0,1,300,'Moose_Hoof',10,1.3,1.2,45,10,15,1.4,1.2,90,20,30,0.25,1,0.55,2,7,1.5,30,50,15,30,20,10,40,10,200,150,0,150,30,1,3,4,1,0,10,20,8,15,40,15,15,20,40,916,929),
(757,1,0,200,'Boar_Tusk',10,0.5,0.4,45,5,10,0.7,0.5,90,15,25,0.25,1.76,1.06,2,8,1.5,10,20,10,20,10,7,25,5,40,20,0,50,30,1,3,4,1,0,10,20,8,15,40,15,15,20,40,917,930),
(758,0,0,80,'Sow_Tusk',10,0.8,0.7,45,3,5,0.9,0.7,90,10,15,0.25,1.76,1.06,2,5,1,10,25,10,20,10,8,25,5,50,20,0,50,30,1,3,4,1,0,10,20,8,15,40,15,15,20,40,918,931),
(759,0,0,100,'Mutton_Horns',10,0.5,0.4,45,1,3,0.7,0.5,90,3,8,0.5,2.17,1.04,2,6,1.2,10,20,20,30,20,8,50,5,50,10,0,40,20,0,3,6,0,1,10,20,8,15,40,15,12,20,40,919,932),
(760,0,0,250,'Bull_Horns',10,1.3,1.2,45,1,3,1.4,1.2,90,2,8,0.5,1.08,0.55,3,6,2.5,20,30,10,20,20,8,50,5,30,10,0,40,20,0,3,6,0,0,10,20,8,15,40,15,15,20,40,920,933),
(761,0,0,180,'Cow_Horns',10,1,0.9,45,1,3,1.1,0.9,90,2,4,0.5,1.08,0.55,2,6,2.5,10,20,10,20,20,8,50,5,40,10,0,40,20,0,3,6,0,0,10,20,8,15,40,15,15,20,40,921,934),
(762,2,0,15,'',10,0.5,0.4,45,1,3,0.7,0.5,90,2,4,0.5,4,2.57,2,6,2.5,10,20,5,10,20,6,50,5,40,10,0,40,20,0,3,6,0,0,10,20,8,10,40,15,15,20,40,922,935),
(763,2,0,15,'',10,0.5,0.4,45,1,3,0.7,0.5,90,2,4,0.5,1.05,0.98,3,10,2.5,10,20,5,10,20,6,50,5,50,10,0,40,20,0,3,6,0,0,10,20,8,15,40,15,15,20,40,923,936),
(778,0,1,120,'Hind_Hoof',10,1.3,1.2,45,1,3,1.4,1.2,90,2,4,0.5,0.95,0.52,2,6,1.5,10,20,20,30,20,10,50,10,300,200,0,300,0,0,3,6,0,1,10,20,8,15,40,15,15,20,40,914,927);
--
-- Dumping data for table `objects_types`
--
-- ORDER BY: `ID`
INSERT INTO `objects_types` (`ID`, `ParentID`, `Name`, `IsContainer`, `IsMovableObject`, `IsUnmovableobject`, `IsTool`, `IsDevice`, `IsDoor`, `MaxContSize`, `Length`, `MaxStackSize`, `UnitWeight`, `BackgndImage`, `WorkAreaTop`, `WorkAreaLeft`, `WorkAreaWidth`, `WorkAreaHeight`, `BtnCloseTop`, `BtnCloseLeft`, `FaceImage`, `Description`, `BasePrice`, `OwnerTimeout`) VALUES
(1,NULL,'System Objects',0,0,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Root type for other utility types',NULL,NULL),
(2,NULL,'Gameplay Objects',0,0,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Root type for gameplay types',0,NULL),
(3,1,'Inventory',1,0,0,0,0,0,1000000,9,0,0,'art\\images\\rootinventory',110,35,340,450,37,381,'','Root player inventory',NULL,NULL),
(4,1,'object_inventory',1,0,0,0,0,0,60000000,10,0,0,'art\\images\\building_window.png',352,89,575,177,46,695,'','Building window inventory',NULL,NULL),
(5,2,'Equipment Objects',0,0,0,0,0,0,0,0,0,0,'',0,0,0,0,0,0,'','Objects that a present in 3D and 2D world',0,NULL),
(6,2,'World objects',0,0,0,0,0,0,0,0,0,0,'',0,0,0,0,0,0,'','Objects that a present in 3D world',5,NULL),
(7,2,'Inventory objects',0,0,0,0,0,0,0,0,0,0,'',0,0,0,0,0,0,'','Objects that a present only in 2D world',0,NULL),
(8,5,'Weapons',0,0,0,0,0,0,0,0,0,0,'',0,0,0,0,0,0,'','All weapon types',0,NULL),
(9,5,'Armors',0,0,0,0,0,0,0,0,0,0,'',0,0,0,0,0,0,'','All armor types',3,NULL),
(10,5,'Tools',0,0,0,1,0,0,0,0,0,0,'',0,0,0,0,0,0,'','All tool types that can be held in hands and represented in 3D world',1,NULL),
(11,5,'Miscellaneous',0,0,0,0,0,0,0,0,0,0,'',0,0,0,0,0,0,'
%
ECHO 2016-05-03 04:33:44.929 {02} <initServer> [0] Validating database...
%
ERRR 2016-05-03 04:33:44.930 {02} <initServer> [0] DB error #1305: PROCEDURE lif_120.sp_checkForeignKeys does not exist. Query: CALL sp_checkForeignKeys('animal_breeds', 1, 1);
%
WARN 2016-05-03 04:33:44.930 {02} <initServer> [0] DB::mfRS(0 ms) CALL sp_checkForeignKeys('animal_breeds', 1, 1);
%
ERRR 2016-05-03 04:33:44.930 {02} <initServer> [0] CmServerInfoManager::_applyDbPatch() - call to sp_checkForeignKeys failed
%
ERRR 2016-05-03 04:33:44.930 {02} <initServer> [0] CmServerInfoManager::processLocalWorlds() - can't access to db for world id=120
%
ERRR 2016-05-03 04:33:44.930 {02} <initServer> [0] Fatal: Can't init local world (id=120). Terminating.
%
quit() -- quit requested!
%
ECHO 2016-05-03 04:33:44.930 {} <> [0] Engine initialized...
%
ECHO 2016-05-03 04:33:44.933 {} <> [0] Thread pool initialized, threads: 7
%
WARN 2016-05-03 04:33:44.933 {} <> [1] Warning - Tick [1] took 800 (>64) ms!
%
core/scripts/server/server.cs (78): Unable to find function destroyWorld
%
INFO 2016-05-03 04:33:44.934 {01} <onExit> [1] The server has been shut down!
%
ECHO 2016-05-03 04:33:44.934 {} <> [1] Thread pool shut down
QObject::connect: Cannot connect (null)::destroyed() to QHostInfoLookupManager::waitForThreadPoolDone()
%
Qt: Untested Windows version 6.2 detected!
%
ECHO 2016-05-03 04:33:46.156 {} <> [0] --------- Loading DIRS ---------
%
INFO 2016-05-03 04:33:46.156 {} <> [0] v1.1.1.11
%
ECHO 2016-05-03 04:33:46.157 {} <> [0]
%
ECHO 2016-05-03 04:33:46.202 {01} <onStart> [0]
--------- Initializing Directory: scripts ---------
%
ECHO 2016-05-03 04:33:46.203 {02} <initServer> [0]
--------- Initializing LiF Server: Server Scripts ---------
%
ECHO 2016-05-03 04:33:46.206 {02} <initServer> [0] Loading CmConfiguration
%
ECHO 2016-05-03 04:33:46.207 {02} <initServer> [0] Init of DB interface
%
INFO 2016-05-03 04:33:46.211 {02} <initServer> [0] WORLD_ID=120
%
WARN 2016-05-03 04:33:46.211 {02} <initServer> [0] DB::RS(1 ms) SHOW DATABASES LIKE 'lif_120';
%
ECHO 2016-05-03 04:33:46.212 {02} <initServer> [0] Patching database [1/2]...
%
WARN 2016-05-03 04:33:46.212 {02} <initServer> [0] DB::noRS(0 ms) USE `lif_120`;
%
WARN 2016-05-03 04:33:46.486 {02} <initServer> [0] DB::mNoRS(274 ms)
-- NOTE: do not use DELIMITER here
-- NOTE: do not use DEFINER for stored procedures and functions here
DROP PROCEDURE IF EXISTS _transferSkill;
CREATE PROCEDURE _transferSkill(
^IN `in_oldSkillTypeID` INT UNSIGNED,
^IN `in_newSkillTypeID` INT UNSIGNED
)
BEGIN
-- allocate needed skill with 0 values at first.
-- don't use "insert ... select on duplicate key update" here - it is not so safe for replication.
insert into skills_new (CharacterID, SkillTypeID, SkillAmount, LockStatus)
^select c.ID, in_newSkillTypeID as SkillTypeID, 0 as newSkillAmount, 1 as newLockStatus
^^from `character` c
^^join skills s on s.CharacterID = c.ID
^^where s.SkillTypeID = in_oldSkillTypeID
^^^and !exists(select * from skills_new sn where sn.CharacterID = c.ID and sn.SkillTypeID = in_newSkillTypeID)
^^order by c.ID;
-- transfer skill values
update skills_new sn
^join skills s on sn.CharacterID = s.CharacterID and sn.SkillTypeID = in_newSkillTypeID and s.SkillTypeID = in_oldSkillTypeID
^set sn.SkillAmount = (sn.SkillAmount + s.SkillAmount);
-- empty old skill values
update skills
^set SkillAmount = 0
^where SkillTypeID = in_oldSkillTypeID;
^
-- allocate child skills, if our skill has value >= 30
insert into skills_new (CharacterID, SkillTypeID, SkillAmount, LockStatus)
^select sn.CharacterID, stn.ID, 0 as newSkillAmount, 1 as newLockStatus
^from skill_type_new stn
^join skills_new sn on sn.SkillTypeID = stn.Parent
^where stn.Parent = in_newSkillTypeID
^^and sn.SkillAmount >= 30*10000000
^^and !exists(select * from skills_new sn2 where sn2.CharacterID = sn.CharacterID and sn2.SkillTypeID = stn.ID);
-- distribute skills with value > 100 to first child skill with value < 100
-- (we can't use ORDER BY and LIMIT in multiple-table update. Also, we can't use LIMIT in subqueries due to MariaDB compatibility reasons)
update skills_new sn
-- select sn.SkillAmount as oldVal, (sn.SkillAmount + (sn_base.SkillAmount - 100*10000000)) as newVal, sn.* from skills_new sn
^join skill_type_new stn on stn.ID = sn.SkillTypeID
^-- join skills_new sn_base on sn_base.SkillTypeID = stn.Parent and sn_base.CharacterID = sn.CharacterID -- we can't use updated table in subquery, so implicitly copy it into a temporary table
^join (select SkillTypeID, CharacterID, SkillAmount from skills_new where SkillTypeID = in_newSkillTypeID) as sn_base
^^on sn_base.SkillTypeID = stn.Parent and sn_base.CharacterID = sn.CharacterID
^set sn.SkillAmount = (sn.SkillAmount + (sn_base.SkillAmount - 100*10000000))
^where sn_base.SkillAmount > 100*10000000
^^-- and sn.SkillAmount < 100*10000000
^^-- and stn.Parent = 1
^^and stn.ID in
^^(
^^^select min(stn2.ID)
^^^from skill_type_new stn2
^^^-- join skills_new sn2 on sn2.SkillTypeID = stn2.ID -- we can't use updated table in subquery, so implicitly copy it into a temporary table
^^^join (select SkillTypeID, CharacterID, SkillAmount from skills_new where SkillAmount < 100*10000000) as sn2
^^^^on sn2.SkillTypeID = stn2.ID
^^^where stn2.Parent = in_newSkillTypeID
^^^^and sn2.CharacterID = sn.CharacterID
^^^^-- and sn2.SkillAmount < 100*10000000
^^);
^-- order by stn.ID
^-- limit 1
-- cap skill values at 100
update skills_new
^set SkillAmount = 100*10000000
^where SkillAmount > 100*10000000;
END;
DROP PROCEDURE IF EXISTS _updateScript;
/*!50003 SET @TEMP_SQL_MODE=@@SQL_MODE, SQL_MODE='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER' */;
CREATE PROCEDURE _updateScript()
BEGIN
-- 0.2.12.0
-- guilds & claims
if(!sf_isConstraintExists('character', 'FK_character_guild_roles')) then
^CREATE TABLE IF NOT EXISTS `guild_roles` (
^^`ID` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
^^`Name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
^^PRIMARY KEY (`ID`)
^) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
^INSERT INTO `guild_roles` (`ID`, `Name`) VALUES
^^(1, 'Leader'),
^^(2, 'Minor leader'),
^^(3, '1st tier member'),
^^(4, '2nd tier member'),
^^(5, '3rd tier member'),
^^(6, 'Normal member'),
^^(7, 'Recruit');
^CREATE TABLE IF NOT EXISTS `guild_types` (
^^`ID` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
^^`GuildLevel` int(11) NOT NULL,
^^`Name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
^^`MessageID` int(10) unsigned NOT NULL,
^^PRIMARY KEY (`ID`)
^) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
^INSERT INTO `guild_types` (`ID`, `GuildLevel`, `Name`, `MessageID`) VALUES
^^(1, 0, 'Band', 680),
^^(2, 1, 'Order', 681),
^^(3, 2, 'Country', 682),
^^(4, 3, 'Kingdom', 683);
^CREATE TABLE IF NOT EXISTS `guild_standing_types` (
^^`ID` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
^^`Name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
^^PRIMARY KEY (`ID`)
^) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
^INSERT INTO `guild_standing_types` (`ID`, `Name`) VALUES
^^(1, 'War'),
^^(2, 'Hostile'),
^^(3, 'Neutral'),
^^(4, 'Friendly'),
^^(5, 'Ally');
^CREATE TABLE IF NOT EXISTS `deleted_character_info` (
^^`ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
^^`ExCharID` int(10) unsigned NOT NULL,
^^`CharName` varchar(9) COLLATE utf8_unicode_ci NOT NULL,
^^`CharLastName` varchar(15) COLLATE utf8_unicode_ci NOT NULL,
^^`DeletedTimestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
^^PRIMARY KEY (`ID`)
^) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
^CREATE TABLE IF NOT EXISTS `deleted_guild_info` (
^^`ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
^^`ExGuildID` int(10) unsigned NOT NULL,
^^`GuildName` varchar(45) COLLATE utf8_unicode_ci NOT NULL,
^^`GuildTag` varchar(4) COLLATE utf8_unicode_ci NOT NULL,
^^`DeletedTimestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
^^PRIMARY KEY (`ID`)
^) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
^CREATE TABLE IF NOT EXISTS `guilds` (
^^`ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
^^`Name` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
^^`GuildTypeID` tinyint(3) unsigned NOT NULL,
^^`IsActive` tinyint(3) unsigned NOT NULL DEFAULT '1',
^^`GuildCharte
%
ECHO 2016-05-03 04:33:46.491 {02} <initServer> [0] Patching database [2/2]...
%
WARN 2016-05-03 04:33:46.492 {02} <initServer> [0] DB::noRS(0 ms) USE `lif_120`;
%
WARN 2016-05-03 04:33:47.304 {02} <initServer> [0] DB::mNoRS(813 ms) /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
DELETE FROM `animal_breeds`;
DELETE FROM `objects_types`;
DELETE FROM `recipe`;
DELETE FROM `recipe_requirement`;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
--
-- MySQL dump 10.13 Distrib 5.7.8-rc, for Win32 (AMD64)
--
-- Host: localhost Database: cm
-- ------------------------------------------------------
-- Server version^5.5.40-MariaDB
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Dumping data for table `animal_breeds`
--
-- ORDER BY: `ID`
INSERT INTO `animal_breeds` (`ID`, `is_strong_animal`, `is_use_threat_accumulation`, `base_hp`, `weapon_datablock_name`, `weapon_weight`, `fast_hit_damaging_distance`, `fast_hit_starting_distance`, `fast_hit_damaging_sector`, `fast_hit_base_speed_min`, `fast_hit_base_speed_max`, `power_hit_damaging_distance`, `power_hit_starting_distance`, `power_hit_damaging_sector`, `power_hit_base_speed_min`, `power_hit_base_speed_max`, `power_attack_probability`, `walk_animation_speed`, `run_animation_speed`, `walk_speed`, `run_speed`, `creature_body_radius`, `alertness_range_min`, `alertness_range_max`, `aggression_range_min`, `aggression_range_max`, `alertness_range_presence_threat_speed`, `alertness_range_presence_memory_duration`, `aggression_range_presence_threat_speed`, `aggression_range_presence_memory_duration`, `threat_from_damage_per_hit_point`, `become_alerted_threshold_on`, `become_alerted_threshold_off`, `become_aggressive_threshold_on`, `become_aggressive_threshold_off`, `sleep_probab`, `eat_probab`, `stand_probab`, `walk_probab`, `run_probab`, `sleep_duration_min`, `sleep_duration_max`, `non_sleep_action_duration_max`, `traveling_distance_min`, `traveling_distance_max`, `start_flee_condition_distance`, `flee_mode_threat_afteraction_duration`, `flee_order_distance_min`, `flee_order_distance_max`, `raw_corpse_object_type_id`, `skinned_corpse_object_type_id`) VALUES
(752,1,1,450,'Bear_Paw',10,1,0.7,60,10,15,1.3,1.2,90,25,40,0.4,0.87,0.75,2,9,3,30,60,15,30,30,10,50,10,300,200,0,300,0,1,3,4,1,0,10,20,8,15,40,15,15,20,40,911,924),
(753,0,0,180,'Wild_Horse_Hoof',10,1.4,1.3,45,10,15,1.5,1.3,90,20,30,0.25,1.09,0.59,3,10,1.5,10,20,10,20,20,8,25,5,50,20,0,50,30,1,3,4,1,2,10,20,8,15,40,15,15,20,40,912,925),
(754,0,1,200,'Deer_Hoof',10,1.3,1.2,45,2,4,1.4,1.2,90,3,6,0.5,0.95,0.52,3,8,1.5,10,20,20,30,20,10,50,10,300,200,0,300,0,0,3,6,0,1,10,20,8,15,40,15,15,20,40,913,926),
(755,1,1,150,'Wolf_Fang',10,0.5,0.4,45,5,10,0.7,0.5,90,15,25,0.35,1.72,1.21,3,6,1.2,25,45,10,25,20,10,50,10,300,200,0,300,0,1,3,4,1,0,10,20,8,15,40,15,15,20,40,915,928),
(756,0,1,300,'Moose_Hoof',10,1.3,1.2,45,10,15,1.4,1.2,90,20,30,0.25,1,0.55,2,7,1.5,30,50,15,30,20,10,40,10,200,150,0,150,30,1,3,4,1,0,10,20,8,15,40,15,15,20,40,916,929),
(757,1,0,200,'Boar_Tusk',10,0.5,0.4,45,5,10,0.7,0.5,90,15,25,0.25,1.76,1.06,2,8,1.5,10,20,10,20,10,7,25,5,40,20,0,50,30,1,3,4,1,0,10,20,8,15,40,15,15,20,40,917,930),
(758,0,0,80,'Sow_Tusk',10,0.8,0.7,45,3,5,0.9,0.7,90,10,15,0.25,1.76,1.06,2,5,1,10,25,10,20,10,8,25,5,50,20,0,50,30,1,3,4,1,0,10,20,8,15,40,15,15,20,40,918,931),
(759,0,0,100,'Mutton_Horns',10,0.5,0.4,45,1,3,0.7,0.5,90,3,8,0.5,2.17,1.04,2,6,1.2,10,20,20,30,20,8,50,5,50,10,0,40,20,0,3,6,0,1,10,20,8,15,40,15,12,20,40,919,932),
(760,0,0,250,'Bull_Horns',10,1.3,1.2,45,1,3,1.4,1.2,90,2,8,0.5,1.08,0.55,3,6,2.5,20,30,10,20,20,8,50,5,30,10,0,40,20,0,3,6,0,0,10,20,8,15,40,15,15,20,40,920,933),
(761,0,0,180,'Cow_Horns',10,1,0.9,45,1,3,1.1,0.9,90,2,4,0.5,1.08,0.55,2,6,2.5,10,20,10,20,20,8,50,5,40,10,0,40,20,0,3,6,0,0,10,20,8,15,40,15,15,20,40,921,934),
(762,2,0,15,'',10,0.5,0.4,45,1,3,0.7,0.5,90,2,4,0.5,4,2.57,2,6,2.5,10,20,5,10,20,6,50,5,40,10,0,40,20,0,3,6,0,0,10,20,8,10,40,15,15,20,40,922,935),
(763,2,0,15,'',10,0.5,0.4,45,1,3,0.7,0.5,90,2,4,0.5,1.05,0.98,3,10,2.5,10,20,5,10,20,6,50,5,50,10,0,40,20,0,3,6,0,0,10,20,8,15,40,15,15,20,40,923,936),
(778,0,1,120,'Hind_Hoof',10,1.3,1.2,45,1,3,1.4,1.2,90,2,4,0.5,0.95,0.52,2,6,1.5,10,20,20,30,20,10,50,10,300,200,0,300,0,0,3,6,0,1,10,20,8,15,40,15,15,20,40,914,927);
--
-- Dumping data for table `objects_types`
--
-- ORDER BY: `ID`
INSERT INTO `objects_types` (`ID`, `ParentID`, `Name`, `IsContainer`, `IsMovableObject`, `IsUnmovableobject`, `IsTool`, `IsDevice`, `IsDoor`, `MaxContSize`, `Length`, `MaxStackSize`, `UnitWeight`, `BackgndImage`, `WorkAreaTop`, `WorkAreaLeft`, `WorkAreaWidth`, `WorkAreaHeight`, `BtnCloseTop`, `BtnCloseLeft`, `FaceImage`, `Description`, `BasePrice`, `OwnerTimeout`) VALUES
(1,NULL,'System Objects',0,0,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Root type for other utility types',NULL,NULL),
(2,NULL,'Gameplay Objects',0,0,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Root type for gameplay types',0,NULL),
(3,1,'Inventory',1,0,0,0,0,0,1000000,9,0,0,'art\\images\\rootinventory',110,35,340,450,37,381,'','Root player inventory',NULL,NULL),
(4,1,'object_inventory',1,0,0,0,0,0,60000000,10,0,0,'art\\images\\building_window.png',352,89,575,177,46,695,'','Building window inventory',NULL,NULL),
(5,2,'Equipment Objects',0,0,0,0,0,0,0,0,0,0,'',0,0,0,0,0,0,'','Objects that a present in 3D and 2D world',0,NULL),
(6,2,'World objects',0,0,0,0,0,0,0,0,0,0,'',0,0,0,0,0,0,'','Objects that a present in 3D world',5,NULL),
(7,2,'Inventory objects',0,0,0,0,0,0,0,0,0,0,'',0,0,0,0,0,0,'','Objects that a present only in 2D world',0,NULL),
(8,5,'Weapons',0,0,0,0,0,0,0,0,0,0,'',0,0,0,0,0,0,'','All weapon types',0,NULL),
(9,5,'Armors',0,0,0,0,0,0,0,0,0,0,'',0,0,0,0,0,0,'','All armor types',3,NULL),
(10,5,'Tools',0,0,0,1,0,0,0,0,0,0,'',0,0,0,0,0,0,'','All tool types that can be held in hands and represented in 3D world',1,NULL),
(11,5,'Miscellaneous',0,0,0,0,0,0,0,0,0,0,'',0,0,0,0,0,0,'
%
ECHO 2016-05-03 04:33:47.306 {02} <initServer> [0] Validating database...
%
ERRR 2016-05-03 04:33:47.307 {02} <initServer> [0] DB error #1305: PROCEDURE lif_120.sp_checkForeignKeys does not exist. Query: CALL sp_checkForeignKeys('animal_breeds', 1, 1);
%
WARN 2016-05-03 04:33:47.307 {02} <initServer> [0] DB::mfRS(0 ms) CALL sp_checkForeignKeys('animal_breeds', 1, 1);
%
ERRR 2016-05-03 04:33:47.307 {02} <initServer> [0] CmServerInfoManager::_applyDbPatch() - call to sp_checkForeignKeys failed
%
ERRR 2016-05-03 04:33:47.307 {02} <initServer> [0] CmServerInfoManager::processLocalWorlds() - can't access to db for world id=120
%
ERRR 2016-05-03 04:33:47.307 {02} <initServer> [0] Fatal: Can't init local world (id=120). Terminating.
%
quit() -- quit requested!
%
ECHO 2016-05-03 04:33:47.307 {} <> [0] Engine initialized...
%
ECHO 2016-05-03 04:33:47.310 {} <> [0] Thread pool initialized, threads: 7
%
WARN 2016-05-03 04:33:47.310 {} <> [1] Warning - Tick [1] took 1225 (>64) ms!
%
core/scripts/server/server.cs (78): Unable to find function destroyWorld
%
INFO 2016-05-03 04:33:47.311 {01} <onExit> [1] The server has been shut down!
%
ECHO 2016-05-03 04:33:47.311 {} <> [1] Thread pool shut down
QObject::connect: Cannot connect (null)::destroyed() to QHostInfoLookupManager::waitForThreadPoolDone()
%
Qt: Untested Windows version 6.2 detected!
%
ECHO 2016-05-03 04:33:48.542 {} <> [0] --------- Loading DIRS ---------
%
INFO 2016-05-03 04:33:48.542 {} <> [0] v1.1.1.11
%
ECHO 2016-05-03 04:33:48.542 {} <> [0]
%
ECHO 2016-05-03 04:33:48.578 {01} <onStart> [0]
--------- Initializing Directory: scripts ---------
%
ECHO 2016-05-03 04:33:48.578 {02} <initServer> [0]
--------- Initializing LiF Server: Server Scripts ---------
%
ECHO 2016-05-03 04:33:48.583 {02} <initServer> [0] Loading CmConfiguration
%
ECHO 2016-05-03 04:33:48.583 {02} <initServer> [0] Init of DB interface
%
INFO 2016-05-03 04:33:48.587 {02} <initServer> [0] WORLD_ID=120
%
WARN 2016-05-03 04:33:48.588 {02} <initServer> [0] DB::RS(1 ms) SHOW DATABASES LIKE 'lif_120';
%
ECHO 2016-05-03 04:33:48.588 {02} <initServer> [0] Patching database [1/2]...
%
WARN 2016-05-03 04:33:48.588 {02} <initServer> [0] DB::noRS(0 ms) USE `lif_120`;
%
WARN 2016-05-03 04:33:48.613 {02} <initServer> [0] DB::mNoRS(25 ms)
-- NOTE: do not use DELIMITER here
-- NOTE: do not use DEFINER for stored procedures and functions here
DROP PROCEDURE IF EXISTS _transferSkill;
CREATE PROCEDURE _transferSkill(
^IN `in_oldSkillTypeID` INT UNSIGNED,
^IN `in_newSkillTypeID` INT UNSIGNED
)
BEGIN
-- allocate needed skill with 0 values at first.
-- don't use "insert ... select on duplicate key update" here - it is not so safe for replication.
insert into skills_new (CharacterID, SkillTypeID, SkillAmount, LockStatus)
^select c.ID, in_newSkillTypeID as SkillTypeID, 0 as newSkillAmount, 1 as newLockStatus
^^from `character` c
^^join skills s on s.CharacterID = c.ID
^^where s.SkillTypeID = in_oldSkillTypeID
^^^and !exists(select * from skills_new sn where sn.CharacterID = c.ID and sn.SkillTypeID = in_newSkillTypeID)
^^order by c.ID;
-- transfer skill values
update skills_new sn
^join skills s on sn.CharacterID = s.CharacterID and sn.SkillTypeID = in_newSkillTypeID and s.SkillTypeID = in_oldSkillTypeID
^set sn.SkillAmount = (sn.SkillAmount + s.SkillAmount);
-- empty old skill values
update skills
^set SkillAmount = 0
^where SkillTypeID = in_oldSkillTypeID;
^
-- allocate child skills, if our skill has value >= 30
insert into skills_new (CharacterID, SkillTypeID, SkillAmount, LockStatus)
^select sn.CharacterID, stn.ID, 0 as newSkillAmount, 1 as newLockStatus
^from skill_type_new stn
^join skills_new sn on sn.SkillTypeID = stn.Parent
^where stn.Parent = in_newSkillTypeID
^^and sn.SkillAmount >= 30*10000000
^^and !exists(select * from skills_new sn2 where sn2.CharacterID = sn.CharacterID and sn2.SkillTypeID = stn.ID);
-- distribute skills with value > 100 to first child skill with value < 100
-- (we can't use ORDER BY and LIMIT in multiple-table update. Also, we can't use LIMIT in subqueries due to MariaDB compatibility reasons)
update skills_new sn
-- select sn.SkillAmount as oldVal, (sn.SkillAmount + (sn_base.SkillAmount - 100*10000000)) as newVal, sn.* from skills_new sn
^join skill_type_new stn on stn.ID = sn.SkillTypeID
^-- join skills_new sn_base on sn_base.SkillTypeID = stn.Parent and sn_base.CharacterID = sn.CharacterID -- we can't use updated table in subquery, so implicitly copy it into a temporary table
^join (select SkillTypeID, CharacterID, SkillAmount from skills_new where SkillTypeID = in_newSkillTypeID) as sn_base
^^on sn_base.SkillTypeID = stn.Parent and sn_base.CharacterID = sn.CharacterID
^set sn.SkillAmount = (sn.SkillAmount + (sn_base.SkillAmount - 100*10000000))
^where sn_base.SkillAmount > 100*10000000
^^-- and sn.SkillAmount < 100*10000000
^^-- and stn.Parent = 1
^^and stn.ID in
^^(
^^^select min(stn2.ID)
^^^from skill_type_new stn2
^^^-- join skills_new sn2 on sn2.SkillTypeID = stn2.ID -- we can't use updated table in subquery, so implicitly copy it into a temporary table
^^^join (select SkillTypeID, CharacterID, SkillAmount from skills_new where SkillAmount < 100*10000000) as sn2
^^^^on sn2.SkillTypeID = stn2.ID
^^^where stn2.Parent = in_newSkillTypeID
^^^^and sn2.CharacterID = sn.CharacterID
^^^^-- and sn2.SkillAmount < 100*10000000
^^);
^-- order by stn.ID
^-- limit 1
-- cap skill values at 100
update skills_new
^set SkillAmount = 100*10000000
^where SkillAmount > 100*10000000;
END;
DROP PROCEDURE IF EXISTS _updateScript;
/*!50003 SET @TEMP_SQL_MODE=@@SQL_MODE, SQL_MODE='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER' */;
CREATE PROCEDURE _updateScript()
BEGIN
-- 0.2.12.0
-- guilds & claims
if(!sf_isConstraintExists('character', 'FK_character_guild_roles')) then
^CREATE TABLE IF NOT EXISTS `guild_roles` (
^^`ID` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
^^`Name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
^^PRIMARY KEY (`ID`)
^) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
^INSERT INTO `guild_roles` (`ID`, `Name`) VALUES
^^(1, 'Leader'),
^^(2, 'Minor leader'),
^^(3, '1st tier member'),
^^(4, '2nd tier member'),
^^(5, '3rd tier member'),
^^(6, 'Normal member'),
^^(7, 'Recruit');
^CREATE TABLE IF NOT EXISTS `guild_types` (
^^`ID` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
^^`GuildLevel` int(11) NOT NULL,
^^`Name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
^^`MessageID` int(10) unsigned NOT NULL,
^^PRIMARY KEY (`ID`)
^) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
^INSERT INTO `guild_types` (`ID`, `GuildLevel`, `Name`, `MessageID`) VALUES
^^(1, 0, 'Band', 680),
^^(2, 1, 'Order', 681),
^^(3, 2, 'Country', 682),
^^(4, 3, 'Kingdom', 683);
^CREATE TABLE IF NOT EXISTS `guild_standing_types` (
^^`ID` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
^^`Name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
^^PRIMARY KEY (`ID`)
^) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
^INSERT INTO `guild_standing_types` (`ID`, `Name`) VALUES
^^(1, 'War'),
^^(2, 'Hostile'),
^^(3, 'Neutral'),
^^(4, 'Friendly'),
^^(5, 'Ally');
^CREATE TABLE IF NOT EXISTS `deleted_character_info` (
^^`ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
^^`ExCharID` int(10) unsigned NOT NULL,
^^`CharName` varchar(9) COLLATE utf8_unicode_ci NOT NULL,
^^`CharLastName` varchar(15) COLLATE utf8_unicode_ci NOT NULL,
^^`DeletedTimestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
^^PRIMARY KEY (`ID`)
^) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
^CREATE TABLE IF NOT EXISTS `deleted_guild_info` (
^^`ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
^^`ExGuildID` int(10) unsigned NOT NULL,
^^`GuildName` varchar(45) COLLATE utf8_unicode_ci NOT NULL,
^^`GuildTag` varchar(4) COLLATE utf8_unicode_ci NOT NULL,
^^`DeletedTimestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
^^PRIMARY KEY (`ID`)
^) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
^CREATE TABLE IF NOT EXISTS `guilds` (
^^`ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
^^`Name` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
^^`GuildTypeID` tinyint(3) unsigned NOT NULL,
^^`IsActive` tinyint(3) unsigned NOT NULL DEFAULT '1',
^^`GuildCharter
%
ECHO 2016-05-03 04:33:48.617 {02} <initServer> [0] Patching database [2/2]...
%
WARN 2016-05-03 04:33:48.617 {02} <initServer> [0] DB::noRS(0 ms) USE `lif_120`;
%
WARN 2016-05-03 04:33:49.043 {02} <initServer> [0] DB::mNoRS(426 ms) /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
DELETE FROM `animal_breeds`;
DELETE FROM `objects_types`;
DELETE FROM `recipe`;
DELETE FROM `recipe_requirement`;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
--
-- MySQL dump 10.13 Distrib 5.7.8-rc, for Win32 (AMD64)
--
-- Host: localhost Database: cm
-- ------------------------------------------------------
-- Server version^5.5.40-MariaDB
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Dumping data for table `animal_breeds`
--
-- ORDER BY: `ID`
INSERT INTO `animal_breeds` (`ID`, `is_strong_animal`, `is_use_threat_accumulation`, `base_hp`, `weapon_datablock_name`, `weapon_weight`, `fast_hit_damaging_distance`, `fast_hit_starting_distance`, `fast_hit_damaging_sector`, `fast_hit_base_speed_min`, `fast_hit_base_speed_max`, `power_hit_damaging_distance`, `power_hit_starting_distance`, `power_hit_damaging_sector`, `power_hit_base_speed_min`, `power_hit_base_speed_max`, `power_attack_probability`, `walk_animation_speed`, `run_animation_speed`, `walk_speed`, `run_speed`, `creature_body_radius`, `alertness_range_min`, `alertness_range_max`, `aggression_range_min`, `aggression_range_max`, `alertness_range_presence_threat_speed`, `alertness_range_presence_memory_duration`, `aggression_range_presence_threat_speed`, `aggression_range_presence_memory_duration`, `threat_from_damage_per_hit_point`, `become_alerted_threshold_on`, `become_alerted_threshold_off`, `become_aggressive_threshold_on`, `become_aggressive_threshold_off`, `sleep_probab`, `eat_probab`, `stand_probab`, `walk_probab`, `run_probab`, `sleep_duration_min`, `sleep_duration_max`, `non_sleep_action_duration_max`, `traveling_distance_min`, `traveling_distance_max`, `start_flee_condition_distance`, `flee_mode_threat_afteraction_duration`, `flee_order_distance_min`, `flee_order_distance_max`, `raw_corpse_object_type_id`, `skinned_corpse_object_type_id`) VALUES
(752,1,1,450,'Bear_Paw',10,1,0.7,60,10,15,1.3,1.2,90,25,40,0.4,0.87,0.75,2,9,3,30,60,15,30,30,10,50,10,300,200,0,300,0,1,3,4,1,0,10,20,8,15,40,15,15,20,40,911,924),
(753,0,0,180,'Wild_Horse_Hoof',10,1.4,1.3,45,10,15,1.5,1.3,90,20,30,0.25,1.09,0.59,3,10,1.5,10,20,10,20,20,8,25,5,50,20,0,50,30,1,3,4,1,2,10,20,8,15,40,15,15,20,40,912,925),
(754,0,1,200,'Deer_Hoof',10,1.3,1.2,45,2,4,1.4,1.2,90,3,6,0.5,0.95,0.52,3,8,1.5,10,20,20,30,20,10,50,10,300,200,0,300,0,0,3,6,0,1,10,20,8,15,40,15,15,20,40,913,926),
(755,1,1,150,'Wolf_Fang',10,0.5,0.4,45,5,10,0.7,0.5,90,15,25,0.35,1.72,1.21,3,6,1.2,25,45,10,25,20,10,50,10,300,200,0,300,0,1,3,4,1,0,10,20,8,15,40,15,15,20,40,915,928),
(756,0,1,300,'Moose_Hoof',10,1.3,1.2,45,10,15,1.4,1.2,90,20,30,0.25,1,0.55,2,7,1.5,30,50,15,30,20,10,40,10,200,150,0,150,30,1,3,4,1,0,10,20,8,15,40,15,15,20,40,916,929),
(757,1,0,200,'Boar_Tusk',10,0.5,0.4,45,5,10,0.7,0.5,90,15,25,0.25,1.76,1.06,2,8,1.5,10,20,10,20,10,7,25,5,40,20,0,50,30,1,3,4,1,0,10,20,8,15,40,15,15,20,40,917,930),
(758,0,0,80,'Sow_Tusk',10,0.8,0.7,45,3,5,0.9,0.7,90,10,15,0.25,1.76,1.06,2,5,1,10,25,10,20,10,8,25,5,50,20,0,50,30,1,3,4,1,0,10,20,8,15,40,15,15,20,40,918,931),
(759,0,0,100,'Mutton_Horns',10,0.5,0.4,45,1,3,0.7,0.5,90,3,8,0.5,2.17,1.04,2,6,1.2,10,20,20,30,20,8,50,5,50,10,0,40,20,0,3,6,0,1,10,20,8,15,40,15,12,20,40,919,932),
(760,0,0,250,'Bull_Horns',10,1.3,1.2,45,1,3,1.4,1.2,90,2,8,0.5,1.08,0.55,3,6,2.5,20,30,10,20,20,8,50,5,30,10,0,40,20,0,3,6,0,0,10,20,8,15,40,15,15,20,40,920,933),
(761,0,0,180,'Cow_Horns',10,1,0.9,45,1,3,1.1,0.9,90,2,4,0.5,1.08,0.55,2,6,2.5,10,20,10,20,20,8,50,5,40,10,0,40,20,0,3,6,0,0,10,20,8,15,40,15,15,20,40,921,934),
(762,2,0,15,'',10,0.5,0.4,45,1,3,0.7,0.5,90,2,4,0.5,4,2.57,2,6,2.5,10,20,5,10,20,6,50,5,40,10,0,40,20,0,3,6,0,0,10,20,8,10,40,15,15,20,40,922,935),
(763,2,0,15,'',10,0.5,0.4,45,1,3,0.7,0.5,90,2,4,0.5,1.05,0.98,3,10,2.5,10,20,5,10,20,6,50,5,50,10,0,40,20,0,3,6,0,0,10,20,8,15,40,15,15,20,40,923,936),
(778,0,1,120,'Hind_Hoof',10,1.3,1.2,45,1,3,1.4,1.2,90,2,4,0.5,0.95,0.52,2,6,1.5,10,20,20,30,20,10,50,10,300,200,0,300,0,0,3,6,0,1,10,20,8,15,40,15,15,20,40,914,927);
--
-- Dumping data for table `objects_types`
--
-- ORDER BY: `ID`
INSERT INTO `objects_types` (`ID`, `ParentID`, `Name`, `IsContainer`, `IsMovableObject`, `IsUnmovableobject`, `IsTool`, `IsDevice`, `IsDoor`, `MaxContSize`, `Length`, `MaxStackSize`, `UnitWeight`, `BackgndImage`, `WorkAreaTop`, `WorkAreaLeft`, `WorkAreaWidth`, `WorkAreaHeight`, `BtnCloseTop`, `BtnCloseLeft`, `FaceImage`, `Description`, `BasePrice`, `OwnerTimeout`) VALUES
(1,NULL,'System Objects',0,0,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Root type for other utility types',NULL,NULL),
(2,NULL,'Gameplay Objects',0,0,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Root type for gameplay types',0,NULL),
(3,1,'Inventory',1,0,0,0,0,0,1000000,9,0,0,'art\\images\\rootinventory',110,35,340,450,37,381,'','Root player inventory',NULL,NULL),
(4,1,'object_inventory',1,0,0,0,0,0,60000000,10,0,0,'art\\images\\building_window.png',352,89,575,177,46,695,'','Building window inventory',NULL,NULL),
(5,2,'Equipment Objects',0,0,0,0,0,0,0,0,0,0,'',0,0,0,0,0,0,'','Objects that a present in 3D and 2D world',0,NULL),
(6,2,'World objects',0,0,0,0,0,0,0,0,0,0,'',0,0,0,0,0,0,'','Objects that a present in 3D world',5,NULL),
(7,2,'Inventory objects',0,0,0,0,0,0,0,0,0,0,'',0,0,0,0,0,0,'','Objects that a present only in 2D world',0,NULL),
(8,5,'Weapons',0,0,0,0,0,0,0,0,0,0,'',0,0,0,0,0,0,'','All weapon types',0,NULL),
(9,5,'Armors',0,0,0,0,0,0,0,0,0,0,'',0,0,0,0,0,0,'','All armor types',3,NULL),
(10,5,'Tools',0,0,0,1,0,0,0,0,0,0,'',0,0,0,0,0,0,'','All tool types that can be held in hands and represented in 3D world',1,NULL),
(11,5,'Miscellaneous',0,0,0,0,0,0,0,0,0,0,'',0,0,0,0,0,0,'
%
ECHO 2016-05-03 04:33:49.046 {02} <initServer> [0] Validating database...
%
ERRR 2016-05-03 04:33:49.046 {02} <initServer> [0] DB error #1305: PROCEDURE lif_120.sp_checkForeignKeys does not exist. Query: CALL sp_checkForeignKeys('animal_breeds', 1, 1);
%
WARN 2016-05-03 04:33:49.046 {02} <initServer> [0] DB::mfRS(1 ms) CALL sp_checkForeignKeys('animal_breeds', 1, 1);
%
ERRR 2016-05-03 04:33:49.046 {02} <initServer> [0] CmServerInfoManager::_applyDbPatch() - call to sp_checkForeignKeys failed
%
ERRR 2016-05-03 04:33:49.046 {02} <initServer> [0] CmServerInfoManager::processLocalWorlds() - can't access to db for world id=120
%
ERRR 2016-05-03 04:33:49.046 {02} <initServer> [0] Fatal: Can't init local world (id=120). Terminating.
%
quit() -- quit requested!
%
ECHO 2016-05-03 04:33:49.046 {} <> [0] Engine initialized...
%
ECHO 2016-05-03 04:33:49.049 {} <> [0] Thread pool initialized, threads: 7
%
WARN 2016-05-03 04:33:49.050 {} <> [1] Warning - Tick [1] took 585 (>64) ms!
%
core/scripts/server/server.cs (78): Unable to find function destroyWorld
%
INFO 2016-05-03 04:33:49.051 {01} <onExit> [1] The server has been shut down!
%
ECHO 2016-05-03 04:33:49.051 {} <> [1] Thread pool shut down
QObject::connect: Cannot connect (null)::destroyed() to QHostInfoLookupManager::waitForThreadPoolDone()