anyone knows this error on frikbot?

Discuss anything not covered by any of the other categories.
Post Reply
lukeyuan
Posts: 10
Joined: Sat Oct 30, 2004 5:48 am

anyone knows this error on frikbot?

Post by lukeyuan »

I run frikbot firstly on server and then ask human players to connect to it. when the number of human players arrives 7, the server crashes and shows the error below
---------------------------------------------------------------------------------------
GOTO branch 10
INDIRECT 3560(e)entity 2 154(weapon).weapon 3564(???)
EQ_F 3564(???) 3057(OPT_SAVEBOTS) 1.0000 3564(???)
IFNOT 3564(???) branch 3
ADD_F 3561(sz) 28.0000 318(TE_LAVASPLASH) 10.0000 3561(sz)
frikbot/bot_fight.qc : bot_size_player : statement 38
frikbot/bot_fight.qc : bot_dodge_stuff : statement 151
frikbot/bot_ai.qc : BotAI : statement 118
frikbot/bot_phys.qc : PostPhysics : statement 101
runaway loop error
Host_Error: Program error
Host_ShutdownServer: NET_SendToAll failed for 12 clients
--------------------------------------------------------------------------------------
so I asked the developer of the server, he tells me something wrong with the frikbot. And I also found out the place where it crashes, in the networking code,
===================================
while (1)
{
st++;
if (++profile > 1000000) // LordHavoc: increased runaway loop limit 10x
{
pr_xstatement = st - pr_statements;
PR_RunError ("runaway loop error");
}
===========================================
That means the human connection causes the deadlock. but the root is from the frikbot. how to solve this problem?
thanks
Spike
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK
Contact:

Post by Spike »

The crash there can happen on quakeworld servers when the server wipes the player entity before the next player joins. It's not normally an issue with NQ servers... Maybe DarkPlaces tried to be cleaner than normal NQ engines and resulted in breaking FrikBots... :/

I know that the QW scenario requires a player joining a server and being automagically allocated the same client slot that's being used by a player.
Post Reply