What means "small in-game chat control"

Wrote new code? Fixed a bug? Want to discuss technical stuff? Feel free to post it here.

Moderator: Moderators

Message
Author
sofax222
Developers
Developers
Posts: 214
Joined: 24 Nov 2010, 03:08
Noob?: Yes

What means "small in-game chat control"

#1 Post by sofax222 »

What means "small in-game chat control" in version r8518 ?

After PM to a same bot 2 times, no more PM could be done !!
Sorry, I can't figure out the sub validate in Misc.pm ?

Dear Marcelofoxes sir !
Could you give me some detail explain ?
Thank you !

I the code lines

Code: Select all

	push (@{$vcont{'members'}}, $user);
	$vcont{'mem'}{$user} = time;
	return 0x00000 if ((@{$vcont{'members'}} >= 0x00004) && (time - $vcont{'mem'}{@{$vcont{'members'}}[0]}) < (0x000f << 0x0002));
If alway PM to a same role, the value of (time - $vcont{'mem'}{@{$vcont{'members'}}[0]}) will be close zero !!

But, in follow mode, the slave will always call the master to back with PM !!

iMikeLance
Moderators
Moderators
Posts: 208
Joined: 01 Feb 2010, 17:37
Noob?: No
Location: Brazil - MG
Contact:

Re: What means "small in-game chat control"

#2 Post by iMikeLance »

Sorry for that, fixed:

Revision: 8529
Author: marcelofoxes
Date: quinta-feira, 25 de abril de 2013 15:00:49
Message:
* fixed chat control
----
Modified : /openkore/trunk/src/Misc.pm

Now PMs should work for regular use.
PMs won't be sent if kore is trying to send too much PMs to a lot of players in a short space of time. This was implemented a long time ago by Fr3DBr, but his code also affected regular users. This new code will only affect spammers :)
Also, for this case, there shouldn't be a $config{'pmNoValidate'} option. This is the same as adding an "enableKillSteal" option.

sofax222
Developers
Developers
Posts: 214
Joined: 24 Nov 2010, 03:08
Noob?: Yes

Re: What means "small in-game chat control"

#3 Post by sofax222 »

One more minor question for this sub validate.
It is about easy reading !

Why use hex value ?
Could it be change to decimal value for more readable !!

Some thing like :

Code: Select all

	return 0 if ((@{$vcont{'members'}} >= 4) && (time - $vcont{'mem'}{@{$vcont{'members'}}[0]}) < 60);
	shift(@{$vcont{'members'}}) if (@{$vcont{'members'}} >= 4);
	delete $vcont{'mem'}{@{$vcont{'members'}}[0]} if (@{$vcont{'members'}} >= 4);
	if ($vcont{'ftime'}) { $vcont{'cnt'}++; } else { $vcont{'ftime'}=time; }
	return 0 if ($vcont{'cnt'} > 10) && (($vcont{'cnt'}/(time - $vcont{'ftime'})) > 1);
	return 1;

iMikeLance
Moderators
Moderators
Posts: 208
Joined: 01 Feb 2010, 17:37
Noob?: No
Location: Brazil - MG
Contact:

Re: What means "small in-game chat control"

#4 Post by iMikeLance »

sofax222 wrote:One more minor question for this sub validate.
It is about easy reading !

Why use hex value ?
Could it be change to decimal value for more readable !!

Some thing like :

Code: Select all

	return 0 if ((@{$vcont{'members'}} >= 4) && (time - $vcont{'mem'}{@{$vcont{'members'}}[0]}) < 60);
	shift(@{$vcont{'members'}}) if (@{$vcont{'members'}} >= 4);
	delete $vcont{'mem'}{@{$vcont{'members'}}[0]} if (@{$vcont{'members'}} >= 4);
	if ($vcont{'ftime'}) { $vcont{'cnt'}++; } else { $vcont{'ftime'}=time; }
	return 0 if ($vcont{'cnt'} > 10) && (($vcont{'cnt'}/(time - $vcont{'ftime'})) > 1);
	return 1;
But then it gets easier to be identified by spammers, and they can simply remove this code.

sofax222
Developers
Developers
Posts: 214
Joined: 24 Nov 2010, 03:08
Noob?: Yes

Re: What means "small in-game chat control"

#5 Post by sofax222 »

Anyway, that just is a tiny problem !!

Kaspy
Halfway to Eternity
Halfway to Eternity
Posts: 398
Joined: 08 Jun 2012, 15:42
Noob?: No
Location: Brazil

