Jump to content

Insane Limits V0.9/R1: Hexacanon's damage hack detector


ImportBot

Recommended Posts

Originally Posted by HexaCanon*:

 

What does this limit do ?

 

when a player joins the server, the limit will first check if the player has his stats fetched from battlelog, once the player stats are available, it will check his weapon stats and look for suspicious numbers.

 

the limit requires you to have have "use_direct_fetch" and "use_slow_weapon_stats" set as "true".

 

all suspicious numbers will be given certain amount of Black Points as shown in the picture below (out of date):

Posted Image

 

there are few exceptions :

- player has less than 15 hours of play time.

- checked weapon has less than 120 kills.

 

Weapons not included :

- pistols (plan to add them later).

- Shotguns (not adding them).

 

Set limit to evaluate OnSpawn, set action to None.

 

Set first_check to this Expression:

 

 

Code:

(!player.StatsError)
Set second_check to this Code:

 

Code:

// Revision : 5
// action taken on damage modifiers
    Action<String> DamageModifierPlayer = delegate(String who) {
       // set action here default is 1 hour ban
        String message = "you have been banned for having suscpicious stats";
        plugin.EABanPlayerWithMessage(EABanType.EA_GUID, EABanDuration.Temporary, who, 60, message);
    };
// action taken for blackpoint violaters
    Action<String> BlackPointPlayer = delegate(String who) {
        // set action here default is 1 hour ban
        String message = "you have been banned for having suscpicious stats";
        plugin.EABanPlayerWithMessage(EABanType.EA_GUID, EABanDuration.Temporary, who, 60, message);
    };
// how many black points are required for the action to be taken
    int TakeAction = 20; // recommended is 20 and above Minimum is 20
// how many black points are required for notification to trigger
    int NotifyMe = 5; // recommended above 5 and below TakeAction value
// here you can setup a notification
Action<String> NotifyMeAbout = delegate(String who) {
        // set notification here, such as email,sound notification, taskbar notification, logging etc ..
        // this is triggered for all players who have Black points above the NotifyMe value
        plugin.Log("Cheat-o-meter.log", plugin.R("[%date% %time%] [%server_host%] [server.Name] [player.EAGuid] " + who)); // this will log player name only with his EA GUID, still require testing
    };
// options END
    
if (limit.Activations(player.Name) != 1) return false;
if ( (player.Time/60)/60 < 15) return false;

Dictionary<String,double> avg_HK = new Dictionary<String,double>();
// PDW
avg_HK["AS VAL"] = 14.83;
avg_HK["Weapons/XP2_MP5K/MP5K"] = 13.72;
avg_HK["MP7"] = 13.01;
avg_HK["Weapons/P90/P90"] = 13.05;
avg_HK["Weapons/MagpulPDR/MagpulPDR"] = 15.81;
avg_HK["PP-19"] = 11.51;
avg_HK["PP-2000"] = 15.45;
avg_HK["Weapons/UMP45/UMP45"] = 16.03;
// Engineer 
avg_HK["Weapons/A91/A91"] = 16.36;
avg_HK["Weapons/XP2_ACR/ACR"] = 13.62;
avg_HK["AKS-74u"] = 16.46;
avg_HK["Weapons/G36C/G36C"] = 16.38;
avg_HK["HK53"] = 16.58;
avg_HK["M4A1"] = 16;
avg_HK["Weapons/XP2_MTAR/MTAR"] = 16.96;
avg_HK["QBZ-95B"] = 16.22;
avg_HK["Weapons/SCAR-H/SCAR-H"] = 19.82;
avg_HK["SG 553 LB"] = 16.43;
// Assault
avg_HK["AEK-971"] = 16.52;
avg_HK["Weapons/AK74M/AK74"] = 16.44;
avg_HK["AN-94 Abakan"] = 16.04;
avg_HK["Steyr AUG"] = 16.63;
avg_HK["F2000"] = 17.00;
avg_HK["FAMAS"] = 16.8;
avg_HK["Weapons/G3A3/G3A3"] = 21.46;
avg_HK["Weapons/KH2002/KH2002"] = 16.61;
avg_HK["Weapons/XP1_L85A2/L85A2"] = 16.49;
avg_HK["M16A4"] = 15.98;
avg_HK["Weapons/M416/M416"] = 16.68;
avg_HK["SCAR-L"] = 16.53;
//Support
avg_HK["M27IAR"] = 16.32;
avg_HK["RPK-74M"] = 16.04;
avg_HK["Weapons/XP2_L86/L86"] = 16.25;
avg_HK["LSAT"] = 16.17;
avg_HK["M60"] = 19.98;
avg_HK["M240"] = 20.09;
avg_HK["M249"] = 16.16;
avg_HK["MG36"] = 16.44;
avg_HK["Pecheneg"] = 20.93;
avg_HK["QBB-95"] = 16.31;
avg_HK["Type88"] = 15.59;
// Recon
avg_HK["JNG90"] = 52.62;
avg_HK["L96"] = 50.54;
avg_HK["M39"] = 31.87;
avg_HK["M40A5"] = 52.13;
avg_HK["Model98B"] = 52.81;
avg_HK["M417"] = 32.76;
avg_HK["Mk11"] = 31.4;
avg_HK["QBU-88"] = 33.03;
avg_HK["SKS"] = 25.55;
avg_HK["SV98"] = 48.03;
avg_HK["SVD"] = 32.06;
// Pistols
avg_HK["Glock18"] = 18.43;
avg_HK["M1911"] = 25.02;
avg_HK["M9"] = 17.89;
avg_HK["M93R"] = 18.5;
avg_HK["Taurus .44"] = 38.66;
avg_HK["Weapons/MP412Rex/MP412REX"] = 35.13;
avg_HK["Weapons/MP443/MP443"] = 18.58;

