Jump to content
ImportBot

Automatic Round Restarter (v 1.2.0.5 - 2014-03-19)

Recommended Posts

Originally Posted by Phil_K*:

 

Description

 

Automatic Round Restarter helps you to restart the round on a given player count or less.

This can help you to avoid dead-locks with battlelog where no player can join your server

and/or gets the message that the server is currently changing map and therefor can not be

joined.

 

As an addition for whorst case you can select to restart your server. This will send the

command admin.shutDown to your server. Depending on your GSPs configuration the server will

be restarted or stays down. If that is the case you have to go to your GSPs config panel and

start your server by your own. USE WITH CARE!

 

If you select this option the plug-in will disable itself as a last line of warning.

You also will see a message on the plugin console. For local running plug-ins there will be

an information window.

 

The forward map option is a bit rough because it sends a mapList.runNextRound a number of

times to reach the next map. It's somehow fire & forget. :ohmy: I don't wanted to mess around with

mapList based events as Procon v 1.1.1.1 misses on event method needed for a more elegant

way. So maybe with the next version of Procon comes a new version of this plugin.

But while doing so... this option can conflict with the MixedGameModes plugin!

 

Installation Instructions

 

Please refer to the download section down below.

 

Configuration

configuratin details:

 

 

RestartRoundCount

A value between 0 and 8. If the actual player counts is less or equal than this value the selected action is taken.

 

Restart round

Will only restart the current round..

 

Load first map

The first map in your maplist will be loaded and started on its first round.

 

Restart server

The server will receive a command to shutdown and will be restarted by its configuration. USE WITH CARE!

 

Override disabling

This will disable the automated deactivation of the plug-in on a Procon restart.

 

On long round

Select YES if you want the round restarted (only) on long rounds, e.g. to prevent statspadding.

 

Max. round duration (minutes)

As said give the time in minutes a round should last max. This trigger only gets active if actual player count is >= 1.

 

Disable IdleKick until

Enables a idleTimeout disabler. :ohmy: Since R-9 only usable on unranked servers. That is checked on plugin enabled.

 

Players online

idleTimeout stays disabled until this player count is reached.

If that happens the old value is restored. In case you set a new time manually the new time is recognized and taken.

 

Forward map

While empty for a given time the next map in the rotation will be loaded.

 

Forward after (minutes)

The time to wait before forwarding to the next map in minutes.

 

Enable Watchdog

Select YES to enable a server restart watchdog. The server will be restarted if it is empty and server uptime is greater than the given value.

 

Watchdog interval (hours)

The time the server has to be up before the watchdog triggers an admin.shutdown command to restart.

 

On layer

Default: Yes

Select YES if the plug-in runs on a layer server. This prevents it from raising info windows.

 

Console output

Enabled or disables monitoring of messages send ingame on plugin console

 

Debug output

Enabled or disables some more debuging output

 

 

 

 

 

Technical Support

 

If you experience any issues with this plugin, please report here.

 

Changelog

changelog details:

 

 

v 1.2.0.5 (2014-03-19)

- added some workaround for roundCounts 0/0

- added reset of idleTime in case plugin is deactivated

 

v 1.2.0.4 (2014-03-10)

- for BF4 disable idleTimeout sets it to 86400 (does not check if vars.preset is locked)

 

v 1.2.0.3 (2013-11-29)

- fixe typo

 

v 1.2.0.2 (2013-11-28)

- checked compatibility with BF4

- added BF4 plugin folder

 

v 1.2.0.1 (2012-03-11)

- added workaround for for restart on first map

 

v 1.2.0.0 (2011-11-19)

- fixed small bugs

- added option to restart the server after a given number of hours uptime

 

v 1.1.1.3 (2011-11-25)

- R10 based change; re-enabled idleTimeout; can be used on ranked servers again

 

v 1.1.1.2 (2011-11-22)

- added check that forward map can be used while all restart options are disabled

 

v 1.1.1.1

- R9 based change; Disable idleKick can not be used on ranked servers anymore

 

v 1.1.1.0 (2011-11-21)

- added option to forward an empty server to the next map after x minutes

 

v 1.1.0.0 (2011-11-19)

- fixed plugin getting disabled on RestartServer == No

