[Bungee] PlayerBalancer (Vitamined Lobby Balancer)

NULLED [Bungee] PlayerBalancer (Vitamined Lobby Balancer) 2.1.3

No permission to download
Tested Minecraft Versions:
  • 1.7
  • 1.8
  • 1.9
  • 1.10
  • 1.11
  • 1.12
Source Code:
https://goo.gl/forms/4wyK7Vj9NIqrmtcU2

PlayerBalancer is a BungeeCord plugin for setting up a network with multiple lobbies of different types. You can customize nearly everything of this plugin. You have lots of features, including commands to move across sections, kick handler (kick2lobby), server checking, section servers, target assignation, multiple providers and RedisBungee support along other things.

Features:
  • Balancer: Balances the load of your players on your sections. When a player connects to a server in other section, the plugin may move the player to other server in that section.
  • Kick Handler: Players that get kicked from a server can get moved to other servers. You can configure it so it only works when they get kicked with a certain message.
  • Fallback Command: Essentially /hub, /lobby. This command allows players to connect to the parent of the section they are currently in, or the principal if not in a section.
  • Server Checking: The plugin makes sure the server the player is going to be connected to is online. You can also make the plugin mark servers as non accessible when they have a certain motd.
  • Fallback Command: This command allows players to connect to the parent of the section they are connected to currently. You can also pass a number to the command to get connected to a specific server.
  • Section Command: Comparable to Slash Server. This command allows players to connect to a specific section. This section can have one or more servers.
  • Section Server: Creates a fake server on BungeeCord that is used to connect to a section by just connecting to that server, it shows the sum of players of the servers in that section.
  • Spigot Addon: This allows plugins on the spigot servers to access commands from PlayerBalancer (with /spb), it also includes a PlaceholderAPI placeholder (%balancer_playercount_section%) for a total of all the players connected to servers of a section.
  • Plugin API for developers to get access to data from the plugin, both from the spigot side and from the bungeecord side. This allows the included addon to work.
  • Very configurable, take a look at the configuration, you will see there are a lot of options for you to configure and more to come.
  • Great support, it's not me who says it, it's the users. I put a lot of effort on this resource. Contact me for any question or problem as long as they are related to this resource. You can find me on discord with Jamezrin#2360
  • Well optimized and tested on many networks, you can see the usage of this plugin at the statistics page (here)
  • You can suggest me more features if they are useful and not unrelated to the main goal of this plugin.
Commands:
  • The fallback command, it moves you from your current section to a server of the parent section.
  • The section command, a command you can set to a section and when it is executed you get connected to that section.
  • (/balancer) The plugin command, which allows you to safely reload the plugin and quickly upload the configuration of the plugin to pastebin to quickly get support.
  • (/section) The section management command, which allows you to make a player connect to a section, get info about a section and their servers and a list of sections with click events for enhancing use. This is the shown info when executing /section info.

Note: The administrative commands require you to have the permission "playerbalancer.admin"

Configuration:
Code (Text):

# PlayerBalancer Configuration (https://www.spigotmc.org/resources/10788/)
# Read the comments, they are a very important part of the configuration
# To get support send me a private message with a description of the problem and the config file
# To easily paste the config file (and other relevant files) use the command /balancer paste
# If the plugin has issues loading the configuration, try putting quotes around text

general {
# IMPORTANT! Set this to true after configuring the plugin!
enabled=false

# When true, the plugin will reload when you execute /greload
auto-reload=true

# When true, the plugin will get player counts from RedisBungee
redis-bungee=false

# When true, this plugin will print less messages when loading
silent=false

# When true, spigot plugins will be able to contact with this plugin
# Do not disable if you are using the addon!
plugin-messaging=true

# Do not modify this
version="${project.version}"
}

