Jump to content

Insane Limits Requests


ImportBot

Recommended Posts

Originally Posted by supermillhouse*:

 

Ok I have to admit I am having trouble with this one, would I have to change the list to a dictionary so I can use an index to call it in the new thread.

 

Code:

/* Version 0.8/R3 */


ThreadStart RulesYell = delegate {

List<String> Rules = new List<String>();
Rules.Add("----- SERVER RULES -----");
Rules.Add("The use of all weapons and kits is allowed.");
Rules.Add("Tell anyone that moans to fuck off!!!");
Rules.Add("NOOB is banned in chat.");
Rules.Add("NO Bunny Hopping - you will be kicked.");
Rules.Add("Camping is allowed.");
Rules.Add("Base Camping is not!!");
Rules.Add("Base Raping is Banned!!");


if (player.Tag == "SLAG")
    {foreach(string Rule in Rules){
       plugin.ServerCommand("admin.yell", Rule, "3");
       plugin.ConsoleWrite("SLAG");
       Thread.Sleep(3*1000);}
    }
else if(limit.Activations(player.Name) <= 5)
    {foreach(string Rule in Rules){
       plugin.ServerCommand("admin.yell", Rule, "3", "player", player.Name);
       plugin.ConsoleWrite("PLAYER");
       Thread.Sleep(3*1000);}
    }
};

	Thread t = new Thread(RulesYell);
	t.Start();
	Thread.Sleep(10);
return false;
this does work but it isnt very clean
* Restored post. It could be that the author is no longer active.
Link to comment
  • Replies 3.2k
  • Created
  • Last Reply

Originally Posted by PapaCharlie9*:

 

thanks for reply HexaCanon,

 

but how could they ban or kick from my server without sending ban or kick command to it ? so if the command executed on my server most probably it could be logged, also I could see for example GGC ban in my procon ban list : """"PlayerName 2.94.34.199:3659 8646386fbdd7799c2a5d7a2c27ca4c47 PB Guid Unbanned Cheater banned by GGC-Stream.com. Ban on GUID 8646386fbdd7799c2a5d7a2c27ca4c47. Contact GGC-Stream.com for details. [Admin Decision]"""" but it's written "unbaned" and the ban disappearing after procon restart

You are both right.

 

Yes, GGC and PBS do send something to your game server, but they are PB commands, which Procon doesn't really know about. The commands end up making entries in the PB bans list data file on your game server and those bans can be listed by Procon, but unfortunately, without some kind of search pattern, there are too many bans in most files for Procon to deal with.

 

One possible solution is if you have the game server chat option enabled for GGC and/or PBS. It might be possible to detect the chat message from Procon. I'll have to try some experiments.

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

Originally Posted by PapaCharlie9*:

 

Ok I have to admit I am having trouble with this one, would I have to change the list to a dictionary so I can use an index to call it in the new thread.

 

Code:

/* Version 0.8/R3 */


ThreadStart RulesYell = delegate {

List<String> Rules = new List<String>();
Rules.Add("----- SERVER RULES -----");
Rules.Add("The use of all weapons and kits is allowed.");
Rules.Add("Tell anyone that moans to fuck off!!!");
Rules.Add("NOOB is banned in chat.");
Rules.Add("NO Bunny Hopping - you will be kicked.");
Rules.Add("Camping is allowed.");
Rules.Add("Base Camping is not!!");
Rules.Add("Base Raping is Banned!!");


if (player.Tag == "SLAG")
    {foreach(string Rule in Rules){
       plugin.ServerCommand("admin.yell", Rule, "3");
       plugin.ConsoleWrite("SLAG");
       Thread.Sleep(3*1000);}
    }
else if(limit.Activations(player.Name) <= 5)
    {foreach(string Rule in Rules){
       plugin.ServerCommand("admin.yell", Rule, "3", "player", player.Name);
       plugin.ConsoleWrite("PLAYER");
       Thread.Sleep(3*1000);}
    }
};

	Thread t = new Thread(RulesYell);
	t.Start();
	Thread.Sleep(10);
return false;
this does work but it isnt very clean
That's fine. You are only using plugin, limit and player, everything else is your own data. It would be somewhat more efficient to move the Rules definition and Rules.Add calls outside of the thread (above it), since they are the same for all threads. The rest of your code doesn't change, you still refer to the Rules variable.

 

It would also be safer to keep a count of how many rules threads you have running -- if you run out of threads bad things can happen to Procon. I have a similar rules thread command and I limit the maximum number of threads to 4. If 4 threads are running and a fifth person asks for rules, I send them a chat message that says, "Rules are busy right now, try again later" instead of launching a thread for them.

 

Here's how I did it (from Zombie Mode limit):

 

Code:

/* Rules thread */

