Server crash on startup

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

Bio90
 
Posts: 2
Joined: 01 Oct 2014, 13:24

Server crash on startup

Post by Bio90 » 01 Oct 2014, 13:28

Hello everyone,

our server crashed today and as soon as we try to get it back on it crashes again.

to me it looks like a database problem since creating a new world doesn't have any problem starting.

here's the log: http://pastebin.com/Z4cXVLxb

User avatar
Rarp
 
Posts: 137
Joined: 26 Sep 2014, 13:55

Re: Server crash on startup

Post by Rarp » 01 Oct 2014, 13:38

ERRR 2014-10-01 15:16:53.330 {02} <initServer> DB error #145: Table '.\mysql\proc' is marked as crashed and should be repaired. Query:

I'm guessing your PC crashed and now the table is corrupt. I can't remember the name of the tool that comes with the DB but run that and repair the table.
ImagejoinToRemoteServer("lif.nightswatch.ca:28000","")
The Night's Watch is recruiting!
Web based skill calculator


Grabbler
 
Posts: 8
Joined: 01 Oct 2014, 12:29

Re: Server crash on startup

Post by Grabbler » 01 Oct 2014, 13:45

mysqlcheck might solve your problem then. Check out http://dev.mysql.com/doc/refman/5.1/en/mysqlcheck.html

Basically it was something like "mysqlcheck --repair" I think (you might have to add -u root -p password)


Frugaal
 
Posts: 1
Joined: 07 Oct 2014, 20:55

Re: Server crash on startup

Post by Frugaal » 07 Oct 2014, 20:58

I'm having something of the same issue. However, even with the link provided, I haven't a clue on how to fix this...

I believe the table issue is at the start, but I posted the whole log anyway.



//-------------------------- 10/7/2014 -- 16:50:46 -----
ECHO 2014-10-07 16:50:46.051 {00} <NOSCOPE> --------- Loading DIRS ---------
ECHO 2014-10-07 16:50:46.057 {00} <NOSCOPE>
ECHO 2014-10-07 16:50:46.086 {01} <onStart>
--------- Initializing Directory: scripts ---------
ECHO 2014-10-07 16:50:46.097 {02} <initServer>
--------- Initializing LiF Server: Server Scripts ---------
ECHO 2014-10-07 16:50:46.200 {02} <initServer> Loading CmConfiguration
ECHO 2014-10-07 16:50:46.209 {02} <initServer> Init of DB interface
WARN 2014-10-07 16:50:46.322 {02} <initServer> DB::RS(55 ms) SHOW DATABASES LIKE 'lif_1';
WARN 2014-10-07 16:50:46.339 {02} <initServer> DB::noRS(1 ms) USE `lif_1`;
ERRR 2014-10-07 16:50:46.345 {02} <initServer> DB error #145: Table '.\mysql\proc' is marked as crashed and should be repaired. Query:

-- NOTE: do not use DELIMITER here

-- NOTE: do not use DEFINER for stored procedures and functions here



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



-- update objects_types names

update objects_types set Name = 'Shovel' where ID = 31;

update objects_types set Name = 'Hammer' where ID = 32;

update objects_types set Name = 'Hatchet' where ID = 34;

update objects_types set Name = 'Pickaxe' where ID = 35;

update objects_types set Name = 'Saw' where ID = 36;

update objects_types set Name = 'Small Wooden House' where ID = 146;

update objects_types set Name = 'Plaster House' where ID = 147;

update objects_types set Name = 'Knife' where ID = 216;

update objects_types set Name = 'Cooking pot' where ID = 220;

update objects_types set Name = 'Smelting tool' where ID = 462;

update objects_types set Name = 'Fishing pole' where ID = 619;

update objects_types set Name = 'Sickle' where ID = 1031;

update objects_types set Name = 'Small Plaster House' where ID = 1055;



-- update objects_types icons

update objects_types set FaceImage = 'art\\2D\\Items\\thick_hides.png' where ID = 473;

update objects_types set FaceImage = 'art\\2D\\Items\\snare_trap.png' where ID = 1082;



-- update objects_types weights

update objects_types set UnitWeight = 250 where ID = 1096;



-- update recipe skill level

update recipe set SkillLvl = 0 where ID = 188;



-- new recipe req

if(!exists(select * from recipe_requirement where ID = 2270)) then

^insert into recipe_requirement (`ID`, `RecipeID`, `MaterialObjectTypeID`, `Quality`, `Influence`, `Quantity`) values

^^(2270, 128, 233, 0, 5, 1);

end if;



-- buildings are now claimed for 24 hours instead of 12

