Jump to content

Insane Punisher 0.0.0.1-patch-2 (beta)


ImportBot

Recommended Posts

Originally Posted by micovery*:

 

Description


This is a re-write of the famous Insane Punisher from Battlefield Bad Company 2. In this version I have removed all the features not supported by Battlefield 3, and added a couple of new features. See the full change-log at the end of this post.

 

Think this plugin is awesome? You can buy me a beer.

 

Posted Image

 

Installation Instructions


  • Download the zip file containing the plugin source (in the attachments)
  • Extract the source file InsanePunisher.cs
  • Copy the source file to ProCon's Plugins/BF3 directory

Minimum Requirements


This plugin requires you to have sufficient privileges for running the following commands:

 

  • serverInfo
  • admin.listPlayers all
  • punkBuster.pb_sv_command pb_sv_plist
  • banList.add
  • banList.save
  • admin.kickPlayer
  • admin.killPlayer

Features Summary


  • Retribution

     

    Victims of team-killers are allowed to !punish, !forgive, !votekick, and !voteban

  • Queued Punishments

     

    If the team-killer is dead at the time of !punish, the punishment is queued, and enforced the next time he spawns.

  • Individual Punishments

     

    If victim was team-killed by multiple players, the plugin remembers all the team-killers. This allows the victim to punish the team-killer, using the !punish {player} command, even if {player} was not the last one to team-kill.

  • White-list

     

    Players that are in the white-list have immunity against all punishments.

  • Automatic Punishments

     

    If desired, you can set the plugin so that it automatically punishes the team-killer immediately after each violation

  • Automatic Actions

     

    If desired, you can set the plugin to automatically kick or ban team-killers after they receive a certain number of punishments

  • Customizable Warnings

     

    Allows you to change the default team-kill warnings that are sent to the team-killers

  • Customizable Slaps

     

    Allows you to have a !slap command for players to have fun and bitch slap each-other

  • Customizable Insults

     

    Allows you to have an !insult command for players to have fun and insult each-other

  • Track Violations

     

    Allows you to use commands such as !violations or !violations {player} to view a detailed history of player violations during the round

Missing Features


  • Punishment for Base-Raping
  • Punishment for Base-Camping
  • Private messages
  • White-list based on Clan-Tag
Rules of Engagement - Punishable Incidents


Code:

        Legend
        --  base boundary

              Team Killing
        (inside or outside base)  
        +-------------------------+
        ¦                         ¦
        ¦      o      \o_         ¦
        ¦      \=-->  /           ¦
        ¦      /\   //            ¦
        ¦                         ¦    o      \o_
        ¦                         ¦    \=-->  /
        ¦                         ¦    /\   //
        ¦                         ¦
        +-------------------------+
Settings


  • console

    (String) - used for running commands from within ProCon

     

    e.g !violations micovery

  • debug_level

    (integer >= 0) - Level of tracing messages printed to the plugin console. 0 is the lowest, with least debug messages. The higher the value, the more tracing messages could be printed.

  • max_kick_votes

    (integer > 0) - maximum number of votes that a soldier can receive before being kicked.

    e.g if max_kick_votes = 3, soldier is kicked that the 4th vote.

  • max_ban_votes

    (integer > 0) - maximum number of votes that a soldier can receive before being banned.

    e.g if max_ban_votes = 3, soldier is banned that the 4th vote.

  • say_team_kill

    true - inform killer and victim (in chat box) of team kill violation

    false - do not inform killer or victim of team kill violation

  • punish_team_kill

    true - allows victim to punish the team killer

    false - forbids victim from punishing the team killer

  • forgive_team_kill

    true - allows victim to forgive the team killer

    false - forbids victim from forgiving the team killer

  • kick_team_kill

    true - allows victim to vote kick the team killer

    false - forbids victim from vote kicking the team killer

  • ban_team_kill

    true - allows victim to vote ban the team killer

    false - forbids victim from vote banning the team killer

  • mock_suicide

    true - server mocks the soldier that suicided (private message)

    false - no message sent on suicide

  • slap_player

    true - allows soldiers to slap each other with a big smelly tuna fish

    false - forbids soldiers from slapping each other

  • insult_player

    true - allows soldiers to insult each other, random insult is sent privately

    false - forbids soldiers from insulting each other

  • admin_list

    (Stringlist) - list of soldiers that are allowed to modify/view plugin settings while in-game.

  • player_white_list

    (Stringlist) - list of soldiers that have immunity against punish, kick, and ban

  • ban_type

    GUID - ban players by EA GUID

    Name - ban players by EA soldier name

    IPAddress - ban players by IP Address

  • ban_duration

    Permanent - ban indefinitely

    Round - ban until the end of the current round

    Temporary - ban temporarily (you need to set ban_minutes as well)

  • ban_minutes

    (integer > 0) - Number of minutes to ban a player after being vote banned

