Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

"Disable outside listens on channel zero" parcel setting

Haravikk Mistral
Registered User
Join date: 8 Oct 2005
Posts: 2,482
06-30-2006 13:23
With the supposed new anti-griefer land tools coming (no outside push and no outside script object rez or such I think), I thought of one other.

Basically the option to disable listens on channel zero for outside scripts would be cool. There was a discussion about disabling them completely, well, this is the better alternative I think :)

This way if you want to use listens on channel zero as a part of a build, but disable them for others, preventing lag caused by them, or more imporantly (IMO) the possibility of things like chat-loggers, imitators and other annoying things that use such listens.
_____________________
Computer (Mac Pro):
2 x Quad Core 3.2ghz Xeon
10gb DDR2 800mhz FB-DIMMS
4 x 750gb, 32mb cache hard-drives (RAID-0/striped)
NVidia GeForce 8800GT (512mb)
Seronis Zagato
Verified Resident
Join date: 30 Aug 2005
Posts: 454
06-30-2006 14:53
As it is currently even FULL no-script settings dont disable already actively running listeners. This needs fixed first. Only then can your proposed idea be effective.
_____________________
From: Johnny Mann
Just cause SL redefines what a videogame can be doesnt mean it isnt a game.
From: Ash Venkman
I beat SL. (The end guy is really hard.)
Angel Fluffy
Very Helpful
Join date: 3 Mar 2006
Posts: 810
06-30-2006 18:32
Both are good ideas :)
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
This won't solve anything...
06-30-2006 19:43
You know what will happen, the bad guys will just start listening on channels 1-10 and start announcing who's controlling what scripts on low level chat. "Oooh, so-and-so just turned off his Xcite!"

The solution to griefers is for Linden labs to start whacking them properly, but it seems LL is more interested in making things easier for them these days. :)
Haravikk Mistral
Registered User
Join date: 8 Oct 2005
Posts: 2,482
07-01-2006 03:25
Badly chosen channels for such things aren't really my concern, all my stuff uses big random numbers and gestures or HUD attachments :)
But normal chat is the biggest laggy one.

Probably shouldn't have used the word griefer actually, more just to stop people from coming in with fifty attachments/followers all listening on channel zero to a busy area.
_____________________
Computer (Mac Pro):
2 x Quad Core 3.2ghz Xeon
10gb DDR2 800mhz FB-DIMMS
4 x 750gb, 32mb cache hard-drives (RAID-0/striped)
NVidia GeForce 8800GT (512mb)
Aodhan McDunnough
Gearhead
Join date: 29 Mar 2006
Posts: 1,518
07-01-2006 03:42
Lag aside, I never liked channel 0 listens. I don't want people to think I'm typing a response on chat when I'm actually just typing a channel 0 command.

I also like being able to command my scripts without anyone even knowing that I'm typing a command.

It's really bad aesthetic on the part of the scripters to make channel 0 listens for things that can be put on another channel.

I guess that many are too lazy to add 3 keystrokes (assuming a 2 digit channel number) when they type.

But really, the extra effort is worth it since your avatar won't do the type-tak-tak-tak-tak animation whenever you do a command.

Yeah I guess a parcel ban on channel 0 listens will help somewhat. Maybe it will knock some sense into scripters.
Seronis Zagato
Verified Resident
Join date: 30 Aug 2005
Posts: 454
07-01-2006 16:24
Everytime i see someone type /ao on i tell them to write the scripter and ask for a non broken copy that doesnt intentionally lag the server. Personally I would like channel zero listen blocks as a parcel flag MORE than the push controls im so adamant about (mostly because its my proposal).