update `objects_types` set `OwnerTimeout`=86400 where `ID` in

^(127,128,131,132,133,134,143,144,145,146,147,148,503,504,509,514,515,516,517,1055,1084,1085,1086,1087,1088,1089);

^

-- delete all duplicated loot from animal_drop_items

delete from animal_drop_items;



-- 0.2.0.0

update objects_types set `Length` = 6 where ID in (116, 118, 123);

update objects_types set `FaceImage` = 'art\\2D\\Items\\bear_hide.png' where ID = 426;

update objects_types set `FaceImage` = 'art\\2D\\Items\\wolf_hide.png' where ID = 428;

update objects_types set `FaceImage` = 'art\\2D\\Items\\boar_hide.png' where ID = 429;

update objects_types set `FaceImage` = 'art\\2D\\Objects\\weapon_rack.png' where ID = 99;

update objects_types set `FaceImage` = 'art\\2D\\Objects\\armor_stand.png' where ID = 100;

update objects_types set `FaceImage` = 'art\\2D\\Items\\horn.png' where ID = 344;

update objects_types set `FaceImage` = 'art\\2D\\Items\\tusk.png' where ID = 345;

update recipe set `Name` = 'Light Scale Greaves' where ID = 530;



-- 0.2.1.0 -- Fixed Steel Lump recipe that allowed to dupe the

update recipe_requirement set MaterialObjectTypeID = 407 where ID = 2172;



END; /* end of _updateScript */

/*!40101 SET SQL_MODE=IFNULL(@TEMP_SQL_MODE, '') */;



call _updateScript();

DROP PROCEDURE _updateScript;







DROP PROCEDURE IF EXISTS `p_allocate_character_wounds`;

CREATE PROCEDURE `p_allocate_character_wounds`(

^`in_charID` INT UNSIGNED

)

BEGIN

^^

^insert ignore character_wounds (CharacterID, BodyPart, WoundType)

^^select in_charID, t.BodyPart, t.WoundType