Advanced Settings


Do not use these settings if you are just beginning to learn how to use this plugin. These settings allow you to tweak default behaviors for actions againts rule violators, as well as default messages.

 

  • auto_action

    None - no action is perfomed when auto_action_max threshold is reached

    Ban - player is banned when auto_action_max threshold is reached

    Kick - player is kicked when auto_action_max threshold is reached

  • auto_action_max

    (interger >= 1) - maximum number of punishments that a player can receive before being auto kicked or banned

    For example, if the value of auto_action_max is 3, the player will be kicked/banned on the 4th punishment received

  • auto_punish_team_kill

    true - team killer is automatically punished, and victim is not allowed to take any action

    false - team killer is not automatically punished

     

    Note that when auto_punish_* settings are enabled, then the corresponding setting punish_* is ignored.

  • slap_msg_list

    (StringList) - list of messages used for the !slap command

  • mock_msg_list

    (StringList) - list of messages used to mock a player after suicide

  • insult_msg_list

    (StringList) - list of messages used for the !insult command

  • team_kill_warn_list

    (StringList) - ordered list of warning messages that are sent to team killers after a violation.

     

    Note that the order of the messages in the warning lists is relevant.

    The first message is sent when the first violation happends.

    The second message is sent when the second violation happens, and so on.

Public Commands


Commands are messages typed into the game chat box, or into the console field of the plugin. Commands must start with one of the following characters: !,@,_, or /. This plugin interprets the following public commands.

 

  • !punish [name-substring]

     

    This is the main command, and most fun of all. It allows victims to punish soldiers who violated the rules of engagement. If "!punish" is used without specifying the soldier name, then the last aggressor with ROE violation (against the victim) is punished. Punishments cannot be stacked. For example, if an aggressor team kills a victim twice, then the victim can only punish the aggressor once. However, punishments by different victims are stackable. For example, if an aggressor team kills two victims, and both decide to punish him, then the aggressor is punished twice consecutively. Note that if an aggressor is dead, punishments are queued and applied on re-spawn.

  • !votekick [name-substring]

     

    This is a lesser used command, but still powerful. It allows victims to cast votes against soldiers who violated the rules of engagement. If "!votekick" is used without specifying the soldier name, then the last aggressor with ROE violation (against the victim) is voted against. Votes are stackable. For example, if an aggressor team kills a victim twice, he can vote once against the aggressor, with two votes being cast. When a victim casts a kick vote against an aggressor, all other victims of that aggressor, who have not taken action, are reminded to vote. This is similar to a traditional votekick, with the difference that only victims of the aggressor are allowed to vote.

  • !voteban [name-substring]

     

    This is also a lesser used command, but extremely powerful. It allows victims to cast votes against soldiers who violated the rules of engagement. If "!voteban" is used without specifying the soldier name, then the last aggressor with ROE violation (against the victim) is voted against. Votes are stackable. For example, if an aggressor team kills a victim twice, he can vote once against the aggressor, with two votes being cast. When a victim casts a ban vote against an aggressor, all other victims of that aggressor, who have not taken action, are reminded to vote. This is similar to a traditional voteban, with the difference that only victims of the aggressor are allowed to vote.

  • !forgive [name-substring]

     

    This is a command of camaraderie. It allows victims to forgive soldiers who violated the rules of engagement. When forgiving, the victim waives the right to take action against the aggressor for all previous ROE violatons. This command is mostly used by soldiers forgiving teammates afer an accidental team kill.

  • !slap [name-substring]

     

    This command is just for fun. It allows soldiers to slap each other publicly. The type of slap is chosen randomly from the settings file.

  • !insult [name-substring]

     

    This is another useless, but fun command. It allows soldiers to privately insult each other. The pre-defined insults in the settings file are mostly jokingly insults. Insults are chosen at random.

  • !my violations

     

    This is a statistics command. It allows a soldier to view his rules of engagement violations, such as team killing, base raping, and base camping. It displays the name of the victims, together with the total and pending violations against each victim. Pending violations are those for which the victim has not yet taken action.

