User Experience Interest Group/Transcripts/2009-08-06

== Topic & Summary ==
User Experience Interest Group Discussion for August 06, 2009.
Topic: Griefer-Proofing the Viewer.
=== Topic Announcement ===
“We'll be discussing ways to make the SL viewer more resistant to griefers. Some aspects of this topic that we could focus on are:
 
* Robustness — Making the viewer less susceptible to exploits that allow griefers to crash or overload the user's viewer, e.g. with excessive permission dialogs.
* Defense — Providing defenses against common types of attacks, and reducing the severity of disruption that a griefer can cause the user.
* Recovery — Making it easier for users to recover from griefer attacks and get back to what they were doing.”
=== Summary ===
No summary is yet available for this meeting. Please edit this page to add one.
== Transcript ==
[15:11]	Jacek Antonelli: 	Today's topic is griefer-proofing the viewer. In other words, changes and fixes to the viewer to help users protect themselves against griefing
[15:11]	Charlette Proto: 	hehe did you learn from me morgaine
[15:11]	Morgaine Dinova: 	Oooh, great topic
[15:12]	Morgaine Dinova: 	Charlette: seems top be happening more to me these days, but it's not intentional
[15:12]	Charlette Proto: 	could the viewer thottle info eg repeated server messages like missing asset?
[15:13]	Morgaine Dinova: 	Could anyone who knows the full score describe what defenses currently exist? I know very little about the topic
[15:13]	Jacek Antonelli: 	Three main aspecs of this that I identified are Robustness (making the viewer less susceptible to crashes), Defense (providing defenses against common attacks, and limiting the damage they can do), and Recovery (helping users recover quickly after an attack, so they don't get disrupted long)
[15:14]	Jacek Antonelli: 	So, we can talk about any/all of those. Or other things, if you think of them
[15:14]	Morgaine Dinova: 	Well I'd like some info on what we have currently
[15:14]	Jacek Antonelli: 	Sure
[15:15]	Armin Weatherwax: 	hm. one thing is the question: who is a griefer? the one who is grief to me or the one who intends to be so?
[15:16]	Morgaine Dinova: 	lol @ nuts
[15:16]	Jacek Antonelli: 	Well, if someone's trying to grief you.. I'd call them a griefer, no? Or they need to be defended against, anyway.
[15:17]	Jacek Antonelli: 	If someone wants to grief you but can't, then we'd have succeeded :D
[15:18]	Armin Weatherwax: 	what i mean is that someone doing gesturesüpam might be not intending to grief me - but does
[15:18]	Jacek Antonelli: 	Ahh
[15:18]	Charlette Proto: 	crashing the sim or at least the viewer is griefing, gesturbators are trolls (in theory)
[15:18]	Morgaine Dinova: 	Other that particle spam, I've only been griefed on one days ever over all these years ... a guy was caging me and was sending me far away each time I entered YadNI's Junkyard. So I have extremely low experience abour defence.
[15:20]	Charlette Proto: 	causing viewer or sim errors intentionally is griefing, this type of stuff is common now "2009-08-06T21:35:00Z INFO: LLVOAvatar::onBakedTextureMasksLoaded: onBakedTextureMasksLoaded(): unexpected image id: 2aca009d-e2ba-2a57-7257-b1a381b2c98b"
[15:20]	Armin Weatherwax: 	caging seems to happen often against furry avatars
[15:20]	Squirrel Wood: 	cages, to escape them just sit on them ^^
[15:20]	Charlette Proto: 	PNs hate furries
[15:20]	Jacek Antonelli: 	Mostly I just know the basics... like sit on something to avoid being orbitted. Mute to prevent chat/sound/particle spam. If you can find/right click on the object that's doing it, anyway.
[15:20]	Squirrel Wood: 	üns are fail :p
[15:20]	Squirrel Wood: 	PNs..
[15:21]	Charlette Proto: 	Patriotic Nigga
[15:21]	Squirrel Wood: 	they hardly last longer than 20 seconds
[15:21]	Charlette Proto: 	the biggest griefer group in Second Life™
[15:21]	Squirrel Wood: 	they are not what they used to be
[15:21]	Squirrel Wood: 	at least not anymore
[15:22]	Armin Weatherwax: 	looking at their attacks documented at youtube not that creative though
[15:22]	Charlette Proto: 	well, they aren't but many have infiltrated Second Life™ dev groups etc
[15:22]	Morgaine Dinova: 	Cripes, nodded off. :-( Reading back
[15:22]	Squirrel Wood: 	Quite often "griefers" are people that don't care about local sim rules and fail to pay attention/respect to the admins that inform them of their fail.
[15:22]	Morgaine Dinova: 	Ah, was brief
[15:24]	Charlette Proto: 	anyway, throttling on the viewer side may be better than waiting for LL to do it serverside
[15:24]	Morgaine Dinova: 	Yup
[15:24]	Morgaine Dinova: 	The "You do not exist for me" approach
[15:24]	Armin Weatherwax: 	the problem with counterattack is that it provokes counter-counter-attack (assuming defense is taken as counter attack, too)
[15:25]	Jacek Antonelli: 	Yes, throttling chat, script dialogs/permission requests, particles, etc.
[15:25]	Charlette Proto: 	server is much harder to test and I'm sure much of it would be stable if each viewer wasn't loading extra data
[15:25]	Jacek Antonelli: 	No, I don't think counter-attack is an option. They'd just abuse report you for the counter-attack.
[15:25]	Charlette Proto: 	non existent assets as well
[15:26]	Charlette Proto: 	no counter attack is not our business
[15:26]	Morgaine Dinova: 	It's not only a vicious circle fueled by revenge, but also fueled by satisfaction I expect, the fight. It's a bit like PvP
[15:26]	Armin Weatherwax: 	yeah, jacek, what i mean is that avoiding the attack could be seen as counter-attack, too
[15:26]	Squirrel Wood: 	counter attack tends to get you banned in the furnation sims :p
[15:27]	Jacek Antonelli: 	Hrm. Example, Armin?
[15:27]	Armin Weatherwax: 	escape the cage
[15:27]	Charlette Proto: 	precisely Morg, opting out of vulneability (partially shuting down the viewer) is more realistic
[15:27]	Armin Weatherwax: 	then the next cage comes etc
[15:28]	Squirrel Wood: 	sit on a nonphys prim and cages are not a problem.
[15:28]	Charlette Proto: 	??? Armin weird approach
[15:28]	Squirrel Wood: 	just inspect it, AR and be done with it ^^
[15:28]	Morgaine Dinova: 	But you don't have to escape each one separately. Computers can handle it automatically, or raise blocks against it happening.
[15:28]	Charlette Proto: 	agrees with squirrel
[15:28]	Armin Weatherwax: 	hm. weird charlette ? why ?
[15:29]	Jacek Antonelli: 	Ah. Well, if escaping the cage is going to trigger them to try to cage you again, I don't think there's anything we can do about their behavior. But if cages don't work, they can try to cage you all they want and it's no problem, right?
[15:29]	Charlette Proto: 	yes jacek, withdraw the satisfaction
[15:29]	Jacek Antonelli: 	Emerald viewer reportedly has a way to make your avatar phantom, so cages, bumps, and orbiters don't even work, if I understand correctly
[15:30]	Armin Weatherwax: 	yeah, but most often i just said in chat "<name>, please stop caging me i dont like that " it stopped
[15:30]	Charlette Proto: 	true, but you can't move so not so practical
[15:31]	Charlette Proto: 	however this approach, rendering attacks useless is a good start
[15:31]	Jacek Antonelli: 	Maybe it could be automatically turned on for a little while if you're caged, for example. Then once the cage falls away, go back to solid so you can move
[15:32]	Squirrel Wood: 	movelocks also stop cages ^^
[15:32]	Charlette Proto: 	no idea if that could work, but sensing a collision etc to activate the phantom would be good
[15:33]	Jacek Antonelli: 	Also, the viewer has a stop-moving tool (space bar). I think we talked about this at a previous meeting. There could be a way to turn that on automatically if the viewer detects you're suddenly moving too fast.
[15:33]	Jacek Antonelli: 	Or perhaps even integration with a scripted tool, if necessary.
[15:34]	Charlette Proto: 	script runs on the sim so it is vulnerable to lag
[15:34]	Jacek Antonelli: 	E.g. chat on a secret channel to activate your movelock or similar device
[15:34]	Jacek Antonelli: 	True
[15:34]	Morgaine Dinova: 	How does a movelock work?
[15:34]	Charlette Proto: 	causing lag is becoming very common
[15:35]	Charlette Proto: 	movelock returns the avie to saved position
[15:35]	Morgaine Dinova: 	Aha]
[15:35]	Charlette Proto: 	can be jerky if the push is hard/fast and acting against gravity
[15:36]	Jacek Antonelli: 	There's also one I'm seeing here, that activates "vehicle" parameters to increase the movement friction of your avatar, so you won't budge very far either. It also sets your position back
[15:36]	Charlette Proto: 	Mystitool has one of the best movelocks, but again being LSL it is vulnerable to lag
[15:37]	Armin Weatherwax: 	and the emerald phantom feature?
[15:37]	Charlette Proto: 	that is non-physical vehicle
[15:40]	Charlette Proto: 	I'd rather see some server code to hook into disabling various aspects of the avatar, eg position updates or receving of offered idems/animations etc
[15:40]	Jacek Antonelli: 	That would be nice, yes.
[15:41]	Charlette Proto: 	the viewer could do the logic of what is allowed, but server should be able to support it as necessary
[15:41]	Charlette Proto: 	this way a lagged server would still cope regardless of the load
[15:42]	Armin Weatherwax: 	well, would be nice to get server side support, but I would not count on that - a least "soon"
[15:43]	Morgaine Dinova: 	Gonna have QWERTY on my forehead shortly. Goit close a few times now
[15:44]	Charlette Proto: 	recently I found 42MB of this error in SecondLife.log "2009-08-01T23:58:10Z WARNING: LLFace::getGeometryVolume: Index buffer overflow!
??? "
[15:46]	Charlette Proto: 	I'm sure 300,000 warnings of the same kind could be eliminated with some kind of throttle
[15:46]	Charlette Proto: 	that is 500 plus per minute, same thing over and over
[15:48]	Jacek Antonelli: 	Yikes
[15:48]	Charlette Proto: 	re server support Armin, I'm sure Andrew would go with it if the viewer side was to do most of the work
[15:49]	Armin Weatherwax: 	hm, ok, good point.
[15:49]	Charlette Proto: 	Soft Linden asked me to paste the log into a comment in SEC till he realised it was 42MB
[15:50]	Morgaine Dinova: 	I'm regularly mentioning "cost assignment" to Andrew as a general means of counteracting abuse and attacks and exploits server-side, but I guess it's possible for viewers too. Too sleepy to think now though
[15:50]	Charlette Proto: 	all server would need is a flag 'live'
[15:51]	Charlette Proto: 	viewer (client side) is more scalable, server gets bogged down during most attacks
[15:52]	Morgaine Dinova nods 	Morgaine Dinova nods
[15:52]	Azwaldo Villota notices the time, checks pocket for 2¢ to add...finds only lint	Azwaldo Villota notices the time, checks pocket for 2¢ to add...finds only lint
[15:52]	Charlette Proto: 	you haven't been griefed Azwaldo?
[15:52]	Azwaldo Villota: 	Charlette, where might i find the SL.log file you mentioned?
[15:53]	Azwaldo Villota: 	it has been a long time since i was griefed; when i was new to SL, spending a lot of time in public spaces, it happened often enough
[15:53]	Charlette Proto: 	it is in you user folder > local > SecondLife > logs
[15:54]	Azwaldo Villota: 	caged many times back then, an occasional sound object following me around
[15:54]	Charlette Proto: 	sorry it was moved Azwaldo "C:\Users\User\AppData\Roaming\SecondLife\logs"
[15:55]	Jacek Antonelli: 	It depends on your OS (even version of Windows. Vista and XP are in different places)
[15:55]	Charlette Proto: 	the "User" is the windows logon name obviously
[15:55]	Azwaldo Villota: 	ty
[15:56]	Azwaldo Villota: 	still looking (Windows XP)
[15:56]	Charlette Proto: 	yes XP is Documents And Settings
[15:56]	Charlette Proto: 	will be a similar path after that I think
[15:57]	Charlette Proto: 	be the same as the cache, look in Preferences > Network
[15:57]	Morgaine Dinova: 	Going to bed peeps, sorry to be asleep today, barely following dicussion. Take care all :-)
[15:57]	Charlette Proto: 	byee Morgaine
[15:57]	Morgaine Dinova waves 	Morgaine Dinova waves
[15:58]	Charlette Proto: 	well cache is at the same level as logs I think, my cache is in a custom location
[15:58]	Armin Weatherwax: 	waves to Morgaine
[16:00]	Charlette Proto: 	one of my ideas on griefing is to make physical and other interactions an opt-in process with ON as a default for all avies and additionally a global setting
[16:01]	Charlette Proto: 	basically one could put the avie into a sleep mode as if sitted but also immune to other forms of approach, even inworld events
[16:03]	Jacek Antonelli: 	Hrm, that's an idea
[16:03]	Charlette Proto: 	eg you may want to dedicate 100% attention to an IM etc remaining where you are and only a sim crash (which would be less likely if everyone was under attack and switched off) would compromise the situation
[16:03]	Charlette Proto: 	deep sleep
[16:04]	Charlette Proto: 	even when an Real Life™ inerruption occurs eg phone or cettle boils
[16:04]	Charlette Proto: 	kettle*
[16:07]	Jacek Antonelli: 	Hrm, everyone seems to be sleeping. *grins* Shall we adjourn?
[16:07]	Charlette Proto: 	keep only the pings going, viewer will stay alive even if pings are not returned for about 100sec as it is, more than that and it disconnects
[16:08]	Charlette Proto: 	maybe a good idea, but we should bring this up when we have more people