- fixed taking 0 as idleTimout if the server runs with idleTimeout == 0 at the moment the plug-in is enabled.

In that case 300 will be used. (default for idleTimeout if not given in startup.txt)

- fixed leaving variables with values after plug-in is disabled. On Re-enable the plug-in now does a fresh start

- added override option to disable plug-in while Procon is restarted and RestartServer == Yes

 

v 1.0.2.0 (2011-11-14)

- added option to disable IdleKick until X players are on the server. (Idea by Zaeed) :smile:

 

v 1.0.1.0 (2011-11-13)

- added long round check.

- added Testdrive option. Plugin runs with logic and output to plugin console but no effect to the server.

 

v 1.0.0.0 (2011-11-12)

- Plugin released / initial version.

 

 

 

 

 

Download

You can use the package tab on the Procon start page.

Please have patience. Sometimes an update of the packages page takes a while.

... and yes, you can click on Download to download. :ohmy:

 

To-Do

- nothing to do. :ohmy: or wait for feedback

 

Greets

Phil.


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

Share this post


Link to post

Originally Posted by MorpheusX(AUT)*:

 

Cool thing! Wanted to write something similar myself too, but that helps a lot :smile::

Thanks!


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

Share this post


Link to post

Originally Posted by leibhold*:

 

Sweet - One suggestion - is there a way of doing a restart on how long a game has been runnng ?

 

I have had people on my server late at night /early morning who have racked up 10000's of points and the round has been runnng 8 hours as they dont cap flags and kill,repair,etc each other. (Points padding)

If a round has been runing for a long period - would like to restart the server.

Just a thought.


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

Share this post


Link to post

Originally Posted by MorpheusX(AUT)*:

 

I got an anti-statspadding plugin somewhere on my harddrive (checking for time + playercount + points. 1 player + raising points = statspadding. 2 players, 0 kills, raising points = statspadding, .etc). If you want, I can try and find that, and adapt it for BF3 too.

 

Sorry, not wanting ho highjack your thread, phil :ohmy:


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

Share this post


Link to post

Originally Posted by leibhold*:

 

Sound good - 8-) you dirty thread highjacker.....


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

Share this post


Link to post

Originally Posted by Phil_K*:

 

Hi.

 

@MorpheusX

No problem mate. Actually i want to keep this plug-in simple. So maybe i add some monitor checking a selectable value of scores but no fancy stats padding detection logic. :ohmy:

 

@how to install

Well, i guess we should do some topic about how to install plug-ins via the package tab. :smile:

But let's keep it short here for the moment.

 

The Download heading in my first post is also a link to download the package. Copy all that's in the "plugin" folder to the related folders of your procon installation, local or hosted.

 

If your procon hoster does not limit you in special ways a package can be installed like this:

1. connect to your layer host with local procon.

2. go to home screen -> packages tab

3. select the plug-in and hit install

4. the installation will be trigger on your local and hosted procon

5. restart both local AND hosted procon to have the package finaly installed

6. reconnect to your layer host and check the plugin.

 

Greets

Phil.


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

Share this post


Link to post

Originally Posted by Phil_K*:

 

Hi.

 

The next version will have a round duration limiter.

The check will only be triggered by the time a round is running and if there are players in the server. If the give max round duration is reached the round will be restarted. This trigger will ignore load of first map or server restart. The time limit will be given in minutes.

 

Actually i'm testing but expect it during this weekend.

 

Greets

Phil.


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

Share this post


Link to post

Originally Posted by titfat*:

 

Hi great plugin, is there anyway you can make this so it starts the server as a 4 slot and restarts the round when 4 players are on time changing it to a 8 slot , and so on untill it reaches you servers max slots , this would help get servers populated.


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

Share this post


Link to post

Originally Posted by Phil_K*:

 

Hi.

 

The plug-in was updated to provide also a long round check.

This check will trigger only a round restart and this only if the server is not empty.

 

Hi great plugin, is there anyway you can make this so it starts the server as a 4 slot and restarts the round when 4 players are on time changing it to a 8 slot , and so on untill it reaches you servers max slots , this would help get servers populated.

Thanks. :smile:

But to answer your question, i want to keep this plug-in simple. Reason is i see it temporary until DICE releases server R-9. Additional there are some side effects by changing maxPlayer on a dynamic basis.

 