Admin Commands


These are the commands that only players in the "admin_list" are allowed to execute. Reply messages generated by these commands are sent only to the squad of the admin who executed the command.

 

  • !punisher settings

     

    This command prints the values of all plugin variables.

  • 1. !set {variable} {to|=} {value}

    2. !set {variable} {value}

    3. !set {variable}

     

    This command is used for setting the value of this plugin's variables. For the 3rd invocation syntax the value is assumed to be "true".

  • !get {variable}

     

    This command prints the value of the specified variable.

  • !enable {variable-substring}

     

    This command is a shortcut for enabling (setting to "true") multiple variables at the same time.

    For example, the following command

     

    !enable punish

    esults in all variables that contain the word "punish" being set to "true"
  • !disable {variable-substring}

     

    This command is a shortcut for disabling (setting to "false") multiple variables at the same time.

    For example, the following command

     

    !disable punish

    results in all variables that contain the word "punish" being set to "false"
  • !violations {name-substring}

     

    This command prints a detailed report of the specified soldier's ROE violations. This is similar to !my violations command.

  • !violations

     

    This command prints a summary of all soldiers' ROE violations

Default Team-Kill Warnings


The warnings list is modifiable from within the plugin in the Advanced section. You don't have to modify the plugin source code.

Code:

/*
        ######################################################################################
        ##   Team kill warnings 
        ######################################################################################
        ####
        #### This is list of warnings that are sent to team killer. 
        #### For each team kill, one warning is sent to the player who violated the rules. 
        ####
        #### You can have as many warnings as you want. 
        #### They are sent in the same order as listed.
        ####
        #### The following replacements can be used:
        ####
        #### %killer% - the name of the soldier that team killed
        #### %victim% - the name of the soldier that was team killed
        #### %count%  - the number of team kills by the killer
        ####
        */


        List<string> default_warn_team_kill = new List<string>(new string[]
        {
            "%killer%, no team killing please",
            "%killer%, you have two team kills!",
            "%killer%, you have %count% team kills!"
        });
Default Insults


The insults list is modifiable from within the plugin in the Advanced section. You don't have to modify the plugin source code.

Code:

/*
        ######################################################################################
        ##   Insults 
        ######################################################################################
        ####
        #### This is a list of insults that users can send to each other with the '!insult' command
        #### You can have as many insults as you want. Insults are chosen at random.  Only the sender 
        #### and the reciever of the insult see the message in the chat box.
        ####
        #### The variable 'insult_player' controls whether insulting is allowed or not.
        ####
        */

        List<string> default_insults = new List<string>(new string[]
        {
            "%name%, don't go away mad. Just go away.",
            "%name%, I'd like to help you out ... which way did you come in.",
            "%name%, you are so down to earth but not quite far down enough.",
            "%name%, you are living proof that manure can grow legs and walk.",
            "%name%, you are no longer beneath my contempt.",
            "%name%, tell me where your family tree is I'd like to cut it down!",
            "%name%, when I look into your eyes, I see the back of your head.",
            "%name%, I reprimanded my son for mimicking you. I told him not to act like a fool.",
            "%name%, make a mental note ... oh, I see you're out of paper!",
            "%name%, I hear you changed your mind! And got back two cents.",
            "%name%, I heard you got a brain transplant and the brain rejected you!",
            "%name%, I heard the doctors examined your head and found nothing.",
            "%name%, I know you are nobody's fool. You're everybody's.",
            "%name%, you are so ugly, the tide runs away from you.",
            "%name% is so ugly he went to the zoo and they kept him.",
            "%name% is so so ugly, he went to a freak show and got a permanent job.",
            "%name% fell out of the ugly tree, you hit every branch on the way down.",
            "%name%, in the morning I will be sober, but you will still be ugly!",
            "%name%, Is it Halloween_ Oh ... that's your real face.",
            "%name%, don't turn the other cheek. It's just as ugly.",
            "%name%, your'so ugly the only place you're ever invited is outside."
        });
