Jump to content

MULTIbalancer [1.1.6.0] 30-MAR-2015 + BFHL


Recommended Posts

Originally Posted by PapaCharlie9*:

 

How can i speed up balancing it seems to take a while , and how does scrambler work.

I know it is long, but read all of post #1 and post #2. Also read the FAQ (linked from post #1). Those will answer your questions.

 

Hint: for fast balancing, look up Enable Admin Kill For Fast Balance in post #1.

* Restored post. It could be that the author is no longer active.
Link to comment
  • Replies 2.4k
  • Created
  • Last Reply

Top Posters In This Topic

Originally Posted by PapaCharlie9*:

 

Something I didn't think about until now...I wonder what use ticket loss acceleration would be. We already calculate ticket loss rates, but knowing how fast those values are changing could be useful. Perhaps it could be used in some cases for early detection of team strength?

Yeah, I thought of that too. I think you have enough info to do the second derivative.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by PapaCharlie9*:

 

Does anyone know if it's possible to prevent a squad leader change after team scramble? I've always had this "issue" with team scramble but it was never a problem for me but with the new classic game mode where squad leader only spawn is enabled, it's important that squad leader doesn't change after every round.

No, sorry, it doesn't preserve SL. You'd have to disable scrambling to insure that.

 

Even if you use Keep Squads Together, they have to be moved one at a time and the order is essentially random. So even though all the same members will end up in the same squad, the order is pretty much guaranteed to change.

 

Since BF4 has a squad.leader command that both gets and sets, it is theoretically possible to get all the squad leaders before the scramble and reassign them after the scramble. It won't work if the SL leaves or if random other things happen, like the timing of the squad.leader setting command happens too early or too late, but it might be worth a shot. Do you want to enter it as a wish list item for the next update?

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

Originally Posted by ColColonCleaner*:

 

No, sorry, it doesn't preserve SL. You'd have to disable scrambling to insure that.

 

Even if you use Keep Squads Together, they have to be moved one at a time and the order is essentially random. So even though all the same members will end up in the same squad, the order is pretty much guaranteed to change.

 

Since BF4 has a squad.leader command that both gets and sets, it is theoretically possible to get all the squad leaders before the scramble and reassign them after the scramble. It won't work if the SL leaves or if random other things happen, like the timing of the squad.leader setting command happens too early or too late, but it might be worth a shot. Do you want to enter it as a wish list item for the next update?

By the way, BF3 also has the leader command. I used my lead command in BF3 once not expecting it to work and it did.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ColColonCleaner*:

 

I found a medium between our two methods of ticket loss calculation. Your method of creating filler values to make each the same weight, and mine of using the moving window to make it a linear equation. Looked it up and its called linear/polynomial interpolation.

 

Here is the flow:

 

  • Server info every 10 seconds.
  • New ticket value T comes in, at time t.
  • Time t is truncated to seconds, removing all sub-second value.
  • If this value is the first value, just enqueue T and t.
  • If not, get the time difference between the new t, and latest old t in integer seconds.
  • Calculate the linear equation T=mt+b between the two points.
  • Loop over every second ti between old t and new t. For each, plug ti into the linear equation, and enqueue that Ti and ti.
  • Dequeue all values outside the decided ticket window. (2 minutes in my version).
  • Take median of the differences between each ticket count in the queue as the ticket difference rate in tickets/sec.
  • Multiply by 60 to get tickets/min.

Code example (debug lines included for testing):

 

Code:

public void UpdateTicketCount(Double newTicketCount){
    //Get rounded time (floor)
    DateTime newTicketTime = DateTime.UtcNow;
    newTicketTime = newTicketTime.AddTicks(-(newTicketTime.Ticks % TimeSpan.TicksPerSecond));
    if (!TeamTicketsAdded)
    {
        TeamScoreDifferenceRate = 0;
        TeamTicketCount = (Int32)newTicketCount;
        TeamTicketsTime = newTicketTime;
        if(TeamID == 0 || TeamID == 1 || TeamID == 2)
            Plugin.ConsoleSuccess(TeamName + ":(first) " + Math.Round(newTicketCount, 2) + " | " + newTicketTime.ToLongTimeString());
        TeamTicketCounts.Enqueue(new KeyValuePair<double, DateTime>(newTicketCount, newTicketTime));
        TeamTicketsAdded = true;
        return;
    }




    //Interpolation
    DateTime oldTicketTime = TeamTicketsTime;
    Double oldTicketValue = TeamTicketCount;
    Double interTimeOldSeconds = 0;
    Double interTimeNewSeconds = (newTicketTime - oldTicketTime).TotalSeconds;
    Double m = (newTicketCount - oldTicketValue) / (interTimeNewSeconds);
    Double b = oldTicketValue;
    if (TeamID == 0 || TeamID == 1 || TeamID == 2)
        Plugin.ConsoleWarn(TeamName + ":(old) " + Math.Round(oldTicketValue, 2) + " | " + oldTicketTime.ToLongTimeString());
    for (Int32 sec = (Int32)interTimeOldSeconds; sec < interTimeNewSeconds; sec++)
    {
        DateTime subTicketTime = oldTicketTime.AddSeconds(sec);
        Double subTicketValue = (m * sec) + b;
        if (TeamID == 0 || TeamID == 1 || TeamID == 2)
            Plugin.ConsoleWarn(TeamName + ":(sub) " + Math.Round(subTicketValue, 2) + " | " + subTicketTime.ToLongTimeString());
        TeamTicketCounts.Enqueue(new KeyValuePair<double, DateTime>(subTicketValue, subTicketTime));
    }
    Plugin.ConsoleWarn(TeamName + ":(new) " + Math.Round(newTicketCount, 2) + " | " + newTicketTime.ToLongTimeString());




    //Remove old values
    Boolean removed = false;
    do
    {
        removed = false;
        if (TeamTicketCounts.Any() && (DateTime.UtcNow - TeamTicketCounts.Peek().Value).TotalSeconds > 120)
        {
            TeamTicketCounts.Dequeue();
            removed = true;
        }
    } while (removed);




    //Set instance vars
    TeamTicketCount = (Int32)newTicketCount;
    TeamTicketsTime = newTicketTime;




    List<Double> values = TeamTicketCounts.Select(pair => pair.Key).ToList();
    var differences = new List<Double>();
    for (int i = 0; i < values.Count - 1; i++)
    {
        differences.Add(values[i + 1] - values[i]);
    }
    differences.Sort();
    //Convert to tickets/min
    TeamTicketDifferenceRate = (differences.Sum() / differences.Count) * 60;
    if (TeamID == 0 || TeamID == 1 || TeamID == 2)
        Plugin.ConsoleWarn(TeamName + ":(rate) " + Math.Round(TeamTicketDifferenceRate, 2) + " | " + newTicketTime.ToLongTimeString());
}
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by PapaCharlie9*:

 