ThreadStart scrollRules = delegate {
	try {
		if (level >= 2) plugin.ConsoleWrite("^b[ZI]^n OnAnyChat rules thread started.");
		
		List<String> rules = new List<String>();
		/* CUSTOMIZE: */
		int delaySeconds = 3;
		rules.Add("Rule: US team are humans, RU team are zombies");
		rules.Add("Rule: Round starts with 1 zombie");
		rules.Add("Rule: A human killed by a zombie becomes a zombie");
		rules.Add("Rule: Zombies use knife and defib only");
		rules.Add("Rule: Humans: NO shotguns, explosives, knives");
		// TBD rules.Add("Rule: Type '!zombie kick name' to vote to kick 'name'");
		rules.Add("Rule: Type '!zombie stop' to stop/reset the mode");
		rules.Add("Rule: Type '!zombie start' to start the mode");
		/* === END of customizations === */
		
		foreach (String r in rules) {
			plugin.SendSquadMessage(player.TeamId, player.SquadId, r);
			Thread.Sleep(delaySeconds * 1000);
		}
		plugin.PRoConChat("ADMIN > ... rules sent to " + player.FullName + " in squad " + player.SquadId + " ...");
		
		int numThreads = 0;
		if (plugin.Data.issetInt("num threads") numThreads = plugin.Data.getInt("num threads");
			if (numThreads > 0) --numThreads;
			plugin.Data.setInt("num threads", numThreads);
		}
		
		if (level >= 2) plugin.ConsoleWrite("^b[ZI]^n OnAnyChat rules thread returning.");
	} catch (Exception e) {
		plugin.DumpException(e, this.GetType().Name);
	}
};

...

	/* Allow only 4 simultaneous rule threads */
	
	int numThreads = 0;
        if (plugin.Data.issetInt("num threads")) numThreads = plugin.Data.getInt("num threads");
	
	if (numThreads < 4) {
		Thread t = new Thread(scrollRules);
		++numThreads;
		plugin.Data.setInt("num threads", numThreads);
		msg = "launching rules thread " + numThreads;
		if (level >= 2) plugin.ConsoleWrite("^b[ZI]^n " + msg);
		plugin.PRoConEvent(msg, "Insane Limits");
		t.Start();
		Thread.Sleep(10);
	} else {
		if (level >= 2) plugin.ConsoleWrite("^b[ZI]^n too many rules threads!");
		plugin.ServerCommand("admin.say", "*** Too many rules being spammed right now, try again in a minute", "player", player.Name);
	}
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by HexaCanon*:

 

the threading example is very advanced for my monkey brain -.-

 

 

on the topic of replacements, i dunno what i should do to provide better information.

 

Edit : the thread example, i am getting the idea of it, but i am afraid of using something like that.

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

Originally Posted by PapaCharlie9*:

 

on the topic of replacements, i dunno what i should do to provide better information.

Find the post where I suggested adding some debugging code. It's earlier in the thread.

 

Speaking of threading, it's for advanced programmers. :smile:

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

Originally Posted by HexaCanon*:

 

more on the replacement issue

 

Posted Image

 

what i found on console log

 

Code:

[21:38:40] punkBuster.pb_sv_command pb_sv_ban 55RU-DEMOH- 55RU-DEMOH- permanent ban for using M67(Permanent) | BC2!
[21:38:41] OK 1 3 MP_Subway ConquestLarge0 2
[21:38:41] punkBuster.pb_sv_command pb_sv_updbanfile
[21:38:41] OK
[21:38:41] admin.kickPlayer 55RU-DEMOH- 55RU-DEMOH- permanent ban for using M67
[21:38:41] OK
[21:38:41] admin.say 55RU-DEMOH- permanent ban for using M67 all
[21:38:42] mapList.list 100
[21:38:42] OK
[21:38:42] OK
[21:38:42] OK 0 3
Code:
[22:38:51] punkBuster.pb_sv_command pb_sv_ban 55RU-DEMOH- 55RU-DEMOH- permanent ban for using M67(Permanent) | BC2!
[22:38:51] punkBuster.pb_sv_command pb_sv_updbanfile
[22:38:51] OK
[22:38:51] admin.kickPlayer 55RU-DEMOH- 55RU-DEMOH- permanent ban for using M67
[22:38:51] admin.say 55RU-DEMOH- permanent ban for using M67 all
[22:38:51] OK
[22:38:51] serverInfo
somehow this code is not registering any data on console log.

 

Code:

plugin.ConsoleWrite("^b[BAN]^n Permanent: " + killer.Name + " (" + Third + ")");
looking at the events page

 

Code:

Playerlist	12/05/2012 21:38:38		PlayerKilled	Zornc killed 55RU-DEMOH- [Knife]
Playerlist	12/05/2012 21:38:39		PlayerKilled	r00ter killed Robs1887 [AEK-971 Assault Rifle]
Playerlist	12/05/2012 21:38:40		PlayerKilled	55RU-DEMOH- killed Jeretik [M67 Grenade]
Plugins	12/05/2012 21:38:40	Insane Limits	PluginAction	Permanent: 55RU-DEMOH- (55RU-DEMOH- permanent ban for using M67)
Playerlist	12/05/2012 21:38:42		PlayerKickedByAdmin	55RU-DEMOH- was kicked from the server by an admin
Playerlist	12/05/2012 21:38:42		PlayerLeave	55RU-DEMOH- left the server
Playerlist	12/05/2012 21:38:42		PlayerJoin	Artisan_Miharu joined the server
Playerlist	12/05/2012 21:38:43		PlayerKilled	Pizzajunge4000 killed Archaon-Jaxon [M27 IAR ]
Playerlist	12/05/2012 21:38:43		PlayerKilled	r00ter killed Mahikyz [AEK-971 Assault Rifle]
Playerlist	12/05/2012 21:38:45		PlayerLeave	Hallett58 left the server
Playerlist	12/05/2012 21:38:45		PlayerJoin	Bl4mm0 joined the server
(notice the player joined and leave)

 

