Register to post in forums, or Log in to your existing account
 

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » zMUD General Discussion
Kuga
Beginner


Joined: 21 May 2005
Posts: 24

PostPosted: Wed Jun 01, 2005 2:58 am   

Spammed! Need help fixing.
 
I setup a script that provides services and lists them through tells. Now when people send me a tell it works fine, but if I get spammed (3+ tells in a row) for deliberate reasons of causing havoc, I time out due to trying to send too many commands to the mud. I do not really know how to defend against this.

I know of some auto-ignore concepts but not in practice with zMUD. Basically if someone sends me 3 sequential tells, I wish to ignore them. Anyone have any knowhow of doing this or some leads or places to read?

Edit: No, I cannot change the system from tells, it will not work to my liking or properly then.
Reply with quote
MattLofton
GURU


Joined: 23 Dec 2000
Posts: 4834
Location: USA

PostPosted: Wed Jun 01, 2005 3:09 am   
 
You have to rely on counter variables or a carefully-timed series of triggers (ie, the tells trigger enables the trigger for the action message and then turns itself off, that action trigger does its thing and enables the next before turning itself off, so on and so forth until the tells trigger is re-enabled)
_________________
EDIT: I didn't like my old signature
Reply with quote
Tarn
GURU


Joined: 10 Oct 2000
Posts: 867
Location: USA

PostPosted: Wed Jun 01, 2005 3:36 am   
 
A reasonable compromise between answering legitimate players and not sending too much data:

The trigger that receives requests doesn't actually reply, but instead adds the person's name to a list. If the person's name is already in the list, it's not added again.

Every second or two, an alarm fires and replies to the first person in the list, removing their name.

That way, even if you've got spammers, the legitimate users of your services will still get replies (though it might be a little slow).

If there are enough really abusive players to be a problem, you could create an ignore list of players that never get added to the reply list.

-Tarn
Reply with quote
Guinn
Wizard


Joined: 03 Mar 2001
Posts: 1127
Location: London

PostPosted: Wed Jun 01, 2005 12:53 pm   
 
either of these should work to a certain degree. It's off the top of my head, so you may need to tweak the syntax if I've not got it perfect. The top one will only reply if the tell received is different to the previous tell. The bottom one will limit you to one automatic reply every 5 seconds.

Code:
#TR {%w tells you: (*)} {#if (%1 != @lastTell) {Do whatever};lastTell = %1}


or

Code:
#TR {%w tells you: (*)} {#if (@antiSpam = 0) {Do whatever};antiSpam = 1;#ALARM antiSpam {+5} {antiSpam = 0}}
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » zMUD General Discussion All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© 2009 Zugg Software. Hosted by Wolfpaw.net