Server periodically is crushing.
-----------------------------------------------
Log:
Code:
01:16:91:'murzilka' commands 'dap'=1
01:16:cd:'gift' commands 'c щя гляну'=1
01:16:DEBUG:__ thread (4080) __ | # | _____ function _____________ | ticks passed from previous function start ______
01:16:DEBUG:>> 4080 | 0 | CWorld::OnTick | +0 <-- exception catch point (below is guessed and could be incorrect!)
01:16:DEBUG:>> 4080 | 1 | CTimedFunctionHandler::OnTick | +16
01:16:DEBUG:>> 4080 | 2 | ProfileData::Start | +187
01:16:CRITICAL:"Access Violation" (0x6955e757), in SUB: CWorld::TimerFunction::Tick()
01:16:DEBUG:__ thread (4080) __ | # | _____ function _____________ | ticks passed from previous function start ______
01:16:DEBUG:>> 4080 | 0 | NetworkIn::tick | +0
01:16:DEBUG:>> 4080 | 1 | PacketMovementReq::onReceive | +0
01:16:DEBUG:>> 4080 | 2 | PacketMovementReq::doMovement | +0
01:16:DEBUG:>> 4080 | 3 | CClient::Event_Walking | +0
01:16:DEBUG:>> 4080 | 4 | CChar::CanMoveWalkTo | +0 <-- exception catch point (below is guessed and could be incorrect!)
01:16:DEBUG:>> 4080 | 5 | CChar::CheckValidMove | +0
01:16:DEBUG:>> 4080 | 6 | CChar::CheckValidMove | +0
01:16:DEBUG:>> 4080 | 7 | CPointBase::GetRegion | +0
01:16:DEBUG:>> 4080 | 8 | CSectorBase::GetRegion | +0
01:16:DEBUG:__ thread (4080) __ | # | _____ function _____________ | ticks passed from previous function start ______
01:16:DEBUG:>> 4080 | 0 | NetworkIn::tick | +0
01:16:DEBUG:>> 4080 | 1 | PacketMovementReq::onReceive | +31
01:16:DEBUG:>> 4080 | 2 | PacketMovementReq::doMovement | +0
01:16:DEBUG:>> 4080 | 3 | CClient::Event_Walking | +0
01:16:DEBUG:>> 4080 | 4 | CChar::CanMoveWalkTo | +0 <-- exception catch point (below is guessed and could be incorrect!)
01:16:DEBUG:>> 4080 | 5 | CChar::CheckValidMove | +0
01:16:DEBUG:>> 4080 | 6 | CPointBase::GetRegion | +0
01:16:DEBUG:>> 4080 | 7 | CSectorBase::GetRegion | +0
01:16:DEBUG:__ thread (4080) __ | # | _____ function _____________ | ticks passed from previous function start ______
01:16:DEBUG:>> 4080 | 0 | CWorld::OnTick | +0
01:16:DEBUG:>> 4080 | 1 | CSector::OnTick | +0
01:16:DEBUG:>> 4080 | 2 | CChar::OnTick | +0
01:16:DEBUG:>> 4080 | 3 | CChar::NPC_OnTickAction | +0
01:16:DEBUG:>> 4080 | 4 | CChar::NPC_Act_Wander | +0
01:16:DEBUG:>> 4080 | 5 | CChar::NPC_WalkToPoint | +0
01:16:DEBUG:>> 4080 | 6 | CChar::CanMoveWalkTo | +0 <-- exception catch point (below is guessed and could be incorrect!)
01:16:DEBUG:>> 4080 | 7 | CChar::CheckValidMove | +0
01:16:DEBUG:>> 4080 | 8 | CChar::CheckValidMove | +0
01:16:DEBUG:>> 4080 | 9 | CWorld::GetHeightPoint | +0
01:16:DEBUG:>> 4080 | 10 | CWorld::GetHeightPoint | +0
01:16:DEBUG:>> 4080 | 11 | CPointBase::GetRegions | +0
01:16:DEBUG:>> 4080 | 12 | CSectorBase::GetRegions | +0
01:16:DEBUG:__ thread (4080) __ | # | _____ function _____________ | ticks passed from previous function start ______
01:16:DEBUG:>> 4080 | 0 | CWorld::OnTick | +0
01:16:DEBUG:>> 4080 | 1 | CSector::OnTick | +0
01:16:DEBUG:>> 4080 | 2 | CChar::OnTick | +0
01:16:DEBUG:>> 4080 | 3 | CChar::NPC_OnTickAction | +0
01:16:DEBUG:>> 4080 | 4 | CChar::NPC_Act_Wander | +0
01:16:DEBUG:>> 4080 | 5 | CChar::NPC_WalkToPoint | +0
01:16:DEBUG:>> 4080 | 6 | CChar::CanMoveWalkTo | +16 <-- exception catch point (below is guessed and could be incorrect!)
01:16:DEBUG:>> 4080 | 7 | CChar::CheckValidMove | +0
01:16:DEBUG:>> 4080 | 8 | CChar::CheckValidMove | +0
01:16:DEBUG:>> 4080 | 9 | CWorld::GetHeightPoint | +0
01:16:DEBUG:>> 4080 | 10 | CWorld::GetHeightPoint | +0
01:16:DEBUG:>> 4080 | 11 | CPointBase::GetRegions | +0
01:16:DEBUG:>> 4080 | 12 | CSectorBase::GetRegions | +0
01:16:DEBUG:__ thread (4080) __ | # | _____ function _____________ | ticks passed from previous function start ______
01:16:DEBUG:>> 4080 | 0 | CWorld::OnTick | +0
01:16:DEBUG:>> 4080 | 1 | CSector::OnTick | +0
01:16:DEBUG:>> 4080 | 2 | CChar::OnTick | +47
01:16:DEBUG:>> 4080 | 3 | CChar::NPC_OnTickAction | +0
01:16:DEBUG:>> 4080 | 4 | CChar::NPC_Act_Wander | +0
01:16:DEBUG:>> 4080 | 5 | CChar::NPC_WalkToPoint | +0
01:16:DEBUG:>> 4080 | 6 | CChar::CanMoveWalkTo | +0 <-- exception catch point (below is guessed and could be incorrect!)
01:16:DEBUG:>> 4080 | 7 | CChar::CheckValidMove | +0
01:16:DEBUG:>> 4080 | 8 | CChar::CheckValidMove | +0
01:16:DEBUG:>> 4080 | 9 | CWorld::GetHeightPoint | +0
01:16:DEBUG:>> 4080 | 10 | CWorld::GetHeightPoint | +0
01:16:DEBUG:>> 4080 | 11 | CPointBase::GetRegions | +0
01:16:DEBUG:>> 4080 | 12 | CSectorBase::GetRegions | +0
01:16:DEBUG:__ thread (4080) __ | # | _____ function _____________ | ticks passed from previous function start ______
01:16:DEBUG:>> 4080 | 0 | CWorld::OnTick | +0
01:16:DEBUG:>> 4080 | 1 | CSector::OnTick | +78
01:16:DEBUG:>> 4080 | 2 | CChar::OnTick | +0
01:16:DEBUG:>> 4080 | 3 | CChar::NPC_OnTickAction | +0 <-- exception catch point (below is guessed and could be incorrect!)
01:16:DEBUG:>> 4080 | 4 | CChar::NPC_Act_Idle | +0
01:16:DEBUG:>> 4080 | 5 | CChar::NPC_LookAround | +0
01:16:DEBUG:>> 4080 | 6 | CChar::NPC_LookAtChar | +0
01:16:DEBUG:>> 4080 | 7 | CChar::CanSeeLOS | +0
01:16:DEBUG:>> 4080 | 8 | CChar::CanSeeLOS | +0
01:16:DEBUG:>> 4080 | 9 | CWorld::GetHeightPoint | +0
01:16:DEBUG:>> 4080 | 10 | CWorld::GetHeightPoint | +0
01:16:DEBUG:>> 4080 | 11 | CPointBase::GetRegions | +0
01:16:DEBUG:>> 4080 | 12 | CSectorBase::GetRegions | +0
01:16:DEBUG:'Tunnel slime' [0f9fce]
01:16:DEBUG:__ thread (4080) __ | # | _____ function _____________ | ticks passed from previous function start ______
01:16:DEBUG:>> 4080 | 0 | CWorld::OnTick | +0
01:16:DEBUG:>> 4080 | 1 | CSector::OnTick | +94
01:16:DEBUG:>> 4080 | 2 | CChar::OnTick | +0
01:16:DEBUG:>> 4080 | 3 | CChar::NPC_OnTickAction | +0
01:16:DEBUG:>> 4080 | 4 | CChar::NPC_Act_Idle | +0
01:16:DEBUG:>> 4080 | 5 | CChar::NPC_LookAround | +0
01:16:DEBUG:>> 4080 | 6 | CChar::NPC_LookAtChar | +0
01:16:DEBUG:>> 4080 | 7 | CChar::OnTrigger | +15 <-- exception catch point (below is guessed and could be incorrect!)
01:16:DEBUG:>> 4080 | 8 | CGFile::Close | +0
01:16:DEBUG:trigger '@NPCLookAtChar' action '77' [034ef1b]
01:16:DEBUG:__ thread (4080) __ | # | _____ function _____________ | ticks passed from previous function start ______
01:16:DEBUG:>> 4080 | 0 | CWorld::OnTick | +0
01:16:DEBUG:>> 4080 | 1 | CSector::OnTick | +94
01:16:DEBUG:>> 4080 | 2 | CChar::OnTick | +0
01:16:DEBUG:>> 4080 | 3 | CChar::NPC_OnTickAction | +0
01:16:DEBUG:>> 4080 | 4 | CChar::NPC_Act_Idle | +0
01:16:DEBUG:>> 4080 | 5 | CChar::NPC_LookAround | +0
01:16:DEBUG:>> 4080 | 6 | CChar::NPC_LookAtChar | +31
01:16:DEBUG:>> 4080 | 7 | CChar::OnTrigger | +0 <-- exception catch point (below is guessed and could be incorrect!)
01:16:DEBUG:>> 4080 | 8 | CGFile::Close | +0
01:16:DEBUG:trigger '@NPCLookAtChar' action '77' [034ef1b]
01:16:DEBUG:__ thread (4080) __ | # | _____ function _____________ | ticks passed from previous function start ______
01:16:DEBUG:>> 4080 | 0 | CWorld::OnTick | +0
-----------------------------------------------
I think that is main information:
1: 4080 | 6 | CChar::CanMoveWalkTo | +16 <-- exception catch point (below is guessed and could be incorrect!)
2: 01:16:DEBUG:trigger '@NPCLookAtChar' action '77' [034ef1b]
3:01:16:DEBUG:'Tunnel slime' [0f9fce]
-----------------------------------------------
1: Sphere ini:
Code:
// Experimental flags
// Flags for options that affect server behaviour and which might affect compatibility
// See the revisions.txt file for more details on this
// EF_DiagonalWalkCheck = 00000001
// EF_UNICODE = 00000002 // No on Linux
// EF_New_Triggers = 00000008
// EF_Intrinsic_Locals = 00000020
// EF_Item_Strict_Comparison = 00000040
// EF_NewPositionChecks = 00000080 // Do not set while server is running !!!
// EF_WalkCheck = 00000100 //Не ставить.
// EF_AllowTelnetPacketFilter = 00000200 // Enables packet filtering for telnet connections as well
// EF_Script_Profiler = 00000400
// EF_Size_Optimise = 00000800
// EF_Minimize_Triggers = 00001000 // Minimize trigger calls (use only 0.51 triggers)
// EF_DamageTools = 00002000 // damage tools (and fire @damage on them) while mining or lumberjacking
// EF_PetSlots = 00004000 // INCOMPLETE YET! DO NOT USE until this warning is removed!
// EF_UsePingServer = 00008000 // Enable the experimental Ping Server (for showing pings on the server list, uses UDP port 12000)
// EF_NPCAct_Triggers = 00010000 // Enable @NPCSpecialAction and @NPCAction triggers (mutual exclusive with EF_Minimize_Triggers)
// EF_NetworkOutThread = 00800000 // Send network data in a separate thread
// EF_Specific = 01000000 // Specific behaviour, not completly tested
Experimental=00000001|00000002|00000008|00000080|08000|010000
-----------------------------------------------
2:
Code:
ON=@NPCLOOKATCHAR
IF !(<ISEVENT.E_NPC_ATTACK>)
IF (<SRC.ISEVENT.E_NPC_ATTACK>)
IF !(<FLAGS>&STATF_PET)
IF (<BRAIN>==BRAIN_MONSTER)
ATTACK <SRC.UID>
ENDIF
ENDIF
ENDIF
ENDIF
-----------------------------------------------
3: Tunnel slime
Code:
[CHARDEF C_TUNNEL_SLIME]
ID=C_SLIME
NAME=Tunnel slime
ARMOR=0
DAM=0
MOVERATE=50
ON=@CREATE
F_NPC_EFFECT
STR=25
DEX=15
INT=0
COLOR=076F
FAME=0
KARMA=-1500
NPC=BRAIN_MONSTER
ON=@DEATH
SERV.NEWITEM=I_specialblood_<EVAL {1 5}>
NEW.COLOR=076F
NEW.P=<EVAL <P.X> + {-1 1}>,<EVAL <P.Y> + {-1 1}>,<P.Z>
NEW.TIMER=<EVAL {4 5}>
SERV.NEWITEM=I_specialblood_<EVAL {1 5}>
NEW.COLOR=076F
NEW.P=<EVAL <P.X> + {-1 1}>,<EVAL <P.Y> + {-1 1}>,<P.Z>
NEW.TIMER=<EVAL {4 5}>
SERV.NEWITEM=I_specialblood_<EVAL {1 5}>
NEW.COLOR=076F
NEW.P=<EVAL <P.X> + {-1 1}>,<EVAL <P.Y> + {-1 1}>,<P.Z>
NEW.TIMER=<EVAL {4 5}>