# Effectively remove (i.e comment) a message to disable it
# Supported variables are shown in the default messages
messages {
# connecting-server="&aConnecting to a {section} server" # this message is disabled by default!
connected-server="&aConnected to {server}"
invalid-input="&cThis is an invalid input type for this command"
misc-failure="&cCould not find a server to get connected to"
player-bypass="&cYou have not been moved because you have the playerbalancer.bypass permission"
player-kicked="&cYou have been kicked from &a{from} &cand you are being moved to &a{to}, reason: &a{reason}"
same-section="&cYou are already connected to a server on this section!"
unavailable-server="&cThis command cannot be executed on this server"
unknown-section="&aCould not find a section with that name"
}

features {
balancer {
# Here you have an example of what you can do with the sections
# The plugin will print out info telling you if your config is right or not
# If a section does not have a provider it will be inherit from the parent
# The best way to understand this is to play around with it
# You can use regex to match a set of servers instead of adding each server
# You can have as many sections as you want, there is no limit here
# When connecting to a server in a section, you get redirected

# Providers you can use:
# NONE: Returns no server (no one will be able to connect to this section)
# BALANCED: Returns a server between the ones with the least players online
# LOWEST: Returns the first server found with the least players online
# RANDOM: Returns a server selected by a RNG algorithm (random)
# PROGRESSIVE: Returns the first server found that is not full
# FILLER: Returns the server with the most players online that is not full
# EXTERNAL: Returns the server determined by a provider created by other plugin

sections {
auth-lobbies {
provider=RANDOM
servers=[
"Auth1",
"Auth2",
"Auth3"
]
}

general-lobbies {
parent="auth-lobbies"
servers=[
"Lobby[1-3]"
]
}

skywars-lobbies {
parent="general-lobbies"
provider=LOWEST
servers=[
"SWLobby1",
"SWLobby2",
"SWLobby3"
]
}

skywars-games {
parent="skywars-lobbies"
provider=FILLER
servers=["SW_A[1-5]", "SW_B[1-5]"]
section-server=playskywars
section-command {
name=skywars
permission=""
aliases=[]
}
}
}

# The principal section is very important for other features
# Normally set this to the section that has your main lobbies
principal-section="general-lobbies"

# When a player is not in any section, the player will go to the principal section
# This affects both the fallback command and kick handler features
default-principal=true

# Dummy sections can have servers from other non-dummy sections
# When a player connects to a dummy section, nothing will happen
dummy-sections=[]

# Reiterative sections remember the server the player connected to previously
# The plugin will keep connecting the player to that server until a change occurs
reiterative-sections=[]

# When true, section servers will show the sum of the players on all servers on that section
# Important: This will make some plugins think that your bungeecord has more players than it really does
show-players=true
}

# Pings servers to see if they are online or not and if they are accessible
server-checker {
enabled=true

# Use either CUSTOM or GENERIC, the first one generally works the best
tactic=CUSTOM

# The attempts before giving up on getting a server for a player
attempts=5

# The interval between every round of checks (in milliseconds)
interval=10000

# The timeout of a ping, only applied to the CUSTOM tactic
timeout=7000

# When true, the plugin will print useful info when a server gets checked
debug-info=false

# When the description of a server matches these, it will be set as non accessible
marker-descs=[
"(?i).*maintenance*" # match if contains (regex)
"Game in progress", # match if exactly equal
]
}

# Connects a player to the parent of current section the player is connected to
fallback-command {
enabled=true

# Leave permission empty for no permission
command {
name=fallback
permission=""
aliases=[
lobby,
hub,
back
]
}

# Add sections here where you do not want this feature to work
excluded-sections=[]

# When true, players will not be able to get connected to sections that are parents of the principal section
restrictive=true

# You can override the behavior with rules, overriding the parent section
# This will set the section to go when you come from the section specified
rules {
section-from=section-to
}
}

# Connects a player to other section when kicked
kick-handler {
enabled=true

# When true, the reasons will work as a blacklist instead of a whitelist
# Blacklist: A player must be kicked with a reason that is NOT in the reasons
# Whitelist: A player must be kicked with a reason that is in the reasons
inverted=true

# The reasons that determine if a player is reconnected or not, supports regex
reasons=[]

# When true, players that are kicked while connecting to the proxy will be forced to reconnect to the principal section
force-principal=false

# Add sections here where you do not want this feature to work
excluded-sections=[]

# When true, players will not be able to get connected to sections that are parents of the principal section
restrictive=true

# When true, the plugin will print useful info when a player gets kicked
debug-info=false

# You can override the behavior with rules, overriding the parent section
# This will set the section to go when you come from the section specified
rules {
section-from=section-to
}
}

# Periodically adds servers that weren't there before the plugin loaded
server-refresh {
enabled=false

# The delay to the first refresh (in milliseconds)
delay=2000

# The interval between every refresh (in milliseconds)
interval=5000
}

# Forces the first server players connect (when not connected already) to be one of a specific section
# This overrides `force_default_server` from BungeeCord
force-entry-section {
enabled=false

# The section you want
section="auth-lobbies"
}
}

If you find any questions while trying to understand the config, I will gladly explain whatever you do not understand or I can even configure it to match your network.

Developer API:
This is the API at the version 2.0.1+
You can send plugin messages from the spigot server to bungeecord and this plugin will read what you send through the channel "PlayerBalancer"
You can see more information on how to use this here
To send a plugin message you can use the following code
Code (Text):
ByteArrayDataOutput out = ByteStreams.newDataOutput();
out.writeUTF("Subchannel");
out.writeUTF("Argument1");
out.writeUTF("Argument2");
out.writeUTF("Argument...");

// If you don't care about the player
// Player player = Iterables.getFirst(Bukkit.getOnlinePlayers(), null);
// Else, specify them
Player player = Bukkit.getPlayerExact("Player");
player.sendPluginMessage(this, "PlayerBalancer", out.toByteArray());
Available Subchannels

Connects a player to a server in the specified section

Arguments
String name of the section, just as defined in the config

Receiver
The player you want to connect

Sending Example
Code (Text):
out.writeUTF("Connect");
out.writeUTF("lobbies-section");

Connects a named player to a server of the specified section

Arguments
String name of the player to connect
String name of the section, just as defined in the config

Receiver
Any player

Sending Example
Code (Text):
out.writeUTF("ConnectOther");
out.writeUTF("Player");
out.writeUTF("lobbies-section");

Returns a json object of the section

Arguments
String name of the section, just as defined in the config

Receiver
Any player

Sending Example
Code (Text):
out.writeUTF("GetSectionByName");
out.writeUTF("SomeSection");
Response
Code (Text):
String json = in.readUTF();

Returns a json object of the section

Arguments
String name of the server

Receiver
Any player

Sending Example
Code (Text):
out.writeUTF("GetSectionByServer");
out.writeUTF("Server1");
Response
Code (Text):
String json = in.readUTF();

Returns a json object of the section

Arguments
String name of the player

Receiver
Any player

Sending Example
Code (Text):
out.writeUTF("GetSectionOfPlayer");
out.writeUTF("SomePlayer");
Response
Code (Text):
String json = in.readUTF();

Returns the sum of all the players online on the servers that are in the section provided

Arguments
String name of the section

Receiver
Any player

Sending Example
Code (Text):
out.writeUTF("GetSectionPlayerCount");
out.writeUTF("SomeSection");
Response
Code (Text):
int count = in.readInt();


Statistics:
This plugin queries information about your server for statistical purposes, all the data is anonymous and you can opt-out by modifying the bStats config, learn more about this here
You can take a look at the statistics for this plugin here (old metrics) or here (new metrics)


Terms of Use:
  • You can only use it in networks of your property.
  • You cannot modify the plugin without my permission.
  • You cannot redistribute the binaries publicly, this is only for your use.
  • You will not open a dispute/chargeback without contacting me or spigot first, email them at [email protected]
  • Do not request support for things unrelated to this resource.
  • Like
Reactions: Acenox
Author
Direct-Leaks.com
Downloads
70
Views
192
First release
Last update
Rating
5.00 star(s) 1 ratings

More resources from Direct-Leaks.com

Latest reviews

Update?
Top