Jump to content

Language Enforcer [1.0.3.0] (Apr 11.)


ImportBot

Recommended Posts

  • 4 weeks later...
  • Replies 228
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Originally Posted by Infinite-Duress*:

 

So everytime i start up ProCon and go to the plugin section it always changes the message parts to have weird text inside of them.

 

%25player%25+warned+for+Language+violation.+%7bNex t+Time%3a+Kill%7d

Type+%22!langinfo%22+for+more+information

Watch+your+Language!

 

No matter what i do it always reverts back to this if i edit it. Ive tried editing it with the plugin off and then turning it on and it just switches back to the weird text. it displays exactly like this in the game as well

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ty_ger07*:

 

So everytime i start up ProCon and go to the plugin section it always changes the message parts to have weird text inside of them.

 

%25player%25+warned+for+Language+violation.+%7bNex t+Time%3a+Kill%7d

Type+%22!langinfo%22+for+more+information

Watch+your+Language!

 

No matter what i do it always reverts back to this if i edit it. Ive tried editing it with the plugin off and then turning it on and it just switches back to the weird text. it displays exactly like this in the game as well

Wrong thread.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by PacmanTRT*:

 

Hi Infinite Duress!

 

I posted a Debug-Version especially for this issue that keeps popping up every now and then here: myrcon.net/...language-enforcer#entry49491

 

But I have not recieved any feedback on the output of this version yet.

 


 

@DHGreenday

 

Can you PM me your wordlists and a short explaination of your settings?

(Forum notifications don't work if you "double post" so I didn't see you asked something)

* Restored post. It could be that the author is no longer active.
Link to comment
  • 1 month later...
  • 2 weeks later...

Originally Posted by Sgt_Malle*:

 

Hey,

 

Installed your plugin a few days ago on our server! Great work!

 

One question though:

I set sections for auto-banning for racism and fascism, however, we do not want the same for just random words like fuck etc.

 

What I did is setting up warnings and after 10 times I issue an psay using adkats command and after 15 times I issue a report such that I can check the guy on my own. This all works, however, now I receive many reports since the counters are not resetted at the end list.

 

Is there any way to define a command using the custom command option to reset the counter for the specific person that triggered it? That way I could issue a report once, the player's counter gets resetted and if I think his language is too harsh I can act on it.

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by PacmanTRT*:

 

Hi!

 

Thanks! ^^

 

Im not 100% sure what you want to achieve. You use adKats for punishment?

But you dont want to actually kick them for words like "fuck"?

It's a long time ago since i added adkats, but I think you can't modify the actual severity of enforcer actions when using adkats.

Also the !langp and !langr commands might not work this way.

 

I sadly can't test it right now, but you might want to try to create a badword-section and set its severity to zero.

Be sure to put the section to the end of the wordlist as it is processed top down (First match wins for performance reasons).

 

The sample wordlists already contains a section for racism marked by:

{racism}

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Sgt_Malle*:

 

Hi,

 

Thanks for the fast reply!

 

Im not 100% sure what you want to achieve. You use adKats for punishment?

But you dont want to actually kick them for words like "fuck"?

I am using AdKats but maybe not the way you implemented it^^

For example, I have a racism section and if it is triggered I issue two things in the Say message:

  • /ban %player% Racism
  • /report %player% Banned for using %quote%
So this way the guy is banned and we receive an email to keep track of things.

This all works really nicely!

 

Now for the normal measures I set up the following:

  • 10x warn were I left all message boxes empty
  • 1x warn issuing /Say Be nice pls! and a /psay %player% Please be nice!
  • 5x warn with all messsages empty
  • 1x warn with message /warn %player% Be nice pls!
  • 1x warn with message /report %player% LangEnf: Player to be checked for language

So I am basically using your message boxes to issue hidden AdKats commands. Now I do not want players to get auto punished for cursing a bit but I would like to be notified if it might gets too much. So the first 10 times nothing happens, then it warns them with a say, then 5 times nothing happens before it issues an AdKats /warn command.