Code:

Playerlist	12/05/2012 22:38:50		PlayerKilled	55RU-DEMOH- killed TGillay [M67 Grenade]
Plugins	12/05/2012 22:38:51	Insane Limits	PluginAction	Permanent: 55RU-DEMOH- (55RU-DEMOH- permanent ban for using M67)
Playerlist	12/05/2012 22:38:51		PlayerKickedByAdmin	55RU-DEMOH- was kicked from the server by an admin
Playerlist	12/05/2012 22:38:51		PlayerLeave	55RU-DEMOH- left the server
Playerlist	12/05/2012 22:38:52		PlayerJoin	EoD_BlacklI joined the server
Playerlist	12/05/2012 22:38:52		PlayerKilled	Xrizalid killed Bl4mm0 [AEK-971 Assault Rifle]
Playerlist	12/05/2012 22:38:55		PlayerLeave	Bl4mm0 left the server
getting the events log for each of the 4 players.

 

HERE : http://www.codesend.com/view/ed1d20c...ed4b4eb354e74/

 

 

there were no commands issued on the three players, they were all issued at the right player (i only found 2 of the commands, no third one but three people got banned)

 

issue from procon or pb?

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

Originally Posted by HexaCanon*:

 

Is it possible to add a high ping kicker limit? Strange there isn't one that exists already, must be that you can't do it since pings are only viewable in game?

yup, it is very weird that ping is not reported. must be the laziness tbh
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Apex40000*:

 

Hi Guys

 

I'm not programmer by a long shot so I was wonder if any of you guys could help me or at least tell me if it sounds possible to do he heh.

 

I'm got this from the example thread -- Welcome new players to the server

1. Simple Welcome Message

This limit will send a message (global) for the player when he spawns in the server for the first time.

 

Set limit to evaluate OnSpawn, and action to Say

 

Set first_check to this Expression:

Code:

(true)

Set second_check to this Expression:

Code:

( limit.ActivationsTotal(player.Name) == 1 )

Set these action specific parameters

Code:

say_audience = All

say_message = Everyone, lets welcome %p_n%, from %p_cn%!

 

If player leaves, and re-joins, welcome message should be displayed again.

 

 

But am I right in thinking that this welcome would be posted to EVERYbody ? IF so is there a way to just send the welcome message to the person in private?

 

Also I seen some code that basic lists the top killers and platoons on the server three times before the end of the match But I was hoping to change the times that they are show can you point me in the right direction of the details that I need to change.

www.phogue.net/forumvb/showth...an+Leaderboard*

 

Many thanks for any help you can give

 

apex40000

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

Originally Posted by HexaCanon*:

 

Hi Guys

 

I'm not programmer by a long shot so I was wonder if any of you guys could help me or at least tell me if it sounds possible to do he heh.

 

I'm got this from the example thread -- Welcome new players to the server

1. Simple Welcome Message

This limit will send a message (global) for the player when he spawns in the server for the first time.

 

Set limit to evaluate OnSpawn, and action to Say

 

Set first_check to this Expression:

Code:

(true)

Set second_check to this Expression:

Code:

( limit.ActivationsTotal(player.Name) == 1 )

Set these action specific parameters

Code:

say_audience = All

say_message = Everyone, lets welcome %p_n%, from %p_cn%!

 

If player leaves, and re-joins, welcome message should be displayed again.

 

 

But am I right in thinking that this welcome would be posted to EVERYbody ? IF so is there a way to just send the welcome message to the person in private?

 

Also I seen some code that basic lists the top killers and platoons on the server three times before the end of the match But I was hoping to change the times that they are show can you point me in the right direction of the details that I need to change.

www.phogue.net/forumvb/showth...an+Leaderboard*

 

Many thanks for any help you can give

 

apex40000

for the first limit change 2nd code to

 

Code:

if ( limit.ActivationsTotal(player.Name) == 1 ) {
	String message = plugin.R ("welcome %p_n%, from %p_cn%!");
	plugin.ServerCommand("admin.say", message, "player", player.Name);
	plugin.ServerCommand("admin.yell", message, "12", "player", player.Name);
}

return false;
for the 2nd limit you want to look at the first check code

Code:

(server.RemainTicketsPercent(1) < 20 || server.RemainTicketsPercent(2) < 20)
change 20 to the number where the announcement should start

 

Code:

if (thresh == 20) {
    // Set up the 2nd threshhold
    limit.RoundData.setDouble("EOR", 10);
} else if (thresh == 10) {
    // Set up the 3rd threshhold
    limit.RoundData.setDouble("EOR", 5);
} else if (thresh == 5) {
    // Set up the last threshhold
    limit.RoundData.setDouble("EOR", 0);
} else if (thresh == 0) {
    // Stop announcing
    return false;
}
change the number of when is the next announcements should starts, first thresh==20 should equal the number you specified for the first check code.

 

 

but i have not tested that code at all. and i am not 100% sure.

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

Originally Posted by blademaster*:

 

hi guys,

 

I have noticed that some of the cheaters using something like instahealth regeneration and when u shoot at them with minor damage weapons it's almost impossible to kill, the only chance to kill is to make a headshot or when several people shooting at him together.

 

Is it possible to make a limit which will check whether player survived more then 100% damage during some small period of time ?

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

Originally Posted by HexaCanon*:

 

hi guys,

 

I have noticed that some of the cheaters using something like instahealth regeneration and when u shoot at them with minor damage weapons it's almost impossible to kill, the only chance to kill is to make a headshot or when several people shooting at him together.

 

Is it possible to make a limit which will check whether player survived more then 100% damage during some small period of time ?

sorry that is not possible since you are not able to count the bullets hit on the player and how much exactly they do (because bullet damage depends on distance as well which is not reported).
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Singh400*:

 

hi guys,

 

I have noticed that some of the cheaters using something like instahealth regeneration and when u shoot at them with minor damage weapons it's almost impossible to kill, the only chance to kill is to make a headshot or when several people shooting at him together.

 

Is it possible to make a limit which will check whether player survived more then 100% damage during some small period of time ?

I don't think that this is "instahealth regeneration" just poor hit detection.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by PapaCharlie9*:

 

somehow this code is not registering any data on console log.

Look in plugin.log. ConsoleWrite goes into your plugin.log -- I know, the name is confusing, but that's what it is. Commands sent to the game server, like with ServerCommand, are in console.log.

 

issue from procon or pb?

Maybe, but first I want to see the matching plugin.log entries. That's the key to this whole mystery. If plugin.log has the correct name, then it may well be a procon/pb error. If the name in plugin.log is the wrong name, it may be an Insane Limits error.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by PapaCharlie9*:

 

Is it possible to add a high ping kicker limit? Strange there isn't one that exists already, must be that you can't do it since pings are only viewable in game?

Essentially, no. That information is not available from anywhere.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by PapaCharlie9*:

 

Hi Guys

 

I'm not programmer by a long shot so I was wonder if any of you guys could help me or at least tell me if it sounds possible to do he heh.

 

I'm got this from the example thread -- Welcome new players to the server

1. Simple Welcome Message

This limit will send a message (global) for the player when he spawns in the server for the first time.

 

Set limit to evaluate OnSpawn, and action to Say

 

Set first_check to this Expression:

Code:

(true)

Set second_check to this Expression:

Code:

( limit.ActivationsTotal(player.Name) == 1 )

Set these action specific parameters

Code:

say_audience = All

say_message = Everyone, lets welcome %p_n%, from %p_cn%!

 

If player leaves, and re-joins, welcome message should be displayed again.

 

 

But am I right in thinking that this welcome would be posted to EVERYbody ? IF so is there a way to just send the welcome message to the person in private?

See this thread:

 

Insane Limits: How to yell and how to send chat to one player*

 

Also I seen some code that basic lists the top killers and platoons on the server three times before the end of the match But I was hoping to change the times that they are show can you point me in the right direction of the details that I need to change.

www.phogue.net/forumvb/showth...an+Leaderboard*

 

Many thanks for any help you can give

 

apex40000

Post your request in the thread that contains the limit:

 

Insane Limits: V0.9/R3 Clan Tag Leaderboard (2 teams, not Rush)*

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

Originally Posted by HexaCanon*:

 

more on the replacement issue

 

Posted Image

 

what i found on console log

 

Code:

[21:38:40] punkBuster.pb_sv_command pb_sv_ban 55RU-DEMOH- 55RU-DEMOH- permanent ban for using M67(Permanent) | BC2!
[21:38:41] OK 1 3 MP_Subway ConquestLarge0 2
[21:38:41] punkBuster.pb_sv_command pb_sv_updbanfile
[21:38:41] OK
[21:38:41] admin.kickPlayer 55RU-DEMOH- 55RU-DEMOH- permanent ban for using M67
[21:38:41] OK
[21:38:41] admin.say 55RU-DEMOH- permanent ban for using M67 all
[21:38:42] mapList.list 100
[21:38:42] OK
[21:38:42] OK
[21:38:42] OK 0 3
Code:
[22:38:51] punkBuster.pb_sv_command pb_sv_ban 55RU-DEMOH- 55RU-DEMOH- permanent ban for using M67(Permanent) | BC2!
[22:38:51] punkBuster.pb_sv_command pb_sv_updbanfile
[22:38:51] OK
[22:38:51] admin.kickPlayer 55RU-DEMOH- 55RU-DEMOH- permanent ban for using M67
[22:38:51] admin.say 55RU-DEMOH- permanent ban for using M67 all
[22:38:51] OK
[22:38:51] serverInfo
somehow this code is not registering any data on console log.

 

