Jump to content

Insane Limits (0.9.17.0 - 30-MAR-2015) + BFHL


ImportBot

Recommended Posts

Originally Posted by IAF-SDS*:

 

Hey Papa.

 

It appears a couple of my limits are not recognizing ChainLink0.

 

Do we need an update to IL for the new ChainLink0 game mode to be recognized by limits?

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

Originally Posted by OddJob001*:

 

Hey Papa.

 

It appears a couple of my limits are not recognizing ChainLink0.

 

Do we need an update to IL for the new ChainLink0 game mode to be recognized by limits?

Im assuming yes. Give em some time, it just came out. Lots of the plugins are missing info right now:

Votemap, Balancers, Insane Limits, UMM

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

Originally Posted by PapaCharlie9*:

 

Hey Papa.

 

It appears a couple of my limits are not recognizing ChainLink0.

 

Do we need an update to IL for the new ChainLink0 game mode to be recognized by limits?

It's Procon that needs updating. The new mode isn't in your BF4.defs yet. Have you restarted your Procon instance? You might not be able to see the update until you restart.

 

BTW, in the update I received, it's spelt "Chainlink0".

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

Originally Posted by IAF-SDS*:

 

It's Procon that needs updating. The new mode isn't in your BF4.defs yet. Have you restarted your Procon instance? You might not be able to see the update until you restart.

 

BTW, in the update I received, it's spelt "Chainlink0".

You know, I thought IL relied on the BF4.def file like UMM, and since my BF4.def file was updated three times since launch, I can't be sure if the limits were not working before or after the last update that has Chainlink0 in it.

 

I'll check the limits again since I have a feeling the issues I saw were before the latest BF4.def Chainlink0 update.

 

It shouldn't matter if it's spelled ChainLink0 versus Chainlink0 right?

 

Thanks Papa.

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

Originally Posted by XJaegaX*:

 

Hi,

 

IL worked just fine for me for months all activated and limits setup and working, but now I am getting this message:

"[insane Limits] Thread(activator): WARNING: You must review and accept the Privacy Policy before plugin can be activated"

with the plugin completely nuked.

 

I then accept the Privacy Policy, set all the limits up again, only for it to be nuked the next day again with the same message.

 

Any ideas?

Thanks

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

Originally Posted by PapaCharlie9*:

 

Hi,

 

IL worked just fine for me for months all activated and limits setup and working, but now I am getting this message:

"[insane Limits] Thread(activator): WARNING: You must review and accept the Privacy Policy before plugin can be activated"

with the plugin completely nuked.

 

I then accept the Privacy Policy, set all the limits up again, only for it to be nuked the next day again with the same message.

 

Any ideas?

Thanks

There's a FAQ about this somewhere, but I can't find it.

 

