BungeeFriendsHeyo! Based on the fact that you've clicked on this resource, I'm presuming you're interested in this plugin, and what it does. Well, read on!
The simple, all-in-one Friends plugin!
This plugin works as the all-in-one social system. It has several features that set it above the average friends plugin:
The only requirement for this plugin is a BungeeCord server, and a SQL database to store data in.
- An all-in-one friends manager.
- A blocking system.
- A comprehensive messaging system.
- Cross-Bungee messaging support.
- Fully proxy-side, with minimal configuration required.
- UUIDs are fully supported.
The commands are broken down, as follows.
/msg <PlayerName> <Message> - This is relatively self-explanatory. BungeeFriends handles all messaging on this command, with nothing handled on the Spigot/Bukkit servers.
/friends [arg1] [arg2] - this command is what you will be using to manage your friends lists. This command has several uses, and all these commands support online/offline players (provided they have logged into the server previously, while the plugin was installed).
- If you're on a different server to the player you're messaging, the message will only go through if you are friends with that player.
- If you're on the same server as the player you're messaging, but not friends with them, the message will go through (unless either you or them have blocked each other).
- If you're friends with the player you're messaging, the message will always go through.
- You cannot send messages to players who you have blocked, and vice versa.
/blocks [arg1] [arg2] - this command is where you will manage who you have blocked. This command, like the friends command, supports online/offline players, as long as they have logged in at least once before while the plugin was installed.
- /friends help - Open the help prompt on how to use the friends system.
- /friends add <Player> - add friends.
- /friends remove/delete <Player> - delete friends.
- /friends list - list your friends.
- /friends goto <Player> - go to your friend's server!
If a player is blocked, they cannot send you friend requests or /msg you (regardless of location on the network).
This plugin supports cross-Bungee communication. Many Minecraft networks will use several Bungee servers, to distribute the player load. All functionality above will work as per normal, regardless of if cross-bungee is enabled or not.
- /blocks help - Open the blocks help prompt.
- /blocks list - List all the players you've blocked.
- /blocks add <Player> - Block the player specified. If you're friends with the said player, this command automatically unfriends them.
- /blocks remove/delete/unblock <Player> - unblock anyone on your blocks list.
I have also designed this plugin so that setting up multiple Bungees requires minimal effort. If you wish, the configuration file can be copied and pasted from one server's config to another, with only the communication port changed to suit the server. The players will not receive duplicate messages under any circumstances.
Note: If you're going to use multiple Bungees, you need to have a spare port opened. Contact your server host to have this done. Also - the servers configured must be exactly the same. When locations are transferred between servers, only the server name is sent. The Bungee servers then search for a sub-server with that name to send the player to. If the servers aren't configured the same on all Bungee instances, you're either going to get errors in the console, or the player won't be moved.
Using multiple Bungees is not required - this plugin will still work fine without multiple Bungees! As such, multiple Bungees is disabled by default. If you wish to enable it, you need to do so in the configuration file - more info on that below.
If Cross-Bungee is enabled, every 5 minutes the amount of incoming and outgoing connections will be logged in the console.
The plugin has a default authentication key, to verify the communications between the other Bungee servers. Counterfeit messages are logged to the console. The authentication key needs to be the same in all Bungee servers as configured in the config, and must be at least 3 characters. This can be left as-is (the default key is over 10 characters), though it's really a good idea to change this.
This command also has a config file, that needs to be configured before this plugin will work. Each element is described below (the comments do not appear in the actual config file for some reason.):
Code (Text):# This is false by default. The plugin will not run unless this is true.
enabled: false
# This is the SQL database credentials.
sql:
username: 'username'
password: 'pw'
url: 'mysql://url:3306'
dbname: 'tablename'
# The port needs to be the other Bungee server's communication port!
# You only need this if you are using multiple Bungees.
bungeeinstances:
- localhost:25565
# This is the port the plugin will be listening to for communication.
# This is NOT your main server port, this is a different port. You need to contact your server host to have this port opened.
# You only need this if you are using multiple Bungees.
communication_port: 25565
# usingMultipleBungees must either be true or false, no quotation marks. communication_port and bungeeinstances are only applicable if usingMultipleBungees is true.
usingMultipleBungees: false
# The authentication key is only used if multiple bungees is enabled.
# Custom keys must be at least 3 characters, and need to be the same on all other Bungee instances.
authenticationkey: no
This plugin also has some nice (in my opinion, haha) chat styles. Eventually, I'll be adding the ability to customize these. Some screenshots are below.
Warning: Due to how offline-mode UUIDs are handled by Minecraft in general, switching your server between online and offline mode will result in players having duplicate profiles in the database - your offline-mode UUID is different to your online-mode UUID. If you're going to switch between the two frequently, I don't recommend using this plugin.
Any questions/errors/issues? Feel free to PM me, or Tweet me (https://twitter.com/TheYellowCreepz). This is my first BungeeCord plugin (I'm familiar with the Bukkit API and JavaFX, and am by no means new to developing in Java).
This plugin is free, and open-source! This plugin was compiled to support Java 1.7 or above. Once again, this plugin is 100% proxy-side, nothing runs on the server. Eventually, I will be developing a GUI plugin to go alongside this, but it would need to be on the individual sub-servers.

BungeeFriends 1.2
A simple, all-in-one, Proxy-Side Friends System!