Dictionary<String,double> norm_DPS = new Dictionary<String,double>();
// PDW
norm_DPS["AS VAL"] = 20;
norm_DPS["Weapons/XP2_MP5K/MP5K"] = 25;
norm_DPS["MP7"] = 20;
norm_DPS["Weapons/P90/P90"] = 20;
norm_DPS["Weapons/MagpulPDR/MagpulPDR"] = 25;
norm_DPS["PP-19"] = 16.7;
norm_DPS["PP-2000"] = 25;
norm_DPS["Weapons/UMP45/UMP45"] = 34;
// Engineer 
norm_DPS["Weapons/A91/A91"] = 25;
norm_DPS["Weapons/XP2_ACR/ACR"] = 20;
norm_DPS["AKS-74u"] = 25;
norm_DPS["Weapons/G36C/G36C"] = 25;
norm_DPS["HK53"] = 25;
norm_DPS["M4A1"] = 25;
norm_DPS["Weapons/XP2_MTAR/MTAR"] = 25;
norm_DPS["QBZ-95B"] = 25;
norm_DPS["Weapons/SCAR-H/SCAR-H"] = 30;
norm_DPS["SG 553 LB"] = 25;
// Assault
norm_DPS["AEK-971"] = 25;
norm_DPS["Weapons/AK74M/AK74"] = 25;
norm_DPS["AN-94 Abakan"] = 25;
norm_DPS["Steyr AUG"] = 25;
norm_DPS["F2000"] = 25;
norm_DPS["FAMAS"] = 25;
norm_DPS["Weapons/G3A3/G3A3"] = 34;
norm_DPS["Weapons/KH2002/KH2002"] = 25;
norm_DPS["Weapons/XP1_L85A2/L85A2"] = 25;
norm_DPS["M16A4"] = 25;
norm_DPS["Weapons/M416/M416"] = 25;
norm_DPS["SCAR-L"] = 25;
//Support
norm_DPS["M27IAR"] = 25;
norm_DPS["RPK-74M"] = 25;
norm_DPS["Weapons/XP2_L86/L86"] = 25;
norm_DPS["LSAT"] = 25;
norm_DPS["M60"] = 34;
norm_DPS["M240"] = 34;
norm_DPS["M249"] = 25;
norm_DPS["MG36"] = 25;
norm_DPS["Pecheneg"] = 34;
norm_DPS["QBB-95"] = 25;
norm_DPS["Type88"] = 25;
// Recon
norm_DPS["JNG90"] = 80;
norm_DPS["L96"] = 80;
norm_DPS["M39"] = 50;
norm_DPS["M40A5"] = 80;
norm_DPS["Model98B"] = 95;
norm_DPS["M417"] = 50;
norm_DPS["Mk11"] = 50;
norm_DPS["QBU-88"] = 50;
norm_DPS["SKS"] = 43;
norm_DPS["SV98"] = 80;
norm_DPS["SVD"] = 50;
// Pistols
norm_DPS["Glock18"] = 25;
norm_DPS["M1911"] = 34;
norm_DPS["M9"] = 25;
norm_DPS["M93R"] = 20;
norm_DPS["Taurus .44"] = 60;
norm_DPS["Weapons/MP412Rex/MP412REX"] = 50;
norm_DPS["Weapons/MP443/MP443"] = 25;