If the player still continues I issue a hidden report command such that I receive an email about it. Then I can check the chat logs manually and act if the guy exaggerates.

 

Now the problem is that this guys counter already reached the list end and what happened yesterday was that he got reported about 5 times in 2 hrs as he was continuing to use some words on the list.

 

So what I would like to do to prevent that is to not only issue the hidden /report command but also somehow reset the counter of that one guy.

I was wondering if there is maybe a possibility to have a custom command to do that.

Something like procon.protected.plugin LanguageEnforcer ResetCounter %player% or

maybe /langreset %player%.

 

This way I would only receive one report and could either ignore it and act on it and at the same time the guys counter is resetted automatically since I am checking him anyway.

 

Hope this clarifies it and thanks for the help!

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by PacmanTRT*:

 

Ok I think i get it now. ^^

 

maybe /langreset %player%.

Dont use slash but an exclamation mark instead. That should work.

--> !langreset %player%

 

The other method doesn't currently work, but can you adjust the LEnforcer's settings via AdKats?

Because there is the "setting" named "Manually reset Player (Not a setting)". If you can put his name there the counter will be cleared.

I might implement your suggestion, but i have no way to test it :-/

 

----------------

 

Wait... You trigger AdKats from LEnforcer via the ingame chat? Doesn't the AdKats support work properly? You could aswell use a custom command within the measure if it doesn't fit your needs.

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Sgt_Malle*:

 

Hey,

 

Sorry for the late answer! I was travelling :smile:

Dont use slash but an exclamation mark instead. That should work.

--> !langreset %player%

So you mean if I use ! rather than / I could send the command via the say message in the measure settings? Anyway, ! is not good as everybody on the server would see it and I prefer hidden commands not visible.

 

The other method doesn't currently work, but can you adjust the LEnforcer's settings via AdKats?

Is there any way to do this? Resetting the counters via an AdKats command?

 

Because there is the "setting" named "Manually reset Player (Not a setting)". If you can put his name there the counter will be cleared.

Yeah I saw that one. I thought if it would be possible to invoke that setting through a custom command, like procon.protected.plugin etc.

 

I might implement your suggestion, but i have no way to test it :-/

I guess I could do some testing for you as long as they do not make players mad on my servers, like bans for nothing :ohmy:

 

Wait... You trigger AdKats from LEnforcer via the ingame chat? Doesn't the AdKats support work properly? You could aswell use a custom command within the measure if it doesn't fit your needs.

Well I did not know if it actually uses AdKats warn every time the warning is invoked. Since I do not want to warn but just keep on counting in the beginning. After reading your description I saw your remarks to ProconRulz so I just used hidden commands in the say boxes as I do the same in ProconRulz on our server.

 

What I did now is to set the Cooldown really high... not the best solution but seems to work :smile:

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Sgt_Malle*:

 

Hey,

 

Sorry for the late answer! I was travelling :smile:

Dont use slash but an exclamation mark instead. That should work.

--> !langreset %player%

So you mean if I use ! rather than / I could send the command via the say message in the measure settings? Anyway, ! is not good as everybody on the server would see it and I prefer hidden commands not visible.

 

The other method doesn't currently work, but can you adjust the LEnforcer's settings via AdKats?

Is there any way to do this? Resetting the counters via an AdKats command?

 

Because there is the "setting" named "Manually reset Player (Not a setting)". If you can put his name there the counter will be cleared.

Yeah I saw that one. I thought if it would be possible to invoke that setting through a custom command, like procon.protected.plugin etc.

 

I might implement your suggestion, but i have no way to test it :-/

I guess I could do some testing for you as long as they do not make players mad on my servers, like bans for nothing :ohmy:

 

Wait... You trigger AdKats from LEnforcer via the ingame chat? Doesn't the AdKats support work properly? You could aswell use a custom command within the measure if it doesn't fit your needs.

Well I did not know if it actually uses AdKats warn every time the warning is invoked. Since I do not want to warn but just keep on counting in the beginning. After reading your description I saw your remarks to ProconRulz so I just used hidden commands in the say boxes as I do the same in ProconRulz on our server.

 

What I did now is to set the Cooldown really high... not the best solution but seems to work :smile:

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Sgt_Malle*:

 

I wrote a long answer 2 days ago and it said it has to be approved by a moderator...

never showed up though and I am not sure where to find it :sad:

 

I will rewrite it tonight and reply another time!

* Restored post. It could be that the author is no longer active.
Link to comment
  • 2 months later...

Originally Posted by SmackDown*:

 

I have notice an issue with Adkats that I was wondering if you could fix.

 

Our servers are running LanguageEnforcer - 1.0.3.0 and it is set up to work with Adkats. The problem we are having is that when a player makes an @report on a player with an offensive name that just so happens to be listed in the bad word list of the LanguageEnforcer plugin, it issues a punishment point to the reporting player.

 

We have had some incidents where players who entered our server had racist names (such as having the N word in it). When they get reported, the reporting player is getting issued a punishment point due to the players name being listed on the bad word list.

 

Is it possible to have Adkats not issued punishment points to a reporting player who types the offending name? It would be nice to be able to have Adkats not issue punishment points so our admins don't always have to issue forgives to the reporting player. Players make player reports with the @ and ! command.

 

Any way to fix this?

 

Thoughts on this issue?

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by PacmanTRT*:

 

Hi!

 

Can you try to make a wordlist section on the top to filter it?

It has been some time since i touched the code and I'd need some time to get into it. So I can't tell if the section-workaround works with AdKats.

 

I described that workaround here: myrcon.net/...language-enforcer#entry49499

 

The non-regex wordlist gets processed first for performance reasons. As soon as a match is found it stops looking for another match.

When the first match is set to not punish a player within the section settings you can actually exclude words.

 


If you can test the plugin for me I can fix it properly and release a new version for everyone.

I think of a regex based pre-processor.

Because when using the workaround players will eventually start writing something like this: "@report lol i can say whatever the f**k i want".

With a preprocessor you could remove certain things before processing starts. That way you could instance still punish a player for actually cursing within a report command.

So "@report BadwordPlayer some valid reason" wouldn't do a thing.

but "@report BadwordPlayer f**k you" would trigger.

Of course you could adjust that to your liking.

 

Maybe I can even make a placeholder to address playernames.

That way you could exclude player names from processing in general or in certain commands just as you like.

(Parts of the name would still trigger. Filtering that is too complicated to achieve)

 

This feature will still take some time. It's a kind of big thing.

* Restored post. It could be that the author is no longer active.
Link to comment
  • 4 years later...
3 minutes ago, Andrew said:

Hello! The Language Enforcer plugin [1.0.3.0] does not download! When downloading, such a message pops up!

Sc1reenshot.png

 

The Auto update function of the original plugin no longer works because the old forums are down.

Need new plugin features? I can change: Adkats, AdKatsLRT, LanguageEnforcer, InsaneLimits, xVotemap for you. Also working on new plugins. Have an idea? Share it and I might include it in my repos. Github.com/hedius

 

Check out E4GLAdKats for an advancded and maintained AdKats version.

Link to comment
  • 1 year later...
On 3/15/2014 at 4:58 AM, ImportBot said:

Originally Posted by PacmanTRT*:

 

Hello Procon-Forum!

 

I want to present my LanguageEnforcer plugin to you. It is written for best performance and only uses 62KB on the harddisk.

 

Background Information

 


The idea for the plugin comes from ...*. Since he was offline for over a year from today and I had a different architectural concept in mind I wrote the plugin from scratch with some of the more basic code "borrowed" from the ProconRulz Plugin (e.g. Logging, Say, Kill, Kick, ...). It was written to maintain peace of mind as a Funclan server admin in the first place and now I want to share my efforts with the community.

 

 

What does it do?

 