Code:

plugin.ConsoleWrite("^b[BAN]^n Permanent: " + killer.Name + " (" + Third + ")");
looking at the events page

 

Code:

Playerlist	12/05/2012 21:38:38		PlayerKilled	Zornc killed 55RU-DEMOH- [Knife]
Playerlist	12/05/2012 21:38:39		PlayerKilled	r00ter killed Robs1887 [AEK-971 Assault Rifle]
Playerlist	12/05/2012 21:38:40		PlayerKilled	55RU-DEMOH- killed Jeretik [M67 Grenade]
Plugins	12/05/2012 21:38:40	Insane Limits	PluginAction	Permanent: 55RU-DEMOH- (55RU-DEMOH- permanent ban for using M67)
Playerlist	12/05/2012 21:38:42		PlayerKickedByAdmin	55RU-DEMOH- was kicked from the server by an admin
Playerlist	12/05/2012 21:38:42		PlayerLeave	55RU-DEMOH- left the server
Playerlist	12/05/2012 21:38:42		PlayerJoin	Artisan_Miharu joined the server
Playerlist	12/05/2012 21:38:43		PlayerKilled	Pizzajunge4000 killed Archaon-Jaxon [M27 IAR ]
Playerlist	12/05/2012 21:38:43		PlayerKilled	r00ter killed Mahikyz [AEK-971 Assault Rifle]
Playerlist	12/05/2012 21:38:45		PlayerLeave	Hallett58 left the server
Playerlist	12/05/2012 21:38:45		PlayerJoin	Bl4mm0 joined the server
(notice the player joined and leave)

 

Code:

Playerlist	12/05/2012 22:38:50		PlayerKilled	55RU-DEMOH- killed TGillay [M67 Grenade]
Plugins	12/05/2012 22:38:51	Insane Limits	PluginAction	Permanent: 55RU-DEMOH- (55RU-DEMOH- permanent ban for using M67)
Playerlist	12/05/2012 22:38:51		PlayerKickedByAdmin	55RU-DEMOH- was kicked from the server by an admin
Playerlist	12/05/2012 22:38:51		PlayerLeave	55RU-DEMOH- left the server
Playerlist	12/05/2012 22:38:52		PlayerJoin	EoD_BlacklI joined the server
Playerlist	12/05/2012 22:38:52		PlayerKilled	Xrizalid killed Bl4mm0 [AEK-971 Assault Rifle]
Playerlist	12/05/2012 22:38:55		PlayerLeave	Bl4mm0 left the server
getting the events log for each of the 4 players.

 

HERE : http://www.codesend.com/view/ed1d20c...ed4b4eb354e74/

 

 

there were no commands issued on the three players, they were all issued at the right player (i only found 2 of the commands, no third one but three people got banned)

 

issue from procon or pb?

this is the whole plugin.log for that day 20121205_plugin.zip

 

key lines

 

Code:

[21:38:40] [Insane Limits] [BAN] Permanent: 55RU-DEMOH- (55RU-DEMOH- permanent ban for using M67)
[22:38:51] [Insane Limits] [BAN] Permanent: 55RU-DEMOH- (55RU-DEMOH- permanent ban for using M67)
yet there are three bans each on different name.

 

Kidtrash1710 does not exist in the whole log.

 

Hallett58 lines

Code:

Line 56458: [21:21:53] [Insane Limits] Queueing Hallett58 for stats fetching
	Line 56460: [21:21:53] [Insane Limits] Thread(fetch): getting battlelog stats for Hallett58, no more players in queue
	Line 56461: [21:21:53] [Insane Limits] Thread(fetch): Web-Stats for Hallett58:
	Line 56478: [21:21:58] [Insane Limits] Thread(fetch): Evaluating Limit #8 - OnJoin, for Hallett58
	Line 56692: [21:28:15] [Insane Limits] Hallett58 activated Limit #6
	Line 57589: [21:48:49] [Insane Limits] Queueing Hallett58 for stats fetching
	Line 57591: [21:48:49] [Insane Limits] Thread(fetch): getting battlelog stats for Hallett58, no more players in queue
	Line 57592: [21:48:49] [Insane Limits] Thread(fetch): Web-Stats for Hallett58:
	Line 57608: [21:48:55] [Insane Limits] Thread(fetch): Evaluating Limit #8 - OnJoin, for Hallett58
	Line 57785: [21:53:10] [Insane Limits] Queueing Hallett58 for stats fetching
	Line 57787: [21:53:11] [Insane Limits] Thread(fetch): getting battlelog stats for Hallett58, no more players in queue
	Line 57788: [21:53:12] [Insane Limits] Thread(fetch): Web-Stats for Hallett58:
	Line 57802: [21:53:16] [Insane Limits] Thread(fetch): Evaluating Limit #8 - OnJoin, for Hallett58
	Line 58302: [21:57:22] [Insane Limits] Queueing Hallett58 for stats fetching
	Line 58304: [21:57:23] [Insane Limits] Thread(fetch): getting battlelog stats for Hallett58, no more players in queue
	Line 58307: [21:57:23] [Insane Limits] Thread(fetch): Web-Stats for Hallett58:
	Line 58326: [21:57:34] [Insane Limits] Thread(fetch): Evaluating Limit #8 - OnJoin, for Hallett58
