Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //-- 12/22/2019 -- 04:28:41 UTC ======== 12/22/2019 -- 01:28:41 Local-- yo_1.4.4.5 --
- ECHO 2019-12-22 01:28:41.618 {} <> [0] Processor Init:
- ECHO 2019-12-22 01:28:41.618 {} <> [0] Features detected: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC MTRR SEP PGE MCA CMOV PAT PSE36 CLFLUSH DTS ACPI MMX FXSR SSE SSE2 SS HT TM PBE PNI PCLMUL DTS64 MONITOR DS_CPL VMX SMX EST TM2 SSSE3 CX16 XTPR PDCM SSE4_1 SSE4_2 SYSCALL XD POPCNT AES XSAVE OSXSAVE AVX RDTSCP LM LAHF_LM CONSTANT_TSC F16C RDRAND X2APIC HTT
- ECHO 2019-12-22 01:28:41.618 {} <> [0] GenuineIntel, Bloomfield (Xeon)
- ECHO 2019-12-22 01:28:41.618 {} <> [0] MP detected [4 cores, 8 logical, 1 physical]
- ECHO 2019-12-22 01:28:41.618 {} <> [0]
- ECHO 2019-12-22 01:28:41.618 {} <> [0] Intel(R) Xeon(R) CPU E3-1230 V2 @ 3.30GHz, ~3.29 Ghz
- ECHO 2019-12-22 01:28:41.618 {} <> [0] Initializing platform...
- ECHO 2019-12-22 01:28:41.618 {} <> [0] Done
- INFO 2019-12-22 01:28:41.680 {01} <defaultParseArgs> [0] -worldID == 1
- ECHO 2019-12-22 01:28:41.680 {} <> [0]
- ECHO 2019-12-22 01:28:41.680 {} <> [0] --------- Loading DIRS ---------
- INFO 2019-12-22 01:28:41.680 {} <> [0] vyo_1.4.4.5
- ECHO 2019-12-22 01:28:41.680 {} <> [0]
- ECHO 2019-12-22 01:28:41.774 {01} <onStart> [0]
- --------- Initializing Directory: scripts ---------
- ECHO 2019-12-22 01:28:41.789 {02} <initServer> [0]
- --------- Initializing LiF Server: Server Scripts ---------
- ECHO 2019-12-22 01:28:41.789 {02} <initServer> [0] Loading CmConfiguration
- ECHO 2019-12-22 01:28:41.789 {02} <initServer> [0] Init of DB interface
- INFO 2019-12-22 01:28:41.789 {03} <checkServerIdLockFile> [0] Renaming log file name from 'logs/2019-12-22/S0_R16RK4U17-1_2019-12-22-01-28-41_p3052.log' to 'logs/2019-12-22/S1_R16RK4U17-1_2019-12-22-01-28-41_p3052.log'...
- //-- 12/22/2019 -- 04:28:41 UTC ======== 12/22/2019 -- 01:28:41 Local-- yo_1.4.4.5 --
- INFO 2019-12-22 01:28:41.789 {03} <checkServerIdLockFile> [0] Log file name successfully renamed!
- INFO 2019-12-22 01:28:41.789 {02} <initServer> [0] WORLD_ID=1
- WARN 2019-12-22 01:28:41.805 {02} <initServer> [0] DB::RS(1 ms) SHOW DATABASES LIKE 'lif_1';
- WARN 2019-12-22 01:28:41.805 {02} <initServer> [0] DB::noRS(0 ms) CREATE DATABASE IF NOT EXISTS `lif_1` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */;
- WARN 2019-12-22 01:28:41.805 {02} <initServer> [0] DB::noRS(0 ms) USE `lif_1`;
- ECHO 2019-12-22 01:28:41.805 {02} <initServer> [0] Creating new database...
- WARN 2019-12-22 01:28:41.899 {02} <initServer> [0] DB::mNoRS(95 ms) -- Dumping structure for table cm.account
- DROP TABLE IF EXISTS `account`;
- CREATE TABLE IF NOT EXISTS `account` (
- `ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `IsActive` tinyint(1) unsigned NOT NULL DEFAULT '1',
- `IsGM` tinyint(1) unsigned NOT NULL DEFAULT '0',
- `SteamID` bigint(20) unsigned NOT NULL,
- PRIMARY KEY (`ID`),
- UNIQUE KEY `UNQ_SteamID` (`SteamID`)
- ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
- -- Dumping structure for table cm.animal_breeds
- DROP TABLE IF EXISTS `animal_breeds`;
- CREATE TABLE IF NOT EXISTS `animal_breeds` (
- `ID` int(10) unsigned NOT NULL,
- `is_strong_animal` tinyint(3) unsigned NOT NULL,
- `base_hp` float unsigned NOT NULL,
- `weapon_datablock_name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
- `weapon_weight` float unsigned NOT NULL,
- `fast_hit_damaging_distance` float unsigned NOT NULL,
- `fast_hit_starting_distance` float unsigned NOT NULL,
- `fast_hit_damaging_sector` float unsigned NOT NULL,
- `fast_hit_base_speed_min` float unsigned NOT NULL,
- `fast_hit_base_speed_max` float unsigned NOT NULL,
- `power_hit_damaging_distance` float unsigned NOT NULL,
- `power_hit_starting_distance` float unsigned NOT NULL,
- `power_hit_damaging_sector` float unsigned NOT NULL,
- `power_hit_base_speed_min` float unsigned NOT NULL,
- `power_hit_base_speed_max` float unsigned NOT NULL,
- `power_attack_probability` float unsigned NOT NULL,
- `walk_animation_speed` float unsigned NOT NULL,
- `run_animation_speed` float unsigned NOT NULL,
- `walk_speed` float unsigned NOT NULL,
- `run_speed` float unsigned NOT NULL,
- `creature_body_radius` float unsigned NOT NULL,
- `alertness_range_min` float unsigned NOT NULL,
- `alertness_range_max` float unsigned NOT NULL,
- `aggression_range_min` float unsigned NOT NULL,
- `aggression_range_max` float unsigned NOT NULL,
- `alertness_range_presence_threat_speed` float unsigned NOT NULL,
- `alertness_range_presence_memory_duration` float unsigned NOT NULL,
- `aggression_range_presence_threat_speed` float unsigned NOT NULL,
- `aggression_range_presence_memory_duration` float unsigned NOT NULL,
- `threat_from_damage_per_hit_point` float unsigned NOT NULL,
- `become_alerted_threshold_on` float unsigned NOT NULL,
- `become_alerted_threshold_off` float unsigned NOT NULL,
- `become_aggressive_threshold_on` float unsigned NOT NULL,
- `become_aggressive_threshold_off` float unsigned NOT NULL,
- `sleep_probab` float unsigned NOT NULL,
- `eat_probab` float unsigned NOT NULL,
- `stand_probab` float unsigned NOT NULL,
- `walk_probab` float unsigned NOT NULL,
- `run_probab` float unsigned NOT NULL,
- `sleep_duration_min` float unsigned NOT NULL,
- `sleep_duration_max` float unsigned NOT NULL,
- `non_sleep_action_duration_max` float unsigned NOT NULL,
- `traveling_distance_min` float unsigned NOT NULL,
- `traveling_distance_max` float unsigned NOT NULL,
- `start_flee_condition_distance` float unsigned NOT NULL,
- `flee_mode_threat_afteraction_duration` float unsigned NOT NULL,
- `flee_order_distance_min` float unsigned NOT NULL,
- `flee_order_distance_max` float unsigned NOT NULL,
- `raw_corpse_object_type_id` int(11) unsigned NOT NULL,
- `skinned_corpse_object_type_id` int(11) unsigned NOT NULL,
- PRIMARY KEY (`ID`),
- KEY `FK_raw_corpse_object_type_id` (`raw_corpse_object_type_id`),
- KEY `FK_skinned_corpse_object_type_id` (`skinned_corpse_object_type_id`),
- CONSTRAINT `FK_animal_breeds__objects_types` FOREIGN KEY (`ID`) REFERENCES `objects_types` (`ID`),
- CONSTRAINT `FK_raw_corpse_object_type_id` FOREIGN KEY (`raw_corpse_object_type_id`) REFERENCES `objects_types` (`ID`),
- CONSTRAINT `FK_skinned_corpse_object_type_id` FOREIGN KEY (`skinned_corpse_object_type_id`) REFERENCES `objects_types` (`ID`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
- /*!40000 ALTER TABLE `animal_breeds` DISABLE KEYS */;
- INSERT INTO `animal_breeds` (`ID`, `is_strong_animal`, `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, 300, 'Bear_Paw', 10, 1, 0.7, 60, 10, 15, 1.3, 1.2, 90, 25, 40, 0.25, 0.87, 0.75, 2, 6, 3, 10, 20, 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, 911, 924),
- ^(753, 0, 200, 'Wild_Horse_Hoof', 10, 0.5, 0.4, 45, 10, 15, 0.7, 0.5, 90, 20, 30, 0.25, 1.09, 0.59, 2, 6, 1.5, 10, 20, 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, 912, 925),
- ^(754, 0, 100, 'Deer_Hoof', 10, 0.5, 0.4, 45, 1, 3, 0.7, 0.5, 90, 2, 4, 0.5, 0.95, 0.52, 2, 6, 1.5, 20, 30, 20, 30, 20, 8, 50, 5, 50, 10, 0, 40, 20, 0, 3, 6, 0, 0, 10, 20, 8, 15, 40, 15, 15, 20, 40, 913, 926),
- ^(755, 1, 100, 'Wolf_Fang', 10, 0.5, 0.4, 45, 5, 10, 0.7, 0.5, 90, 15, 25, 0.25, 1.72, 1.21, 2, 6, 1.2, 10, 20, 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, 9
- WARN 2019-12-22 01:28:41.899 {02} <initServer> [0] DB::noRS(0 ms) USE `lif_1`;
- WARN 2019-12-22 01:28:41.899 {02} <initServer> [0] DB::noRS(0 ms) USE `lif_1`;
- WARN 2019-12-22 01:28:41.914 {02} <initServer> [0] DB::mNoRS(6 ms) DROP TABLE IF EXISTS `_patch_execute_status`; CREATE TABLE `_patch_execute_status`( ^`Value` tinyint unsigned NOT NULL DEFAULT 0 ) ENGINE = InnoDB DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci; INSERT INTO `_patch_execute_status` () VALUES ();
- ECHO 2019-12-22 01:28:41.914 {02} <initServer> [0] Patching database [1/2]...
- WARN 2019-12-22 01:28:41.914 {02} <initServer> [0] DB::noRS(0 ms) USE `lif_1`;
- WARN 2019-12-22 01:28:41.945 {02} <initServer> [0] DB::mNoRS(42 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 FUNCTION IF EXISTS _getMaxSkillValue;
- CREATE FUNCTION `_getMaxSkillValue`(
- ^`in_parentSkillValue` INT UNSIGNED
- )
- ^RETURNS INT UNSIGNED
- BEGIN
- ^declare skillAmountMult INT UNSIGNED DEFAULT 10000000;
- ^if(in_parentSkillValue < 30*skillAmountMult) then
- ^^return 0;
- ^elseif(in_parentSkillValue < 60*skillAmountMult) then
- ^^return (30*skillAmountMult - 1);
- ^end if;
- ^return 100*skillAmountMult;
- END;
- DROP PROCEDURE IF EXISTS _transferSkillStraight;
- CREATE PROCEDURE _transferSkillStraight(
- ^IN `in_oldSkillTypeID` INT UNSIGNED,
- ^IN `in_newSkillTypeID` INT UNSIGNED
- )
- BEGIN
- declare skillAmountMult INT UNSIGNED DEFAULT 10000000;
- -- 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*skillAmountMult
- ^^and !exists(select * from skills_new sn2 where sn2.CharacterID = sn.CharacterID and sn2.SkillTypeID = stn.ID);
- -- cap skill values at 100
- update skills_new
- ^set SkillAmount = 100*10000000
- ^where SkillAmount > 100*10000000;
- END;
- DROP PROCEDURE IF EXISTS _transferSkillToSkillChainLimit;
- CREATE PROCEDURE _transferSkillToSkillChainLimit(
- ^IN `in_oldSkillTypeID` INT UNSIGNED,
- ^IN `in_newBaseSkillTypeID` INT UNSIGNED,
- ^IN `in_skillAmountLimit` INT UNSIGNED
- )
- BEGIN
- declare skillAmountMult INT UNSIGNED DEFAULT 10000000;
- declare skillAmountLimit INT UNSIGNED DEFAULT least(greatest(in_skillAmountLimit, 30), 100); -- clamp skill amount limit at 100
- declare newBaseSkillTypeID INT UNSIGNED DEFAULT in_newBaseSkillTypeID; -- currently used parent skill in skill chain
- if(in_skillAmountLimit < 30 or in_skillAmountLimit > 100) then
- ^SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'in_skillAmountLimit should be between 30 and 100';
- end if;
- while newBaseSkillTypeID is not nu
- WARN 2019-12-22 01:28:41.945 {02} <initServer> [0] DB::RS(0 ms) SELECT `Value` FROM `_patch_execute_status` LIMIT 1;
- ERRR 2019-12-22 01:28:41.945 {02} <initServer> [0] CmServerInfoManager::_applyDbPatch() - validation of patch file execution failed
- ERRR 2019-12-22 01:28:41.945 {02} <initServer> [0] [line #1165] CmServerInfoManager::initLocalWorld() - can't access to db for world id=1
- ERRR 2019-12-22 01:28:41.945 {02} <initServer> [0] Fatal: Can't init local world (id=1). Terminating.
- quit() -- quit requested!
- ECHO 2019-12-22 01:28:41.945 {} <> [0] Engine initialized...
- ECHO 2019-12-22 01:28:41.992 {} <> [0] Thread pool initialized, threads: 7
- WARN 2019-12-22 01:28:41.992 {} <> [0] Warning - Last tick took 518 (>64) ms!
- core/scripts/server/server.cs (0): Unable to find function destroyWorld
- INFO 2019-12-22 01:28:41.992 {01} <onExit> [1] The server has been shut down!
- ECHO 2019-12-22 01:28:41.992 {} <<Thread>> [] Thread worker terminated [T:WorkerThread6:4240]
- ECHO 2019-12-22 01:28:41.992 {} <<Thread>> [] Thread worker terminated [T:WorkerThread4:3216]
- ECHO 2019-12-22 01:28:41.992 {} <<Thread>> [] Thread worker terminated [T:WorkerThread2:2076]
- ECHO 2019-12-22 01:28:41.992 {} <<Thread>> [] Thread worker terminated [T:WorkerThread0:3408]
- ECHO 2019-12-22 01:28:41.992 {} <<Thread>> [] Thread worker terminated [T:WorkerThread1:1312]
- ECHO 2019-12-22 01:28:41.992 {} <<Thread>> [] Thread worker terminated [T:WorkerThread3:5732]
- ECHO 2019-12-22 01:28:41.992 {} <<Thread>> [] Thread worker terminated [T:WorkerThread5:4672]
- ECHO 2019-12-22 01:28:41.992 {} <> [1] Thread pool shut down
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement