Subject: Re: [Nel] Congratulations + concerns

From: Michael Warnock <[email-masked]>
Date: Sat, 30 Jun 2001 16:10:44 -0700

6/30/2001 3:51:13 PM, [email-masked] wrote:

>
>Mensaje citado por: Michael Warnock <[email-masked]>:
>
>> By way of introduction, I am working on a couple of games making use of
>> nel- commercial games.  In addition to selling our content and service,
>> we consider our game rules our ip and there are a couple reasons why
>> they can be implemented without violating the gpl (which i consider
>> scripture).  First of all our rules will be in a brand new specification
>> language in 
>> their own files or database tables and wont be compiled or linked at
>> all.  But should we run into speed problems for not hardcoding
>> everything, we're still not required to release anything- you can quite
>> legally use gpl'ed code in your own, unreleased programs- and why should
>> we release the server side code?
>
>I would love that you reply to this answer to me and to Nel guys that are so 
>hard working on such a good project.
>
We're quite grateful to them- we've even had them over to our place in san francisco, but it just so happens that they are also at work on a lot of nel based code that they have not released- and they are by no means required to- it is only in the event of distributing binaries that you must distribute source.

>IMO In the same moment that you make public your server you are making it public 
>and you should release it. But I am not a lawyer.
>
if it works out to seperate our rules in an external data format- because that really is what heaps and heaps of content specific rules are, then we might well release our server code (and we will of course release any changes we make to the basic services), but though ianal, I'm quite sure on the point of not being required to release internal software that makes 
use of gpl'ed code and I really don't believe that even mr stallman would object given the situation- its quite a step for a game company to share source at all and it has been no small hinderance in our search for funding, nevertheless we've stuck by the gpl.

michael warnock
InOrbit Entertainment

---

From: [email-masked] (Debian User)
Date: Sun, 1 Jul 2001 11:32:23 +0200

> >and you should release it. But I am not a lawyer.

My understanding of the GPL is that your do not have to give source code
if you do not "give" binary. This is a concern to Mr Stallman because
of the comming Application Services Providers (or that kind of Three Letters
 Acronym). This should be fixed with the upcoming v 3 of the GPL.

Neither Am I A L., but for the rules parts, my 2 euros :
the reverse engineering part is not that relevent because you could
apply to any computer prog. I know that people fitted archmage models in
matlab, but with LARGE rule sets, I don't think it's realistic.
I think it could be possible to use propritery code with GPL code 
using a LGLP 'hook' layer. But I'm not sure...

To be on thesafe side, GPL and non-GPL code should not be in the same 
adress-space (ie CORBA).You have to pay an efficiency penalty to keep your code
non-GPL and that's the intended behaviour IMHO.

For thoses who think GPL is worthless ("a joke") because you can steal / use
the code anyway, I think you are missing the point. What matter is not the
software (state of CVS at time t), but the ongoing project. That's why
there are VERY few forks on GPL land. Use the code and it's ok, the project
is working for you. Take the code, change it, and then YOU have to handle
all the evolution, or keep track of changes (what if they are not compatible
with yours ?). You can certainly catch-up very easly with a GPL project, and
it's R&D is available for everyone to use (great karma IMHO), but the
power of the successful GPL project is not in the code, but in the community
behind it. (Of course, both are linked, hard to attract people with ugly code)

I really hope that NeL will build such a dedicated and helpful community.
(Code quality is there IMHO, for network design etc, I'not qualified...)

Bernard

---

From: Yann Morvan <[email-masked]>
Date: Sun, 1 Jul 2001 12:34:04 -0400

I've managed to build nel correctly, but
client.cpp in snowballs/client/src/ includes
msg_socket.h and local_area.h from nel/net/
and those files are nowhere to be found in the whole
code tree. I've tried to comment the includes out
but they are indeed needed. Can anybody help ?
Thanks in advance,

	Yann

---

From: "Valerio Santinelli" <[email-masked]>
Date: Mon, 2 Jul 2001 09:10:47 +0200

The Snowballs code is outdated. You've got to wait till something like
September for a working version of Snowballs.
That's due to the fact that people at Nevrax rewrote lots of code since the
last release of Snowballs.

--
Valerio Santinelli
http://www.digisoft-multimedia.it/

----- Original Message -----
From: "Yann Morvan" <[email-masked]>
To: <[email-masked]>
Sent: Sunday, July 01, 2001 6:34 PM
Subject: [Nel] Snowballs building problem

> _______________________________________________
> Nel mailing list
> [email-masked]
> /mailman/listinfo.cgi/nel
>

---

From: Cedric Valignat <[email-masked]>
Date: Mon, 2 Jul 2001 18:20:56 +0200

Hi Yann,

Nel changeds a lot since we wrote Snowballs. If you want compile it, you should
compile the NeL source code provided with the Snowballs source code on
nevrax.org :

   /download/snowballs_src_0_1.zip
or
   /download/snowballs_src_0_2.tar.gz

Have fun :-)