Basically the plugin aims to prevent swearing orgies. It warns Players for bad language and will take further measures when they continue to swear. Since we don't want to punish players for things they have said weeks ago the plugin has a cooldown mechanism. The measures are freely configurable and can contain the following: Warn, Kill, Kick, TBan, PermBan. There are different options for each of them.

Since no wordlist can ever be perfect I included commands for manually punishing players and for resetting a player's history.

 

 

How can I get it?

 


No payment is required for the full version and for any following update. Since 14th July 2014 the plugin contains a "Donate"-Button at the end of the plugin description, which is to be used completely voluntarily. I certainly will not feel obligated to fulfill requests just based on donations.

 

Current Version is 1.0.3.0

The newest release version can always be downloaded here: >>> Release.zip

 

To install just copy "LanguageEnforcer.cs" to the Plugins/BF4 directory. You can also copy the 2 wordlists there to have them loaded after a fresh install or after you enable the plugin.

 

If you're dealing with racism you can have a look at ...* which contains a well tested regex to recognize variations of the most common racist word.

 

This was tested with BF4.

Should work flawlessly with any other game. It has been reported to work with BF3 and BF Hardline.

 

 

Detailed feature list - Blue ones are already covered by Soarda

 


  • 2 Wordlists with wordlist sections (1 simple and 1 with regular expressions)
  • AdKats support (Get admins from Adkats and AdKats punish or Ban/Kick/Kill via AdKats)
  • Possibility to trigger Procon console commands
  • 2 modes for Whitelisting ( do nothing / warn only )
  • Freely configurable sequence of actions (e.g. warn can follow kick)
  • Freely configurable messages for every single step (with placeholder and globalization functionality)
  • Configurable cooldown (similar to the Watchdog)
  • Commands for manual punishing, reprieving, reading and modifying a player's counter
  • Wait for spawn to kill if the swearing player is dead (can be disabled)
  • Loads and saves badwords from/to file (if possible)
  • Is able to persist counters for each player in a file (if possible)
  • Additional commands If needed: !admin, !rules, !help
  • Customizable messages

The way of finding a Badword itself should be ~35-40% faster than the way the Watchdog uses (according to my test cases). Since some of my improvements can easily be applied to most plugins and especially the Watchdog, I posted a List of them ...*.

 

 

How to configure messages

 


Following placeholders work in ANY configurable message:

Following placeholders work in ANY configurable message:

%player%

name of the player

 

%time%

TBan minutes or Yell seconds

 

%count%

current language counter for the player

 

%cooldown%

The cooldown setting

 

%quote%

The exact thing that was written by the player

 

{any text}

Text between curly brackets will only be shown if the next measure is different from the current one (e.g. warn is not kill). This is only done for measure related messages. It just will be removed anywhere else.

 

{{countrycode}}

Must stand in front of a message. For instance a message starting with {{at,ch}} will only be visible for players from Austria and Switzerland. Explained here

 

{{-countrycode}}

Must stand in front of a message. For instance a message starting with {{-at,ch}} will NOT be visible for players from Austria and Switzerland, but to all others.

Please note, that curly brackets cannot be used for messages in procon anyways.

 

 

How to configure commands

 


This plugin allows to define custom commands to interface with other plugins for instance.

Each measure and each section has a command setting where you can put them. Custom commands work exactly the same as it works in ProconRulz. You can for instance use this to trigger certain functions in AdKats. It also offers the possibility to only execute a command when a certain counter is exceeded.

Attention! This limit is checked BEFORE the counter is increased!

So if you wanted to call another Plugin, but just not the first time the player wrote a badword you can use the following command:

Code:

 

le.isMinCounter 1 procon.protected.plugins.call SuperAwesomePlugin SuperAwesomeFunction %player%

If you want to trigger it at any time it looks like this:

Code:

 

procon.protected.plugins.call SuperAwesomePlugin SuperAwesomeFunction %player%

What if I find a BUG?

 


Feel free to report any bug on my issue tracker.