Greets

Phil.


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

Share this post


Link to post

Originally Posted by Phil_K*:

 

Hi.

 

Damn... i should take a rest to give you a period without updates. :ohmy:

 

Well, version 1.0.2.0 is out.

This time you get an included idleTimeout disabler based on player count with it.

Thanks to Zaeed for the idea.

 

Don't be irritated, you don't find an option to set a new value for the idleTimeout because the plug-in reads the running value on activation. BUT it does not restore them on being disabled, only if the given player count is reached.

 

Greets

Phil.


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

Share this post


Link to post

Originally Posted by Flyswamper*:

 

Phil,

 

This is probably a forehead slapping basic issue, but...... I've just downloaded/installed this plugin. The weirdness I see is that when I close/restart ProCon the plugin is not enabled by default. All other plugins typically have stayed enabled or disabled, whatever state I previously left them in. No matter what I do, this plugin seems to be disabled when ProCon starts-up and automatically connects to my server. This makes me think that if I run the console (no UI) version that the plugin won't be enabled. Is it just me? And am I missing something silly?

 

Other thought.... would it make sense to have it setup so that you could read the variable vars.roundRestartPlayerCount and just set the map to forward whenever that value is reached? As it is now, it seems like the human is responsible for matching these two values up and I can't imagine a reason (yet anyway) why you wouldn't want it to forward the map if this value was reached. I can imagine why you might want to forward the map sooner than that, but not a reason why you wouldn't want to do it at that value.


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

Share this post


Link to post

Originally Posted by falcontx*:

 

This plugin works well, but I think that the default "vars.idleTimeout" should be specified in the settings. Here's why:

 

The server starts with the idle timeout at 300. The Procon layer server connects, and your script sets it to 0 because it's empty. Later, the Procon layer server restarts due to maintenance, but the server does not. When the layer server restarts, your script sees that the idle timeout on the server is 0 and assumes this is the default, so when the server fills up, it remains 0.

 

The ability to specify the desired timeout in the plugin options would resolve this issue.

 

EDIT: Also, I've confirmed that I'm having the same issue as Flyswamper. When my layer server restarts, all of my plugins remain enabled, except this one.


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

Share this post


Link to post

Originally Posted by falcontx*:

 

I solved both of my issues. I'll address the issue Flyswamper brought up first.

 

The reason the plugin isn't enabled in PRoCon after you restart your layer server is that the layer server enables it, then it immediately disables itself. It does this because of an error in the SetPluginVariable function. When the plugin initializes, the SetPluginVariable function is run for each of the variables that are stored in the config file. When it reaches the "Restart Server" variable, it throws the "You can only select to RESTART your server while the plugin is disabled" error and disables the plugin since it's trying to set this variable while the plugin is enabled. If you have "Restart Server" set to "Yes", this is intentional, to avoid having your server restart. However, this also unintentionally occurs when "Restart Server" is set to "No". This can be fixed by changing line 305 from "if (this.m_isPluginEnabled == true)" to "if (this.m_isPluginEnabled == true && (enumBoolYesNo)Enum.Parse(typeof(enumBoolYesNo), strValue) == enumBoolYesNo.Yes)".

 

The other issue I had was caused by the plugin using the value of vars.idleTimeout at startup as the default. If the plugin had set the idleTimeout to 0 prior to the layer server being restarted, when the layer server starts back up, it would read vars.idleTimeout as 0 and assume that was the default. The workaround here is to set your desired default on line 97, then have the plugin keep this as the default if it reads a value of 0 from the server, which can be done by changing line 406 from "if (this.m_iIdleKickChanged != 1 || limit != 0)" to "if (this.m_iIdleKickChanged != 1 && limit != 0)".

 

One final issue with the idleKick that I hadn't mentioned previously is that if you disable the plugin, make a change to vars.idleTimeout, then re-enable the plugin, it doesn't make the proper adjustment based on your settings. In other words, if the plugin has vars.idleTimeout at 0, then you disable the plugin and change it to 300, if you then later enable the plugin when less than X players are online, it doesn't change vars.idleTimeout back to 0. This is fixed by inserting "this.m_iIdleKickChanged = 0;" after line 195.

 

Hope this helps someone else out.


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

Share this post


Link to post

Originally Posted by Phil_K*:

 

