• Please make sure you are familiar with the forum rules. You can find them here: https://forums.tripwireinteractive.com/index.php?threads/forum-rules.2334636/
  • Weve updated the Tripwire Privacy Notice under our Policies to be clearer about our use of customer information to come in line with the EU General Data Protection Regulation (GDPR) rules that come into force today (25th May 2018). The following are highlights of our changes:


    We've incorporated the relevant concepts from the GDPR including joining the EU and Swiss Privacy Shield framework. We've added explanations for why and how Tripwire processes customer data and the types of data that we process, as well as information about your data protection rights.



    For more information about our privacy practices, please review the new Privacy Policy found here: https://tripwireinteractive.com/#/privacy-notice

[Mutator] SmartLoader (white-listed)

Ducky

Super Moderator
May 22, 2011
6,358
237
0
Netherlands
SmartLoader (white-listed)

Revision 18 - Released January 5, 2014

Introduction

This is a small mutator that will help preventing servers to go empty if a server admin needs to disable a mutator in the middle of a campaign.

The idea
If there are issues with a server and the server admin suspect that it's caused by one of the active mutators, then natiarally he want to turn it off. No problem so far except when his server is well populated. Turning off a mutator will mean restarting the map, though such an action might lead to an empty server. On a none campaign server it would be possible to restart the map without mutator during map change, but this option would be tricky for a campaign server (due to the map voting). This mutator is made to make switching off a mutator easier (or on).

What does SmartLoader do
SmartLoader actually doesn't do much. The only thing it does is looking at server session start which other mutator should be started and which shouldn't. For this it uses a by the mutator maintained mutator enabled/disabled list. The list is available on the web-admin and the server admin can disable (or enable) mutators to his liking. Then the next time a map loads, SmartLoader will load and start those mutators which were previously enabled by the server admin. This eliminates the need of a server/map restart to disable a problematic mutator.
Also will adding mutators to a server become easier. The server admin only needs to add ?Mutator=SmartLoader.SmartLoader to his command-line. All the other mutators only need to be present on the server (including their correctly filled in ini files) and SmartLoader will pick them up and make them selectable from out of SmartLoader's web-ui page. No more need to add other mutators to the command line.

Delayed starting of mutators
Some mutators can cause problems when directly started. For those a delayed start option is available. It's possible to configure per mutator if it should start with a delay or not. See below screen-shot for that.


Example of the mutator settings screen
ServerEx is enabled and will start directly. And dibbler67's Immersion Overhaul Mutator starting after a small delay.

Download

The mutator can be downloaded from this location:
SmartLoader-Rev18.zip

Installation instructions
  • Download the mutator from above location
  • Extract all files from the archive
  • Place the next files in your ROGame\Config folder on your server:
    • config\DefaulSmartLoader.ini
    • config\ROSmartLoader.ini
  • Place the next files in your ROGame\BrewedPCServer folder on your server:
    • BrewedPCServer\SmartLoader.u
    Note:
    If you have a redirect, then it's advised to also place the SmartLoader.u file on your redirect too. It will prevent ping spikes when players connect and the server needs to upload those files to the clients. Unlike with map files, the .u files should NOT be renamed to .upk
  • Restart your server (you need to do this or else the server will not find the mutator)

Activation

From server launch file (adviced)
  • Stop your server.
  • Open your servers launch batch file with a text editor.
  • Add ?Mutator=SmartLoader.SmartLoader to the map URL of the server start command-line.
  • If there are other mutators specified in the command-line, then remove them. You can select them again in the SmartLoader web-settings page.
  • Save the modified server launch batch file and close the text editor.
  • Start the server.
From web-admin Change Map page
  • Open your servers web-admin tool.
  • Go to the Change Map page.
  • Select your game type and map.
  • Tick the SmartLoader checkbox and un-tick all others. You can select them again in the SmartLoader web-settings page.
  • Change the map.

Compatibility note:
SmartLoader does not replace any vanilla RO2 class instance.

Source code:
The source code of this mutator can be downloaded from:
svn://62.163.53.115/SmartLoader/trunk/
An SVN client is required to download the sources (for example TortoiseSVN).
The files are password protected. If you want access to the sources, then please PM me and you will receive a reply with sign-in details.

Many thanks to:
For arranging tests on his servers.
 
Last edited:

Cat_in_da_Hat

FNG / Fresh Meat
Dec 11, 2006
1,749
115
0
Yet another great idea from Ducky.

Well done pal.

and ducky "reserved slots2" come on out with it, whats this one all about ?
 
Last edited:

Ducky

Super Moderator
May 22, 2011
6,358
237
0
Netherlands
Blast, I just saw this. Do you suppose it might fix my loading-from-command-line issue? I still haven't cracked that one.
Hard to say. The not white-listed version is fully working. It won't hurt to try it out and see if it would solve your load from command line issue.
 

Ducky

Super Moderator
May 22, 2011
6,358
237
0
Netherlands
Blast, I just saw this. Do you suppose it might fix my loading-from-command-line issue? I still haven't cracked that one.
Did test it, but regretfully the server will still crash with this loop:
Code:
Log: MD5s: No result found - Skipping white list checks
I will see if it can be solved by adding a configurable mutator start delay.
 

Ducky

Super Moderator
May 22, 2011
6,358
237
0
Netherlands
--SNIP--
I will see if it can be solved by adding a configurable mutator start delay.
And it works. You can find the server start (from command-line) logging in the spoiler:
Spoiler!


I will add it to the SmartLoader mutator and post the newer version. A delay of 0.1 second was already sufficient so I will not make it optional, but rather standard.
 

®omano

Grizzled Veteran
May 14, 2009
4,093
193
63
France
www.hellsoldiers.tk
Is there any reason for the non white listing? I dont really understand why they don't white list it :\.. Is it officially a NO or is it just a delay before answer?
 

Cat_in_da_Hat

FNG / Fresh Meat
Dec 11, 2006
1,749
115
0
I noticed something a bit wonky with Smart Loader.

I have it installed on the main Aussie / NZ server but not activated.

I went to the Mutators area of the webadmin just to look at the settings and it seemed to have started and it kicked everyone on the server that didn't have it already installed.
 

Ducky

Super Moderator
May 22, 2011
6,358
237
0
Netherlands
It's not caused by SmartLoader but by UE3. Selecting the mutator settings of a none active mutator will cause the mutator settings object to be loaded at server side. As a result the same object load request is send to the clients. They probably do not have the object and thus get disconnected. Welcome to UE3.
 

Cat_in_da_Hat

FNG / Fresh Meat
Dec 11, 2006
1,749
115
0
It's not caused by SmartLoader but by UE3. Selecting the mutator settings of a none active mutator will cause the mutator settings object to be loaded at server side. As a result the same object load request is send to the clients. They probably do not have the object and thus get disconnected. Welcome to UE3.
So lesson of the day - Dont even go near mutators that are not loaded.
 

Ducky

Super Moderator
May 22, 2011
6,358
237
0
Netherlands
So lesson of the day - Dont even go near mutators that are not loaded.
Yup. It would be nice if the web-admin would give a warning if you click one which isn't loaded. Something like:

The mutator you selected is currently not loaded. Displaying the mutator's web page might cause players to be kicked from the server. Are you sure you want to load the settings page of this mutator?

[Yes] [No]