ImportBot Posted January 17, 2013 Author Share Posted January 17, 2013 Originally Posted by droopie*: i am having problems with my hosted procon server and support is advising me to reinstall procon. how can i backup/restore all my limits!_!? * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 17, 2013 Author Share Posted January 17, 2013 Originally Posted by PapaCharlie9*: i am having problems with my hosted procon server and support is advising me to reinstall procon. how can i backup/restore all my limits!_!?If you are re-installing exactly the same version of Procon (including on-the-fly in-place updates): Copy procon/Plugins folder and procon/Configs folder to a safe place outside of the procon/ folder space. After the reinstall, make sure Procon is shutdown, rename the newly installed procon/Configs to something else (I use procon/_Configs) and rename the newly installed procon/Plugins to something else (I use procon/_Plugins), and then copy your saved versions of those folders back. Launch Procon. * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 17, 2013 Author Share Posted January 17, 2013 Originally Posted by droopie*: If you are re-installing exactly the same version of Procon (including on-the-fly in-place updates): Copy procon/Plugins folder and procon/Configs folder to a safe place outside of the procon/ folder space. After the reinstall, make sure Procon is shutdown, rename the newly installed procon/Configs to something else (I use procon/_Configs) and rename the newly installed procon/Plugins to something else (I use procon/_Plugins), and then copy your saved versions of those folders back. Launch Procon. do u think i will still have lag doing this? the host is insisting i should reinstall the plugins 1 by 1 which is really difficult since i have about 20 + 20 limit examples. * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 17, 2013 Author Share Posted January 17, 2013 Originally Posted by PapaCharlie9*: do u think i will still have lag doing this? the host is insisting i should reinstall the plugins 1 by 1 which is really difficult since i have about 20 + 20 limit examples.Do they mean plugins or limits? There's only one plugin for Insane Limits. Can you get by with disabling the plugins instead of reinstalling them? That would be easier. Disable them all, restart Procon, then enable one at a time until the problem happens. * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 17, 2013 Author Share Posted January 17, 2013 Originally Posted by Hutchew*: do u think i will still have lag doing this? the host is insisting i should reinstall the plugins 1 by 1 which is really difficult since i have about 20 + 20 limit examples.Sounds like rconhosting.......... I played that game.........rebuilt procon from ground up with virgin installs of EVERYTHING on 5 separate servers with 10-12 separate plugins (including IL, with @ 8-9 limits). Did no good. A lot of hours wasted. Changed hosts, rebuilt again........unfortunately, service seems worse now, although support is a lot better. You are probably paying @$3/month per server............right? Branzone (and I am sure the vast majority of hosts are exactly like this.......) admits they have hundreds of procon users all sitting in ONE box. I had asked if they could separate our servers into different boxes; they said nope, they only have the one. I will say this, at the risk of flames..........turning off battlelog cache, Currencies and bounty and Grizzlies cheat detector plugin, for now anyway, helped quite a bit, it seems. Branzone was noticing close to 100% cpu usage on our processes. Turning those off stabilized us to a usable state. Until all the stats pulling plugins start utilizing the cache, I think we are just going to have to muck along with it as best we can. Best advice, turn off all but the most necessary plugins and see how it runs, then start adding plugins until you notice it dropping in performance. Od do like we are, and start figuring out how to host it yourself. Best of luck, I know how frustrating it can be. Hutchew * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 17, 2013 Author Share Posted January 17, 2013 Originally Posted by droopie*: Sounds like rconhosting.......... I played that game.........rebuilt procon from ground up with virgin installs of EVERYTHING on 5 separate servers with 10-12 separate plugins (including IL, with @ 8-9 limits). Did no good. A lot of hours wasted. Changed hosts, rebuilt again........unfortunately, service seems worse now, although support is a lot better. You are probably paying @$3/month per server............right? Branzone (and I am sure the vast majority of hosts are exactly like this.......) admits they have hundreds of procon users all sitting in ONE box. I had asked if they could separate our servers into different boxes; they said nope, they only have the one. I will say this, at the risk of flames..........turning off battlelog cache, Currencies and bounty and Grizzlies cheat detector plugin, for now anyway, helped quite a bit, it seems. Branzone was noticing close to 100% cpu usage on our processes. Turning those off stabilized us to a usable state. Until all the stats pulling plugins start utilizing the cache, I think we are just going to have to muck along with it as best we can. Best advice, turn off all but the most necessary plugins and see how it runs, then start adding plugins until you notice it dropping in performance. Od do like we are, and start figuring out how to host it yourself. Best of luck, I know how frustrating it can be. Hutchew im running the battle cacheinsane balancer squad enforcer insane limits insane punisher xvotemap procon rulz (only for like showing a x claymore kills message or rare weapons + headshots) bf3 vote ban notify me spambot (comes with procon) in game admin (comes with procon) BF3 Chat, GUID, Stats and Map Logger chat trigger AdminIn & Spawn Message (for admins that login to the server) i have already deleted many unused plugins and cleaned up all the dump, err, out files and the host is still saying my services is extremely laggy. it crashes at least 1s an hour but not all the servers, just randomly a server will refuse connection. to mods, sorry this is not on topic, i just wanted to know how to export/import my limits. has gone off topic but received useful feedback about the host. * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 18, 2013 Author Share Posted January 18, 2013 Originally Posted by droopie*: im trying to make a limit for gun master to enable presets based on player count. here is what i got Code: if(limit.Activations() == 1) { if(server.PlayerCount == 4 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "0"); } else if(server.PlayerCount == 5 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "1"); } else if(server.PlayerCount == 6 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "2"); } else if(server.PlayerCount == 7 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "3"); } else if(server.PlayerCount == 8 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "4"); } else if(server.PlayerCount == 9 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "5"); } else if(server.PlayerCount == 10 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "6"); } else if(server.PlayerCount == 11 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "7"); } else if(server.PlayerCount == 12 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "8"); } else if(server.PlayerCount == 13 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "0"); } else if(server.PlayerCount == 14 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "1"); } else if(server.PlayerCount == 15 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "2"); } else if(server.PlayerCount == 16 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "3"); } else if(server.PlayerCount == 17 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "4"); } else if(server.PlayerCount == 18 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "5"); } else if(server.PlayerCount == 19 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "6"); } else if(server.PlayerCount == 20 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "7"); } else if(server.PlayerCount == 21 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "8"); } else if(server.PlayerCount == 22 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "0"); } else if(server.PlayerCount == 23 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "1"); } else if(server.PlayerCount == 24 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "2"); } else if(server.PlayerCount == 25 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "3"); } else if(server.PlayerCount == 26 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "4"); } else if(server.PlayerCount == 27 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "5"); } else if(server.PlayerCount == 28 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "6"); } else if(server.PlayerCount == 29 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "7"); } else if(server.PlayerCount == 30 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "8"); } else if(server.PlayerCount == 31 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "0"); } else if(server.PlayerCount == 32 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "1"); } plugin.ConsoleWrite(""+server.PlayerCount+" players. Preset changed."); } return false;but the original example says to put the evaluation OnKill, which works but it sets the preset based on the number of players at the start of the previous map/mode. why doesnt the evaluation OnRoundOver work with this? i figure that would work best. the reason why i ask is because if i use the settings beased on player count limit example is always changing settings which might be why procon lags. Code: if (server.PlayerCount < 5 ) { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "1"); plugin.ServerCommand("vars.idleTimeout", "0"); plugin.ServerCommand("vars.serverName", "=TBU= TeaBaggers United - Mixed Mode v1 Double XP"); } else if (server.PlayerCount == 6 ) { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "2"); plugin.ServerCommand("vars.idleTimeout", "0"); plugin.ServerCommand("vars.serverName", "Mixed Mode v1 - =TBU= TeaBaggers United"); } else if (server.PlayerCount == 8 ) { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "3"); plugin.ServerCommand("vars.idleTimeout", "0"); plugin.ServerCommand("vars.serverName", "Mixed Mode v1 - =TBU= TeaBaggers United"); } else if (server.PlayerCount == 10 ) { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "4"); plugin.ServerCommand("vars.idleTimeout", "0"); plugin.ServerCommand("vars.serverName", "Mixed Mode v1 - =TBU= TeaBaggers United"); } else if (server.PlayerCount == 12 ) { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "5"); plugin.ServerCommand("vars.idleTimeout", "0"); plugin.ServerCommand("vars.serverName", "Mixed Mode v1 - =TBU= TeaBaggers United"); } else if (server.PlayerCount == 14 ) { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "6"); plugin.ServerCommand("vars.idleTimeout", "0"); plugin.ServerCommand("vars.serverName", "Mixed Mode v1 - =TBU= TeaBaggers United"); } else if (server.PlayerCount == 16 ) { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "7"); plugin.ServerCommand("vars.idleTimeout", "0"); plugin.ServerCommand("vars.serverName", "Mixed Mode v1 - =TBU= TeaBaggers United"); } else if (server.PlayerCount == 18 ) { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "8"); plugin.ServerCommand("vars.idleTimeout", "0"); plugin.ServerCommand("vars.serverName", "Mixed Mode v1 - =TBU= TeaBaggers United"); } else if (server.PlayerCount == 20 ) { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "1"); plugin.ServerCommand("vars.idleTimeout", "0"); plugin.ServerCommand("vars.serverName", "Mixed Mode v1 - =TBU= TeaBaggers United"); } else if (server.PlayerCount == 22 ) { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "2"); plugin.ServerCommand("vars.idleTimeout", "0"); plugin.ServerCommand("vars.serverName", "Mixed Mode v1 - =TBU= TeaBaggers United"); } else if (server.PlayerCount == 24 ) { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "3"); plugin.ServerCommand("vars.idleTimeout", "0"); plugin.ServerCommand("vars.serverName", "Mixed Mode v1 - =TBU= TeaBaggers United"); plugin.ServerCommand("vars.onlySquadLeaderSpawn false", "0"); } else if (server.PlayerCount == 26 ) { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "4"); plugin.ServerCommand("vars.idleTimeout", "0"); plugin.ServerCommand("vars.serverName", "Mixed Mode v1 - =TBU= TeaBaggers United"); plugin.ServerCommand("vars.onlySquadLeaderSpawn false", "0"); } else if (server.PlayerCount == 28 ) { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "5"); plugin.ServerCommand("vars.idleTimeout", "0"); plugin.ServerCommand("vars.serverName", "Mixed Mode v1 - =TBU= TeaBaggers United"); plugin.ServerCommand("vars.onlySquadLeaderSpawn false", "0"); } else if (server.PlayerCount == 30 ) { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "6"); plugin.ServerCommand("vars.idleTimeout", "0"); plugin.ServerCommand("vars.serverName", "Mixed Mode v1 - =TBU= TeaBaggers United"); plugin.ServerCommand("vars.onlySquadLeaderSpawn false", "0"); } else if (server.PlayerCount == 32 ) { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "7"); plugin.ServerCommand("vars.idleTimeout", "0"); plugin.ServerCommand("vars.serverName", "Buy a Reserved Slot at www.TeaBaggersUnited.com/rs"); plugin.ServerCommand("vars.onlySquadLeaderSpawn false", "0"); } else { plugin.ServerCommand("vars.gunMasterWeaponsPreset", "0"); plugin.ServerCommand("vars.idleTimeout", "0"); plugin.ServerCommand("vars.serverName", "Mixed Mode v1 - =TBU= TeaBaggers United"); plugin.ServerCommand("vars.onlySquadLeaderSpawn false", "1"); }thats the code ive been running. i notice that the 1st code that i want to work is only activated once and is set if the mode is next on the maplist while the other is constantly changing the preset. * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 19, 2013 Author Share Posted January 19, 2013 Originally Posted by PapaCharlie9*: but the original example says to put the evaluation OnKillWhat's the link to the original example? Always a good idea to include that. I don't understand what you are trying to show in the two code examples. Is one OnKill and the other OnRoundOver? Let's start from the beginning. What exactly do you want to do? If the next round is GunMaster0, you want to change the preset based on the number of players at the moment? And you only want to change the preset once, even if the number of players changes? If so, just evaluate your SECOND code example (forget the first one) OnRoundOver and it will work fine. It will only execute once per round, so no spam. * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 19, 2013 Author Share Posted January 19, 2013 Originally Posted by droopie*: myrcon.net/...insane-limits-examples#entry18452 thats what i am trying to setup but for gunmaster presets instead of tickets. its in my above first code. your spot on of what im trying to do. the 2nd code i posted does the job BUT it is always changing the preset. the 1st code does a great job of checking to see if gunmaster is next and changes the preset but it does it at the start of the round before gunmaster. i want it at the end of the round to check if gunmaster is next, apply the preset based on player count. like i said both codes above work. except the one that is based of "change settings based on player count" causes lots of preset changes when its not needed. * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 19, 2013 Author Share Posted January 19, 2013 Originally Posted by Fingler*: How can I make a limit that kills players that get kills with vehicles/mortars "death". * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 19, 2013 Author Share Posted January 19, 2013 Originally Posted by droopie*: How can I make a limit that kills players that get kills with vehicles/mortars "death".the "death" from what i seen is because they jump on the mortar, shoot, jump off before the mortar actually lands and kills.i would try tweaking this first myrcon.net/...insane-limits-examples#entry18421 * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 19, 2013 Author Share Posted January 19, 2013 Originally Posted by droopie*: i was looking through the example and saw this myrcon.net/...insane-limits-examples#entry18414 but i was hoping more for a general all weapons multikill message. starting from triple kill and up? like if (count == 3) plugin.SendGlobalMessage(plugin.R("%p_n% - TRIPLE KILL!")); else if (count == 4) plugin.SendGlobalMessage(plugin.R("%p_n% - QUADRUPLE KILL!")); else if ( count > 4) plugin.SendGlobalMessage(plugin.R("%p_n% - MUTLI KILL")); or doing something like if (TimeSpan.FromSeconds(1) == 3 ) plugin.SendGlobalMessage(plugin.R("%p_n% - TRIPLE KILL!")); ...etc * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 19, 2013 Author Share Posted January 19, 2013 Originally Posted by PapaCharlie9*: myrcon.net/...insane-limits-examples#entry18452 thats what i am trying to setup but for gunmaster presets instead of tickets. its in my above first code. your spot on of what im trying to do. the 2nd code i posted does the job BUT it is always changing the preset. the 1st code does a great job of checking to see if gunmaster is next and changes the preset but it does it at the start of the round before gunmaster. i want it at the end of the round to check if gunmaster is next, apply the preset based on player count. like i said both codes above work. except the one that is based of "change settings based on player count" causes lots of preset changes when its not needed. If the second one is set to evaluate OnRoundOver, there is no way it can change the preset more than once per round. Check your settings again. * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 19, 2013 Author Share Posted January 19, 2013 Originally Posted by PapaCharlie9*: How can I make a limit that kills players that get kills with vehicles/mortars "death".Try this (I found this by searching this thread for "Death"): myrcon.net/...insane-limits-requests#entry26205 * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 20, 2013 Author Share Posted January 20, 2013 Originally Posted by droopie*: If the second one is set to evaluate OnRoundOver, there is no way it can change the preset more than once per round. Check your settings again.i did this... Evaluation: OnRoundOver First check Expression (true) Second Check: Code if(limit.Activations() == 1) { if(server.PlayerCount == 4 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "0"); } else if(server.PlayerCount == 5 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "1"); } else if(server.PlayerCount == 6 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "2"); } else if(server.PlayerCount == 7 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "3"); } else if(server.PlayerCount == 8 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "4"); } else if(server.PlayerCount == 9 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "5"); } else if(server.PlayerCount == 10 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "6"); } else if(server.PlayerCount == 11 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "7"); } else if(server.PlayerCount == 12 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "8"); } else if(server.PlayerCount == 13 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "0"); } else if(server.PlayerCount == 14 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "1"); } else if(server.PlayerCount == 15 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "2"); } else if(server.PlayerCount == 16 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "3"); } else if(server.PlayerCount == 17 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "4"); } else if(server.PlayerCount == 18 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "5"); } else if(server.PlayerCount == 19 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "6"); } else if(server.PlayerCount == 20 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "7"); } else if(server.PlayerCount == 21 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "8"); } else if(server.PlayerCount == 22 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "0"); } else if(server.PlayerCount == 23 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "1"); } else if(server.PlayerCount == 24 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "2"); } else if(server.PlayerCount == 25 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "3"); } else if(server.PlayerCount == 26 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "4"); } else if(server.PlayerCount == 27 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "5"); } else if(server.PlayerCount == 28 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "6"); } else if(server.PlayerCount == 29 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "7"); } else if(server.PlayerCount == 30 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "8"); } else if(server.PlayerCount == 31 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "0"); } else if(server.PlayerCount == 32 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "1"); } plugin.ConsoleWrite(""+server.PlayerCount+" players. Preset changed."); } return false; i then go to the actual settings and pick something random like the Standard Reversed preset (aka preset 1) and let the maplist ride out without changing the next map. this way the maps go in list order. i check back on every conquest end of round since the next mode is gunmaster. the preset doesnt change. if im doing it correctly above then i must delete the limit and restart procon. the host is being shady with me these days... * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 20, 2013 Author Share Posted January 20, 2013 Originally Posted by HexaCanon*: i did this... Evaluation: OnRoundOver First check Expression (true) Second Check: Code if(limit.Activations() == 1) { if(server.PlayerCount == 4 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "0"); } else if(server.PlayerCount == 5 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "1"); } else if(server.PlayerCount == 6 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "2"); } else if(server.PlayerCount == 7 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "3"); } else if(server.PlayerCount == 8 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "4"); } else if(server.PlayerCount == 9 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "5"); } else if(server.PlayerCount == 10 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "6"); } else if(server.PlayerCount == 11 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "7"); } else if(server.PlayerCount == 12 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "8"); } else if(server.PlayerCount == 13 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "0"); } else if(server.PlayerCount == 14 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "1"); } else if(server.PlayerCount == 15 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "2"); } else if(server.PlayerCount == 16 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "3"); } else if(server.PlayerCount == 17 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "4"); } else if(server.PlayerCount == 18 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "5"); } else if(server.PlayerCount == 19 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "6"); } else if(server.PlayerCount == 20 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "7"); } else if(server.PlayerCount == 21 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "8"); } else if(server.PlayerCount == 22 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "0"); } else if(server.PlayerCount == 23 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "1"); } else if(server.PlayerCount == 24 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "2"); } else if(server.PlayerCount == 25 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "3"); } else if(server.PlayerCount == 26 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "4"); } else if(server.PlayerCount == 27 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "5"); } else if(server.PlayerCount == 28 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "6"); } else if(server.PlayerCount == 29 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "7"); } else if(server.PlayerCount == 30 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "8"); } else if(server.PlayerCount == 31 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "0"); } else if(server.PlayerCount == 32 && server.NextGamemode == "GunMaster0") { plugin.ServerCommand("vars.gunMasterWeaponsPreset" , "1"); } plugin.ConsoleWrite(""+server.PlayerCount+" players. Preset changed."); } return false; i then go to the actual settings and pick something random like the Standard Reversed preset (aka preset 1) and let the maplist ride out without changing the next map. this way the maps go in list order. i check back on every conquest end of round since the next mode is gunmaster. the preset doesnt change. if im doing it correctly above then i must delete the limit and restart procon. the host is being shady with me these days... this is what i did with spambot limit i tried changing it, maybe it works and maybe it does not i have not tested it. Code: List<String> preset = new List<String>(); preset.Add("0"); preset.Add("1"); preset.Add("2"); preset.Add("3"); preset.Add("4"); preset.Add("5"); preset.Add("6"); preset.Add("7"); preset.Add("8"); String kpresetIndex = "preset_index"; int SetPreset = 0; if (server.Data.issetInt(kpresetIndex)) SetPreset = server.Data.getInt(kpresetIndex); // Start over at the beginning of the list if at the end SetPreset = (SetPreset % preset.Count); server.Data.setInt(kpresetIndex, SetPreset+1); // Send SetPreset plugin.ServerCommand("vars.gunMasterWeaponsPreset" , preset[SetPreset]); return false;it is on round over, first check code. * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 20, 2013 Author Share Posted January 20, 2013 Originally Posted by dyn*: This has been driving me crazy... Trying to modify: myrcon.net/...insane-limits-requests#entry25745 Welcome message on first spawn during new round: OnSpawn Expression Code: (true)Second Check Code Code: if (limit.ActivationsTotal(player.Name) != 1) return false; // the command I want to issueThe above works just fine. Now I'm trying to get it to send the messages ON FIRST SPAWN - EVERY 3RD round (The first round is covered by the above limit) myrcon.net/...insane-limits-requests#entry25751 . OnSpawn Expression Code: (true)Second Check Code Code: if (!(player.RoundsTotal > 2 && player.RoundsTotal % 3 == 0 && limit.Activations(player.Name) == 1)) return false; // code here to sendFor the life of me I can't get it to work and am pulling hair out here. Suggestions? * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 20, 2013 Author Share Posted January 20, 2013 Originally Posted by HexaCanon*: This has been driving me crazy... Trying to modify: myrcon.net/...insane-limits-requests#entry25745 Welcome message on first spawn during new round: OnSpawn Expression Code: (true)Second Check Code Code: if (limit.ActivationsTotal(player.Name) != 1) return false; // the command I want to issueThe above works just fine. Now I'm trying to get it to send the messages ON FIRST SPAWN - EVERY 3RD round (The first round is covered by the above limit) myrcon.net/...insane-limits-requests#entry25751 . OnSpawn Expression Code: (true)Second Check Code Code: if (!(player.RoundsTotal > 2 && player.RoundsTotal % 3 == 0 && limit.Activations(player.Name) == 1)) return false; // code here to sendFor the life of me I can't get it to work and am pulling hair out here. Suggestions?try this Code: if (player.RoundsTotal <= 2 || player.RoundsTotal % 3 != 0 || limit.Activations(player.Name) != 1) return false;i have not tested it. * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 20, 2013 Author Share Posted January 20, 2013 Originally Posted by PapaCharlie9*: i then go to the actual settings and pick something random like the Standard Reversed preset (aka preset 1) and let the maplist ride out without changing the next map. this way the maps go in list order. i check back on every conquest end of round since the next mode is gunmaster. the preset doesnt change. if im doing it correctly above then i must delete the limit and restart procon. the host is being shady with me these days...That code is different than what you posted before. Remove the limit.Activations line. limit.Activations is reset to 0 on OnRoundOver, so your code will never execute. Do you run any Rush rounds? That is the only case where OnRoundOver will happen more than once per round, but at most it will happen 4 times, once for each stage of Rush. * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 20, 2013 Author Share Posted January 20, 2013 Originally Posted by PapaCharlie9*: For the life of me I can't get it to work and am pulling hair out here. Suggestions?In general, add plugin.ConsoleWrite calls to log out what all the values are at each decision, to make sure the numbers are what you think they are. I think the problem is that you have it all in one if statement. Break it up, it's really two different decisions: 1) If it's not every 3rd round, return 2) If it's not the first spawn of the round, return * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 20, 2013 Author Share Posted January 20, 2013 Originally Posted by HexaCanon*: this is what i did with spambot limit i tried changing it, maybe it works and maybe it does not i have not tested it. Code: List<String> preset = new List<String>(); preset.Add("0"); preset.Add("1"); preset.Add("2"); preset.Add("3"); preset.Add("4"); preset.Add("5"); preset.Add("6"); preset.Add("7"); preset.Add("8"); String kpresetIndex = "preset_index"; int SetPreset = 0; if (server.Data.issetInt(kpresetIndex)) SetPreset = server.Data.getInt(kpresetIndex); // Start over at the beginning of the list if at the end SetPreset = (SetPreset % preset.Count); server.Data.setInt(kpresetIndex, SetPreset+1); // Send SetPreset plugin.ServerCommand("vars.gunMasterWeaponsPreset" , preset[SetPreset]); return false;it is on round over, first check code.added next round mode check Code: if (server.NextGamemode != "GunMaster0") return false; List<String> preset = new List<String>(); preset.Add("0"); preset.Add("1"); preset.Add("2"); preset.Add("3"); preset.Add("4"); preset.Add("5"); preset.Add("6"); preset.Add("7"); preset.Add("8"); String kpresetIndex = "preset_index"; int SetPreset = 0; if (server.Data.issetInt(kpresetIndex)) SetPreset = server.Data.getInt(kpresetIndex); // Start over at the beginning of the list if at the end SetPreset = (SetPreset % preset.Count); server.Data.setInt(kpresetIndex, SetPreset+1); // Send SetPreset plugin.ServerCommand("vars.gunMasterWeaponsPreset" , preset[SetPreset]); return false;still would love to see someone try it * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 22, 2013 Author Share Posted January 22, 2013 Originally Posted by PapaCharlie9*: still would love to see someone try it It looks good to me. You should post it as a separate thread, the same way I do with separate limits. Easier for people to find that way. Also, make sure you put all the details in, what to evaluate on (OnRoundOver)? Action None? first_check Code? * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 22, 2013 Author Share Posted January 22, 2013 Originally Posted by dyn*: I've been ironing one problem out after problem. Getting close to stopping for a while? nahhh Thanks everyone for the help so far. New request: Time based clan tag kicker. We've got this particular clan who joins our severs and I'd rather not see them during 'peak hours'. If they want to play during off-peak hours then that is fine. This clan is all from one county so either a country kicked or a clan tag kicker would be ideal. The country kicker full plugin, while functional, does not have the ability (yet) to activate only during specified times. Anyone have something available for this? * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 22, 2013 Author Share Posted January 22, 2013 Originally Posted by HexaCanon*: I've been ironing one problem out after problem. Getting close to stopping for a while? nahhh Thanks everyone for the help so far. New request: Time based clan tag kicker. We've got this particular clan who joins our severs and I'd rather not see them during 'peak hours'. If they want to play during off-peak hours then that is fine. This clan is all from one county so either a country kicked or a clan tag kicker would be ideal. The country kicker full plugin, while functional, does not have the ability (yet) to activate only during specified times. Anyone have something available for this? onspawn first check code Code: if ( player.StatsError ) return false; if ( player.Tag != "TagNameHere") return false; // clan tag here int hour = DateTime.Now.Hour; if ( hour < 19 ) return false; // between 00:00 and 19:00 they can play, ask hexa for more options plugin.KickPlayerWithMessage(player.Name, plugin.R("%p_ct% clan tag are not allowed to play between 19 to midnight"));again i have not tested it, and i never like player tag codes, i suggest testing it in low populated / empty server first. Edit : maybe i should start testing shit before i just paste it here -.- * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 22, 2013 Author Share Posted January 22, 2013 Originally Posted by dyn*: @hexa your code worked just fine. I thought about what you mentioned as well about using clan tag and thought that it might be problematic. I adjusted the code to do a country kicked based on time: Evaluation: OnJoin First Check Code: if ( player.StatsError ) return false; if (! Regex.Match(player.CountryCode, "(US)", RegexOptions.IgnoreCase).Success) return false; int hour = DateTime.Now.Hour; if ( hour plugin.EABanPlayerWithMessage(EABanType.EA_GUID, EABanDuration.Temporary, player.Name, 10, "Only play: 0600 - 1600 UTC"); This will(_) kick an individual from the US if they connect outside of the time frame above. The code is gathered from your starting example, the country kicker code*, and the ban examples thread*. Being from the US the above code is what I used to test. It seemed to work just fine. Thanks again! * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 22, 2013 Author Share Posted January 22, 2013 Originally Posted by HexaCanon*: i have a feeling that this anti-cheat code is not working properly. the idea is that if a player does 30 kills in 1 minute he gets a warning, after 3 warnings he get banned. what i think is wrong is that after a player does 30 kills in 1 minute, every kill beyond that in this minute will trigger the increase to warnings. this is the onKill , first check true , 2nd check code in red is what i feel is wrong. Code: int maxKillRate = 30; // CUSTOMIZE String hCounter = killer.Name + "_TreatAsOne_Counthack"; TimeSpan time = TimeSpan.FromSeconds(60); // Activations within 1 minute if (limit.Activations(killer.Name, time) < maxKillRate) return false; int hackwarning = 0; if (server.RoundData.issetInt(hCounter)) hackwarning = server.RoundData.getInt(hCounter); if (plugin.isInList(player.Name, "White_List") || plugin.isInList(player.Name, "Royal_List")) return false; String msg = "none"; if (hackwarning == 0) { msg = "WARNING! You will be killed for your high kill rate!"; plugin.ServerCommand("admin.say", msg, "player", killer.Name); plugin.ServerCommand("admin.yell", msg, "12", "player", killer.Name); plugin.KillPlayer(killer.Name, 12); } else if (hackwarning == 1) { msg = "FINAL WARNING! You will be killed for your high kill rate!"; plugin.ServerCommand("admin.say", msg, "player", killer.Name); plugin.ServerCommand("admin.yell", msg, "12", "player", killer.Name); plugin.KillPlayer(killer.Name, 12); } else if (hackwarning >= 2) { String message = plugin.R("%p_n% violated Limit #6 (suspicious in-game kill rate)"); plugin.ServerCommand("admin.yell", msg, "12"); plugin.EABanPlayerWithMessage(EABanType.EA_GUID, EABanDuration.Permanent, player.Name, 0, msg); plugin.Tweet(message); plugin.Log("Plugins/InsaneLimits.log", plugin.R("[%date% %time%] [%server_host%] [server.Name] [player.EAGuid] %p_n% violated Limit #6 (suspicious in-game kill rate), Permanent ban!")); } server.RoundData.setInt(hCounter, hackwarning+1); return false;in blue is what i think is the fix Code: int maxKillRate = 30; // CUSTOMIZE String hCounter = killer.Name + "_TreatAsOne_Counthack"; TimeSpan time = TimeSpan.FromSeconds(60); // Activations within 1 minute if (limit.Activations(killer.Name, time) < maxKillRate) return false; int hackwarning = 0; if (server.RoundData.issetInt(hCounter)) hackwarning = server.RoundData.getInt(hCounter); if (plugin.isInList(player.Name, "White_List") || plugin.isInList(player.Name, "Royal_List")) return false; String msg = "none"; if (hackwarning == 0) { msg = "WARNING! You will be killed for your high kill rate!"; plugin.ServerCommand("admin.say", msg, "player", killer.Name); plugin.ServerCommand("admin.yell", msg, "12", "player", killer.Name); plugin.KillPlayer(killer.Name, 12); server.RoundData.setInt(hCounter, hackwarning+1); return false; } else if (hackwarning == 1) { msg = "FINAL WARNING! You will be killed for your high kill rate!"; plugin.ServerCommand("admin.say", msg, "player", killer.Name); plugin.ServerCommand("admin.yell", msg, "12", "player", killer.Name); plugin.KillPlayer(killer.Name, 12); server.RoundData.setInt(hCounter, hackwarning+1); return false; } else if (hackwarning >= 2) { String message = plugin.R("%p_n% violated Limit #6 (suspicious in-game kill rate)"); plugin.ServerCommand("admin.yell", msg, "12"); plugin.EABanPlayerWithMessage(EABanType.EA_GUID, EABanDuration.Permanent, player.Name, 0, msg); plugin.Tweet(message); plugin.Log("Plugins/InsaneLimits.log", plugin.R("[%date% %time%] [%server_host%] [server.Name] [player.EAGuid] %p_n% violated Limit #6 (suspicious in-game kill rate), Permanent ban!")); server.RoundData.setInt(hCounter, hackwarning+1); return false; }what do you guys think ? edit : after thinking of it , i feel like the issue is with how IL uses TimeSpan. i spotted the issue with this player http://bf3stats.com/stats_pc/MrAdan/...s#rep_53779234 in his last report with our server, he had only 79 kills. logically this limit should only ban when the player reaches 90 kills (30 kills for 3 warnings). * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 23, 2013 Author Share Posted January 23, 2013 Originally Posted by PapaCharlie9*: after thinking of it , i feel like the issue is with how IL uses TimeSpan.No, the problem is a misunderstanding about how limit.Activations works for a time span. It doesn't reset, so the very next kill still includes all of the kills from the previous 60 seconds as well. If you print out the value of limit.Activations(name, span) every second, you'd see a series of numbers that might look like: 30, 31, 32, 34, 35, 35, 34, 33, 33, 33 ... Singh and I had the same misunderstanding for his very similar limit. You should look at what we eventually came up with using OnIntervalServer. It doesn't use limit.Activations at all. Unfortunately, it does have false positives occasionally. We are still not sure why. http://www.phogue.net/forumvb/showth...ll=1#post58003* The interval reset bug has been fixed, but using OnServerInterval is probably still not the best choice. Using OnKill would be better. You could store a kill count with player.RoundData.setInt the same way we did, but check a stored timer (player.RoundData.setObject(kClock, (Object)DateTime.Now)) to see if 60 seconds has past. Every time 60 seconds has past, reset the kill count. That's the key, the reset of the kill counter, because the series of numbers you are looking for is: 28, 29, 30, 0, 1, 2, 3, 5, 5, 6, ..., right? EDIT: hmmm, even that isn't right. Suppose someone did nothing for 50 seconds, then got 15 kills in the next 10 seconds. At 60 seconds you reset their count to 0. Then in the next 10 seconds they get 15 more kills. That's 30 kills in 20 seconds, but because they kill streak straddled the 60 second boundary, you wouldn't detect it. I guess you really need to store the time of each previous kill in a list and the prune the list to the previous 60 seconds on every kill. A lot of bookeeping, but the only way to do this right. * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 23, 2013 Author Share Posted January 23, 2013 Originally Posted by supermillhouse*: Hi all, has any one got any bright ideas of how to set up a repeat offender limit. If a player was to triggers a chat filter or a limited weapon, it would add them to a list with a the number of occurrences. The problem I have is that this list would need to survive a procon reset. One thought was to have a command within insane limits that could add them to a "list". Then checking the list to see how many times they were in the list. Of course this would need to be integrated in to Insane Limits as it currently only looks for if they are in the list not the number of times, and of course there is no command to add a name to the list, by list, I mean one of the user defined lists. I also thought this could be used to reward server seeders with a reserve slot. But instead save the time added, or for the above example above a number representing occurrences, to the list along with the player name. With this, a server interval limit could remove them from the reserve slot if they have not helped start the server for a month by checking current time and a time saved in the list. I suppose this could be done with file IO but I have no idea how to do that Any thoughts * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 23, 2013 Author Share Posted January 23, 2013 Originally Posted by HexaCanon*: No, the problem is a misunderstanding about how limit.Activations works for a time span. It doesn't reset, so the very next kill still includes all of the kills from the previous 60 seconds as well. If you print out the value of limit.Activations(name, span) every second, you'd see a series of numbers that might look like: 30, 31, 32, 34, 35, 35, 34, 33, 33, 33 ... Singh and I had the same misunderstanding for his very similar limit. You should look at what we eventually came up with using OnIntervalServer. It doesn't use limit.Activations at all. Unfortunately, it does have false positives occasionally. We are still not sure why. http://www.phogue.net/forumvb/showth...ll=1#post58003* The interval reset bug has been fixed, but using OnServerInterval is probably still not the best choice. Using OnKill would be better. You could store a kill count with player.RoundData.setInt the same way we did, but check a stored timer (player.RoundData.setObject(kClock, (Object)DateTime.Now)) to see if 60 seconds has past. Every time 60 seconds has past, reset the kill count. That's the key, the reset of the kill counter, because the series of numbers you are looking for is: 28, 29, 30, 0, 1, 2, 3, 5, 5, 6, ..., right? EDIT: hmmm, even that isn't right. Suppose someone did nothing for 50 seconds, then got 15 kills in the next 10 seconds. At 60 seconds you reset their count to 0. Then in the next 10 seconds they get 15 more kills. That's 30 kills in 20 seconds, but because they kill streak straddled the 60 second boundary, you wouldn't detect it. I guess you really need to store the time of each previous kill in a list and the prune the list to the previous 60 seconds on every kill. A lot of bookeeping, but the only way to do this right. one idea i have is using the same code but it gives 1 warning, make 3 limits, each limit gives a different type of warning and only works if the previous warning was issued. there is no issue with having one warning if we use the code for 1 limit. * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 24, 2013 Author Share Posted January 24, 2013 Originally Posted by PapaCharlie9*: and of course there is no command to add a name to the list, by list, I mean one of the user defined lists.Actually, there are functions for setting any of the Insane Limits plugin variables, including custom lists. You just need to know the name of the variable, which is not always obvious. Try some experiments with these functions on the plugin object: Code: bool setPluginVarValue(String variable, String value); String getPluginVarValue(String variable);The name of the list will be something like "list__data", so if your custom list is #1, it would be "list_1_data". I'm not sure though, you'll have to play around with it. * Restored post. It could be that the author is no longer active. Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.