I found a medium between our two methods of ticket loss calculation. Your method of creating filler values to make each the same weight, and mine of using the moving window to make it a linear equation. Looked it up and its called linear/polynomial interpolation.

 

Here is the flow:

 

  • Server info every 10 seconds.
  • New ticket value T comes in, at time t.
  • Time t is truncated to seconds, removing all sub-second value.
  • If this value is the first value, just enqueue T and t.
  • If not, get the time difference between the new t, and latest old t in integer seconds.
  • Calculate the linear equation T=mt+b between the two points.
  • Loop over every second ti between old t and new t. For each, plug ti into the linear equation, and enqueue that Ti and ti.
  • Dequeue all values outside the decided ticket window. (2 minutes in my version).
  • Take median of the differences between each ticket count in the queue as the ticket difference rate in tickets/sec.
  • Multiply by 60 to get tickets/min.

Code example (debug lines included for testing):

 

Code:

public void UpdateTicketCount(Double newTicketCount){
    //Get rounded time (floor)
    DateTime newTicketTime = DateTime.UtcNow;
    newTicketTime = newTicketTime.AddTicks(-(newTicketTime.Ticks % TimeSpan.TicksPerSecond));
    if (!TeamTicketsAdded)
    {
        TeamScoreDifferenceRate = 0;
        TeamTicketCount = (Int32)newTicketCount;
        TeamTicketsTime = newTicketTime;
        if(TeamID == 0 || TeamID == 1 || TeamID == 2)
            Plugin.ConsoleSuccess(TeamName + ":(first) " + Math.Round(newTicketCount, 2) + " | " + newTicketTime.ToLongTimeString());
        TeamTicketCounts.Enqueue(new KeyValuePair<double, DateTime>(newTicketCount, newTicketTime));
        TeamTicketsAdded = true;
        return;
    }




    //Interpolation
    DateTime oldTicketTime = TeamTicketsTime;
    Double oldTicketValue = TeamTicketCount;
    Double interTimeOldSeconds = 0;
    Double interTimeNewSeconds = (newTicketTime - oldTicketTime).TotalSeconds;
    Double m = (newTicketCount - oldTicketValue) / (interTimeNewSeconds);
    Double b = oldTicketValue;
    if (TeamID == 0 || TeamID == 1 || TeamID == 2)
        Plugin.ConsoleWarn(TeamName + ":(old) " + Math.Round(oldTicketValue, 2) + " | " + oldTicketTime.ToLongTimeString());
    for (Int32 sec = (Int32)interTimeOldSeconds; sec < interTimeNewSeconds; sec++)
    {
        DateTime subTicketTime = oldTicketTime.AddSeconds(sec);
        Double subTicketValue = (m * sec) + b;
        if (TeamID == 0 || TeamID == 1 || TeamID == 2)
            Plugin.ConsoleWarn(TeamName + ":(sub) " + Math.Round(subTicketValue, 2) + " | " + subTicketTime.ToLongTimeString());
        TeamTicketCounts.Enqueue(new KeyValuePair<double, DateTime>(subTicketValue, subTicketTime));
    }
    Plugin.ConsoleWarn(TeamName + ":(new) " + Math.Round(newTicketCount, 2) + " | " + newTicketTime.ToLongTimeString());




    //Remove old values
    Boolean removed = false;
    do
    {
        removed = false;
        if (TeamTicketCounts.Any() && (DateTime.UtcNow - TeamTicketCounts.Peek().Value).TotalSeconds > 120)
        {
            TeamTicketCounts.Dequeue();
            removed = true;
        }
    } while (removed);




    //Set instance vars
    TeamTicketCount = (Int32)newTicketCount;
    TeamTicketsTime = newTicketTime;




    List<Double> values = TeamTicketCounts.Select(pair => pair.Key).ToList();
    var differences = new List<Double>();
    for (int i = 0; i < values.Count - 1; i++)
    {
        differences.Add(values[i + 1] - values[i]);
    }
    differences.Sort();
    //Convert to tickets/min
    TeamTicketDifferenceRate = (differences.Sum() / differences.Count) * 60;
    if (TeamID == 0 || TeamID == 1 || TeamID == 2)
        Plugin.ConsoleWarn(TeamName + ":(rate) " + Math.Round(TeamTicketDifferenceRate, 2) + " | " + newTicketTime.ToLongTimeString());
}
Interesting. How does it compare to the other methods? Is there enough improvement in accuracy to be worth the complexity?

 

It's probably more likely that, if we could sample once per second, we'd see a lot of zeroes, rather than a lot of repeated non-zero values, e.g., 3,0,0,1,0,5,0,2,1,1 (median = 1/sec) rather than 3,3,3,3,3,3,3,3,3,1 (median 3/sec) or 3,2.8,2.6,2.4,2.2,2.0,1.8,1.6,1.4,1 (median 2.2/sec).

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

Originally Posted by ColColonCleaner*:

 

Interesting. How does it compare to the other methods? Is there enough improvement in accuracy to be worth the complexity?

 

