Crash data base corupted

Moderators: Khan-, SirWinston


FReeZzzzVdr
 
Posts: 5
Joined: 03 May 2016, 02:38

Crash data base corupted

Post by FReeZzzzVdr » 03 May 2016, 03:03

Hello, i have a probleme on database:

--

-- 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-02 23:42:30.658 {02} <initServer> [0] Validating database...

%

ERRR 2016-05-02 23:42:30.658 {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-02 23:42:30.658 {02} <initServer> [0] DB::mfRS(0 ms) CALL sp_checkForeignKeys('animal_breeds', 1, 1);

%

ERRR 2016-05-02 23:42:30.658 {02} <initServer> [0] CmServerInfoManager::_applyDbPatch() - call to sp_checkForeignKeys failed

%

ERRR 2016-05-02 23:42:30.659 {02} <initServer> [0] CmServerInfoManager::processLocalWorlds() - can't access to db for world id=120

%

ERRR 2016-05-02 23:42:30.659 {02} <initServer> [0] Fatal: Can't init local world (id=120). Terminating.

%

quit() -- quit requested!

%

ECHO 2016-05-02 23:42:30.659 {} <> [0] Engine initialized...

%

ECHO 2016-05-02 23:42:30.662 {} <> [0] Thread pool initialized, threads: 7

%

WARN 2016-05-02 23:42:30.662 {} <> [1] Warning - Tick [1] took 826 (>64) ms!

%

core/scripts/server/server.cs (78): Unable to find function destroyWorld

%

INFO 2016-05-02 23:42:30.663 {01} <onExit> [1] The server has been shut down!

%

ECHO 2016-05-02 23:42:30.663 {} <> [1] Thread pool shut down

QObject::connect: Cannot connect (null)::destroyed() to QHostInfoLookupManager::waitForThreadPoolDone()



%

Help me please, i have restor database original, but problem persiste... :O:


FReeZzzzVdr
 
Posts: 5
Joined: 03 May 2016, 02:38

Re: Crash data base corupted

Post by FReeZzzzVdr » 03 May 2016, 03:35

--

-- 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-02 23:42:30.658 {02} <initServer> [0] Validating database...

%

ERRR 2016-05-02 23:42:30.658 {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-02 23:42:30.658 {02} <initServer> [0] DB::mfRS(0 ms) CALL sp_checkForeignKeys('animal_breeds', 1, 1);

%

ERRR 2016-05-02 23:42:30.658 {02} <initServer> [0] CmServerInfoManager::_applyDbPatch() - call to sp_checkForeignKeys failed

%

ERRR 2016-05-02 23:42:30.659 {02} <initServer> [0] CmServerInfoManager::processLocalWorlds() - can't access to db for world id=120

%

ERRR 2016-05-02 23:42:30.659 {02} <initServer> [0] Fatal: Can't init local world (id=120). Terminating.

%

quit() -- quit requested!

%

ECHO 2016-05-02 23:42:30.659 {} <> [0] Engine initialized...

%

ECHO 2016-05-02 23:42:30.662 {} <> [0] Thread pool initialized, threads: 7

%

WARN 2016-05-02 23:42:30.662 {} <> [1] Warning - Tick [1] took 826 (>64) ms!

%

core/scripts/server/server.cs (78): Unable to find function destroyWorld

%

INFO 2016-05-02 23:42:30.663 {01} <onExit> [1] The server has been shut down!

%

ECHO 2016-05-02 23:42:30.663 {} <> [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:38.405 {} <> [0] --------- Loading DIRS ---------

%

INFO 2016-05-03 04:33:38.406 {} <> [0] v1.1.1.11

%

ECHO 2016-05-03 04:33:38.406 {} <> [0]

%

ECHO 2016-05-03 04:33:38.443 {01} <onStart> [0]

--------- Initializing Directory: scripts ---------

%

ECHO 2016-05-03 04:33:38.444 {02} <initServer> [0]

--------- Initializing LiF Server: Server Scripts ---------

%

ECHO 2016-05-03 04:33:38.447 {02} <initServer> [0] Loading CmConfiguration

%

ECHO 2016-05-03 04:33:38.448 {02} <initServer> [0] Init of DB interface

%

INFO 2016-05-03 04:33:38.452 {02} <initServer> [0] WORLD_ID=120

%

WARN 2016-05-03 04:33:38.452 {02} <initServer> [0] DB::RS(1 ms) SHOW DATABASES LIKE 'lif_120';

%

ECHO 2016-05-03 04:33:38.452 {02} <initServer> [0] Patching database [1/2]...

%

WARN 2016-05-03 04:33:38.452 {02} <initServer> [0] DB::noRS(0 ms) USE `lif_120`;

%

WARN 2016-05-03 04:33:38.496 {02} <initServer> [0] DB::mNoRS(43 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:38.500 {02} <initServer> [0] Patching database [2/2]...

%

WARN 2016-05-03 04:33:38.501 {02} <initServer> [0] DB::noRS(0 ms) USE `lif_120`;

%

WARN 2016-05-03 04:33:39.188 {02} <initServer> [0] DB::mNoRS(687 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:39.191 {02} <initServer> [0] Validating database...

%

ERRR 2016-05-03 04:33:39.191 {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:39.191 {02} <initServer> [0] DB::mfRS(1 ms) CALL sp_checkForeignKeys('animal_breeds', 1, 1);

%

ERRR 2016-05-03 04:33:39.191 {02} <initServer> [0] CmServerInfoManager::_applyDbPatch() - call to sp_checkForeignKeys failed

%

ERRR 2016-05-03 04:33:39.191 {02} <initServer> [0] CmServerInfoManager::processLocalWorlds() - can't access to db for world id=120

%

ERRR 2016-05-03 04:33:39.191 {02} <initServer> [0] Fatal: Can't init local world (id=120). Terminating.

%

quit() -- quit requested!

%

ECHO 2016-05-03 04:33:39.192 {} <> [0] Engine initialized...

%

ECHO 2016-05-03 04:33:39.195 {} <> [0] Thread pool initialized, threads: 7

%

WARN 2016-05-03 04:33:39.195 {} <> [1] Warning - Tick [1] took 857 (>64) ms!

%

core/scripts/server/server.cs (78): Unable to find function destroyWorld

%

INFO 2016-05-03 04:33:39.196 {01} <onExit> [1] The server has been shut down!

%

ECHO 2016-05-03 04:33:39.196 {} <> [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:40.456 {} <> [0] --------- Loading DIRS ---------

%

INFO 2016-05-03 04:33:40.456 {} <> [0] v1.1.1.11

%

ECHO 2016-05-03 04:33:40.457 {} <> [0]

%

ECHO 2016-05-03 04:33:40.500 {01} <onStart> [0]

--------- Initializing Directory: scripts ---------

%

ECHO 2016-05-03 04:33:40.500 {02} <initServer> [0]

--------- Initializing LiF Server: Server Scripts ---------

%

ECHO 2016-05-03 04:33:40.504 {02} <initServer> [0] Loading CmConfiguration

%

ECHO 2016-05-03 04:33:40.505 {02} <initServer> [0] Init of DB interface

%

INFO 2016-05-03 04:33:40.509 {02} <initServer> [0] WORLD_ID=120

%

WARN 2016-05-03 04:33:40.509 {02} <initServer> [0] DB::RS(0 ms) SHOW DATABASES LIKE 'lif_120';

%

ECHO 2016-05-03 04:33:40.509 {02} <initServer> [0] Patching database [1/2]...

%

WARN 2016-05-03 04:33:40.510 {02} <initServer> [0] DB::noRS(0 ms) USE `lif_120`;

%

WARN 2016-05-03 04:33:40.541 {02} <initServer> [0] DB::mNoRS(31 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:40.545 {02} <initServer> [0] Patching database [2/2]...

%

WARN 2016-05-03 04:33:40.545 {02} <initServer> [0] DB::noRS(0 ms) USE `lif_120`;

%

WARN 2016-05-03 04:33:40.955 {02} <initServer> [0] DB::mNoRS(409 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:40.958 {02} <initServer> [0] Validating database...

%

ERRR 2016-05-03 04:33:40.958 {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:40.959 {02} <initServer> [0] DB::mfRS(1 ms) CALL sp_checkForeignKeys('animal_breeds', 1, 1);

%

ERRR 2016-05-03 04:33:40.959 {02} <initServer> [0] CmServerInfoManager::_applyDbPatch() - call to sp_checkForeignKeys failed

%

ERRR 2016-05-03 04:33:40.959 {02} <initServer> [0] CmServerInfoManager::processLocalWorlds() - can't access to db for world id=120

%

ERRR 2016-05-03 04:33:40.959 {02} <initServer> [0] Fatal: Can't init local world (id=120). Terminating.

%

quit() -- quit requested!

%

ECHO 2016-05-03 04:33:40.959 {} <> [0] Engine initialized...

%

ECHO 2016-05-03 04:33:40.963 {} <> [0] Thread pool initialized, threads: 7

%

WARN 2016-05-03 04:33:40.963 {} <> [1] Warning - Tick [1] took 616 (>64) ms!

%

core/scripts/server/server.cs (78): Unable to find function destroyWorld

%

INFO 2016-05-03 04:33:40.964 {01} <onExit> [1] The server has been shut down!

%

ECHO 2016-05-03 04:33:40.964 {} <> [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:42.387 {} <> [0] --------- Loading DIRS ---------

%

INFO 2016-05-03 04:33:42.387 {} <> [0] v1.1.1.11

%

ECHO 2016-05-03 04:33:42.388 {} <> [0]

%

ECHO 2016-05-03 04:33:42.425 {01} <onStart> [0]

--------- Initializing Directory: scripts ---------

%

ECHO 2016-05-03 04:33:42.426 {02} <initServer> [0]

--------- Initializing LiF Server: Server Scripts ---------

%

ECHO 2016-05-03 04:33:42.430 {02} <initServer> [0] Loading CmConfiguration

%

ECHO 2016-05-03 04:33:42.430 {02} <initServer> [0] Init of DB interface

%

INFO 2016-05-03 04:33:42.434 {02} <initServer> [0] WORLD_ID=120

%

WARN 2016-05-03 04:33:42.435 {02} <initServer> [0] DB::RS(0 ms) SHOW DATABASES LIKE 'lif_120';

%

ECHO 2016-05-03 04:33:42.435 {02} <initServer> [0] Patching database [1/2]...

%

WARN 2016-05-03 04:33:42.435 {02} <initServer> [0] DB::noRS(0 ms) USE `lif_120`;

%

WARN 2016-05-03 04:33:42.507 {02} <initServer> [0] DB::mNoRS(71 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:42.512 {02} <initServer> [0] Patching database [2/2]...

%

WARN 2016-05-03 04:33:42.512 {02} <initServer> [0] DB::noRS(0 ms) USE `lif_120`;

%

WARN 2016-05-03 04:33:42.976 {02} <initServer> [0] DB::mNoRS(464 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:42.979 {02} <initServer> [0] Validating database...

%

Suite to next.


FReeZzzzVdr
 
Posts: 5
Joined: 03 May 2016, 02:38

Re: Crash data base corupted

Post by FReeZzzzVdr » 03 May 2016, 03:44

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()

:O: :bad:

User avatar
Cattoaster
 
Posts: 110
Joined: 03 Nov 2014, 16:13
Location: Medieval Germany

Re: Crash data base corupted

Post by Cattoaster » 03 May 2016, 08:38

First of all, please use code and spoiler tags for your logs. It's hard to read your wall of text.

Log errors like
Code: Select all
PROCEDURE lif_120.sp_checkForeignKeys does not exist
indicate missing stored procedures (and maybe functions too). Make sure your lif database consists of tables, functions and stored procedures. They should had been created during the first server start.

Is this a newly created database for your lif server?

--
sry for posting in english. french subforum posts should be in french of course. However, my french is a little bit rusty

User avatar
Khan-
Zealous Believer
 
Posts: 1261
Joined: 18 Apr 2015, 15:12
Location: France

Re: Crash data base corupted

Post by Khan- » 03 May 2016, 09:17

ça nous est arrivé sur Renaissance 2-3 fois, et rien n'a pu etre fait à part un wipe...

je te conseille de contacter le support helpme@lifeisfeudal.com et indique bien ton log que tu viens de mettre ici, mais peut etre dans un fichier texte joint au mail, sinon ils vont mourir des yeux un peu comme nous la...

peut etre ça va les aider, et t'aider
100% French speaking alliance of Royaume Franc : http://lifeisfeudal-fr.com/
Image
Les Témoins de Mérovée Site - Forum - Me contacter


FReeZzzzVdr
 
Posts: 5
Joined: 03 May 2016, 02:38

Re: Crash data base corupted

Post by FReeZzzzVdr » 03 May 2016, 14:20

Merci de vos reponse rapide, mon francais est pas bon, mais j'espere que vous comprendre, apres recharger la database premiere elle fonctionne bien, merci vous!

Return to Discussion en Français

cron