Do you have a proposal or know one for increasing channel controls on land?
_____________________
From: Johnny Mann
Just cause SL redefines what a videogame can be doesnt mean it isnt a game.
From: Ash Venkman
I beat SL. (The end guy is really hard.)
Haravikk Mistral
Registered User
Join date: 8 Oct 2005
Posts: 2,482
07-01-2006 17:32
Not at the moment, I don't have any votes to create one with :(
Pretty much any controls along these lines would be great really.
_____________________
Computer (Mac Pro):
2 x Quad Core 3.2ghz Xeon
10gb DDR2 800mhz FB-DIMMS
4 x 750gb, 32mb cache hard-drives (RAID-0/striped)
NVidia GeForce 8800GT (512mb)
Angel Fluffy
Very Helpful
Join date: 3 Mar 2006
Posts: 810
07-02-2006 12:10
To combat listens on channel 0, I'm considering writing a script that listens on channel 0, using filters so it only picks up messages starting with "/", and certain known commands, like "draw". It has a very simple response to these too. If it is an avatar typing the bad message, it IMs them and tells them to stop using listens on channel 0. Then it adds their name to an internal list. Next time they do it, it knows it's already warned them about this before.... and so ejects them, and adds them to a second list. If they come back and do it again they get banned.

Automatic enforcement.

I don't want to resort to this, but I probably will use it now - as using one channel 0 listener I can stop many people using channel 0 listeners, which overall is a net gain.
I probably won't turn on the banning options, though, or if I do I'll set it to something small, like an hour...

A much better solution would be an "any script on this parcel that listens on channel 0 is stopped from running *at all*" flag. Something that causes the little 'error' icon to appear over the script, and a "Error: parcel does not allow listens on channel 0, ending script" message to go out to those who have elected to see error messages.

That would help educate people that channel 0 listeners are bad, without landowners having to use them too to stop people. :)
Draco18s Majestic
Registered User
Join date: 19 Sep 2005
Posts: 2,744
07-02-2006 15:07
Add "ao" and "bling" to that list.
ao off / ao on
bling off / bling on
are fairly common.
Haravikk Mistral
Registered User
Join date: 8 Oct 2005
Posts: 2,482
07-02-2006 15:13
Well the reason for it to be outside listens only is that you may have some legitimate use for them but don't want lag interfering? For example, my apartment scripts allow you to enter names for allowed lists, and for setting the title above your door. It uses a temporary, single user channel zero listen, which is easy to use and efficient, much more friendly than saying "Type /222 <your title>" to new players to whom the apartments are often appealing.

I would like to have this functionality intact, as I at least know I'll be using it responsibly, but have all others banned.

However Angel, your script sounds like it becomes close to harrassment, that and IMs delay your script 2 seconds, and list manipulation isn't particularly efficient, plus many channel zero listens don't require the / in front of them. And even then, it'd only catch people who are using such attachments, whereas the act of wearing them is the real crime (well, actually coding them in the first place), and wouldn't be detected, yet would still be listening to every chat message said. Even filtered channel zero listens need to be checked for a match when something is said.
_____________________
Computer (Mac Pro):
2 x Quad Core 3.2ghz Xeon
10gb DDR2 800mhz FB-DIMMS
4 x 750gb, 32mb cache hard-drives (RAID-0/striped)
NVidia GeForce 8800GT (512mb)
Angel Fluffy
Very Helpful
Join date: 3 Mar 2006
Posts: 810
07-02-2006 15:56
From: Draco18s Majestic
Add "ao" and "bling" to that list.
ao off / ao on
bling off / bling on
are fairly common.

added.

From: Haravikk Mistral
Well the reason for it to be outside listens only is that you may have some legitimate use for them but don't want lag interfering? For example, my apartment scripts allow you to enter names for allowed lists, and for setting the title above your door. It uses a temporary, single user channel zero listen, which is easy to use and efficient, much more friendly than saying "Type /222 <your title>" to new players to whom the apartments are often appealing.

Is saying "type <your title> in chat" really much easier then saying "type /222 <your title>" in chat?

From: Haravikk Mistral

I would like to have this functionality intact, as I at least know I'll be using it responsibly, but have all others banned.

You're free to leave channel 0 listeners enabled on your land, then?

From: Haravikk Mistral

However Angel, your script sounds like it becomes close to harrassment,

I run some very popular areas, where a lot of people complain about lag. I'm doing many things to address the lag issue, and this is one of them. It's my land, and my residents are complaining about lag. In that situation, it's reasonable to ask people not to wear laggy attachments.
From: Haravikk Mistral

that and IMs delay your script 2 seconds,

Not a problem.
From: Haravikk Mistral

many channel zero listens don't require the / in front of them.

I know. I'm going to act on :
* anything starting with "/" except "/me" commands
* anything starting with "."
* anything starting with "!"
* a short list of well known commands (like "ao ____", "bling ___" and such)