It's probably more likely that, if we could sample once per second, we'd see a lot of zeroes, rather than a lot of repeated non-zero values, e.g., 3,0,0,1,0,5,0,2,1,1 (median = 1/sec) rather than 3,3,3,3,3,3,3,3,3,1 (median 3/sec) or 3,2.8,2.6,2.4,2.2,2.0,1.8,1.6,1.4,1 (median 2.2/sec).

This method is along the same concept as a Riemann sum, where once you have a function, the more points you calculate the better your approximation of the curve. Except in this case we aren't adding up sections of area under the curve, instead we are generating values of the curve itself because we don't know the function.

 

This makes modeling the actual value of ticket count over time more accurate, and thus the change in tickets is more accurate as a result. With this method you could plug in a time and a reasonable approximation of the ticket count at that second would be sent back.

 

I will admit though, using a mean at the end instead of a median would be better, and i'll be making those changes to suit.

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

Originally Posted by ColColonCleaner*:

 

This might be useful to your plugins.

 

I wrote an update script that automatically downloads plugin updates when stable releases are made. It tells admins they need to restart to run the update already downloaded, or if the layer can't download it for some reason it just tells them an update is available.

 

If a new stable version is available, that plugin source is downloaded, a test compile is run on it to make sure the download was valid, then the plugin source is overwritten with the updated version. Update checks are performed hourly. A disable switch is provided for people who have modded the code themselves and don't want automatic updates.

 

CheckForPluginUpdates

 

https://raw.githubusercontent.com/Co...test/AdKats.cs

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

Originally Posted by catatonic*:

 

Yes sir, actually the post previous to the one you looked at was with the MB disabled. I had it turned off due to the issue I was having. The post you reviewed is with MB on. This may just be a SDM thing, I understand we may just have to go with it. Thanks again for your time and patience. I can post another if you like.

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

Originally Posted by ColColonCleaner*:

 

I just noticed you have externally callable functions like UpdatePluginData, but don't register them with RegisterCommand. Is there a reason for this? Plugins need to know if those functions are available to be called.

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

Originally Posted by PapaCharlie9*:

 

I just noticed you have externally callable functions like UpdatePluginData, but don't register them with RegisterCommand. Is there a reason for this? Plugins need to know if those functions are available to be called.

I'd rather than the human developer know, by reading my documentation, than a plugin mindlessly enumerating an availability list.

 

The functions are still callable, you just can't discover them automatically. Or at least that's what testing seems to demonstrate.

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

Originally Posted by ColColonCleaner*:

 

I'd rather than the human developer know, by reading my documentation, than a plugin mindlessly enumerating an availability list.

 

The functions are still callable, you just can't discover them automatically. Or at least that's what testing seems to demonstrate.

That's not what i was getting at, there is functionality specific to your plugin that I run. Feeding the white list, dispersion list, and disabling unswitcher for example. It would be nice to know if any of that will actually succeed by being able to check if the plugin is installed and running, hence being able to check available matchcommands.

 

They still need to use the docs to find out how things work.

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

Originally Posted by PapaCharlie9*:

 

That's not what i was getting at, there is functionality specific to your plugin that I run. Feeding the white list, dispersion list, and disabling unswitcher for example. It would be nice to know if any of that will actually succeed by being able to check if the plugin is installed and running, hence being able to check available matchcommands.

 

They still need to use the docs to find out how things work.

Oh, you want a way to know if MB is loaded? I thought there was a Procon API for that apart from RegisterCommand, though I can't recall what it is at the moment.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ColColonCleaner*:

 

Oh, you want a way to know if MB is loaded? I thought there was a Procon API for that apart from RegisterCommand, though I can't recall what it is at the moment.

Loaded, and loaded/running. I'll look around for the API for loaded, but i know there isn't one for running. A lot of people have MB installed, but will be running another balancer instead.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by AgentHawk*:

 