If you provide code within the Issue Tracker I sure will review it and integrate the code if it really helps.

Developers also can easily create a fork of my source code there to make their own enhancements.

 

Changelog

 


1.0.2.0 --> 1.0.3.0

  • Added command functionality to all measures.
  • Added le.isMinCounter command prefix.
  • Settings added to ban via PB Guid instead of EA Guid
  • Added %quote% placeholder to be able to log what the player actually said.
  • Messages can now be defined by country (I will refer to that as "localization")

1.0.1.1 --> 1.0.2.0

  • AdKats support (Get admins from Adkats and AdKats punish or Ban/Kick/Kill via AdKats)
  • Measure overrides can now decide not to use AdKats punish and use e.g. AdKats ban instead.
  • New Measure: Custom, which executes a Command on the Procon Commandline. (Code stolen from ProconRulz :ohmy:)
  • New Measure: Show Rules
  • All in-game messages can now be more than one line.
  • Made PayPal Donate button smaller and moved it to the top

1.0.1.0 --> 1.0.1.1

  • Fixed Bug where measure overrides were not saved
  • Fixed Bug to ignore character casing of commands.
  • Made PayPal Donate button work properly

1.0.0.0 --> 1.0.1.0

  • Fixed Bug on July 16th to prevent the server from warning itself for Language
  • Introduced Wordlist sections with section overrides.
  • Changed Details tab design to match this post

0.9.8.4 --> 1.0.0.0

  • Fixed Bug on April 20th where the plugin didn't show settings due to non-present wordlist TXTs.
  • Fixed Bug where regex completely messed up due to encoding (Thanks, PapaCharlie9, for your help!)
  • Successive countermeasures completely rewritten as a bunch of settings (adaptive to what is selected) to allow individual messages and tban/yell time settings
  • Added message placeholder functionality
  • Added option to write the counters to a file to load after layer restart (done when the server is empty, with option to write after every punish)
  • Added separate cooldown for admin-users
  • Regex Lines may now be empty or contain only a comment
  • Added in-game command for reading/writing a player's counter
  • Added configurable update-checks
  • Moved Commands to the top of the settings for faster access
  • Now puts the matched word into the logfile
  • Added timestamps to the logfile
  • Added special thanks section to the plugin description.
  • Licence: Now using LGPL v3 instead of no licence

0.9.8.2 --> 0.9.8.4

  • Fixed Bug where settings didn't save at all

0.9.8.0 --> 0.9.8.2

  • Fixed Bug where the "4 - Messages" settings were overwritten
  • Fixed Bug where !rules could be triggered if ext. functions were disabled
  • Message settings for ext. functions now disappear if ext. functions are disabled
  • Added warning if the wordlist contains unnecessary entries
  • Added option to ignore the Squad Chat

0.9.7.2 --> 0.9.8.0

  • Fixed Bug: Now allows empty wordlists
  • Removed all occurences of "BF4" in the code to support all Procon supported games
  • Commands can now be triggered via ! @ # / instead of ! only
  • Most messages can now be customized
  • Cooldown now allows steps of 0.01 per day
  • Settings categorized
  • Setting "kick admins" replaced by "warn whitelisted"
  • Punish/Reset via settings trims off whitespaces
  • Performance improvement by not registering to all events

 

Have fun! :ohmy:

How you manage the russian language if bf3 server online works with ascii?

 

Best regards

