Subject: [Nel] invisible users

From: Michael Warnock <[email-masked]>
Date: Sat, 23 Feb 2002 12:36:42 -0800

greetings,

The engine is coming along beautifully! Thanks again for all your hard work.

I've been experiencing a hard-to-trace problem for a while which I thought was in our own code, but which I now have 
reason to believe is in yours.
Sometimes, (Not Always!) the first user to log on after a fresh full services restart cannot see the second.  It seems the 
problem is with new players not recieving the data for the old ones- it happens with not so fresh servers more often and 
sometimes with greater numbers of users, though the 2nd and 3rd can usually see eachother.  I'm pretty familiar with the 
frontend and position service code having mostly rewritten them for our own ends and added several services and iI 
cant find any bugs in it.  This problem happens with unmodified nel and snowballs2 code.  Has anyone else 
experienced this?
Here is some log from the frontend service containing the only error message I could find that I thought might relate to 
the matter:
INF 1272 main.cpp 540 : The client with uniq Id 2 is connected
INF 1272 main.cpp 561 : Sent IDENTIFICATION message to the new client
INF 1272 main.cpp 216 : Received ADD_ENTITY from the client
INF 1272 main.cpp 255 : Sent ADD_ENTITY message to all the connected clients
WRN 1476 sock.cpp 117 : Exception will be launched: Socket error: Connection closed (0)
INF 1272 main.cpp 576 : A client with uniq Id 2 has disconnected
WRN 1272 unified_network.cpp 830 : HNETL5: can't find service WS to send message CC     <-- could this be it?
INF 1272 main.cpp 591 : Sent REMOVE_ENTITY message to the position manager.

I can provide all the service's logs if anyone wants- I just didnt want to flood the mailing list.

Michael Warnock
Total hard disk crash - O pestilence!
Now is the winter of our disk contents!

---

From: Loic Dachary <[email-masked]>
Date: Mon, 25 Feb 2002 10:59:09 +0100

> want to flood the mailing list.

	It would be a lot easier if you provide the code you wrote.
Guessing is less efficient than debugging ;-) Where can I download it ? 

	Cheers,

-- 
Loic   Dachary         http://www.dachary.org/  [email-masked]
12 bd  Magenta         http://www.senga.org/      [email-masked]
75010    Paris         T: 33 1 42 45 07 97          [email-masked]
        GPG Public Key: http://www.dachary.org/loic/gpg.txt

---

From: "Vianney Lecroart" <[email-masked]>
Date: Mon, 25 Feb 2002 13:51:57 +0100

Hi Michael,

> Sometimes, (Not Always!) the first user to log on after a fresh full
services restart cannot see the second.  It seems the
> problem is with new players not recieving the data for the old ones- it
happens with not so fresh servers more often and
> sometimes with greater numbers of users, though the 2nd and 3rd can
usually see eachother.  I'm pretty familiar with the
> frontend and position service code having mostly rewritten them for our
own ends and added several services and iI
> cant find any bugs in it.  This problem happens with unmodified nel and
snowballs2 code.  Has anyone else

Hum, quite strange. I know a bug in the Net lib that happens very rarely.
Sometimes, the lib seems to lost some messages (in TCP, yes... we know...).
It's very very strange we can't reproduce the bug. We add a incremental
number in each packet to see when we lost something, and when it happens, we
log a nlwarning and should displays some thing like : "ERR: stop in the
buffer %u and should be %u" or "WRN: LNETL1: !!!LOST A MESSAGE!!! I received
the message number %u but I'm waiting the message number %u (cnx %s)"
It's perhaps a lost in a stack during thread communication but anyway, it s
happen very rarerly and we ll have to fix that quickly when we'll found a
way to reproduce the problem.
If you have this log message, your problem is this one, otherwise, I don't
really know what it could be. I'll create a little stress test that
connect/disconnect some clients, some services automatically with a front
end and a login system to see the robustness of the system.

> WRN 1272 unified_network.cpp 830 : HNETL5: can't find service WS to send
message CC     <-- could this be it?

WS is welcome service, it works with the Login System to identify players
account. The message says that you didn't launch the WS so the front end
can't send info to it.
(I don't think that problem comes from that)

Vianney Lecroart
---
lead network programmer / nevrax.com
icq#: 6870415
homepage: http://ace.planet-d.net
www.geekcode.com: GCS/E d- s+++: a-- C+++$ UL++ P- L+++>+$ E+>- W++ N+ o? K-
w++$ O- M- V- PS- PE? Y PGP t 5? X+ R- tv++ b- DI D+ G e++ h+ r-- y?

---

From: Robert Bjarnason <[email-masked]>
Date: Mon, 25 Feb 2002 15:06:48 -0800

Hi Loic,

Monday, February 25, 2002, 1:59:09 AM, you wrote:
LD> It would be a lot easier if you provide the code you wrote.
LD> Guessing is less efficient than debugging ;-) Where can I download it ? 

Our code tree is at http://www.sourceforge.net/projects/bang/.
The service in question is the player service.  We have figured
out a part of the problem, I don't think Michael has committed
the fix yet, we recently started working on this code-base
again...  We basically started from scratch with the Snowballs
services and are re-implementing features... We want to move
our game-mech system over to the NeL agent system, hopefully
we'll be able to do that soon.

Warm regards,
Robert Bjarnason
InOrbit Entertainment, Inc.

---

From: Robert Bjarnason <[email-masked]>
Date: Mon, 25 Feb 2002 15:06:48 -0800

Hi Loic,

Warm regards,
Robert Bjarnason

---

From: Loic Dachary <[email-masked]>
Date: Mon, 25 Feb 2002 18:04:29 +0100

> we'll be able to do that soon.

	Thanks for the pointer. I started to compile it and ran into
many minor compilation issues (see the patch below). When the server
refused to link I started to ask myself if I was using the proper code
base ;-) It looks like part of the client/src should be included in a
support library so that the server can use it. Are you running into
the same problems or am I missing something ?

cvs -d :pserver:[email-masked]:/cvsroot/bang co warpstorm_alpha

	My configuration is GNU/Linux, STL-4.5, today's nel CVS,
gcc-2.95.4, ATI Radeon 7500 / 64Mb, linux-2.4.17 (Radeon DRM),
XFree-4.2.

	Also, I guess that I'll need some sample data files at some
point. Could you tell me where they can be found ?

	Cheers,

You'll have to copy the acinclude.m4 file from snowballs2 and run
the sh bootstrap script again.

---

From: Robert Bjarnason <[email-masked]>
Date: Tue, 26 Feb 2002 13:22:02 -0800

Hi Loic,

LD> Thanks for the pointer. I started to compile it and ran into
LD> many minor compilation issues (see the patch below). When the server
LD> refused to link I started to ask myself if I was using the proper code
LD> base ;-) It looks like part of the client/src should be included in a
LD> support library so that the server can use it. Are you running into
LD> the same problems or am I missing something ?

Actually we just started to work on this codebase again,
last commit was over 3 months ago when things were
a little different ;)  Thanks for the patch :)
Michael is working on a re-implementation of the
server code-base and will commit soon...

And yes we need to separate classes that are common
with the client and server, those classes are mostly
game-mech related, definition of dynamic objects,
weapons and stuff like that.  Next step for us is to
create those using the NeL level design tools and
agent system.

When we were last working on this demo, we didn't have
the tools to create the PACS data for our Landscape, so
the landscape is from Snowballs.

LD> Also, I guess that I'll need some sample data files at some
LD> point. Could you tell me where they can be found ?

We'll put the content that is needed in addition to the
snowballs landscape online soon.

Thanks,
Robert