Default Mocks


The mocks list is modifiable from within the plugin in the Advanced section. You don't have to modify the plugin source code.

Code:

/*
        ######################################################################################
        ##   Mocks 
        ######################################################################################
        ####
        #### This is a list of mockeries that are sent to soldiers when they suicide. 
        #### The suicide mockery message is chosen at random. 
        #### 
        #### The variable 'mock_suicide' controls whether soldiers are mocked on suicide or not.
        ####
        */

        List<string> default_mocks = new List<string>(new string[]
        {
            "%name% suicided, epic fail!",
            "%name% suicided, are you even trying soldier!",
            "%name% suicided, press Alt-F4 for auto-revive! "
        });
Default Slaps


The slaps list is modifiable from within the plugin in the Advanced section. You don't have to modify the plugin source code.

Code:

/*
         ######################################################################################
         ##   Slaps 
         ######################################################################################
         ####
         #### This is a list of slaps that users can give each other with the '!slap' command.
         #### You can have as many types of slaps as you can come up with. Slaps are chosen at random.
         #### Slaps are publicly announced.
         ####
         #### The variable 'slap_player' controls whether insulting is allowed or not.
         ####
        */

        List<string> default_slaps = new List<string>(new string[]
        {
             "%sender% slapped %receiver% with a big smelly tuna fish!",
             "%sender% bitch slapped %receiver%!",
             "%sender% slapped %receiver% to the back of the head!",
             "%sender% ninja slapped %receiver%!",
             "%sender% pimp slapped %receiver%!",
             "%sender% cheek slapped %receiver%!",
             "%sender% butt slapped %receiver%!",
             "%sender% slapped %receiver% in the face with a rotten old fish!",
             "%sender% slapped %receiver% with a large trout!",
             "%sender% slapped %receiver% with the remains of a big Smelly Trout!",
             "%sender% slapped %receiver% with a big bucket of fish!",
             "%sender% slapped %receiver% with a silk glove!",
             "%sender% slapped %receiver% with a wet noddle!",
             "%sender% slapped %receiver% to wake him up!",
             "%sender% slapped %receiver% with a fluffy pillow!",
             "%sender% slapped %receiver% with a rubber chicken!",
             "%sender% slapped %receiver%'s face so hard, %receiver% has to walk backwards from now on to see where he/she is going!",
             "%sender% slapped some sense into %receiver% with a red brick!",
             "%sender% slapped %receiver% with a fire hose!",
             "%sender% slapped %receiver% with a huge law suit!",
             "%sender% slapped %receiver% with a great big, wet, 100% rubber duck!",
             "%sender% slapped %receiver% with a gallon of hot fudge covered ice-cream topped with peanut-butter M&M's!",
             "%sender% slapped %receiver% with a large squid ... I hope you like seafood!",
             "%sender% slapped %receiver% with a soft feather pillow full of drake feathers!",
             "%sender% slapped %receiver% on the butt really hard!",
             "%sender% slapped %receiver% in the nuts!"
        });
Wish-List 0.0.0.2 (in order of priority)

  • Add support for Clan-Tag white-list

Change Log

  • 0.0.0.1-patch-2 (beta, BF3)

    - Fixed defect where "!punish" command (without specifying player name) was not working

    - Removed messages saying "Vote-kick/Vote-ban not allowed" when those features are disabled

  • 0.0.0.1-patch-1 (beta, BF3)

    - Fixed defect with StringLists not being decoded correctly after user-additions

  • 0.0.0.1 - original release ported from BC2 (beta, BF3)

    - Added setting auto_action and auto_action_max to allow auto kick/ban after X

     

    punishments.

    - Added console field to run plugin commands from within ProCon

    - Changed command "!settings" to "!punisher settings"

    - Changed command "!mystats" to "!my violations"

    - Changed command "!stats" to "!violations"

    - Added more slap messages

    - Removed Yell settings

    - Changed private-messages to be squad-messages

    - Added support for Pipe "|" character to be used in String Lists.

    - Changed encoding of the saved settings to be in Base64

    - Changed all squad-messages to be prefixed with the name of the player they are addressed to

    - Removed all settings related to Base-Raping, and Base-Camping

    - Removed the per-map settings for Base-Raping zones

Attached Files:

* Restored post. It could be that the author is no longer active.
Link to comment
  • Replies 80
  • Created
  • Last Reply

Top Posters In This Topic

Originally Posted by micovery*:

 

how were you able to see if it was inside base or outside it ?

It does not. It's only for Team-Kill violations at the moment ... until DICE implements Kill coordinates. It's a more polished version of the BC2 one, with work-around for the lack of private player messages. It also includes a couple of new features.

 

- Added setting auto_action and auto_action_max to allow auto kick/ban after X punishments.

- Added console field to run plugin commands from within ProCon

 

See the full change-log.

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

Originally Posted by pharbehind*:

 

Just using the slaps and insults until kill coordinates are released. This plugin was awesome in BC2 with auto punishing uncap rape.

 

You think we'll be able to control uncap rape being anything that's on the ground in the uncap? For jets and choppers, once they lift off they're usually fair game.

 

Or, if you have fired you are no longer protected from Insane Punisher?

 

Therefore, as long as you stay on the ground and do not fire, you are protected from uncap rape.

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

Originally Posted by micovery*:

 

I changed the insults and slaps, and now the syntax isn't working. When you do a slap or insult in the game it's generated as:

 

%sender%+slapped+%receiver%+in+the+face!

Bah, not enough testing on my side :-) ... just uploaded a patch to fix that ... try it out let me know if works ok. I tested myself by removing all the plugin settings, and starting it from scratch ... then I added some custom slaps and insults manually from the ProCon GUI.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ganjaparadise*:

 

Great micovery ! Thank you.

 

But i've this ERROR all the time, and the dump're big now :smile:

i've disable the plugin for a moment.

 

 

 

Version: InsanePunisher 0.0.0.1-patch1 (beta, BF3)

Date: 1/24/2012 6:35:58 AM

System.NullReferenceException: Object reference not set to an instance of an object.

 

Stack Trace:

at PRoConEvents.InsanePunisher.OnPlayerKilled(Kill killInfo)

 

MSIL Stack Trace:

Void OnPlayerKilled(PRoCon.Core.Kill), IL: 0x51

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

Originally Posted by ErDanese*:

 

Great stuff!! This plug-in is amazing Thank you! :smile:

 

Just one thing, is it possible to set the punishment, to be direct? I mean, for ex. you get Tkilled, you have to write "!punish "playername". How can i set it to be just "!punish" ?

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

Originally Posted by micovery*:

 

Great stuff!! This plug-in is amazing Thank you! :smile:

 

Just one thing, is it possible to set the punishment, to be direct? I mean, for ex. you get Tkilled, you have to write "!punish "playername". How can i set it to be just "!punish" ?

Both methods should work. "!punish" by itself will look at your last killer. However, if your last killer was not in the same team, you cannot punish him for team-killing. In that case you have to use the long method "!punish player-name"

 

So in summary, "!punish" by itself should be used immediately after the "team-kill" violation.

 

Another thing that can happen, is that you get team-killed multiple times (by multiple people) during the round, but you don't take any action.

 

At any time during the round, you can go and do "!punish player-name" ... and take retribution for the earlier team-kill. Or ... you can let the team-kills accumulate, and then do a "!votekick player-name" ... if you have accumulated enough team-kills from the player ... you'll be able to cast enough votes to kick him.

 

(For each team-kill from the violator, you can cast 1 vote ... so 5 team-kills = 5 votes)

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

Originally Posted by ganjaparadise*:

 

Hi there,

 

For some reason i've isolated the problem, due to a problem with PunkBuster today i've disable it and if i do that all your plugin Insane Limits; balancer and Punisher stop working but in log all loaded i've tested to recompil, upload another and time... Do nothing? You 've a solution for this issue ?

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

Originally Posted by micovery*:

 

Hi there,

 

For some reason i've isolated the problem, due to a problem with PunkBuster today i've disable it and if i do that all your plugin Insane Limits; balancer and Punisher stop working but in log all loaded i've tested to recompil, upload another and time... Do nothing? You 've a solution for this issue ?

All the *Insane* plugins depend on PunkBuster. They keep an internal player's list. Users are only added to the player's list when Punkbuster sends their information. So yes, without PunkBuster, they will not work. This is documented under "Minimum Requirements" in the first post.

 

Great micovery ! Thank you.

 