I dont know why, but sometimes are our rounds totaly unbalanced. Like 900-0 (DOM//1200-1200) same in TDM and CQ.

We playing on a Votemap Server with TDM-DOM-CQ(cq is only locker)

 

Are my settings complete wrong? Thanks for you help.

Greetings

 

[21:46:43 60] [MULTIbalancer]:0 [show In Log] 1 - Settings|Debug Level: 2

[21:46:43 60] [MULTIbalancer]:0 [show In Log] 1 - Settings|Maximum Server Size: 64

[21:46:43 60] [MULTIbalancer]:0 [show In Log] 1 - Settings|Enable Battlelog Requests: True

[21:46:43 60] [MULTIbalancer]:0 [show In Log] 1 - Settings|Which Battlelog Stats: ClanTagOnly

[21:46:43 60] [MULTIbalancer]:0 [show In Log] 1 - Settings|Maximum Request Rate: 10

[21:46:43 60] [MULTIbalancer]:0 [show In Log] 1 - Settings|Wait Timeout: 30

[21:46:43 60] [MULTIbalancer]:0 [show In Log] 1 - Settings|Unlimited Team Switching During First Minutes Of Round: 5

[21:46:43 60] [MULTIbalancer]:0 [show In Log] 1 - Settings|Seconds Until Adaptive Speed Becomes Fast: 180

[21:46:43 60] [MULTIbalancer]:0 [show In Log] 1 - Settings|Reassign New Players: True

[21:46:43 60] [MULTIbalancer]:0 [show In Log] 1 - Settings|Enable Admin Kill For Fast Balance: False

[21:46:43 60] [MULTIbalancer]:0 [show In Log] 1 - Settings|Enable In-Game Commands: True

[21:46:43 60] [MULTIbalancer]:0 [show In Log] 1 - Settings|Enable Whitelisting Of Reserved Slots List: True

 

[21:48:40 79] [MULTIbalancer]:0 [show In Log] 2 - Exclusions|On Whitelist: True

[21:48:40 79] [MULTIbalancer]:0 [show In Log] 2 - Exclusions|On Friends List: False

[21:48:40 79] [MULTIbalancer]:0 [show In Log] 2 - Exclusions|Top Scorers: True

[21:48:40 79] [MULTIbalancer]:0 [show In Log] 2 - Exclusions|Same Clan Tags In Squad: True

[21:48:40 79] [MULTIbalancer]:0 [show In Log] 2 - Exclusions|Same Clan Tags In Team: False

[21:48:40 79] [MULTIbalancer]:0 [show In Log] 2 - Exclusions|Same Clan Tags For Rank Dispersal: False

[21:48:40 79] [MULTIbalancer]:0 [show In Log] 2 - Exclusions|Lenient Rank Dispersal: False

[21:48:40 79] [MULTIbalancer]:0 [show In Log] 2 - Exclusions|Minutes After Joining: 2

[21:48:40 79] [MULTIbalancer]:0 [show In Log] 2 - Exclusions|Minutes After Being Moved: 20

 

[21:49:08 75] [MULTIbalancer]:0 [show In Log] 3 - Round Phase and Population Settings|Early Phase: Ticket Percentage To Unstack (Low, Med, High population): 130, 130, 130

[21:49:08 75] [MULTIbalancer]:0 [show In Log] 3 - Round Phase and Population Settings|Mid Phase: Ticket Percentage To Unstack (Low, Med, High population): 130, 130, 130

[21:49:08 75] [MULTIbalancer]:0 [show In Log] 3 - Round Phase and Population Settings|Late Phase: Ticket Percentage To Unstack (Low, Med, High population): 0, 0, 0

[21:49:08 75] [MULTIbalancer]:0 [show In Log] 3 - Round Phase and Population Settings|Spelling Of Speed Names Reminder: Click_Here_For_Speed_Names

[21:49:08 75] [MULTIbalancer]:0 [show In Log] 3 - Round Phase and Population Settings|Early Phase: Balance Speed (Low, Med, High population): Fast, Adaptive, Adaptive

[21:49:08 75] [MULTIbalancer]:0 [show In Log] 3 - Round Phase and Population Settings|Mid Phase: Balance Speed (Low, Med, High population): Fast, Adaptive, Adaptive

[21:49:08 75] [MULTIbalancer]:0 [show In Log] 3 - Round Phase and Population Settings|Late Phase: Balance Speed (Low, Med, High population): Stop, Stop, Stop

 

[21:49:24 11] [MULTIbalancer]:0 [show In Log] 4 - Scrambler|Only By Command: False

[21:49:24 11] [MULTIbalancer]:0 [show In Log] 4 - Scrambler|Only On New Maps: True

[21:49:24 11] [MULTIbalancer]:0 [show In Log] 4 - Scrambler|Only On Final Ticket Percentage >=: 120

[21:49:24 11] [MULTIbalancer]:0 [show In Log] 4 - Scrambler|Scramble By: RoundScore

[21:49:24 11] [MULTIbalancer]:0 [show In Log] 4 - Scrambler|Keep Squads Together: True

[21:49:24 11] [MULTIbalancer]:0 [show In Log] 4 - Scrambler|Divide By: None

[21:49:24 11] [MULTIbalancer]:0 [show In Log] 4 - Scrambler|Delay Seconds: 50

 

[21:49:55 44] [MULTIbalancer]:0 [show In Log] 6 - Unswitcher|Forbid Switching After Autobalance: Always

[21:49:55 44] [MULTIbalancer]:0 [show In Log] 6 - Unswitcher|Forbid Switching To Winning Team: Always

[21:49:55 44] [MULTIbalancer]:0 [show In Log] 6 - Unswitcher|Forbid Switching To Biggest Team: Always

[21:49:55 44] [MULTIbalancer]:0 [show In Log] 6 - Unswitcher|Forbid Switching After Dispersal: Always

[21:49:55 44] [MULTIbalancer]:0 [show In Log] 6 - Unswitcher|Enable Immediate Unswitch: True

 

[21:51:12 98] [MULTIbalancer]:0 [show In Log] 8 - Settings for Conquest Large|Conquest Large: Max Players: 64

[21:51:12 98] [MULTIbalancer]:0 [show In Log] 8 - Settings for Conquest Large|Conquest Large: Check Team Stacking After First Minutes: 2

[21:51:12 98] [MULTIbalancer]:0 [show In Log] 8 - Settings for Conquest Large|Conquest Large: Max Unstacking Swaps Per Round: 8

[21:51:12 98] [MULTIbalancer]:0 [show In Log] 8 - Settings for Conquest Large|Conquest Large: Number Of Swaps Per Group: 2

[21:51:12 98] [MULTIbalancer]:0 [show In Log] 8 - Settings for Conquest Large|Conquest Large: Delay Seconds Between Swap Groups: 600

[21:51:12 98] [MULTIbalancer]:0 [show In Log] 8 - Settings for Conquest Large|Conquest Large: Max Unstacking Ticket Difference: 150

[21:51:12 98] [MULTIbalancer]:0 [show In Log] 8 - Settings for Conquest Large|Conquest Large: Enable Unstacking By Player Stats: True

[21:51:12 98] [MULTIbalancer]:0 [show In Log] 8 - Settings for Conquest Large|Conquest Large: Determine Strong Players By: RoundScore

[21:51:12 98] [MULTIbalancer]:0 [show In Log] 8 - Settings for Conquest Large|Conquest Large: Percent Of Top Of Team Is Strong: 30

[21:51:13 00] [MULTIbalancer]:0 [show In Log] 8 - Settings for Conquest Large|Conquest Large: Only Move Weak Players: False

[21:51:13 00] [MULTIbalancer]:0 [show In Log] 8 - Settings for Conquest Large|Conquest Large: Disperse Evenly By Rank >=: 0

[21:51:13 00] [MULTIbalancer]:0 [show In Log] 8 - Settings for Conquest Large|Conquest Large: Disperse Evenly By Clan Players >=: 0

[21:51:13 00] [MULTIbalancer]:0 [show In Log] 8 - Settings for Conquest Large|Conquest Large: Enable Disperse Evenly List: True

[21:51:13 00] [MULTIbalancer]:0 [show In Log] 8 - Settings for Conquest Large|Conquest Large: Enable Strict Dispersal: True

[21:51:13 00] [MULTIbalancer]:0 [show In Log] 8 - Settings for Conquest Large|Conquest Large: Enable Low Population Adjustments: False

[21:51:13 00] [MULTIbalancer]:0 [show In Log] 8 - Settings for Conquest Large|Conquest Large: Definition Of High Population For Players >=: 48

[21:51:13 00] [MULTIbalancer]:0 [show In Log] 8 - Settings for Conquest Large|Conquest Large: Definition Of Low Population For Players

[21:51:13 00] [MULTIbalancer]:0 [show In Log] 8 - Settings for Conquest Large|Conquest Large: Definition Of Early Phase As Tickets From Start: 100

[21:51:13 00] [MULTIbalancer]:0 [show In Log] 8 - Settings for Conquest Large|Conquest Large: Definition Of Late Phase As Tickets From End: 100

[21:51:13 00] [MULTIbalancer]:0 [show In Log] 8 - Settings for Conquest Large|Conquest Large: Enable Scrambler: True

[21:51:13 00] [MULTIbalancer]:0 [show In Log] 8 - Settings for Conquest Large|Conquest Large: Enable Metro Adjustments: True

[21:51:13 00] [MULTIbalancer]:0 [show In Log] 8 - Settings for Conquest Large|Conquest Large: Metro Adjusted Definition Of Late Phase: 200

 

[21:51:39 74] [MULTIbalancer]:0 [show In Log] 8 - Settings for Team Deathmatch|Team Deathmatch: Max Players: 64

[21:51:39 74] [MULTIbalancer]:0 [show In Log] 8 - Settings for Team Deathmatch|Team Deathmatch: Check Team Stacking After First Minutes: 3

[21:51:39 74] [MULTIbalancer]:0 [show In Log] 8 - Settings for Team Deathmatch|Team Deathmatch: Max Unstacking Swaps Per Round: 8

[21:51:39 74] [MULTIbalancer]:0 [show In Log] 8 - Settings for Team Deathmatch|Team Deathmatch: Number Of Swaps Per Group: 3

[21:51:39 74] [MULTIbalancer]:0 [show In Log] 8 - Settings for Team Deathmatch|Team Deathmatch: Delay Seconds Between Swap Groups: 240

[21:51:39 74] [MULTIbalancer]:0 [show In Log] 8 - Settings for Team Deathmatch|Team Deathmatch: Max Unstacking Ticket Difference: 80

[21:51:39 74] [MULTIbalancer]:0 [show In Log] 8 - Settings for Team Deathmatch|Team Deathmatch: Enable Unstacking By Player Stats: True

[21:51:39 74] [MULTIbalancer]:0 [show In Log] 8 - Settings for Team Deathmatch|Team Deathmatch: Determine Strong Players By: RoundKDR

[21:51:39 74] [MULTIbalancer]:0 [show In Log] 8 - Settings for Team Deathmatch|Team Deathmatch: Percent Of Top Of Team Is Strong: 40

[21:51:39 74] [MULTIbalancer]:0 [show In Log] 8 - Settings for Team Deathmatch|Team Deathmatch: Only Move Weak Players: False

[21:51:39 74] [MULTIbalancer]:0 [show In Log] 8 - Settings for Team Deathmatch|Team Deathmatch: Disperse Evenly By Rank >=: 0

[21:51:39 74] [MULTIbalancer]:0 [show In Log] 8 - Settings for Team Deathmatch|Team Deathmatch: Disperse Evenly By Clan Players >=: 0

[21:51:39 74] [MULTIbalancer]:0 [show In Log] 8 - Settings for Team Deathmatch|Team Deathmatch: Enable Disperse Evenly List: True

[21:51:39 74] [MULTIbalancer]:0 [show In Log] 8 - Settings for Team Deathmatch|Team Deathmatch: Enable Strict Dispersal: True

[21:51:39 74] [MULTIbalancer]:0 [show In Log] 8 - Settings for Team Deathmatch|Team Deathmatch: Enable Low Population Adjustments: False

[21:51:39 74] [MULTIbalancer]:0 [show In Log] 8 - Settings for Team Deathmatch|Team Deathmatch: Definition Of High Population For Players >=: 48

[21:51:39 74] [MULTIbalancer]:0 [show In Log] 8 - Settings for Team Deathmatch|Team Deathmatch: Definition Of Low Population For Players

[21:51:39 74] [MULTIbalancer]:0 [show In Log] 8 - Settings for Team Deathmatch|Team Deathmatch: Definition Of Early Phase As Tickets From Start: 50

[21:51:39 74] [MULTIbalancer]:0 [show In Log] 8 - Settings for Team Deathmatch|Team Deathmatch: Definition Of Late Phase As Tickets From End: 75

[21:51:39 74] [MULTIbalancer]:0 [show In Log] 8 - Settings for Team Deathmatch|Team Deathmatch: Enable Scrambler: True

 

[21:51:58 18] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Max Players: 64

[21:51:58 18] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Check Team Stacking After First Minutes: 3

[21:51:58 18] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Max Unstacking Swaps Per Round: 8

[21:51:58 18] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Number Of Swaps Per Group: 3

[21:51:58 18] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Delay Seconds Between Swap Groups: 600

[21:51:58 18] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Max Unstacking Ticket Difference: 100

[21:51:58 18] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Enable Unstacking By Player Stats: True

[21:51:58 18] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Determine Strong Players By: RoundScore

[21:51:58 18] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Percent Of Top Of Team Is Strong: 30

[21:51:58 18] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Only Move Weak Players: False

[21:51:58 18] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Disperse Evenly By Rank >=: 0

[21:51:58 18] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Disperse Evenly By Clan Players >=: 0

[21:51:58 18] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Enable Disperse Evenly List: True

[21:51:58 18] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Enable Strict Dispersal: True

[21:51:58 18] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Enable Low Population Adjustments: False

[21:51:58 18] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Definition Of High Population For Players >=: 48

[21:51:58 18] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Definition Of Low Population For Players

[21:51:58 18] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Definition Of Early Phase As Tickets From Start: 100

[21:51:58 18] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Definition Of Late Phase As Tickets From End: 200

[21:51:58 18] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Enable Scrambler: True

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

Originally Posted by PapaCharlie9*:

 

I dont know why, but sometimes are our rounds totaly unbalanced. Like 900-0 (DOM//1200-1200) same in TDM and CQ.

We playing on a Votemap Server with TDM-DOM-CQ(cq is only locker)

 

Are my settings complete wrong? Thanks for you help.

Greetings

Read the Unstacking FAQs first and if they don't help, post again:

 

showthread....d-explanations*

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

Originally Posted by PapaCharlie9*:

 

where can I set that only dead player get autobalaced?
Make sure Enable Admin Kill For Fast Balance is set to False.

 

And the Ticket different too High for me.
Read the Unstacking FAQs first and if they don't help, post again:

showthread....d-explanations* Edited by maxdralle
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Level*:

 

Make sure Enable Admin Kill For Fast Balance is set to False.

 

 

 

Read the Unstacking FAQs first and if they don't help, post again:

 

showthread....d-explanations*

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

Originally Posted by AgentHawk*:

 

so...done with the FAQ and changed some settings. But I have still the problem with the big spike rounds like 700-0 (1200-1200 DOM)

 

 

[18:58:18 71] [MULTIbalancer]:0 Status: Map = Zavod 311, mode = Domination, time in round = 00:23:20, tickets = 0/783

[18:58:18 71] [MULTIbalancer]:0 Status: Ticket difference = 783, ticket ratio percentage is 288%, average RoundScore stats ratio = 212% (6303.0/2979.1)

[18:58:18 71] [MULTIbalancer]:0 Status: 0/26 raged, 9 reassigned, 0 balanced, 8 unstacked, 1 unswitched, 218 excluded, 405 exempted, 0 failed; of 1460 TOTAL

[18:58:18 71] [MULTIbalancer]:0 Status: Team counts [61] = 29(RU) vs 32(US), with 1 unassigned, 0 commanders, 0 spectators

 

 

 

[16:09:32 34] [MULTIbalancer]:0 [show In Log] Command: gen 1

[16:09:32 34] [MULTIbalancer]:0 [show In Log] 1 - Settings|Debug Level: 2

[16:09:32 34] [MULTIbalancer]:0 [show In Log] 1 - Settings|Maximum Server Size: 64

[16:09:32 34] [MULTIbalancer]:0 [show In Log] 1 - Settings|Enable Battlelog Requests: True

[16:09:32 34] [MULTIbalancer]:0 [show In Log] 1 - Settings|Which Battlelog Stats: ClanTagOnly

[16:09:32 34] [MULTIbalancer]:0 [show In Log] 1 - Settings|Maximum Request Rate: 10

[16:09:32 34] [MULTIbalancer]:0 [show In Log] 1 - Settings|Wait Timeout: 30

[16:09:32 34] [MULTIbalancer]:0 [show In Log] 1 - Settings|Unlimited Team Switching During First Minutes Of Round: 5

[16:09:32 34] [MULTIbalancer]:0 [show In Log] 1 - Settings|Seconds Until Adaptive Speed Becomes Fast: 180

[16:09:32 34] [MULTIbalancer]:0 [show In Log] 1 - Settings|Reassign New Players: True

[16:09:32 34] [MULTIbalancer]:0 [show In Log] 1 - Settings|Enable Admin Kill For Fast Balance: False

[16:09:32 34] [MULTIbalancer]:0 [show In Log] 1 - Settings|Enable In-Game Commands: True

[16:09:32 34] [MULTIbalancer]:0 [show In Log] 1 - Settings|Enable Whitelisting Of Reserved Slots List: True

 

 

[16:10:05 46] [MULTIbalancer]:0 [show In Log] 2 - Exclusions|On Whitelist: True

[16:10:05 46] [MULTIbalancer]:0 [show In Log] 2 - Exclusions|On Friends List: False

[16:10:05 46] [MULTIbalancer]:0 [show In Log] 2 - Exclusions|Top Scorers: True

[16:10:05 46] [MULTIbalancer]:0 [show In Log] 2 - Exclusions|Same Clan Tags In Squad: True

[16:10:05 46] [MULTIbalancer]:0 [show In Log] 2 - Exclusions|Same Clan Tags In Team: False

[16:10:05 46] [MULTIbalancer]:0 [show In Log] 2 - Exclusions|Same Clan Tags For Rank Dispersal: False

[16:10:05 46] [MULTIbalancer]:0 [show In Log] 2 - Exclusions|Lenient Rank Dispersal: False

[16:10:05 46] [MULTIbalancer]:0 [show In Log] 2 - Exclusions|Minutes After Joining: 2

[16:10:05 46] [MULTIbalancer]:0 [show In Log] 2 - Exclusions|Minutes After Being Moved: 20

 

 

[16:10:43 98] [MULTIbalancer]:0 [show In Log] 3 - Round Phase and Population Settings|Early Phase: Ticket Percentage To Unstack (Low, Med, High population): 130, 130, 130

[16:10:43 99] [MULTIbalancer]:0 [show In Log] 3 - Round Phase and Population Settings|Mid Phase: Ticket Percentage To Unstack (Low, Med, High population): 130, 130, 130

[16:10:43 99] [MULTIbalancer]:0 [show In Log] 3 - Round Phase and Population Settings|Late Phase: Ticket Percentage To Unstack (Low, Med, High population): 0, 0, 0

[16:10:43 99] [MULTIbalancer]:0 [show In Log] 3 - Round Phase and Population Settings|Spelling Of Speed Names Reminder: Click_Here_For_Speed_Names

[16:10:43 99] [MULTIbalancer]:0 [show In Log] 3 - Round Phase and Population Settings|Early Phase: Balance Speed (Low, Med, High population): Fast, Adaptive, Adaptive

[16:10:43 99] [MULTIbalancer]:0 [show In Log] 3 - Round Phase and Population Settings|Mid Phase: Balance Speed (Low, Med, High population): Fast, Adaptive, Adaptive

[16:10:43 99] [MULTIbalancer]:0 [show In Log] 3 - Round Phase and Population Settings|Late Phase: Balance Speed (Low, Med, High population): Stop, Stop, Stop

 

 

[16:11:28 80] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Max Players: 64

[16:11:28 80] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Check Team Stacking After First Minutes: 3

[16:11:28 80] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Max Unstacking Swaps Per Round: 20

[16:11:28 80] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Number Of Swaps Per Group: 4

[16:11:28 80] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Delay Seconds Between Swap Groups: 600

[16:11:28 80] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Max Unstacking Ticket Difference: 200

[16:11:28 80] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Enable Unstacking By Player Stats: True

[16:11:28 80] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Determine Strong Players By: RoundScore

[16:11:28 80] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Percent Of Top Of Team Is Strong: 40

[16:11:28 80] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Only Move Weak Players: False

[16:11:28 80] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Disperse Evenly By Rank >=: 0

[16:11:28 80] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Disperse Evenly By Clan Players >=: 0

[16:11:28 80] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Enable Disperse Evenly List: True

[16:11:28 80] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Enable Strict Dispersal: True

[16:11:28 80] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Enable Low Population Adjustments: False

[16:11:28 80] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Definition Of High Population For Players >=: 48

[16:11:28 80] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Definition Of Low Population For Players

[16:11:28 80] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Definition Of Early Phase As Tickets From Start: 100

[16:11:28 80] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Definition Of Late Phase As Tickets From End: 200

[16:11:28 80] [MULTIbalancer]:0 [show In Log] 8 - Settings for Domination|Domination: Enable Scrambler: False

 

 

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

Originally Posted by PapaCharlie9*:

 

so...done with the FAQ and changed some settings. But I have still the problem with the big spike rounds like 700-0 (1200-1200 DOM)

What is the average length of time of your rounds? DOM tends to run fast (you posted a 23 minute round, which is fast), and as noted in the FAQ, the longer the round runs, the better Unstacking works. (True, it says tickets instead of time, but I meant time).

 

Also the FAQ makes clear that you are not going to have perfect rounds every time. If you get a close round one out of every three, you are doing well.

 

EDIT: Well, looks like you have been at this for some time! One of the FAQs was in response to your question about unstacking. Have you collected the multiple days of log data that was suggested here?

 

myrcon.net/...multibalancer-30-mar-2015-bfhl#entry35334

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

Originally Posted by AgentHawk*:

 

What is the average length of time of your rounds?

 

 

EDIT: Well, looks like you have been at this for some time! One of the FAQs was in response to your question about unstacking. Have you collected the multiple days of log data that was suggested here?

 

myrcon.net/...multibalancer-30-mar-2015-bfhl#entry35334

The average is ~25min.

 

 

And yes I checked the rounds over a week and tdm are quite okay but the Dom rounds are rly often unbalanced.

 

And I dont know why. Look at my last round

 

[16:25:36 43] [MULTIbalancer]:0 Status: Map = Operation Locker, mode = Domination, time in round = 00:29:16, tickets = 430/0

[16:25:36 43] [MULTIbalancer]:0 Status: Ticket difference = 430, ticket ratio percentage is 156%, average RoundScore stats ratio = 143% (6821.2/4779.3)

[16:25:36 43] [MULTIbalancer]:0 Status: 0/28 raged, 15 reassigned, 0 balanced, 2 unstacked, 1 unswitched, 236 excluded, 1162 exempted, 0 failed; of 1953 TOTAL

[16:25:36 43] [MULTIbalancer]:0 Status: Team counts [61] = 31(US) vs 30(RU), with 2 unassigned, 0 commanders, 0 spectators

 

 

0 balanced 2 unstacked but my settings are much higher.

 

Greetings

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

Originally Posted by PapaCharlie9*:

 

The average is ~25min.

 

 

And yes I checked the rounds over a week and tdm are quite okay but the Dom rounds are rly often unbalanced.

 

And I dont know why. Look at my last round

 

[16:25:36 43] [MULTIbalancer]:0 Status: Map = Operation Locker, mode = Domination, time in round = 00:29:16, tickets = 430/0

[16:25:36 43] [MULTIbalancer]:0 Status: Ticket difference = 430, ticket ratio percentage is 156%, average RoundScore stats ratio = 143% (6821.2/4779.3)

[16:25:36 43] [MULTIbalancer]:0 Status: 0/28 raged, 15 reassigned, 0 balanced, 2 unstacked, 1 unswitched, 236 excluded, 1162 exempted, 0 failed; of 1953 TOTAL

[16:25:36 43] [MULTIbalancer]:0 Status: Team counts [61] = 31(US) vs 30(RU), with 2 unassigned, 0 commanders, 0 spectators

 

 

0 balanced 2 unstacked but my settings are much higher.

 

Greetings

Higher isn't necessarily better, particularly if other settings are blocking effectiveness.

 

You have too many exclusions. Each exclusion is one fewer player that can be swapped. You ought to turn them all off if unstacking is more important to you. For example, you are excluding the top 3 scorers. Those are the players that can be most effective in helping the losing team.

 

Are you sure your experimentation showed 130 as being the best ratio? That seems a tad high to me for DOM. What's the average ticket ratio mid round?

 

Once you've unlocked swapping, 20 swaps in groups of 4 is way too many when there are only 32 players on the team! That's more than half of every team potentially swapping. Remember, you've got strong set to 40, which means you take the LESSER (40% of 32) to determine the swapping pool. That's 12.8, so the absolute maximum number of swaps would be 13, but even that is too high. Try 10 in groups of 2.

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

Originally Posted by corsairoz*:

 

Folks

 

I have a question or two regarding the disperse evenly list.

 

Q1

We have a problem with 2 clans 'clan stacking' our server. So we want to split them as they arrive. So if 4 from clan AAA clan and 4 from clan BBB are in the server it puts (ideally) 2 AAA and 2 BBB on each side.

 

So in the disperse evenly list, would this simply achieve that_:

 

AAA

BBB

 

Does this mean that the named clans will always be spread evenly?

 

Q2

Also what happens with 4 players in the disperse evenly list? For example if:

 

P1

P2

P3

P4

 

Will P1 and P3 always play together? And P2 and P4 always together? Or is the dispersal random?

 

Thanks for explaining.

 

C

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

Originally Posted by ColColonCleaner*:

 

Folks

 

I have a question or two regarding the disperse evenly list.

 

Q1

We have a problem with 2 clans 'clan stacking' our server. So we want to split them as they arrive. So if 4 from clan AAA clan and 4 from clan BBB are in the server it puts (ideally) 2 AAA and 2 BBB on each side.

 

So in the disperse evenly list, would this simply achieve that_:

 

AAA

BBB

 

Does this mean that the named clans will always be spread evenly?

 

Q2

Also what happens with 4 players in the disperse evenly list? For example if:

 

P1

P2

P3

P4

 

Will P1 and P3 always play together? And P2 and P4 always together? Or is the dispersal random?

 

Thanks for explaining.

 

C

Dispersion list doesn't care about clan tags, you will most likely end up with ABA vs BAB, or AAB vs BBA.

 

All it cares about are counts. it will split everyone on the list evenly between teams, moving based on who dies first.

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

Originally Posted by usermac*:

 

After someone has help they guy above Please can somebody help me with setting this plugin up. I run a 32 player conquest large server 800 tickets and would like it to be as fair as possible.I have gone through the getting started section "../page1/index.html&p=84642&viewfull=1#post84642" and gone with those settings but changed tickets to 800 and did not do the scramble.I cant get this plugin to work also I get WARNING:BatlelogCache is not supported for BF4 YET!

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

Originally Posted by PapaCharlie9*:

 

Folks

 

I have a question or two regarding the disperse evenly list.

 

Q1

We have a problem with 2 clans 'clan stacking' our server. So we want to split them as they arrive. So if 4 from clan AAA clan and 4 from clan BBB are in the server it puts (ideally) 2 AAA and 2 BBB on each side.

 

So in the disperse evenly list, would this simply achieve that_:

 

AAA

BBB

 

Does this mean that the named clans will always be spread evenly?

If AAA or BBB are clan tags and if you have the appropriate settings for enabling dispersal lists set (e.g., Enable Disperse Evenly List), then yes, that should split players with the AAA tag evenly, and independently, split players with the BBB tag evenly.

 

Q2

Also what happens with 4 players in the disperse evenly list? For example if:

 

P1

P2

P3

P4

 

Will P1 and P3 always play together? And P2 and P4 always together? Or is the dispersal random?

 

Thanks for explaining.

 

C

Think of dispersal as having an extra tag on the players's names, like *. So if the Dispersal List has:

 

LGN

George

 

And the total player list (ignoring teams) is:

 

[LGN]PapaCharlie9

[AAA]Tom

[XYZ]George

Bill

 

dispersal marks all the players eligible for dispersal like this:

 

*[LGN]PapaCharlie9

[AAA]Tom

*[XYZ]George

Bill

 

Then it counts how many marked players are on each team. If the counts are even or within one (e.g., 3 v 2), nothing happens. If the counts differ by 2 or more and Dispersal is enabled, MB makes moves to bring the counts into balance, even if these end up making the total team counts unbalanced.

 

So for the example above, if the team distribution were:

 

Team 1:

*[LGN]PapaCharlie9

*[XYZ]George

 

Team 2:

[AAA]Tom

Bill

 

And George is killed in the line of duty, MB will move George to team 2, resulting in:

 

Team 1:

*[LGN]PapaCharlie9

 

 

Team 2:

[AAA]Tom

Bill

*[XYZ]George

 

So to answer your question, eventually, the distribution of P1 through P4 should be that there are two players Pi,Pj on team 1 and two players Pk,Pl on team 2, and which ones are distributed to which teams depends on the order in which they die, so effectively, random.

 

Make sense?

 

EDIT: While I'm at it, I might as well explain groups here too, and then point to this reply as a FAQ.

 

Groups work similarly, except that instead of *, the marker used is a specific team number: 1, 2, 3, or 4. The 3 and 4 are only applicable for SQDM.

 

Then group dispersal is a much simpler than general dispersal. All MB does is check to see if the player is currently in the team they are marked with, and if they aren't, moves them when they die. If the list has:

 

1 Bill Joe Sally

2 AAA

 

And the team distribution is:

 

Team 1:

[AAA]Frank

[AAA]Crazy

Noob

 

Team 2:

Bill

Sally

Joe

 

Eventually, the team distribution will end up being:

 

Team 1:

Noob

Bill

Sally

Joe

 

Team 2:

[AAA]Frank

[AAA]Crazy

 

Then normal balancing will move Noob to team 2. Normal balancing is done after dispersal, unless certain overriding settings, such as Enable Low Population Adjustments, are in play.

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

Originally Posted by PapaCharlie9*:

 

After someone has help they guy above Please can somebody help me with setting this plugin up. I run a 32 player conquest large server 800 tickets and would like it to be as fair as possible.I have gone through the getting started section "../page1/index.html&p=84642&viewfull=1#post84642" and gone with those settings but changed tickets to 800 and did not do the scramble.I cant get this plugin to work also I get WARNING:BatlelogCache is not supported for BF4 YET!

What do you mean exactly by, "as fair as possible"?

 

What do you mean exactly by "I cant get this plugin to work"?

 

Please provide specific details. We can't help unless we understand what the goals and problems are.

 

Everyone gets that warning about BattlelogCache, don't worry about it.

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.




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