List<String> cheatometer = new List<String>();
BattlelogWeaponStatsInterface Get = null;
String DPSCOLOR = "^2";
String HSKCOLOR = "^2";
String KPMCOLOR = "^2";
String ACCCOLOR = "^2";
String BPCOLOR = "^2";
String BlackPointsCounter= player.Name + "_Weapon_BlackPoints";
String cheatedCounter= player.Name + "_Weapon_cheated";
String DPSmodifier = null;
int BlackPoints = 0;
int cheated = 0;
if (TakeAction < 20) TakeAction = 20;
if (NotifyMe >= TakeAction) NotifyMe = TakeAction-1;

foreach (String Gun in avg_HK.Keys) {
    Get = player.GetBattlelog(Gun);
    if (Get.Kills < 120) continue;
    Match m = Regex.Match(Gun, @"/([^/]+)$");
    String wn = Gun;
    if (m.Success) wn = m.Groups[1].Value;
    DPSCOLOR = "^2";
    HSKCOLOR = "^2";
    KPMCOLOR = "^2";
    ACCCOLOR = "^2";
    double HSmodifier = 1;
    if (avg_HK[Gun] > 25) HSmodifier = 1.2;
    double ShotsHit = Math.Round((Get.ShotsFired*(Get.Accuracy / 100)), 0);
    double DPS = Math.Round(((Get.Kills/ShotsHit)*100), 2);
    double HeadshotsRatio = Math.Round(((Get.Headshots/Get.Kills)*100), 2);
    double HSmodified = Math.Round(HeadshotsRatio * HSmodifier, 2);
    double MaxDPS = Math.Round((norm_DPS[Gun] * (1+(HSmodified/100))), 0);
    double KPM = Math.Round(Get.Kills/(Get.TimeEquipped/60), 1);
    double Accuracy = Math.Round(Get.Accuracy, 0);
    if (DPS > (MaxDPS * 1.3) && DPS <= (MaxDPS * 1.4)) {
        DPSCOLOR = "^3";
        server.Data.setInt(BlackPointsCounter, BlackPoints+1);
        if (server.Data.issetInt(BlackPointsCounter)) BlackPoints = server.Data.getInt(BlackPointsCounter);
    }
    if (DPS  > (MaxDPS * 1.4) && DPS <= (MaxDPS * 1.8)) {
            DPSCOLOR = "^7";
            server.Data.setInt(BlackPointsCounter, BlackPoints+3);
            if (server.Data.issetInt(BlackPointsCounter)) BlackPoints = server.Data.getInt(BlackPointsCounter);
    }
    if (DPS > (MaxDPS * 1.8)) {
            DPSCOLOR = "^8";
            server.Data.setInt(cheatedCounter, 1);
    }
    if (avg_HK[Gun] <= 25) {
        if (DPS <= (MaxDPS * 1.3) && HeadshotsRatio < 40 && ( (KPM <= 3.5 && player.Rank <= 120) || (KPM <= 4 && player.Rank > 120) ) && Accuracy <= 35) continue;
        if (HeadshotsRatio >= 40 && HeadshotsRatio <= 45) {
            HSKCOLOR = "^3";
            server.Data.setInt(BlackPointsCounter, BlackPoints+2);
            if (server.Data.issetInt(BlackPointsCounter)) BlackPoints = server.Data.getInt(BlackPointsCounter);
        }
        if (HeadshotsRatio > 45 && HeadshotsRatio <=55) {
            HSKCOLOR = "^7";
            server.Data.setInt(BlackPointsCounter, BlackPoints+3);
            if (server.Data.issetInt(BlackPointsCounter)) BlackPoints = server.Data.getInt(BlackPointsCounter);
        }
        if (HeadshotsRatio > 55) {
            HSKCOLOR = "^8";
            server.Data.setInt(BlackPointsCounter, BlackPoints+5);
            if (server.Data.issetInt(BlackPointsCounter)) BlackPoints = server.Data.getInt(BlackPointsCounter);
        }
        if (Accuracy > 35 && Accuracy <= 40) {
            ACCCOLOR = "^3";
            server.Data.setInt(BlackPointsCounter, BlackPoints+1);
            if (server.Data.issetInt(BlackPointsCounter)) BlackPoints = server.Data.getInt(BlackPointsCounter);
        }
        if (Accuracy > 40 && Accuracy <= 50) {
            ACCCOLOR = "^7";
            server.Data.setInt(BlackPointsCounter, BlackPoints+2);
            if (server.Data.issetInt(BlackPointsCounter)) BlackPoints = server.Data.getInt(BlackPointsCounter);
        }
        if (Accuracy > 50) {
            ACCCOLOR = "^8";
            server.Data.setInt(BlackPointsCounter, BlackPoints+3);
            if (server.Data.issetInt(BlackPointsCounter)) BlackPoints = server.Data.getInt(BlackPointsCounter);
        }
    }
    if (avg_HK[Gun] > 25) {
        if (DPS <= (MaxDPS * 1.3) && HeadshotsRatio < 90 && ( (KPM <= 3.5 && player.Rank <= 120) || (KPM <= 4 && player.Rank > 120) ) && Accuracy <= 50) continue;
        if (HeadshotsRatio >= 90 && HeadshotsRatio <= 93) {
            HSKCOLOR = "^3";
            server.Data.setInt(BlackPointsCounter, BlackPoints+1);
            if (server.Data.issetInt(BlackPointsCounter)) BlackPoints = server.Data.getInt(BlackPointsCounter);
        }
        if (HeadshotsRatio > 93 && HeadshotsRatio <=96) {
            HSKCOLOR = "^7";
            server.Data.setInt(BlackPointsCounter, BlackPoints+2);
            if (server.Data.issetInt(BlackPointsCounter)) BlackPoints = server.Data.getInt(BlackPointsCounter);
        }
        if (HeadshotsRatio > 96) {
            HSKCOLOR = "^8";
            server.Data.setInt(BlackPointsCounter, BlackPoints+3);
            if (server.Data.issetInt(BlackPointsCounter)) BlackPoints = server.Data.getInt(BlackPointsCounter);
        }
        if (Accuracy > 50 && Accuracy <= 60) {
            ACCCOLOR = "^3";
            server.Data.setInt(BlackPointsCounter, BlackPoints+1);
            if (server.Data.issetInt(BlackPointsCounter)) BlackPoints = server.Data.getInt(BlackPointsCounter);
        }
        if (Accuracy > 60 && Accuracy <= 70) {
            ACCCOLOR = "^7";
            server.Data.setInt(BlackPointsCounter, BlackPoints+2);
            if (server.Data.issetInt(BlackPointsCounter)) BlackPoints = server.Data.getInt(BlackPointsCounter);
        }
        if (Accuracy > 70) {
            ACCCOLOR = "^8";
            server.Data.setInt(BlackPointsCounter, BlackPoints+3);
            if (server.Data.issetInt(BlackPointsCounter)) BlackPoints = server.Data.getInt(BlackPointsCounter);
        }
    }
    if (KPM > 3.5 && KPM <= 4.5) {
        KPMCOLOR = "^3";
        if (player.Rank <= 120) server.Data.setInt(BlackPointsCounter, BlackPoints+1);
        if (player.Rank > 120 && KPM > 4) server.Data.setInt(BlackPointsCounter, BlackPoints+1);
        if (server.Data.issetInt(BlackPointsCounter)) BlackPoints = server.Data.getInt(BlackPointsCounter);
    }
    if (KPM > 4.5 && KPM <= 5.5) {
            KPMCOLOR = "^7";
            if (player.Rank <= 120) server.Data.setInt(BlackPointsCounter, BlackPoints+2);
            if (player.Rank > 120) server.Data.setInt(BlackPointsCounter, BlackPoints+1);
            if (server.Data.issetInt(BlackPointsCounter)) BlackPoints = server.Data.getInt(BlackPointsCounter);
    }
    if (KPM > 5.5) {
            KPMCOLOR = "^8";
            if (player.Rank <= 120) server.Data.setInt(BlackPointsCounter, BlackPoints+3);
            if (player.Rank > 120) server.Data.setInt(BlackPointsCounter, BlackPoints+2);
            if (server.Data.issetInt(BlackPointsCounter)) BlackPoints = server.Data.getInt(BlackPointsCounter);
    }
    cheatometer.Add("^b[" + wn+ "] " + DPSCOLOR + "DPS : " + DPS + "/" + norm_DPS[Gun] + "-" + MaxDPS + " ^0|" + HSKCOLOR + " Headshot/Kill : " + HeadshotsRatio + "% ^0|" + KPMCOLOR + " Kills/minute : " + KPM + " ^0|" + ACCCOLOR + " Accuracy : " + Accuracy + "% ^0| Kills : " + Get.Kills + "^0^n");
}