Bl4mm0 lines

Code:

Line 57172: [21:39:27] [Insane Limits] Queueing Bl4mm0 for stats fetching
	Line 57174: [21:39:27] [Insane Limits] Thread(fetch): getting battlelog stats for Bl4mm0, no more players in queue
	Line 57175: [21:39:28] [Insane Limits] Thread(fetch): Web-Stats for Bl4mm0:
	Line 57191: [21:39:34] [Insane Limits] Thread(fetch): Evaluating Limit #8 - OnJoin, for Bl4mm0
	Line 57315: [21:43:24] [Insane Limits] Bl4mm0 activated Limit #6
	Line 57870: [21:53:45] [Insane Limits] Bl4mm0 activated Limit #6
	Line 58277: [21:56:58] [Insane Limits] Bl4mm0 activated Limit #6
	Line 58750: [22:08:10] [Insane Limits] Bl4mm0 activated Limit #6
	Line 59111: [22:15:23] [Insane Limits] Bl4mm0 activated Limit #6
	Line 59425: [22:20:57] [Insane Limits] Bl4mm0 activated Limit #6
	Line 59790: [22:27:52] [Insane Limits] Bl4mm0 activated Limit #6
	Line 59842: [22:28:56] [Insane Limits] Bl4mm0 activated Limit #6
	Line 60007: [22:32:00] [Insane Limits] Bl4mm0 activated Limit #6
	Line 60201: [22:35:17] [Insane Limits] Bl4mm0 activated Limit #6
	Line 60497: [22:40:40] [Insane Limits] Queueing Bl4mm0 for stats fetching
	Line 60505: [22:40:44] [Insane Limits] Thread(fetch): getting battlelog stats for Bl4mm0, no more players in queue
	Line 60509: [22:40:45] [Insane Limits] Thread(fetch): Web-Stats for Bl4mm0:
	Line 60530: [22:41:03] [Insane Limits] Thread(fetch): Evaluating Limit #8 - OnJoin, for Bl4mm0
	Line 60581: [22:42:10] [Insane Limits] Queueing Bl4mm0 for stats fetching
	Line 60594: [22:42:10] [Insane Limits] Thread(fetch): getting battlelog stats for Bl4mm0, no more players in queue
	Line 60595: [22:42:10] [Insane Limits] Thread(fetch): Web-Stats for Bl4mm0:
	Line 60611: [22:42:16] [Insane Limits] Thread(fetch): Evaluating Limit #8 - OnJoin, for Bl4mm0
	Line 60946: [22:50:25] [Insane Limits] Queueing Bl4mm0 for stats fetching
	Line 60948: [22:50:25] [Insane Limits] Thread(fetch): getting battlelog stats for Bl4mm0, no more players in queue
	Line 60949: [22:50:26] [Insane Limits] Thread(fetch): Web-Stats for Bl4mm0:
	Line 60963: [22:50:30] [Insane Limits] Thread(fetch): Evaluating Limit #8 - OnJoin, for Bl4mm0
limit 6 is one time onspawn (limit.activationstotal), no idea why it triggered that many times.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by PapaCharlie9*:

 

this is the whole plugin.log for that day 20121205_plugin.zip

 

key lines

 

Code:

[21:38:40] [Insane Limits] [BAN] Permanent: 55RU-DEMOH- (55RU-DEMOH- permanent ban for using M67)
[22:38:51] [Insane Limits] [BAN] Permanent: 55RU-DEMOH- (55RU-DEMOH- permanent ban for using M67)
yet there are three bans each on different name.
Okay, I think you now have enough data to suggest that the problem is between PunkBuster on the game server and Procon. Everything that Insane Limits is doing is as expected. The correct name is being sent to the game server. After that, Procon gets a list of bans from the game server by searching for "BC2!". It appears that something is going wrong in getting the ban list back from the game server.

 

Actually, that's a good manual test. Go into Procon on the same game server connection that you have these logs/data for. Go to the Console tab and the Punkbuster sub-tab. Type this at the bottom and press Send:

 

pb_sv_banlist BC2!

 

What do you get? Do you see 55RU-DEMOH-? Do you see Kidtrash1710?

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

Originally Posted by HexaCanon*:

 

Okay, I think you now have enough data to suggest that the problem is between PunkBuster on the game server and Procon. Everything that Insane Limits is doing is as expected. The correct name is being sent to the game server. After that, Procon gets a list of bans from the game server by searching for "BC2!". It appears that something is going wrong in getting the ban list back from the game server.

 