But i've this ERROR all the time, and the dump're big now :smile:

i've disable the plugin for a moment.

Thanks for sharing the stack trace, this will help me add defensive checks to watchout for certain error conditions in this function. As you mentioned, this probably related to punk-buster not being enabled.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ErDanese*:

 

Great stuff!! This plug-in is amazing Thank you! :smile:

 

Just one thing, is it possible to set the punishment, to be direct? I mean, for ex. you get Tkilled, you have to write "!punish "playername". How can i set it to be just "!punish" ?

I've tried again today with a friend, it does work only if i define the name of the player who team-killed me. We are trying this right now, and we're alone in the server performing those tests.

 

 

It's quite cool you can wait until you punish all at once the tk spammer! :smile:

 

But could it be some of the "automation" options that get's me stuck? Couse if you say that the plug in should work directly without defieing the name, then it must be some wrong setting i've made.

 

Settings:

Section 2: Team Killing

say_team_kill - True

punish_team_kill - True

kick_team_kill - True

ban_team_kill - False

forgive_team_kill - True

 

Section 5: Automation

auto_action - Kick

auto_action_max - 5

auto_punish_team_kill False

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

Originally Posted by micovery*:

 

I've tried again today with a friend, it does work only if i define the name of the player who team-killed me. We are trying this right now, and we're alone in the server performing those tests.

 

 

It's quite cool you can wait until you punish all at once the tk spammer! :smile:

 

But could it be some of the "automation" options that get's me stuck? Couse if you say that the plug in should work directly without defieing the name, then it must be some wrong setting i've made.

Your settings look ok ... so nothing happens when you just type "!punish" after being team-killed? It could be a bug.

 

Try running this command in the console field:

 

Code:

!violations ErDanese
It should show the "pending" team-kills. Pending means that the person has not taken action against you. If that person types "!punish" it should kill you.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by 5150Joker*:

 

Edit: Just realized PB had turned off after I restarted our server for some reason. Going to test again with PB on now.

 

Edit 2: Working now. Is there a way to change the script so they don't have to type the player name to punish and can just type, "!Punish" instead?

 

The plugin isn't working at all for me. Here is what the dump file says;

 

 

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

Version: InsanePunisher 0.0.0.1-patch1 (beta, BF3)

Date: 1/28/2012 5:51:49 PM

System.NullReferenceException: Object reference not set to an instance of an object.

 

Stack Trace:

at PRoConEvents.InsanePunisher.OnPlayerKilled(Kill killInfo)

 

MSIL Stack Trace:

Void OnPlayerKilled(PRoCon.Core.Kill), IL: 0x51

 

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

Version: InsanePunisher 0.0.0.1-patch1 (beta, BF3)

Date: 1/28/2012 5:54:28 PM

System.NullReferenceException: Object reference not set to an instance of an object.

 

Stack Trace:

at PRoConEvents.InsanePunisher.OnPlayerKilled(Kill killInfo)

 

MSIL Stack Trace:

Void OnPlayerKilled(PRoCon.Core.Kill), IL: 0x51

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

Originally Posted by micovery*:

 

The plugin isn't working at all for me. Here is what the dump file says;

 

 

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

Version: InsanePunisher 0.0.0.1-patch1 (beta, BF3)

Date: 1/28/2012 5:51:49 PM

System.NullReferenceException: Object reference not set to an instance of an object.

 

Stack Trace:

at PRoConEvents.InsanePunisher.OnPlayerKilled(Kill killInfo)

 

MSIL Stack Trace:

Void OnPlayerKilled(PRoCon.Core.Kill), IL: 0x51

 

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

Version: InsanePunisher 0.0.0.1-patch1 (beta, BF3)

Date: 1/28/2012 5:54:28 PM

System.NullReferenceException: Object reference not set to an instance of an object.

 

Stack Trace:

at PRoConEvents.InsanePunisher.OnPlayerKilled(Kill killInfo)

 

MSIL Stack Trace:

Void OnPlayerKilled(PRoCon.Core.Kill), IL: 0x51

Works fine for me ... this can happen though, as I am not NULL checking the killer/victim information that comes from ProCon ... Expecting ProCon to send correct killer/victim information ...

 

Does it happen all the time ... what ProCon version are you using? Create an account for me on your Layer (PM me the details), and I'll debug it on your server if you want.

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