Hi.

 

Thanks for the feedback.

 

Just to clarify, it was intended that the plug-in does disable itself on a Procon restart, just like it disables itself if you set "Restart Server" option from No to Yes. :smile: The reason is simple, in case Procon was restarted and the plug-in is enabled on the restart the first thing it will do if the player count is equal or less the given value is to restart your server. :ohmy:

 

Regarding the readout of vars.roundRestartPlayerCount:

There is no event handler to have plug-ins triggered by a response to a query or set operation with that command.

 

vars.idleTimout issue:

I'll take a look at it as i have to admit i haven't expected the case to enable it while vars.idleTimeout is disabled.

 

Disable/enable on running Procon issue:

Jip, i missed to include a purge of the internal runtime variables on being disabled.

 

Guess i'll do an update during the day, covering all those issues except the vars.roundRestartPlayerCount readout. :smile:

 

Greets

Phil.


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

Share this post


Link to post

Originally Posted by falcontx*:

 

Just to clarify, it was intended that the plug-in does disable itself on a Procon restart, just like it disables itself if you set "Restart Server" option from No to Yes. :smile: The reason is simple, in case Procon was restarted and the plug-in is enabled on the restart the first thing it will do if the player count is equal or less the given value is to restart your server. :ohmy:

I didn't realize that you intended for it to disable itself on startup if "Restart Server" was set to "Yes". I suppose that makes sense. However, the problem is that the plugin disables itself on startup even if "Restart Server" is set to "No". It also disables itself if you change "Restart Server" to "No" while the plugin is running.

 

So, in this case, the proper fix would be to change line 305 from "if (this.m_isPluginEnabled == true)" to "if (this.m_isPluginEnabled == true && (enumBoolYesNo)Enum.Parse(typeof(enumBoolYesNo), strValue) == enumBoolYesNo.Yes)". This would only disable the plugin if "Restart Server" is "Yes" at startup, or if it is changed to "Yes" while the plugin is running.

 

[NOTE: also changing my prior post, to avoid confusion.]


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

Share this post


Link to post

Originally Posted by Phil_K*:

 

I didn't realize that you intended for it to disable itself on startup if "Restart Server" was set to "Yes". I suppose that makes sense.

In case you are aware of it and you want it to stay enabled even on a Procon restart i'll have the idea to add an override switch to the options which only can set to yes if "Restart Server" is set to yes.

 

However, the problem is that the plugin disables itself on startup even if "Restart Server" is set to "No". It also disables itself if you change "Restart Server" to "No" while the plugin is running.

That was not intended. :smile:

Thanks for pointing to it.


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

Share this post


Link to post

Originally Posted by Flyswamper*:

 

I'm not sure why, and I know this probably isn't that helpful without additional debug-worthy details, but.....

 

Yesterday evening when I had it up and running, I noticed that it did not restart-forward the map on at least one occasion where it should have. I set it up so the threshold player count was 1 (same as the sever roundrestart threshold) and I set it to Load the first map in the map sequence. Not too long after that me and another gaming buddy got our campers in there and server started (we had playerstostart set to 2). The other guy left/lost-connection leaving only my soldier. I was AFK for quite a while but sat back down to my computer to discover it stuck in the need-to-restart mode.

 

I rechecked and I *DID* have the plugin running and Procon was connected to the server. I didn't have any debug messages turned on unfortunately. And I've only been able to test (or notice) this that single time. So..... I turned on all the debug-output options fo rthe plugin and we'll see how it goes.

 

On the bright side, I guess I caught that problem before the server got delisted again (yay!). Also, since I turned the plugin on the server hasn't gotten delisted yet as far as I can tell. So....despite my seeing an apparent bug, the end result has been a good one so far. My fingers will stay crossed and I'll get you some better debug/diagnostic information if I see this again.


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

Share this post


Link to post

Originally Posted by powerbits*:

 

can you explain me a bit the plugin.

Say i would like to fill a empty server and set maxplayers at 4, then 2-3 players come in , i set it at8

problem is many people cant join... wat does the plugin do and how do i set it up?


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

Share this post


Link to post

Originally Posted by Phil_K*:

 

Hi.

 

can you explain me a bit the plugin.

Say i would like to fill a empty server and set maxplayers at 4, then 2-3 players come in , i set it at8