From: Haravikk Mistral

And even then, it'd only catch people who are using such attachments, whereas the act of wearing them is the real crime

Correct, but we can't do anything about people wearing them.
Once they've been caught using them once or twice though, they will hopefully turn them off.
From: Haravikk Mistral

(well, actually coding them in the first place),

Unfortunately we have even less chance of stopping that :)
From: Haravikk Mistral

and wouldn't be detected, yet would still be listening to every chat message said. Even filtered channel zero listens need to be checked for a match when something is said.

I know. But if my script listens, to, say, 3 prefixes.... and 10 common chat commands, then it only takes a very small number (maybe 2) people to remove their lag-causing scripts because of this for the overall lag due to these listens to be reduced.
If one chan0 listen stops several other chan0 listens running, you end up ahead in the lag stakes.

CODE

// Angel Fluffy's public domain anti-channel-0-listeners, lag-reduction script
// This script causes some lag (by listening to public chat and scanning for various text strings), however by telling other people who are using scripts that listen on channel 0 to turn them off, I hope the overall effect is to *reduce* the number of channel 0 listening scripts, and thus, to reduce overall lag.


// CONFIG

list badwords = [
"help", // lots of scripts listen for this
"anims", // many animation-scripts listen for this
"commands", //
"ao on", // many animation overriders use this
"ao off", // "
"bling on", // urgh, flashy particle effects *and* channel-0-listen induced lag...
"bling off",// "
"draw", // many weapons/swords use this to draw the weapon
"sheath", // "
"nadu", // common commands for scripted BDSM-collars. Thankfully, most don't listen on channel 0 by now.
"tower", // "
"leash", // "
"lock", // "
"unlock", // "
"owners" //"
];

// CODE BELOW HERE

string prefix;


default
{
state_entry()
{
integer command_listen;
llListenRemove(command_listen);
command_listen = llListen(0, "", NULL_KEY, "");
}
listen( integer channel, string name, key id, string message)
{
prefix = llGetSubString(message,0,0); // Pull the first 5 letters to check against later
if (
((prefix == "/") && (llGetSubString(message,0,2) != "/me")) ||
prefix == "." ||
(llListFindList(badwords,[message]) != -1)
)
{
llInstantMessage(id,llKey2Name(id) + ", you seem to be trying to issue commands (like '"+message+"') to a script that listens to public chat. Scripts that accept commands over public chat cause a lot of lag in SL. Please turn the script off, or stop it listening to public chat.");
}
}
}
_____________________
Volunteer Portal (FAQs!) : https://wiki.secondlife.com/wiki/Volunteer_Portal

JIRA / Issue Tracker : http://jira.secondlife.com (& http://tinyurl.com/2jropp)
Seronis Zagato
Verified Resident
Join date: 30 Aug 2005
Posts: 454
07-02-2006 20:03
Need to break up your list browsing to seperate blocks. there is no short circuiting in boolean expressions in LSL. Example


if( FALSE && neverDo() )
{
//
}}


in C/C++/Java neverDo() function would literally never get called. Because both statements must evaluate to true, and the first one is not, real languages would stop evaluation and move on. LSL does not. It will still perform neverDo(). Similarly your if check will always perform the list evaluation no matter what the prefix is, making it ineffecient. I'll rewrite later tonight if no one else beats me to it.
_____________________
From: Johnny Mann
Just cause SL redefines what a videogame can be doesnt mean it isnt a game.
From: Ash Venkman
I beat SL. (The end guy is really hard.)
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
07-03-2006 16:41
I got tired of listening to "Carbon Rod All Go" at telehubs.

Instead of saying "objects shouldn't be able to chat on zero", I wrote and gave away a flight script that didn't have the problem.

If it bothered me enough, I'd do the same for the common "titler".

If it bothers you, provide people a better tool. Don't try and take away useful tools that great objects like Starax' Wand use effectively.
Draco18s Majestic
Registered User
Join date: 19 Sep 2005
Posts: 2,744
07-03-2006 16:43
What about the Mutil Tool. I don't even know what it DOES, much less how to code it so that ever 30 minutes it spams the chat with an advertisement for itself.