Originally Posted by 5150Joker*:

 

Micovery: Thanks I got it working for the most part but when someone gets TK'd, they simply cannot type "!punish" they end up having to use the offending players name. Any idea why?

 

 

Thanks.

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

Originally Posted by micovery*:

 

Same her.

Whe i´ve been tk´d on our server, i have to type !punsih "playername"

 

This isnt easy enough, i think

I can't debug this by myself ... if you want this fixed, make me an account on your Layer and PM me the info, so I can debug it. All the servers I have access to for debugging have Friendly Fire off ... so this plugin did not get extensive pre-release testing.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by micovery*:

 

hey micovery this isnt working for me since i installed this bf3 edition. it doesnt do anything with !punish. it does say the wanrings but no action with !punish

There is a bug, where you have to type the name "!punish micovery" ... I need to test/debug it on a server with friendly fire on ... join my server next weekend, to help me test it out.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by QUACK-Major-Pain*:

 

Tried your command

 

"!violations scottscnd"

 

And it showed "vinmeistr battlelog score is 761 639"

 

Think the !forgive requires player name to make it work now.

Seems it's not working with just the plain !forgive

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

Originally Posted by micovery*:

 

Think the !forgive requires player name to make it work now.

Seems it's not working with just the plain !forgive

Yes, both "!punish" and "!forgive" are bugged ... but I can't fix it without people to test it on ... I think I still have your server on my test list ... do you have FF on ... let me know if and when I can test this.

 

 

Tried your command

 

"!violations scottscnd"

 

And it showed "vinmeistr battlelog score is 761 639"

That's insane limits printing that ... in 0.0.0.8, I fixed it so that it would ignore those message if the name of the player does not match exactly
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by micovery*:

 

New patch on first post, here is the change log

 

Change Log

  • 0.0.0.1-patch-2 (beta, BF3)

     

    - Fixed defect where "!punish" command (without specifying player name) was not working

    - Removed messages saying "Vote-kick/Vote-ban not allowed" when those features are disabled

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

Originally Posted by droopie*:

 

New patch on first post, here is the change log

 

Change Log

  • 0.0.0.1-patch-2 (beta, BF3)

     

    - Fixed defect where "!punish" command (without specifying player name) was not working

    - Removed messages saying "Vote-kick/Vote-ban not allowed" when those features are disabled

i must have got it right away lol. been running this for a a little over 30min and its working perfect now. soo nice to have it back and now a working !punish kicker.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by supermillhouse*:

 

not entierly sure if this is working as i expected?

is it to auto kick/ban after so many TK or so many !punish

we DONT have auto punish turned on just the !punish and !forgive

 

if it is TK then the server side already does that

 

and the !forgive does nothing but to convey forgiveness to the victim, it doesnt alter the !punish count, which would make sense i suppose

 

would it be possible to reset the TK or !punish count on a round change,set by a plugin setting_?

 

otherwise i am loving it, just trying to tweek it to my needs

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

Originally Posted by supermillhouse*:

 

having studied what the plugin is doing i believe what i have written above to be mainly nonsense. however i still dont know if the TK and !punish are cleared on round change as the server is on 2000 tickets and is boring to watch. lol

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

Originally Posted by micovery*:

 

having studied what the plugin is doing i believe what i have written above to be mainly nonsense. however i still dont know if the TK and !punish are cleared on round change as the server is on 2000 tickets and is boring to watch. lol

Plugin allows you to set it up however you wan. However the key thing to understand is the concept of !punish and !forgive.

 

 

This is the basic scenario:

Code:

Player 1 Team-Kills  Player 2

Player 1 now has a "pending" violation against Player 2.

Player 2 is given option to "!punish" or "!forgive" for the "pending" violation.

If Player 2 uses "!punish" ... the number of violations for Player 2 is incremented by 1, and Player 2 is admin-killed.
If player 2 uses "!forgive" ... the "pending" violation is cleared.
Now, with automation, you can set auto_action, and auto_action_max ... so that when the number of violations for "Player 2" reaches auto_action_max, then "Player 2" is Kicked or Banned ... (depending on what you have auto_action set to).

 

 

There is also other options like "vote_kick", and "vote_ban", which works on similar concept ... but you should not use those together with automation.

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

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.