if (cheatometer.Count == 0) return false;

if (server.Data.issetInt(BlackPointsCounter)) BlackPoints = server.Data.getInt(BlackPointsCounter);

if (server.Data.issetInt(cheatedCounter)) cheated = server.Data.getInt(cheatedCounter);


plugin.PRoConChat("--------------------------------------------------" + player.Name + "--------------------------------------------------");
plugin.PRoConChat("^b^2Green = normal/fine ^0| ^3Yellow = above normal ^0| ^7Pink = highly suspicious ^0 | ^8Red = 99% cheat^n^0");
foreach (String metered in cheatometer) {
    plugin.PRoConChat(metered);
}

if (cheated == 1) {
    DamageModifierPlayer(player.Name);
    DPSmodifier = " ^8^b, player is damage modifier and is banned^0^n";
}

if (BlackPoints >= 1) {
    // add any action for notifying.
    plugin.ConsoleWrite("^3^b[Evaluating]^0^n " + player.Name + " has " + BlackPoints + " Black Points");
    if (BlackPoints > 5 && BlackPoints <= 10) BPCOLOR = "^3";
    if (BlackPoints > 10 && BlackPoints <= 15) BPCOLOR = "^7";
    if (BlackPoints > 15) BPCOLOR = "^8";
    if (BlackPoints >= TakeAction && cheated == 0) {
        BlackPointPlayer(player.Name);
    }
    if (BlackPoints <= 15 && cheated >= 0) plugin.PRoConChat(player.Name + " has " + BPCOLOR + BlackPoints + "^0^n black points" + DPSmodifier);
    if (BlackPoints > 15 && BlackPoints < TakeAction && cheated == 1) plugin.PRoConChat(player.Name + " has " + BPCOLOR + BlackPoints + "^0^n black points" + DPSmodifier);
    if (BlackPoints > 15 && BlackPoints < TakeAction && cheated == 0) plugin.PRoConChat(player.Name + " has " + BPCOLOR + BlackPoints + "^0^n black points, please investigate the player.");
    if (BlackPoints >= TakeAction && cheated == 1) plugin.PRoConChat(player.Name + " has " + BPCOLOR + BlackPoints + "^0^n black points" + DPSmodifier);
    if (BlackPoints >= TakeAction && cheated == 0) plugin.PRoConChat(player.Name + " has " + BPCOLOR + BlackPoints + " black points and is banned");
    plugin.SendTaskbarNotification("warning", "cheatmeter");
}
if (BlackPoints >= NotifyMe) {
    NotifyMeAbout(player.Name);
    plugin.Log("cheat-o-meter.log", "--------------------------------------------------" + player.Name + "--------------------------------------------------");
    foreach (String metered in cheatometer) {
        plugin.Log("cheat-o-meter.log", metered);
    }
}
return false;
the limit will take action on 2 kind of players :