Do NOT accept the policy. Do NOT re-enter all of your limits. They are still there! (Well, in your case, there were still there, but you've overwritten them)

 

Instead, disable Insane Limits. Select (not enable, highlight) another plugin, like the one immediately above Insane Limits. The Details or Settings for that other plugin should be showing. Now, click the checkbox next to Insane Limits to enable it without highlighting it. That should restore all your limits settings.

 

It's a timing issue. It can work fine for you and then you change something else in Procon and now Insane Limits is a split second slower in getting your privacy settings and this problem happens. I haven't been able to figure out how to fix it -- it's a micovery bug.

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

Originally Posted by XJaegaX*:

 

There's a FAQ about this somewhere, but I can't find it.

 

Do NOT accept the policy. Do NOT re-enter all of your limits. They are still there! (Well, in your case, there were still there, but you've overwritten them)

Thanks for the reply, was wondering what was going on :sad:
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by nbtc971*:

 

Reading the original post and the different ways it can limit, it doesn't look like there is a way to limit by SKILL (the skill rating in Battlelog) in BF3 or BF4 correct?

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

Originally Posted by markrlomas*:

 

Does anyone know what the full command/syntax is for calling another plugin within insane limits.

 

Code:

xxxxx.ExecuteCommand("procon.protected.plugins.call", "AdKats", "IssueCommand", JSON.JsonEncode(requestHashtable));
What needs to replace xxxxx?

 

EDIT: for some reason there isn't a space between the the l at the end of call, but the post displays it that way for some reason.

 

Also I may have been wrong. I believe the actual command is:

 

Code:

plugin.CallOtherPlugin("procon.protected.plugins.call", "AdKats", "IssueCommand", JSON.JsonEncode(requestHashtable));
This however throws an error that JSON does not exist in the current context

 

If i remove the JSON references so that the line now reads

 

Code:

plugin.CallOtherPlugin("procon.protected.plugins.call", "AdKats", "IssueCommand", requestHashtable);
it then throws an error that No overload for method 'CallOtherPlugin' takes '4' arguments

Looking at the insane limits documentation is looked like the CallOtherPlugin function requires 3 overloads, so what would actually need to be sent in order to make insane limits issue an AdKats punish?

 

 

I'm also having to create the hastable in the following way

 

Code:

Hashtable requestHashtable = new Hashtable();

requestHashtable.Add("caller_identity", "InsaneLimits");
requestHashtable.Add("response_requested", false);
requestHashtable.Add("command_type", "player_punish");
requestHashtable.Add("source_name", "AutoAdmin");
requestHashtable.Add("target_name", player.Name);
requestHashtable.Add("target_guid", player.EAGuid);
requestHashtable.Add("record_message", "Using restricted weapon " + kill.Weapon);
Is there a more efficient way to do this in Insane limits?

 

Code:

var requestHashtable = new Hashtable{
{"caller_identity", "InsaneLimits"},
{"response_requested", false},
{"command_type", "player_punish"},
{"source_name", "AutoAdmin"},
{"target_name", player.Name},
{"target_guid", player.EAGuid},
{"record_message", "Using restricted weapon " + kill.Weapon}
};
Doing it this way doesn't seem to work and throws up some errors.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by PapaCharlie9*:

 

Reading the original post and the different ways it can limit, it doesn't look like there is a way to limit by SKILL (the skill rating in Battlelog) in BF3 or BF4 correct?

Not correct. You can use the player.Skill property.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by PapaCharlie9*:

 

Also I may have been wrong. I believe the actual command is:

 

Code:

plugin.CallOtherPlugin("procon.protected.plugins.call", "AdKats", "IssueCommand", JSON.JsonEncode(requestHashtable));
You shouldn't use this feature unless you are familiar with programming, particularly remote procedure calls, REST and/or JSON.

 

Assuming you are familiar with those skills, I apologize that there isn't more and better documentation for this usage. Everything is in the plugin Details document tab, which isn't much more than the declaration:

 

Code:

void CallOtherPlugin(String className, String methodName, Hashtable parms);
You have too many parameters. You don't need the "procon.protected.plugins.call", that's what this function does. You also should use JSON.JsonDecode, not JsonEncode, and you need a cast. This should work for you:

 

Code:

plugin.CallOtherPlugin("AdKats", "IssueCommand", (Hashtable)JSON.Decode(request));
The request variable should be a String which is JSON. It has to have the properties that the other plugin requires. You can also construct the Hashtable directly, like the examples you gave, but don't do both. It's one or the other. If you already have a JSON string or it is convenient to make one, use a String. Otherwise, just construct the hashtable direclty and pass it without the JSON Decode:

 

Code:

plugin.CallOtherPlugin("AdKats", "IssueCommand", requestHashtable);
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by markrlomas*:

 

Thanks for the info papa, I did mange to get it working eventually, but my next question is, using a weapon restriction script within i nsane limits, i used to use your "treat multikills as 1 kill" style script so that if someone got a multikill it just counted as 1 limit activation. Now I am integrating this with Adkats punish system so obivously I don't need the insane limits script to use any rounddata to keep track of warnings etc.. so would this work. basically i just wanted it to count the first kill as the "breaking the rules" and then any other kills within 2 seconds to ignore them as obviously it was a multikill

 

This is me 2nd check code, 1st obviously deals with the restricted weapon name matching.

I'm also guessing you will tell me i should use plugin.FriendlyWeaponName too? The Calling of Adkats works fine and eveything is ok on that part, its just the treaking multikills as 1 that i want to make sure will be fine.

Code:

TimeSpan time = TimeSpan.FromSeconds(2); // Activations within 2 seconds count as 1

if (limit.Activations(killer.Name, time) > 1) //Ignore subsequent activations within the time frame
	{
	return false;
	}

//Tidy up weapon names.
string wn = kill.Weapon.Replace("U_","")
                                          .Replace("M34", "M34 Incendiary")
                                          .Replace("Claymore_Recon", "Claymore")
                                          .Replace("RPG7", "RPG")
                                          .Replace("Grenade_RGO", "RGO Impact")
                                          .Replace("C4_Support", "C4")
                                          .Replace("M224", "M224 Mortar")
                                          .Replace("V40", "V40 Mini")
                                          .Replace("M67", "M67 Frag")
                                          .Replace("XM25", "XM25 Airburst")
                                          .Replace("NLAW", "MBT LAW")
                                          .Replace("M320_HE", "M320 HE")
                                          .Replace("M320_FLASH", "M320 Flashbang")
                                          .Replace("M320_LVG", "M320 LVG")
                                          .Replace("M320_SMK", "M320 Smoke")
                                          .Replace("M320_3GL", "M320 3GL")
                                          .Replace("MGL", "M32 MGL");

//Create Hashtable
Hashtable command = new Hashtable();
command.Add("caller_identity", "InsaneLimits");
command.Add("response_requested", false);
command.Add("command_type", "player_punish");
command.Add("source_name", "AutoAdmin");
command.Add("target_name", player.Name);
command.Add("target_guid", player.EAGuid);
command.Add("record_message", "using explosives (" + wn + ")");
//Call Adkats and send the parameters/Hashtable
plugin.CallOtherPlugin("AdKats", "IssueCommand", command);
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by markrlomas*:

 

Mark, the punish command already has a built in 20 second timeout on it for any player.

That's even better, that means i should be able to do:

 

Code:

if (Regex.Match(kill.Weapon, @"(List of banned weapons").Success == true)

Hashtable command = new Hashtable();
command.Add("caller_identity", "InsaneLimits");
command.Add("response_requested", false);
command.Add("command_type", "player_punish");
command.Add("source_name", "AutoAdmin");
command.Add("target_name", player.Name);
command.Add("target_guid", player.EAGuid);
command.Add("record_message", "using explosives (" + plugin.FriendlyWeaponName(kill.Weapon)+ ")");
//Call Adkats and send the parameters/Hashtable
plugin.CallOtherPlugin("AdKats", "IssueCommand", command);
This means that what once used to be a rather lengthy no explosives script is now just a few lines.

 

This 20 second timeout on players, is this customizable or is this hardcoded?

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

Originally Posted by ColColonCleaner*:

 

That's even better, that means i should be able to do:

 

Code:

if (Regex.Match(kill.Weapon, @"(List of banned weapons").Success == true)

Hashtable command = new Hashtable();
command.Add("caller_identity", "InsaneLimits");
command.Add("response_requested", false);
command.Add("command_type", "player_punish");
command.Add("source_name", "AutoAdmin");
command.Add("target_name", player.Name);
command.Add("target_guid", player.EAGuid);
command.Add("record_message", "using explosives (" + plugin.FriendlyWeaponName(kill.Weapon)+ ")");
//Call Adkats and send the parameters/Hashtable
plugin.CallOtherPlugin("AdKats", "IssueCommand", command);
This means that what once used to be a rather lengthy no explosives script is now just a few lines.

 

This 20 second timeout on players, is this customizable or is this hardcoded?

20 seconds has been tested for over a year and seems to be the optimal value, so it is hardcoded. Originally was 30 seconds but was reduced after testing. The timeout is just so that if two or more admins attempt to punish a player for the same infraction, only one of the punishes goes through.

 

Also, that IF statement doesn't have brackets, and the current format you have wont compile as "command" doesn't exist on line 3.

 

This will work:

 

Code:

if (Regex.Match(kill.Weapon, @"(List of banned weapons").Success == false)
     return;
Hashtable command = new Hashtable();
command.Add("caller_identity", "InsaneLimits");
command.Add("response_requested", false);
command.Add("command_type", "player_punish");
command.Add("source_name", "AutoAdmin");
command.Add("target_name", player.Name);
command.Add("target_guid", player.EAGuid);
command.Add("record_message", "using explosives (" + plugin.FriendlyWeaponName(kill.Weapon)+ ")");
//Call Adkats and send the parameters/Hashtable
plugin.CallOtherPlugin("AdKats", "IssueCommand", command);
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by markrlomas*:

 

Yeah sorry about the bad typing of the code, i quickly typed it in here as i couldn't be bothered to load up procon to copy/paste lol. Guess i didn't proof read it very well. 20 seconds seems like it should do fine, after all I've seen it in action on your guys Metro server and it seems to work perfect

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

Originally Posted by eddtheduck*:

 

Hi,

 

IL worked just fine for me for months all activated and limits setup and working, but now I am getting this message:

"[insane Limits] Thread(activator): WARNING: You must review and accept the Privacy Policy before plugin can be activated"

with the plugin completely nuked.

 

I then accept the Privacy Policy, set all the limits up again, only for it to be nuked the next day again with the same message.

 

Any ideas?

Thanks

I'm getting the same .. not sure y .it just started happening 2 days ago?
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by 397Seth*:

 

Hi,

 

I have installed the add on and read the FAQ.

 

I have sandbox deactivated

set the rights on the ftp server to 777 (read/write to all files).

My Procon client account has full access to everything.

I can also type in the commands in the console and get an ok reply:

serverInfo

mapList.list

mapList.getMapIndices

admin.listPlayers all

punkBuster.pb_sv_command pb_sv_plist

punkBuster.pb_sv_command pb_sv_ban

punkBuster.pb_sv_command pb_sv_kick

 

I still get the error:

 

[21:54:53 98] [insane Limits] ERROR: unable to dump information to file

[21:54:53 98] [insane Limits] EXCEPTION: System.Security.SecurityException: Fehler bei der Anforderung des Berechtigungstyps "System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089".

 

Also, is there a beginners guide for new rules?

I desperatly search for a way to automatically ban players based on their Battlelog KD ratio because I'm running a lowskill server.

 

Every help is appreciated.

 

Thanks

397Seth

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

Originally Posted by PapaCharlie9*:

 

Hi,

 

I have installed the add on and read the FAQ.

 

I have sandbox deactivated

set the rights on the ftp server to 777 (read/write to all files).

My Procon client account has full access to everything.

I can also type in the commands in the console and get an ok reply:

serverInfo

mapList.list

mapList.getMapIndices

admin.listPlayers all

punkBuster.pb_sv_command pb_sv_plist

punkBuster.pb_sv_command pb_sv_ban

punkBuster.pb_sv_command pb_sv_kick

 

I still get the error:

 

[21:54:53 98] [insane Limits] ERROR: unable to dump information to file

[21:54:53 98] [insane Limits] EXCEPTION: System.Security.SecurityException: Fehler bei der Anforderung des Berechtigungstyps "System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089".

 

Also, is there a beginners guide for new rules?

I desperatly search for a way to automatically ban players based on their Battlelog KD ratio because I'm running a lowskill server.

 

Every help is appreciated.

 

Thanks

397Seth

Are you using a layer? Sounds like it with the reference to FTP. This error usually means that your layer hosting company has not given Procon write permission on the folders it is installed into, particularly procon/, procon/Plugins, and procon/Configs. You will need to open a ticket with your hosting company.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by 397Seth*:

 

Are you using a layer? Sounds like it with the reference to FTP. This error usually means that your layer hosting company has not given Procon write permission on the folders it is installed into, particularly procon/, procon/Plugins, and procon/Configs. You will need to open a ticket with your hosting company.

My provider doesnt deactive the sandbox. Switched to another one and it works fine. Is there an overview of expressions avaible?

I'm looking for a round KDR kicker that allows me to have different kdr for different total kills.

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

Originally Posted by markrlomas*:

 

Quick question.

 

Would i be correct in assuming i could use if (team1.RemainTickets == Double.NaN) to not only detect if the server is currently between Round End and Round Start, but also detect if the server is in the Pre-round state (x/4 players ready)?

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

Originally Posted by PapaCharlie9*:

 

My provider doesnt deactive the sandbox. Switched to another one and it works fine. Is there an overview of expressions avaible?

I'm looking for a round KDR kicker that allows me to have different kdr for different total kills.

Post a request in the Insane Limits Requests thread. That KDR should be conditional on number of kills is an often overlooked limit. Probably worth a new limit and thread.

 

myrcon.net/.../insane-limits-requests

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

Originally Posted by PapaCharlie9*:

 

Quick question.

 

Would i be correct in assuming i could use if (team1.RemainTickets == Double.NaN) to not only detect if the server is currently between Round End and Round Start, but also detect if the server is in the Pre-round state (x/4 players ready)?

That's not a reliable technique for detecting in-round state vs. between-round state -- the serverInfo for scores seems to update randomly after the round ends, and varies by mode. A better technique is to use one limit to detect OnRoundOver and another to detect OnRoundStart, and communicate with a third limit through the plugin.Data dictionary. That works, except for the round in which the plugin or limit is first enabled. That requires some heuristics. You could assume you start between rounds until you see an OnSpawn or OnKill, then you know are you in-round.

 

Detecting pre-round is easier. If server.PlayerCount >= 4, server is Active, otherwise it is in Warmup. There is one exception, when vars.roundRestartPlayerCount is 0, then you might have some situations where the server is Active with less then 4 players.

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

Originally Posted by 397Seth*:

 

Post a request in the Insane Limits Requests thread. That KDR should be conditional on number of kills is an often overlooked limit. Probably worth a new limit and thread.

 

myrcon.net/.../insane-limits-requests

Just posted there. Thanks a lot for your effort on this plugin
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by 397Seth*:

 

Sorry to bother you again.

You write that there is an optional MySQL Database support for caching from a recent version on. I didnt find a way to enable that, or do I need to have another add on for that?

 

I am asking because I had a lot of crash and lag problems on my gameserver so I switched to a new Hoster and I am having the same problems.

Can procon crash a gameserver or induce lags?

* 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.