Server don't start

General discussion about Life is Feudal: Your Own, The main section and backbone of the forums.

Razorbull3
 
Posts: 1
Joined: 26 Mar 2019, 10:12

Server don't start

Post by Razorbull3 » 02 Nov 2019, 18:26

Hello, I can not start my server. The log file shows me the following text.


//-- 11/2/2019 -- 18:18:12 UTC ======== 11/2/2019 -- 19:18:12 Local-- yo_1.4.4.5 --
ECHO 2019-11-02 19:18:11.968 {} <> [0] Processor Init:
ECHO 2019-11-02 19:18:11.968 {} <> [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 DCA SSE4_1 SSE4_2 SYSCALL XD POPCNT AES XSAVE OSXSAVE AVX RDTSCP LM LAHF_LM CONSTANT_TSC F16C RDRAND X2APIC HTT
ECHO 2019-11-02 19:18:11.968 {} <> [0] GenuineIntel, Xeon LV
ECHO 2019-11-02 19:18:11.968 {} <> [0] MP detected [10 cores, 40 logical, 2 physical]
ECHO 2019-11-02 19:18:11.968 {} <> [0]
ECHO 2019-11-02 19:18:11.968 {} <> [0] Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz, ~2.80 Ghz
ECHO 2019-11-02 19:18:11.968 {} <> [0] Initializing platform...
ECHO 2019-11-02 19:18:11.968 {} <> [0] Done
ECHO 2019-11-02 19:18:12.080 {} <> [0]
ECHO 2019-11-02 19:18:12.083 {} <> [0] --------- Loading DIRS ---------
INFO 2019-11-02 19:18:12.084 {} <> [0] vyo_1.4.4.5
ECHO 2019-11-02 19:18:12.085 {} <> [0]
ECHO 2019-11-02 19:18:12.225 {01} <onStart> [0]
--------- Initializing Directory: scripts ---------
ECHO 2019-11-02 19:18:12.225 {02} <initServer> [0]
--------- Initializing LiF Server: Server Scripts ---------
ECHO 2019-11-02 19:18:12.235 {02} <initServer> [0] Loading CmConfiguration
ECHO 2019-11-02 19:18:12.236 {02} <initServer> [0] Init of DB interface
INFO 2019-11-02 19:18:12.238 {03} <checkServerIdLockFile> [0] Renaming log file name from 'logs/2019-11-02/S0_WIN-991UMNMKM30_2019-11-02-19-18-12_p19120.log' to 'logs/2019-11-02/S147924_WIN-991UMNMKM30_2019-11-02-19-18-12_p19120.log'...
//-- 11/2/2019 -- 18:18:12 UTC ======== 11/2/2019 -- 19:18:12 Local-- yo_1.4.4.5 --
INFO 2019-11-02 19:18:12.251 {03} <checkServerIdLockFile> [0] Log file name successfully renamed!
INFO 2019-11-02 19:18:12.268 {02} <initServer> [0] WORLD_ID=147924
WARN 2019-11-02 19:18:12.269 {02} <initServer> [0] DB::RS(1 ms) SHOW DATABASES LIKE 'lif_147924';
WARN 2019-11-02 19:18:12.269 {02} <initServer> [0] DB::noRS(0 ms) USE `lif_147924`;
WARN 2019-11-02 19:18:12.274 {02} <initServer> [0] DB::mNoRS(5 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-11-02 19:18:12.275 {02} <initServer> [0] Patching database [1/2]...
WARN 2019-11-02 19:18:12.276 {02} <initServer> [0] DB::noRS(0 ms) USE `lif_147924`;
WARN 2019-11-02 19:18:12.305 {02} <initServer> [0] DB::mNoRS(30 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-11-02 19:18:12.307 {02} <initServer> [0] DB::RS(1 ms) SELECT `Value` FROM `_patch_execute_status` LIMIT 1;
ERRR 2019-11-02 19:18:12.307 {02} <initServer> [0] CmServerInfoManager::_applyDbPatch() - validation of patch file execution failed
ERRR 2019-11-02 19:18:12.307 {02} <initServer> [0] [line #1165] CmServerInfoManager::initLocalWorld() - can't access to db for world id=147924
ERRR 2019-11-02 19:18:12.308 {02} <initServer> [0] Fatal: Can't init local world (id=147924). Terminating.
quit() -- quit requested!
ECHO 2019-11-02 19:18:12.308 {} <> [0] Engine initialized...
ECHO 2019-11-02 19:18:12.314 {} <> [0] Thread pool initialized, threads: 39
WARN 2019-11-02 19:18:12.314 {} <> [0] Warning - Last tick took 691 (>64) ms!
core/scripts/server/server.cs (0): Unable to find function destroyWorld
INFO 2019-11-02 19:18:12.316 {01} <onExit> [1] The server has been shut down!
ECHO 2019-11-02 19:18:12.316 {} <<Thread>> [] Thread worker terminated [T:WorkerThread38:30820]
ECHO 2019-11-02 19:18:12.316 {} <<Thread>> [] Thread worker terminated [T:WorkerThread37:29380]
ECHO 2019-11-02 19:18:12.316 {} <<Thread>> [] Thread worker terminated [T:WorkerThread36:40388]
ECHO 2019-11-02 19:18:12.317 {} <<Thread>> [] Thread worker terminated [T:WorkerThread15:36460]
ECHO 2019-11-02 19:18:12.317 {} <<Thread>> [] Thread worker terminated [T:WorkerThread34:22324]
ECHO 2019-11-02 19:18:12.317 {} <<Thread>> [] Thread worker terminated [T:WorkerThread33:35660]
ECHO 2019-11-02 19:18:12.317 {} <<Thread>> [] Thread worker terminated [T:WorkerThread32:36232]
ECHO 2019-11-02 19:18:12.317 {} <<Thread>> [] Thread worker terminated [T:WorkerThread31:11660]
ECHO 2019-11-02 19:18:12.317 {} <<Thread>> [] Thread worker terminated [T:WorkerThread30:31224]
ECHO 2019-11-02 19:18:12.317 {} <<Thread>> [] Thread worker terminated [T:WorkerThread29:37108]
ECHO 2019-11-02 19:18:12.317 {} <<Thread>> [] Thread worker terminated [T:WorkerThread27:29836]
ECHO 2019-11-02 19:18:12.318 {} <<Thread>> [] Thread worker terminated [T:WorkerThread26:16692]
ECHO 2019-11-02 19:18:12.318 {} <<Thread>> [] Thread worker terminated [T:WorkerThread25:25080]
ECHO 2019-11-02 19:18:12.318 {} <<Thread>> [] Thread worker terminated [T:WorkerThread24:34384]
ECHO 2019-11-02 19:18:12.318 {} <<Thread>> [] Thread worker terminated [T:WorkerThread23:39524]
ECHO 2019-11-02 19:18:12.318 {} <<Thread>> [] Thread worker terminated [T:WorkerThread22:37752]
ECHO 2019-11-02 19:18:12.318 {} <<Thread>> [] Thread worker terminated [T:WorkerThread28:17580]
ECHO 2019-11-02 19:18:12.318 {} <<Thread>> [] Thread worker terminated [T:WorkerThread21:18900]
ECHO 2019-11-02 19:18:12.318 {} <<Thread>> [] Thread worker terminated [T:WorkerThread17:9260]
ECHO 2019-11-02 19:18:12.318 {} <<Thread>> [] Thread worker terminated [T:WorkerThread16:472]
ECHO 2019-11-02 19:18:12.318 {} <<Thread>> [] Thread worker terminated [T:WorkerThread14:42956]
ECHO 2019-11-02 19:18:12.318 {} <<Thread>> [] Thread worker terminated [T:WorkerThread18:25992]
ECHO 2019-11-02 19:18:12.318 {} <<Thread>> [] Thread worker terminated [T:WorkerThread13:27548]
ECHO 2019-11-02 19:18:12.318 {} <<Thread>> [] Thread worker terminated [T:WorkerThread12:15176]
ECHO 2019-11-02 19:18:12.318 {} <<Thread>> [] Thread worker terminated [T:WorkerThread20:36324]
ECHO 2019-11-02 19:18:12.319 {} <<Thread>> [] Thread worker terminated [T:WorkerThread11:31380]
ECHO 2019-11-02 19:18:12.319 {} <<Thread>> [] Thread worker terminated [T:WorkerThread10:35132]
ECHO 2019-11-02 19:18:12.319 {} <<Thread>> [] Thread worker terminated [T:WorkerThread9:32180]
ECHO 2019-11-02 19:18:12.319 {} <<Thread>> [] Thread worker terminated [T:WorkerThread8:18296]
ECHO 2019-11-02 19:18:12.319 {} <<Thread>> [] Thread worker terminated [T:WorkerThread6:8616]
ECHO 2019-11-02 19:18:12.319 {} <<Thread>> [] Thread worker terminated [T:WorkerThread5:35504]
ECHO 2019-11-02 19:18:12.319 {} <<Thread>> [] Thread worker terminated [T:WorkerThread4:9540]
ECHO 2019-11-02 19:18:12.319 {} <<Thread>> [] Thread worker terminated [T:WorkerThread3:41528]
ECHO 2019-11-02 19:18:12.319 {} <<Thread>> [] Thread worker terminated [T:WorkerThread2:11576]
ECHO 2019-11-02 19:18:12.319 {} <<Thread>> [] Thread worker terminated [T:WorkerThread1:42692]
ECHO 2019-11-02 19:18:12.319 {} <<Thread>> [] Thread worker terminated [T:WorkerThread19:11696]
ECHO 2019-11-02 19:18:12.320 {} <<Thread>> [] Thread worker terminated [T:WorkerThread0:30564]
ECHO 2019-11-02 19:18:12.320 {} <<Thread>> [] Thread worker terminated [T:WorkerThread7:17096]
ECHO 2019-11-02 19:18:12.320 {} <<Thread>> [] Thread worker terminated [T:WorkerThread35:36332]
ECHO 2019-11-02 19:18:12.320 {} <> [1] Thread pool shut down



Almost at the end is:


WARN 2019-11-02 19:18:12.307 {02} <initServer> [0] DB::RS(1 ms) SELECT `Value` FROM `_patch_execute_status` LIMIT 1;
ERRR 2019-11-02 19:18:12.307 {02} <initServer> [0] CmServerInfoManager::_applyDbPatch() - validation of patch file execution failed
ERRR 2019-11-02 19:18:12.307 {02} <initServer> [0] [line #1165] CmServerInfoManager::initLocalWorld() - can't access to db for world id=147924
ERRR 2019-11-02 19:18:12.308 {02} <initServer> [0] Fatal: Can't init local world (id=147924). Terminating.
quit() -- quit requested!



Does anyone know how to fix it?


Hvantomas
 
Posts: 3
Joined: 18 Jan 2016, 16:52

Re: Server don't start

Post by Hvantomas » 10 Nov 2019, 21:39

Такая же проблема. Сервер с нестандартным ID (1) не стартует!

Return to General Discussion