problem is many people cant join... wat does the plugin do and how do i set it up?

Well, this plug-in has nothing to do with a dynamic change of vars.maxPlayers or to solve the problem that occurs if vars.maxPlayers is 4 at round start but raised during round to 8. Which will cause new joined players to be stuck in team 0 having the loading screen displayed.

 

This plug-in comes in to charge if your server empties and the value in vars.roundRestartPlayerCount should restart the round to enter pre-round mode. The value you set for.roundRestartPlayerCount should be entered in this plugin. If the current player count drops to this count or below the plug-in will restart the round or the server.

 

The intention is to prevent that your server is delisted from battlelog and the Quickmatch servers. There is a bug in R-8 preventing the automatic restart round which should be triggered by vars.roundRestartPlayerCount. So this plug-in is more a simple work-around.

 

Greets

Phil.


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

Share this post


Link to post

Originally Posted by Phil_K*:

 

Hi.

 

A new version is available.

The most important part is the override option do prevent the plug-in from disabling itself during a Procon restart.

 

Greets

Phil.


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

Share this post


Link to post

Originally Posted by falcontx*:

 

The new version seems to be working as intended. Thanks!


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

Share this post


Link to post

Originally Posted by Trister*:

 

I know this is suppose to only be a work-around but, i was thinking (unless there is something out there already in which I've tried looking but came up empty handed), why not make it switch to the next map if no one is on for X time?

 

So if you're server is on Metro, with noone on it after 10 minutes, the plug-in would push to the next map.


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

Share this post


Link to post

Originally Posted by Phil_K*:

 

Hi.

 

I know this is suppose to only be a work-around but, i was thinking (unless there is something out there already in which I've tried looking but came up empty handed), why not make it switch to the next map if no one is on for X time?

Nice idea, will do it for the next version.

Well, maybe DICE introduces this unused map forward they do in the other games to BF3...

 

Greets

Phil.


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

Share this post


Link to post

Originally Posted by Phil_K*:

 

Hi.

 

A new version is available.

The option to forward the map after x minutes of being empty was added.

To be triggered at least the restart Round option has to be enabled.

 

Greets

Phil.


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

Share this post


Link to post

Originally Posted by falcontx*:

 

It seems the R9 patch made vars.idleTimeout a read only variable, so the "Disable IdleKick until" feature no longer works. :/


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

Share this post


Link to post

Originally Posted by Phil_K*:

 

Hi.

 

Jip, that has changed in R-9 and hits ranked servers.

I will do an update during the day.

 

Greets

Phil.


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

Share this post


Link to post

Originally Posted by Phil_K*:

 

Hi.

 

V1.1.1.1 of this plugin is available.

A check for ranked server status has been added. Right after loading the plugin assumes it is handling a ranked server, to have that checked enable the plugin in testdrive mode.

 

Greets

Phil.


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

Share this post


Link to post

Originally Posted by kaytan*:

 

Forward Map doesn't work on our server.

All features are turned to No or 0 except Forward Map with 5 minutes. But there is no map change after 5 or 10 or.. Minutes.

 

The plugin runs on a Procon Layer.


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

Share this post


Link to post

Originally Posted by Phil_K*:

 

Hi.

 

Forward Map doesn't work on our server.

All features are turned to No or 0 except Forward Map with 5 minutes. But there is no map change after 5 or 10 or.. Minutes.

It's intended because you need at least to have the RestartRound option enabled.

If it would not check for that both can potentially restart a map multiple times.

As workaround leave the plugin enabled, enable the RestartRound option, have the map restarted once, which you can also check of console output is enabled, and after that restart disable the RestartRound. It will then do the forward as long as a player joins.

 

Well, i haven't expected one only uses the forwarder. :ohmy:

I'll add a check if all other restart options are disabled.

 

Greets

Phil.


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

Share this post


Link to post

Originally Posted by kaytan*:

 

As workaround leave the plugin enabled, enable the RestartRound option, have the map restarted once, which you can also check of console output is enabled, and after that restart disable the RestartRound. It will then do the forward as long as a player joins.

It seems to be working.

 

I'll add a check if all other restart options are disabled.

This will be cool. Thx! :smile:

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

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Our picks

    • 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

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

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