Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

non-laggy, secure object communication?

Sardonicus Jacobus
Registered User
Join date: 5 Feb 2007
Posts: 128
10-28-2007 10:24
Hello,

I am making a simple game to help me learn scripting. The game is based on Tag and uses a title attachment and a HUD. When the player who is "it" clicks on someone's titler it checks to see if they are in range and if they are they become "it" and the texture of the titler changes accordingly.

Currently I have it set up so that the game objects listen and speak on a channel. The HUD parses incoming messages, all of which start with the UUID of the player initiating the message. If the UUID of the message is the same as the UUID of the HUD owner, then it processes the message.

For example: So if Bob has a UUID of 3 (just a simple example here, don't want to come up with a real 36 character UUID :P) and clicks on Joe's (UUID 4) titler, Joe's titler sends a message on channel 47. Bob's HUD checks the message to see if the UUID at the start of the message is 3. If it is, it would then see if Joe is in range. If he is, Joe is now "it" and the texture of his titler changes. Bob's titler texture also changes as he is no longer "it".

Phew! Ok, here are my questions:

1) Is this going to be too laggy? If so, is there a better way to do it? My main concern is that each HUD has to at least parse every incoming message. It won't have to do anything else unless it hits a match, but it will have to do that anytime someone in range clicks on someone's titler. My plan is to use llWhisper since that keeps the range down to a 10m sphere and then find some other way to check to see if they are in range for the "tag".

2) How can I protect the game against griefers? One thing I thought of is to have the game use a random (non-zero) channel for each new game, but I am not sure how to authenticate communications between the game objects. I could have each game use a random "game id" but anyone who finds the game channel could easily grab that.

Are there any standard methods of securing comms between objects?

Thanks in advance for any advice you can provide! =D

SJ
Jesse Barnett
500,000 scoville units
Join date: 21 May 2006
Posts: 4,160
10-28-2007 10:50
with 4 billion channels to use it isn't very easy to find the game channel.

You can also tighten up the listen so that the huds only listen to traffic from "titler" for example.
_____________________
I (who is a she not a he) reserve the right to exercise selective comprehension of the OP's question at anytime.
From: someone
I am still around, just no longer here. See you across the aisle. Hope LL burns in hell for archiving this forum
Ordinal Malaprop
really very ordinary
Join date: 9 Sep 2005
Posts: 4,607
10-28-2007 11:08
I made a post on my own journal regarding secure object communications recently, with an example system, which you might find interesting, particularly the comments:

http://ordinalmalaprop.com/engine/2007/10/23/secure-inworld-password-nonsense/

As usual it depends on how far people are willing to go. If there is any money involved, someone will use a channel-scanner, believe me, and they can be effective.
_____________________
http://ordinalmalaprop.com/forum/ - visit Ordinal's Scripting Colloquium for scripting discussion with actual working BBCode!

http://ordinalmalaprop.com/engine/ - An Engine Fit For My Proceeding, my Aethernet Journal

http://www.flickr.com/groups/slgriefbuild/ - Second Life Griefbuild Digest, pictures of horrible ad griefing and land spam, and the naming of names
Osgeld Barmy
Registered User
Join date: 22 Mar 2005
Posts: 3,336
10-28-2007 11:09
From: Sardonicus Jacobus

My plan is to use llWhisper since that keeps the range down to a 10m sphere and then find some other way to check to see if they are in range for the "tag".


just so you know its 10m radius, which makes a 20m sphere
Sardonicus Jacobus
Registered User
Join date: 5 Feb 2007
Posts: 128
10-28-2007 11:34
From: Osgeld Barmy
just so you know its 10m radius, which makes a 20m sphere


doh, that is what I meant, thanks for pointing that out. :)