Actually, that's a good manual test. Go into Procon on the same game server connection that you have these logs/data for. Go to the Console tab and the Punkbuster sub-tab. Type this at the bottom and press Send:

 

pb_sv_banlist BC2!

 

What do you get? Do you see 55RU-DEMOH-? Do you see Kidtrash1710?

i dont have them in the banlist anymore, but if it happens again i will make sure to report back.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Apex40000*:

 

Hi Hexacanon

 

I tried this code to make the basic welcome message send a YELL in private to the person joining rather than "say" BUT

I tried this like you said and It didn't like it :-(

 

Should then also be a "say" and "yell" Line: See bold and underline text below.

 

if ( limit.ActivationsTotal(player.Name) == 1 ) {

String message = plugin.R ("welcome %p_n%, from %p_cn%!");

plugin.ServerCommand("admin.say", message, "player", player.Name);

plugin.ServerCommand("admin.yell", message, "12", "player", player.Name);

}

 

return false;

 

THIS is the ORIGINAL POSTcoding (Simple Welcome Message)

 

1. Simple Welcome Message

This limit will send a message (global) for the player when he spawns in the server for the first time.

 

Set limit to evaluate OnSpawn, and action to Say

 

Set first_check to this Expression:

Code:

(true)

Set second_check to this Expression:

Code:

( limit.ActivationsTotal(player.Name) == 1 )

Set these action specific parameters

Code:

say_audience = All

say_message = Everyone, lets welcome %p_n%, from %p_cn%!

 

Many thanks for your help :-)

 

apex40000

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

Originally Posted by blademaster*:

 

hi all,

 

is it possible to make a limit which will detect whether player getting any score points while dead, i mean from the period he was killed till he respawned ?

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

Originally Posted by PapaCharlie9*:

 

hi all,

 

is it possible to make a limit which will detect whether player getting any score points while dead, i mean from the period he was killed till he respawned ?

You mean from an AT Mine, Claymore, or a disabled vehicle on fire that later explodes with passengers still on board? All of those are legal ways that you can score a kill even while you are dead.

 

You'd need to track OnKill for both killers and victims and OnSpawn for the killer. The sequence you are looking for is:

 

"A" is the killer you want to track. "B" is one of his victims that gets killed after "A" is dead. "X" is any random player.

 

OnKill(killer.Name == "X", victim.Name == "A")

 

OnKill(killer.Name == "A", victim.Name == "B")

 

OnSpawn(player.Name == "A")

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

Originally Posted by HexaCanon*:

 

Hi Hexacanon

 

I tried this code to make the basic welcome message send a YELL in private to the person joining rather than "say" BUT

I tried this like you said and It didn't like it :-(

 

Should then also be a "say" and "yell" Line: See bold and underline text below.

 

if ( limit.ActivationsTotal(player.Name) == 1 ) {

String message = plugin.R ("welcome %p_n%, from %p_cn%!");

plugin.ServerCommand("admin.say", message, "player", player.Name);

plugin.ServerCommand("admin.yell", message, "12", "player", player.Name);

}

 

return false;

 

THIS is the ORIGINAL POSTcoding (Simple Welcome Message)

 

1. Simple Welcome Message

This limit will send a message (global) for the player when he spawns in the server for the first time.

 

Set limit to evaluate OnSpawn, and action to Say

 

Set first_check to this Expression:

Code:

(true)

Set second_check to this Expression:

Code:

( limit.ActivationsTotal(player.Name) == 1 )

Set these action specific parameters

Code:

say_audience = All

say_message = Everyone, lets welcome %p_n%, from %p_cn%!

 

Many thanks for your help :-)

 

apex40000

if you want it only to be a private yell without say just remove

Code:

plugin.ServerCommand("admin.say", message, "player", player.Name);
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Apex40000*:

 

Many thanks

 

I will give this a go later on Fingers Crossed :-)

 

apex40000

 

if you want it only to be a private yell without say just remove

Code:

plugin.ServerCommand("admin.say", message, "player", player.Name);
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Apex40000*:

 

Hi Hexacanon

 

I've pasted the coding you said but I'm getting this when trying to compile:

23:50:47 87] [insane Limits] Thread(settings): ERROR: 4 errors compiling Expression

[23:50:47 87] [insane Limits] Thread(settings): ERROR: (CS1525, line: 35, column: 23): Invalid expression term 'if'

[23:50:47 89] [insane Limits] Thread(settings): ERROR: (CS1525, line: 39, column: 2): Invalid expression term ')'

[23:50:47 89] [insane Limits] Thread(settings): ERROR: (CS1002, line: 39, column: 11): ; expected

[23:50:47 89] [insane Limits] Thread(settings): ERROR: (CS1525, line: 39, column: 11): Invalid expression term ')'

 

Any idea?

 

What version are you running on? mine is 0.0.9.2 could this be why ?

 

many thanks

 

apex40000

 

 

Hi Hexacanon

 

I tried this code to make the basic welcome message send a YELL in private to the person joining rather than "say" BUT