1 - players with a single weapon that has high amount of DPS

2 - players who reach a certain amount of Black Points.

 

options provided by the limit (requires the user to edit the code) :

1- Type of Action taken on first kind of players (see above)

2- Type of Action taken on second kind of players (see above)

3- amount of Black Points required for second kind of players

4- amount of Black Points required to notify an admin (must be lower than 3rd option)

5- Type of notification action taken for 4th option.

 

the limit will always output information into procon chat in this format :

Posted Image

Posted Image

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

Originally Posted by dyn*:

 

Was just going to make a post on this and I see a new thread - ha!

 

We have someone getting caught up in the filter who is not cheating. I'm guessing he's being targeted for damage mod. Would there be a way to add these players who are clean to a skip list?

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

Originally Posted by EBassie*:

 

Was just going to make a post on this and I see a new thread - ha!

 

We have someone getting caught up in the filter who is not cheating. I'm guessing he's being targeted for damage mod. Would there be a way to add these players who are clean to a skip list?

An easy, but dirty fix would be to add that player to the global whitelist.

 

It would be nice if you can use a custom whitelist for this limit

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

Originally Posted by HexaCanon*:

 

Was just going to make a post on this and I see a new thread - ha!

 

We have someone getting caught up in the filter who is not cheating. I'm guessing he's being targeted for damage mod. Would there be a way to add these players who are clean to a skip list?

