diff options
author | neodarz <neodarz@neodarz.net> | 2018-08-11 20:21:34 +0200 |
---|---|---|
committer | neodarz <neodarz@neodarz.net> | 2018-08-11 20:21:34 +0200 |
commit | 0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch) | |
tree | 2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /pipermail/nel/2001-July/000470.html | |
download | nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip |
Initial commit
Diffstat (limited to '')
-rw-r--r-- | pipermail/nel/2001-July/000470.html | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/pipermail/nel/2001-July/000470.html b/pipermail/nel/2001-July/000470.html new file mode 100644 index 00000000..74ca6758 --- /dev/null +++ b/pipermail/nel/2001-July/000470.html @@ -0,0 +1,129 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> +<HTML> + <HEAD> + <TITLE> [Nel] Snowballs building problem</TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:miller%40nevrax.com"> + <LINK REL="Previous" HREF="000469.html"> + <LINK REL="Next" HREF="000471.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[Nel] Snowballs building problem</H1> + <B>Daniel Miller</B> + <A HREF="mailto:miller%40nevrax.com" + TITLE="[Nel] Snowballs building problem">miller@nevrax.com</A><BR> + <I>Tue, 3 Jul 2001 10:51:48 +0200</I> + <P><UL> + <LI> Previous message: <A HREF="000469.html">[Nel] Snowballs building problem</A></li> + <LI> Next message: <A HREF="000471.html">[Nel] Snowballs building problem</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#470">[ date ]</a> + <a href="thread.html#470">[ thread ]</a> + <a href="subject.html#470">[ subject ]</a> + <a href="author.html#470">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>Your best bet for now is to look at the layer 4 code sample +(<A HREF="http://www.nevrax.org/cvs/cvsweb.cgi/code/nel/samples/net_layer4">http://www.nevrax.org/cvs/cvsweb.cgi/code/nel/samples/net_layer4</A>) + +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: <A HREF="mailto:nel-admin@nevrax.org">nel-admin@nevrax.org</A> [mailto:<A HREF="mailto:nel-admin@nevrax.org">nel-admin@nevrax.org</A>]On Behalf Of +Yann Morvan +Sent: Monday, July 02, 2001 8:05 PM +To: <A HREF="mailto:nel@nevrax.org">nel@nevrax.org</A> +Subject: Re: [Nel] Snowballs building problem + + +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 + +_______________________________________________ +Nel mailing list +<A HREF="mailto:Nel@nevrax.org">Nel@nevrax.org</A> +<A HREF="http://www.nevrax.org/mailman/listinfo.cgi/nel">http://www.nevrax.org/mailman/listinfo.cgi/nel</A> + + +</pre> + + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI> Previous message: <A HREF="000469.html">[Nel] Snowballs building problem</A></li> + <LI> Next message: <A HREF="000471.html">[Nel] Snowballs building problem</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#470">[ date ]</a> + <a href="thread.html#470">[ thread ]</a> + <a href="subject.html#470">[ subject ]</a> + <a href="author.html#470">[ author ]</a> + </LI> + </UL> +</body></html> |