---

From: Cedric Valignat <[email-masked]>
Date: Mon, 2 Jul 2001 19:04:57 +0200

Hi,

> September for a working version of Snowballs.

In fact, the new Snowballs, which is under work, should be done for the end
of this month, i'm actually working on it ;-)

I'm putting a lot of comments to explain how to use NeL, so Snowballs should
look like to some kind of NeL tutorial ... at least i'm going to try to do my
best in that way :-)

It will be done in 2 mains part : the client and the shard side (with several
services like a Frontend, a Chat service, a Score service, etc ...) so the
server structur will show how we design NeL to be used.

Have fun ...

Cedric.

---

From: Yann Morvan <[email-masked]>
Date: Mon, 2 Jul 2001 14:04:32 -0400

That was exactly why I wanted to have a look at Snowballs.
The point I was particularly interested in was the mecanism
used by the server to identify a player's action and call the
matching piece of code, and how to define those "pieces of code".
I've compiled the documentation, so I'll just have to look at it,
but if you can think of informations I may have troubles to find,
don't hesitate to tell me about it.

	Yann

---

From: "Daniel Miller" <[email-masked]>
Date: Tue, 3 Jul 2001 10:51:48 +0200

Your best bet for now is to look at the layer 4 code sample
(/cvs/cvsweb.cgi/code/nel/samples/net_layer4)

In this example the 'client' sends messages to the 'frontend', the
'frontend' treats these messages and sends them to the 'ping service'. The
'ping service' receives messages from the 'frontend', treats them and sends
back new messages. The 'frontend' receives messages from the 'server',
treats them and dispatches new messages to the 'client'...

The following chunks of code in the 'frontend' is the key. You can extend
the callback arrays to include messages for all the actions that the player
can send to the shard:

/*
 * Callback array for messages received from a client
 */
TCallbackItem CallbackArray[] =
{
        { "PING", cbPing }        // when receiving a "PING" message, call
cbPing()
};

/*
 * Callback array for message received from the ping service
 */
TCallbackItem PingServiceCallbackArray[] =
{
        { "PONG", cbPong }        // when receiving a "PONG" message, call
cbPong()
};

Snowballs, being based on an older version of NeL, is far less clean - the
callback table contains a mixture of admin messages (such as "C" and "D"),
and game messages (such as "PAN" and "SHO"). Otherwise the principles are
the same.

// Callback array as a server
TCallbackItem CallbackArray [] =
{
        { "ES", cbServerProcessEntityState },
        //{ "BT", cbSpawnBot },
        { "C", cbConnect },
        { "D", cbDisconnect },
        //{ "RST", cbResetServer },
        { "NAM", cbAssignName },
        { "PAN", cbPan },
        { "SHO", cbShoot },
        { "RMW", cbProcessRemoveWeapon },
        { "AUT", cbWelcome },
        { "DUMP", cbDumpState },
        { "CHAT", cbChat },
        { "PING", cbPing },
        { "PONG", cbPong }
        //{ "ACC", cbGiveAccess } // this is for the test client. Remove it
for a real use or any client can connect with any password !
};

-----Original Message-----
From: [email-masked] [mailto:[email-masked]]On Behalf Of
Yann Morvan
Sent: Monday, July 02, 2001 8:05 PM
To: [email-masked]
Subject: Re: [Nel] Snowballs building problem

	Yann

---

From: "Valerio Santinelli" <[email-masked]>
Date: Tue, 3 Jul 2001 12:29:44 +0200

Go Cedric, go! We're all with you :)

---

From: Cedric Valignat <[email-masked]>
Date: Tue, 3 Jul 2001 14:31:09 +0200

> Go Cedric, go! We're all with you :)

Thanks a lot Valerio, that cheers me up :-)