^^from (

^^^select 0 as BodyPart, 0 as WoundType union all

^^^select 0, 1 union all

^^^select 0, 2 union all

^^^select 0, 3 union all

^^^select 0, 5 union all

^^^select 1, 0 union all

^^^select 1, 1 union all

^^^select 1, 2 union all

^^^select 1, 3 union all

^^^select 1, 5 union all

^^^select 2, 0 union all

^^^select 2, 1 union all

^^^select 2, 2 union all

^^^select 2, 3 union all

^^^select 2, 5 union all

^^^select 3, 0 union all

^^^select 3, 1 union all

^^^select 3, 2 uni
WARN 2014-10-07 16:50:46.364 {02} <initServer> DB::mNoRS(23 ms)

-- NOTE: do not use DELIMITER here

-- NOTE: do not use DEFINER for stored procedures and functions here



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



-- update objects_types names

update objects_types set Name = 'Shovel' where ID = 31;

update objects_types set Name = 'Hammer' where ID = 32;

update objects_types set Name = 'Hatchet' where ID = 34;

update objects_types set Name = 'Pickaxe' where ID = 35;

update objects_types set Name = 'Saw' where ID = 36;

update objects_types set Name = 'Small Wooden House' where ID = 146;

update objects_types set Name = 'Plaster House' where ID = 147;

update objects_types set Name = 'Knife' where ID = 216;

update objects_types set Name = 'Cooking pot' where ID = 220;

update objects_types set Name = 'Smelting tool' where ID = 462;

update objects_types set Name = 'Fishing pole' where ID = 619;

update objects_types set Name = 'Sickle' where ID = 1031;

update objects_types set Name = 'Small Plaster House' where ID = 1055;



-- update objects_types icons

update objects_types set FaceImage = 'art\\2D\\Items\\thick_hides.png' where ID = 473;

update objects_types set FaceImage = 'art\\2D\\Items\\snare_trap.png' where ID = 1082;



-- update objects_types weights

update objects_types set UnitWeight = 250 where ID = 1096;



-- update recipe skill level

update recipe set SkillLvl = 0 where ID = 188;



-- new recipe req

if(!exists(select * from recipe_requirement where ID = 2270)) then

^insert into recipe_requirement (`ID`, `RecipeID`, `MaterialObjectTypeID`, `Quality`, `Influence`, `Quantity`) values

^^(2270, 128, 233, 0, 5, 1);

end if;



-- buildings are now claimed for 24 hours instead of 12

update `objects_types` set `OwnerTimeout`=86400 where `ID` in

^(127,128,131,132,133,134,143,144,145,146,147,148,503,504,509,514,515,516,517,1055,1084,1085,1086,1087,1088,1089);

^

-- delete all duplicated loot from animal_drop_items

delete from animal_drop_items;



-- 0.2.0.0

update objects_types set `Length` = 6 where ID in (116, 118, 123);

update objects_types set `FaceImage` = 'art\\2D\\Items\\bear_hide.png' where ID = 426;

update objects_types set `FaceImage` = 'art\\2D\\Items\\wolf_hide.png' where ID = 428;

update objects_types set `FaceImage` = 'art\\2D\\Items\\boar_hide.png' where ID = 429;

update objects_types set `FaceImage` = 'art\\2D\\Objects\\weapon_rack.png' where ID = 99;

update objects_types set `FaceImage` = 'art\\2D\\Objects\\armor_stand.png' where ID = 100;

update objects_types set `FaceImage` = 'art\\2D\\Items\\horn.png' where ID = 344;

update objects_types set `FaceImage` = 'art\\2D\\Items\\tusk.png' where ID = 345;

update recipe set `Name` = 'Light Scale Greaves' where ID = 530;



-- 0.2.1.0 -- Fixed Steel Lump recipe that allowed to dupe the

update recipe_requirement set MaterialObjectTypeID = 407 where ID = 2172;



END; /* end of _updateScript */

/*!40101 SET SQL_MODE=IFNULL(@TEMP_SQL_MODE, '') */;



call _updateScript();

DROP PROCEDURE _updateScript;







DROP PROCEDURE IF EXISTS `p_allocate_character_wounds`;

CREATE PROCEDURE `p_allocate_character_wounds`(

^`in_charID` INT UNSIGNED

)

BEGIN

^^

^insert ignore character_wounds (CharacterID, BodyPart, WoundType)

^^select in_charID, t.BodyPart, t.WoundType

^^from (

^^^select 0 as BodyPart, 0 as WoundType union all

^^^select 0, 1 union all

^^^select 0, 2 union all

^^^select 0, 3 union all

^^^select 0, 5 union all

^^^select 1, 0 union all

^^^select 1, 1 union all

^^^select 1, 2 union all

^^^select 1, 3 union all

^^^select 1, 5 union all

^^^select 2, 0 union all

^^^select 2, 1 union all

^^^select 2, 2 union all

^^^select 2, 3 union all

^^^select 2, 5 union all

^^^select 3, 0 union all

^^^select 3, 1 union all

^^^select 3, 2 union all

^^^select 3, 3 union all

^^^select 3, 5 union all

^^^select 4, 0 union all

^^^select 4, 1 union all

^^^select 4, 2 union all

^^^select 4, 3 union all

^^^select 4, 5 union all

^^^select 5, 0 union all

^^^select 5, 1 union all

^^^select 5, 2 union all

^^^select 5, 3 union all

^^^select 5, 5 union all

^^^select 6, 0

^^) as t;



END;





DROP PROCEDURE IF EXISTS `p_completeBuilding`;

CREATE PROCEDURE `p_completeBuilding`(

^IN `in_isMovable` TINYINT UNSIGNED,

^IN `in_objectID` INT UNSIGNED,

^IN `in_conteinerID` INT UNSIGNED,

^IN `in_Durability` SMALLINT UNSIGNED

)

BEGIN

^declare is_container, type_id, new_container_id INT UNSIGNED default NULL;

^declare container_name varchar(45) default NULL;

^

^if(in_isMovable = 1) then

^^SELECT ObjectTypeID FROM movable_objects WHERE ID = in_objectID LIMIT 1 INTO type_id FOR UPDATE;

^else

^^SELECT ObjectTypeID FROM unmovable_objects WHERE ID = in_objectID LIMIT 1 INTO type_id FOR UPDATE;

^end if;



^SELECT IsContainer, Name FROM objects_types WHERE ID = type_id LIMIT 1 INTO is_container, container_name;

^

^if(is_container > 0) then

^^SET new_container_id = f_createRootContainer(container_name);

^end if;

^

^if(in_isMovable = 1) then

^^UPDATE movable_objects SET

^^^IsComplete =1,

^^^RootContainerID = new_container_id,

^^^Durability =in_Durability,

^^^CreatedDurability =in_Durability

^^WHERE ID = in_objectID;

^else

^^UPDATE unmovable_objects SET

^^^IsComplete =1,

^^^RootContainerID = new_container_id,

^^^Durability =in_Durability,

^^^CreatedDurability =in_Durability

^^WHERE ID = in_objectID;

^end if;



^CALL f_deleteContainer(in_conteinerID);

END;





DROP FUNCTION IF EXISTS `f_insertNewItemInventory`;

CREATE FUNCTION `f_insertNewItemInventory`(`ContainerID` INT UNSIGNED, `ItemTypeID` INT UNSIGNED, `Quality` TINYINT UNSIGNED, `Quantity` INT UNSIGNED, `CreatedDurability` SMALLINT UNSIGNED, `Durability` SMALLINT UNSIGNED, `pFeatureText` VARCHAR(255), `pEffect1ID` TINYINT, `pEffect1Magnitude` SMALLINT, `pEffect2ID` TINYINT, `pEffect2Magnitude`


NIKOD95
 
Posts: 2
Joined: 08 Oct 2014, 10:26

Re: Server crash on startup

Post by NIKOD95 » 08 Oct 2014, 10:29

This is my log any idea what i can do?


//-------------------------- 10/8/2014 -- 03:24:45 -----
ECHO 2014-10-08 03:24:45.528 {00} <NOSCOPE> --------- Loading DIRS ---------
ECHO 2014-10-08 03:24:45.528 {00} <NOSCOPE>
ECHO 2014-10-08 03:24:45.528 {01} <onStart>
--------- Initializing Directory: scripts ---------
ECHO 2014-10-08 03:24:45.528 {02} <initServer>
--------- Initializing LiF Server: Server Scripts ---------
ECHO 2014-10-08 03:24:45.543 {02} <initServer> Loading CmConfiguration
ECHO 2014-10-08 03:24:45.543 {02} <initServer> Init of DB interface
ERRR 2014-10-08 03:24:45.559 {02} <initServer> CmDb::_connect() - connection error #1045: Access denied for user 'root'@'localhost' (using password: YES)
ERRR 2014-10-08 03:24:45.559 {02} <initServer> CmServerInfoManager::processLocalWorlds() - can't connect to MySQL!
ERRR 2014-10-08 03:24:45.559 {02} <initServer> Fatal: Can't init local world (id=1). Terminating.
ECHO 2014-10-08 03:24:45.559 {00} <NOSCOPE> Engine initialized...
core/scripts/server/server.cs (77): Unable to find function destroyWorld


Porave
 
Posts: 16
Joined: 20 Sep 2014, 23:09

Re: Server crash on startup

Post by Porave » 08 Oct 2014, 10:38

NIKOD95 wrote:This is my log any idea what i can do?


//-------------------------- 10/8/2014 -- 03:24:45 -----
ECHO 2014-10-08 03:24:45.528 {00} <NOSCOPE> --------- Loading DIRS ---------
ECHO 2014-10-08 03:24:45.528 {00} <NOSCOPE>
ECHO 2014-10-08 03:24:45.528 {01} <onStart>
--------- Initializing Directory: scripts ---------
ECHO 2014-10-08 03:24:45.528 {02} <initServer>
--------- Initializing LiF Server: Server Scripts ---------
ECHO 2014-10-08 03:24:45.543 {02} <initServer> Loading CmConfiguration
ECHO 2014-10-08 03:24:45.543 {02} <initServer> Init of DB interface
ERRR 2014-10-08 03:24:45.559 {02} <initServer> CmDb::_connect() - connection error #1045: Access denied for user 'root'@'localhost' (using password: YES)
ERRR 2014-10-08 03:24:45.559 {02} <initServer> CmServerInfoManager::processLocalWorlds() - can't connect to MySQL!
ERRR 2014-10-08 03:24:45.559 {02} <initServer> Fatal: Can't init local world (id=1). Terminating.
ECHO 2014-10-08 03:24:45.559 {00} <NOSCOPE> Engine initialized...
core/scripts/server/server.cs (77): Unable to find function destroyWorld



I see this CmDb::_connect() - connection error #1045: Access denied for user 'root'@'localhost' (using password: YES)

Dit you instal the database if so follow this tut correctly


Installation:

1. Create as many copies of \config\world_X.xml (X - number of server instance and must be unique on one server and on one DB engine)
2. Download a MariaDB 5.5 Series Engine (https://downloads.mariadb.org/)
3. Install a MariaDB engine on the same server or somewhere in your network, where that MariaDB can be reached by your game server.
4. Use docs\my.ini as MariaDB config.
5. Copy docs\config_local.cs into root folder of server and adjust according your DB location (located in a root folder of server).
6. Launch server via "ddctd_cm_yo_server.exe -worldID X" (X - number of server instance with correctly created world_X.xml file). You can create a batch file or automate that process as you like.

Server should do the rest. Thank you for reading those instructions! But remeber, life IS feudal ;)
Public Server
Image
Private Server
Image

Return to General Discussion