- i will add an exception list (although i won't recommend using it).

- reason why i wont recommend it is because i have set a high requirement for someone to be considered a cheater : for example you would be required to have at least 80% more damage than normal amount of bullet damage, or lots of high headshot/kill %.

- can i see the player that you think is wrongfully banned ?

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

Originally Posted by HexaCanon*:

 

updated main post with revision 4.

 

- players wont be given 1 Black Point if they are within 2 DPS of the expected DPS.

- out put information is logged in a better way now in cheat-o-meter file in your procon folder.

 

 

you can always help by having the limit on virtual mode and report false positives, you will find the option in the limit state (enable/disable/virtual).

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

Originally Posted by dyn*:

 

Excellent! Thank you for the update(s). We're scanning away and am really happy with the results.... I never liked banning someone just for one bad 'mark' on their stats. This looks to be doing a wonderful job.

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

Originally Posted by dyfuzor*:

 

Hi, I have a question what I did wrong that I do not shows ProCon chat when I had ProCon in branzone it was ok

as ProCon moved to Gameservers stopped working Please help what broke :smile:

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

Originally Posted by HexaCanon*:

 

Hi, I have a question what I did wrong that I do not shows ProCon chat when I had ProCon in branzone it was ok

as ProCon moved to Gameservers stopped working Please help what broke :smile:

is this the only limit that does not work ? how do you know it is not working ?

 

if you follow the steps from the main post and your limit compiles without any issue. then it is working.

 

 

also make sure you have "use_direct_fetch" and "use_slow_weapon_stats" set as "true".

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

Originally Posted by _gp_*:

 

Hexa

been looking at this in virtual mode, rather interesting...(when you get pistols in will be much better)

 

Do you need to see any of the logs from server?

 

I do have one regular that has a DPs point for every weapon, for total of 20 points. He is just above the average...

 

_gp?

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

Originally Posted by HexaCanon*:

 

Hexa

been looking at this in virtual mode, rather interesting...(when you get pistols in will be much better)

 

Do you need to see any of the logs from server?

 

I do have one regular that has a DPs point for every weapon, for total of 20 points. He is just above the average...

 

_gp?

you have hardcore mode server ?

 

i am trying to make this work with hardcore, just little busy with university studies at this moment. will give an update in the weekend.

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

Originally Posted by _gp_*:

 

-WalkInDead-

 

Located in Chicago, it is a 24 slot hardcore server running GM, TDM and SQDM...

... all close quarter maps...

 

going to leave in virtual mode, watching the logs it appears the people that are getting black points against them, are within 3 of the DPS limit.

 

let me know what you might need.

 

_gp?

 

bf3 I am groundpounder55

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

Originally Posted by _gp_*:

 

-WalkInDead-

 

Located in Chicago, it is a 24 slot hardcore server running GM, TDM and SQDM...

... all close quarter maps...

 

going to leave in virtual mode, watching the logs it appears the people that are getting black points against them, are within 3 of the DPS limit.

 

let me know what you might need.

 

_gp?

 

bf3 I am groundpounder55

added DOM maps to server...

 

server runs GM map every other map and does use Votemap .

 

 

I manage to now have a Black Point with Famas :smile:

 

_gp?

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

Originally Posted by shadow2k1*:

 

What does this limit do ?

 

options provided by the limit (requires the user to edit the code) :

1- Type of Action taken on first kind of players (see above)

2- Type of Action taken on second kind of players (see above)

i have a stupid question to ask.

im gonna try this out and for the kick message this is auto set in procon

violated Limit #%l_id% %l_n%

 

what does #%l_id% %l_n% return? the players name?

can i put any message in here or will it mess up the message

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

Originally Posted by HexaCanon*:

 

i have a stupid question to ask.

im gonna try this out and for the kick message this is auto set in procon

violated Limit #%l_id% %l_n%

 

what does #%l_id% %l_n% return? the players name?

can i put any message in here or will it mess up the message

you are doing the action taken wrong, the action is already written in the code, you have to edit the code for a different action instead of adding action in the action section.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by shadow2k1*:

 

you are doing the action taken wrong, the action is already written in the code, you have to edit the code for a different action instead of adding action in the action section.

i see, at what line is the action being taken? that i need to adjust?

 

nevermind i found it however ihave a Q about the notification

 

// here you can setup a notification

Action NotifyMeAbout = delegate(String who) {

// set notification here, such as email,sound notification, taskbar notification, logging etc ..

 

how do you set up a sound notification?

 

and also

 

(EABanType.EA_GUID, EABanDuration.Temporary, who, 60, message)

do you have a list or can you point me to where i can find the info to other options then temp ban

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

Originally Posted by HexaCanon*:

 

i see, at what line is the action being taken? that i need to adjust?

 

nevermind i found it however ihave a Q about the notification

 

// here you can setup a notification

Action NotifyMeAbout = delegate(String who) {

// set notification here, such as email,sound notification, taskbar notification, logging etc ..

 

how do you set up a sound notification?

5,6 and 11,12.

 

the blue text explains how to modify the code.

 

although i think the default settings are good.

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

Originally Posted by gregs8624*:

 

Hi,nice plugin, i have install this and i have nothing showing in procon chat,should it show every players stats in the chat? it is compiled no errors showing, thank you

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

Originally Posted by HexaCanon*:

 

Hi,nice plugin, i have install this and i have nothing showing in procon chat,should it show every players stats in the chat? it is compiled no errors showing, thank you

It will only show suspects.

 

I will be updating the code tomorrow for hardcore servers.

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

Originally Posted by shadow2k1*:

 

has any false positives been reported for this?

a clanmate said using this rule might be an issue if they play hardcore a lot and joins our server.

 

also what will this limit do if the person JUST started to use a damage modifier?

would this still work?

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

Originally Posted by HexaCanon*:

 

has any false positives been reported for this?

a clanmate said using this rule might be an issue if they play hardcore a lot and joins our server.

raising the dps limit will fix it. Basically some weapons will never under any condition do twice the damage. Thse are damage modifiers.

 

also what will this limit do if the person JUST started to use a damage modifier?

would this still work?

No. But you can add other limits such as 25 kills in 30 seconds result in ban.

 

 

I want to add the update i have but my ssd crashed 3 days ago and today i have a 7 hours flight.

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

Originally Posted by Tomgun*:

 

raising the dps limit will fix it. Basically some weapons will never under any condition do twice the damage. Thse are damage modifiers.

 

 

 

No. But you can add other limits such as 25 kills in 30 seconds result in ban.

 

 

I want to add the update i have but my ssd crashed 3 days ago and today i have a 7 hours flight.

hope ya get sorted, looking forward to setting this up on my HC server :ohmy:
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by shadow2k1*:

 

raising the dps limit will fix it. Basically some weapons will never under any condition do twice the damage. Thse are damage modifiers.

what do you suggest i raise it to?

 

No. But you can add other limits such as 25 kills in 30 seconds result in ban.

would you have a limit that does this?

 

I want to add the update i have but my ssd crashed 3 days ago and today i have a 7 hours flight.

bummer dude, i hope you get it fixed

safe travels

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

Originally Posted by HexaCanon*:

 

...waits in anticipation...

testing a new revision that include pistols, different method to get bullet damage and higher requirements to support HC servers. give me some time.
* Restored post. It could be that the author is no longer active.
Link to comment

Archived

This topic is now archived and is closed to further replies.




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