I tried this like you said and It didn't like it :-(

 

Should then also be a "say" and "yell" Line: See bold and underline text below.

 

if ( limit.ActivationsTotal(player.Name) == 1 ) {

String message = plugin.R ("welcome %p_n%, from %p_cn%!");

plugin.ServerCommand("admin.say", message, "player", player.Name);

plugin.ServerCommand("admin.yell", message, "12", "player", player.Name);

}

 

return false;

 

THIS is the ORIGINAL POSTcoding (Simple Welcome Message)

 

1. Simple Welcome Message

This limit will send a message (global) for the player when he spawns in the server for the first time.

 

Set limit to evaluate OnSpawn, and action to Say

 

Set first_check to this Expression:

Code:

(true)

Set second_check to this Expression:

Code:

( limit.ActivationsTotal(player.Name) == 1 )

Set these action specific parameters

Code:

say_audience = All

say_message = Everyone, lets welcome %p_n%, from %p_cn%!

 

Many thanks for your help :-)

 

apex40000

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

Originally Posted by pharbehind*:

 

Not sure how feasible this is, and I can't remember what Flyswamper said about it.

 

Would be nice if there was a plugin that didn't just balance idlers from a specific list (like Fly's seeder plugin), but balanced -any- player considered idle on the server.

 

So, a mash up of Papa's log idlers AND Fly's BalanceSeeders.

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

Originally Posted by dyn*:

 

I'm trying to find out, and log, who actually helps seed our server. To do this I'd like to log who is connected to our server when the population is under 40 players.

 

It could work like this:

 

Create a list of known seeder accounts.

If any of these know accounts are seen when population is under 40, after 20 minutes (or however long), create a log entry in an external file.

 

I looked at the log idler limit and I personally don't care if someone is idle or playing on the server. Just that they're there.

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

Originally Posted by PapaCharlie9*:

 

I'm trying to find out, and log, who actually helps seed our server. To do this I'd like to log who is connected to our server when the population is under 40 players.

 

It could work like this:

 

Create a list of known seeder accounts.

If any of these know accounts are seen when population is under 40, after 20 minutes (or however long), create a log entry in an external file.

 

I looked at the log idler limit and I personally don't care if someone is idle or playing on the server. Just that they're there.

Easy ... this version also logs unknown seeders (not on the list) but marks them in the log, so you can tell the difference. You can use these unknown seeders to update your custom list with regulars. It also shuts off once the player count goes above 40, even if it later falls below 40. It doesn't turn on again until the server is completely empty.

 

Create a new custom list called "known_seeders" (or whatever you want, just change the seedListName below), CaseSensitive.

 

Create a new limit to evaluate OnIntervalServer, 60 seconds, call it "Seeders". Leave Action set to None.

 

first_check Code:

 

Code:

String seedListName = "known_seeders"; // CUSTOMIZE

int maxPlayers = 40; // CUSTOMIZE

double minMinutes = 20; // CUSTOMIZE

String logName = plugin.R("Logs/%server_host%_%server_port%/") + DateTime.Now.ToString("yyyyMMdd") + "_seeders.log"; // CUSTOMIZE

String kPrefix = "Seeded_";
String kMax = "SeededMax";

if (server.PlayerCount >= maxPlayers) {
    plugin.Data.setBool(kMax, true);
    return false;
} else if (server.PlayerCount == 0) {
    if (plugin.Data.issetBool(kMax)) plugin.Data.unsetBool(kMax);
    return false;
} else {
    if (plugin.Data.issetBool(kMax)) return false;
    // Otherwise, we are still below maxPlayers for the first time, check for seeders
}

List<PlayerInfoInterface> all = new List<PlayerInfoInterface>();
all.AddRange(team1.players);
all.AddRange(team2.players);
if (team3.players.Count > 0) all.AddRange(team3.players);
if (team4.players.Count > 0) all.AddRange(team4.players);

foreach (PlayerInfoInterface p in all) {
    if (p.TimeTotal < (minMinutes*60)) continue;
    if (p.Data.issetBool(kPrefix)) continue;
    
    // Found a seeder    
    String msg = "";
    
    // Mark unknown seeders in the log
    if (!plugin.isInList(p.Name, seedListName)) {
    	msg = "(UNKNOWN SEEDER) " + p.FullName;
    } else {
    	msg = p.FullName;
    }
    
    // Log
    plugin.ConsoleWrite("^b[SEED] " + msg);
    plugin.Log(logName, "[" + DateTime.Now.ToString("HHmmss") + "] " + msg);
    
    // Don't log this seeder again for as long as he stays connected to the game server.
    p.Data.setBool(kPrefix, true);
}
return false;
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Roughneck2-0*:

 

Thank you for this wonderful plug-in!

 

Using Insane Limits v0.0.9.3 here.

 

I would like to have IL announce First Blood in Yell form to the whole server, instead of the say form that's ...*.

 

Since I didn't see a "Yell" action in IL's dialogue box, could someone please provide me with the correct code and option selection?

 

 

Best regards,

//subscribed to thread.

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