Link to comment
  • 4 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.




  • Our picks

    • Game Server Hosting:

      We're happy to announce that EZRCON will branch out into the game server provider scene. This is a big step for us so please having patience if something doesn't go right in this area. Now, what makes us different compared to other providers? Well, we're going with the idea of having a scaleable server hosting and providing more control in how you set up your server. For example, in Minecraft, you have the ability to control how many CPU cores you wish your server to have access to, how much RAM you want to use, how much disk space you want to use. This type of control can't be offered in a single service package so you're able to configure a custom package the way you want it.

      You can see all the available games here. Currently, we have the following games available.

      Valheim (From $1.50 USD)


      Rust (From $3.20 USD)


      Minecraft (Basic) (From $4.00 USD)


      Call of Duty 4X (From $7.00 USD)


      OpenTTD (From $4.00 USD)


      Squad (From $9.00 USD)


      Insurgency: Sandstorm (From $6.40 USD)


      Changes to US-East:

      Starting in January 2022, we will be moving to a different provider that has better support, better infrastructure, and better connectivity. We've noticed that the connection/routes to this location are not ideal and it's been hard getting support to correct this. Our contract for our two servers ends in March/April respectively. If you currently have servers in this location you will be migrated over to the new provider. We'll have more details when the time comes closer to January. The new location for this change will be based out of Atlanta, GA. If you have any questions/concerns please open a ticket and we'll do our best to answer them.
      • 5 replies
    • Hello All,

      I wanted to give an update to how EZRCON is doing. As of today we have 56 active customers using the services offered. I'm glad its doing so well and it hasn't been 1 year yet. To those that have services with EZRCON, I hope the service is doing well and if not please let us know so that we can improve it where possible. We've done quite a few changes behind the scenes to improve the performance hopefully. 

      We'll be launching a new location for hosting procon layers in either Los Angeles, USA or Chicago, IL. Still being decided on where the placement should be but these two locations are not set in stone yet. We would like to get feedback on where we should have a new location for hosting the Procon Layers, which you can do by replying to this topic. A poll will be created where people can vote on which location they would like to see.

      We're also looking for some suggestions on what else you would like to see for hosting provider options. So please let us know your thoughts on this matter.
      • 4 replies
    • Added ability to disable the new API check for player country info


      Updated GeoIP database file


      Removed usage sending stats


      Added EZRCON ad banner



      If you are upgrading then you may need to add these two lines to your existing installation in the file procon.cfg. To enable these options just change False to True.

      procon.private.options.UseGeoIpFileOnly False
      procon.private.options.BlockRssFeedNews False



       
      • 2 replies
    • I wanted I let you know that I am starting to build out the foundation for the hosting services that I talked about here. The pricing model I was originally going for wasn't going to be suitable for how I want to build it. So instead I decided to offer each service as it's own product instead of a package deal. In the future, hopefully, I will be able to do this and offer discounts to those that choose it.

      Here is how the pricing is laid out for each service as well as information about each. This is as of 7/12/2020.

      Single MySQL database (up to 30 GB) is $10 USD per month.



      If you go over the 30 GB usage for the database then each additional gigabyte is charged at $0.10 USD each billing cycle. If you're under 30GB you don't need to worry about this.


      Databases are replicated across 3 zones (regions) for redundancy. One (1) on the east coast of the USA, One (1) in Frankfurt, and One (1) in Singapore. Depending on the demand, this would grow to more regions.


      Databases will also be backed up daily and retained for 7 days.




      Procon Layer will be $2 USD per month.


      Each layer will only allow one (1) game server connection. The reason behind this is for performance.


      Each layer will also come with all available plugins installed by default. This is to help facilitate faster deployments and get you up and running quickly.


      Each layer will automatically restart if Procon crashes. 


      Each layer will also automatically restart daily at midnight to make sure it stays in tip-top shape.


      Custom plugins can be installed by submitting a support ticket.




      Battlefield Admin Control Panel (BFACP) will be $5 USD per month


      As I am still working on building version 3 of the software, I will be installing the last version I did. Once I complete version 3 it will automatically be upgraded for you.





      All these services will be managed by me so you don't have to worry about the technical side of things to get up and going.

      If you would like to see how much it would cost for the services, I made a calculator that you can use. It can be found here https://ezrcon.com/calculator.html

       
      • 11 replies
    • I have pushed out a new minor release which updates the geodata pull (flags in the playerlisting). This should be way more accurate now. As always, please let me know if any problems show up.

       
      • 9 replies
×
×
  • Create New...

Important Information

Please review our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.