Re: What means "small in-game chat control"

#6 Post by Kaspy »

Because implementation of the configuration pmNoValidate??
If the goal is to reduce SPAM, then why create all this facility?
Even in config.txt, it is enabled natively!


This makes it completely useless any method implemented anti-spam!
Image

User avatar
kLabMouse
Administrator
Administrator
Posts: 1301
Joined: 24 Apr 2008, 12:02

Re: What means "small in-game chat control"

#7 Post by kLabMouse »

KeplerBR wrote:Because implementation of the configuration pmNoValidate??
If the goal is to reduce SPAM, then why create all this facility?
Even in config.txt, it is enabled natively!


This makes it completely useless any method implemented anti-spam!
None of Above Options should be implemented.
SPAM and KillSteal checks should strongly hardcoded.
Also. Please note that OpenKore is a custom made Client with AI for better use. It's not a tool to be used by bad people.

EternalHarvest
Developers
Developers
Posts: 1798
Joined: 05 Dec 2008, 05:42
Noob?: Yes

Re: What means "small in-game chat control"

#8 Post by EternalHarvest »

If those "spam" checks disturb normal PM usage (including automated - and that's where they probably will), they shouldn't be implemented at all.
kLabMouse wrote:Also. Please note that OpenKore is a custom made Client with AI for better use. It's not a tool to be used by bad people.
This is free (as in speech) software under GNU GPL. You should create your own software from scratch under other license (probably with a clause like "The Software shall be used for Good, not Evil.") and you shouldn't call that kind of software free if you want to make such claims.

EternalHarvest
Developers
Developers
Posts: 1798
Joined: 05 Dec 2008, 05:42
Noob?: Yes

Re: What means "small in-game chat control"

#9 Post by EternalHarvest »

Let me explain how this is different from situation with kill steal:

Kill stealing is against the rules of about every official and private server and you will probably be quickly banned for it. Attacking monsters with openkore is a common automated task, even preconfigured, and to avoid unnecessary other players attention, server rules breaking and bans it's made to not to kill steal - it's how everyone needs it, anyway. All the code is clean and understandable, and with a little thought you will discover how to change this behaviour; there's just no option to toggle it.

My personal impression (influenced by more involved with openkore people) of how we deal with kill stealing is that we just aren't implementing such an option, but you're rather free to do it if you want to. There are no special challenges or concealment on the way.

Sending private messages, however, isn't what openkore usually automatically does. There's no need to protect everyone from it and arbitrary restriction would bring more harm for average users than good. Moreover, related commits, commit messages, function and variable names are kinda covert.

I'm for removing this nonsense.

Also, spam is a problem to be solved on the server. Blame server owners for it.

iMikeLance
Moderators
Moderators
Posts: 208
Joined: 01 Feb 2010, 17:37
Noob?: No
Location: Brazil - MG
Contact:

Re: What means "small in-game chat control"

#10 Post by iMikeLance »

@EternalHarvest
I think you're absolutely right, but I would like to give my opinion on this....

I don't know if Openkore aim to replicate official clients' behaviour. But if this is true, a lot of clients, specially those used in official servers use some restrictions in order to prevent chat abuse, some of them:
  • * players can't send the same message 3 times in a row. (client side)
    * if a player sends a lot of messages in a short time, he'll automatically get his chat blocked for some time (detection on client side?)
    * manner.txt filter (client side)
OpenKore won't respect any of those restrictions and if the user don't pay close attention when using chat/pm in OpenKore he can get banned pretty easily. Today it seems like there's not much effort in banning players for this, but back when bRO GM team was much more rigid, I was banned for using a word that was inside manner.txt.

Then there's community approval. I don't play RO anymore so for me it's easier to give an opinion based more on a "kore user" than "RO botter". But even botters are more satisfied when they see less SPAM in-game. Probably the only ones that will get angry at this are zenny sellers and private server owners (they used to advertise their private servers inside official servers using openkore).
EternalHarvest wrote:If those "spam" checks disturb normal PM usage (including automated - and that's where they probably will), they shouldn't be implemented at all.
Yes, everything related to these anti-spam measures were kept as much hidden as possible, and that was probably very wrong. However, the actual code won't affect the regular user unless he needs to send a lot of messages to a lot of users in a short period of time.

In my opinion, spam control code should be kept in OpenKore while making it easier to "understand". But if it needs to be removed that's fine for me too.

Post Reply