ProfileViewer
ProfileViewer is a plugin that integrates with your Discord server, allowing your users to view their in-game statistics in a nice image. With ProfileViewer, users can see in-game stats (level, exp, kills, deaths, balance, etc.)
ProfileViewer also encourages interaction and community building within your Discord server. Users can compare their stats with other members, participate in leaderboards and tournaments, and even create custom profiles to showcase their achievements and accomplishments. Whether you're looking to stay up-to-date on your own progress or connect with other players in new and meaningful ways, ProfileViewer has something for everyone.
Features
- Slash Commands support
- Support for Spigot, Velocity, and BungeeCord servers
- Customizable Discord command
- Use with your own Discord bot
- Customizable background images
- Support for custom skins
- Compatibility with SkinsRestorer, JPremium, and PlaceholderAPI
- Works with both online and offline players
- Support for gradients in text background and custom text color
- No lag, as the rendering is done externally
- Premium support
- And more!
Installation process
Spicord
Download: https://www.spigotmc.org/resources/spicord.64918/
Used for Discord integration.
PlaceholderAPI
Download: https://www.spigotmc.org/resources/placeholderapi.6245/
Used for setting the required placeholders in the player profile.
Vault
Download: https://www.spigotmc.org/resources/vault.34315/
Used for checking player permissions.
Download: https://www.spigotmc.org/resources/spicord.64918/
Used for Discord integration.
PlaceholderAPI
Download: https://www.spigotmc.org/resources/placeholderapi.6245/
Used for setting the required placeholders in the player profile.
Vault
Download: https://www.spigotmc.org/resources/vault.34315/
Used for checking player permissions.
Installation
ProfileViewer is compatible with both Velocity/BungeeCord networks and single Spigot servers. In order to use the plugin, you will need to have Spicord installed on your server(s).
Installation on single servers.
- Download the ProfileViewer.jar file and place it in the plugins folder of your Spigot server.
- Open the config.toml file for Spicord and navigate to the "addons" section.
- Add the string "profile" to the list of addons, note that all the values in the list are comma-separated.
- Save the config.toml file and restart your Spigot server.
- The plugin is now ready to use! You can customize it by referring to the "Configuration" section of the plugin's documentation.
Installation on Velocity / BungeeCord (MySQL required)
Part 1: Instructions for Velocity/BungeeCord server
- Install and configure Spicord on your Velocity/BungeeCord server.
- Drop ProfileViewer.jar file into the plugins folder of your Velocity/BungeeCord server.
- Start the server. A file called "remote.yml" will be created inside the plugins/ProfileViewer folder.
- Ignore the error in the console that says it failed to connect to the database.
- Open the "remote.yml" file and set your MySQL database credentials.
- Run the command "/profileviewer-reload" or restart the server to reconnect to the database.
- Open the configuration file for ProfileViewer on your Velocity/BungeeCord server (plugins/ProfileViewer/config.yml).
- In the "options" section for each template, add a new option called "server" and set the name of the server you want to collect data from. You can also edit the fields and placeholders of the templates here.
- (For Velocity only!) Download the MySQL-Velocity_1.0.jar file and place it in the plugins folder of your Velocity server.
- Drop the ProfileViewer.jar file into the plugins folder of each of your Spigot servers.
- Note: Spicord is not required, if Spicord is present at the moment of installation it will prevent the plugin from creating the "remote.yml" file. In that case, you can copy this file from your Proxy server.
- Note: ProfileViewer will use the configuration set on the Velocity/BungeeCord server, so any changes made to the config in the Spigot server will have no effect.
- Note: PlaceholderAPI must be installed for ProfileViewer to work properly.
- Start the Spigot server and wait for the "remote.yml" file to be created. Configure it as following:
- Set the MySQL database credentials.
- Set the value for the "server-name" option, and make sure it matches the name this server has in the Velocity/BungeeCord configuration file.
Example configuration with the "server" option:
YAML:
templates:
exampleTemplate:
permission: "op"
render: true
options:
server: "survival"
template: "head-vi-v1"
image: "sunset"
hideEmpty: "true"
...
--
Configuration
Code:
# ProfileViewer configuration
#
# You can reload this file with the /profileviewer-reload command!
#
# Options descriptions:
#
# "permission"
# This option specifies which permission the player needs in order to use this template.
# It is recommended to use "profileviewer.template." as a prefix for your permission.
# Don't forget to add the permission you create to the player/group by using an
# permission management plugin (eg. LuckPerms).
# Special values are:
# "none"/"default"
# This allows any player to use the template.
# "op"
# This allows any OP player to use the template.
# You should not use the "default" permission on the template of the top, as EVERY
# user has the "default" permission and this will invalidate all the other next templates
# because permissions are check from the top of the list to the end of the list,
# and the plugin stops looking for a match when the requested permission is available
# for the user. You can "fix" this by using "default" at the END of the list.
#
#
# "render"
# This option specifies if this template should be rendered to an image.
# If set to "true", then the plugin will send a request to the rendering server for creating
# an image with the provided template data.
# If set to "false", then this will create a basic discord embed-message.
# If this option is not specified then it will fallback to "true".
#
#
# "fields"
# Here you need to specify the data that will be present in the final image or embed message.
# The format is as follows:
# - "Property Name": "Value with placeholders support"
# You can mix text with placeholders or use multiple placeholders in the value part.
# Take a look at the PlaceholderAPI wiki to see all the available placeholders
# https://github.com/PlaceholderAPI/PlaceholderAPI/wiki/Placeholders
#
#
# --------------------------------------------------------------------------------------------------
# Information regarding other options like "prefix", "suffix", "hideEmpty"
# is available on the mc-market post.
# --------------------------------------------------------------------------------------------------
# Change the discord command used to see profiles.
# This requires a full server restart in order to be applied.
discord-command: "profile"
# Optional aliases for the main command,
# you can delete this section if you
# don't want to use aliases.
discord-command-aliases:
- "profile-alias1"
- "profile-alias2"
templates:
op:
permission: "op"
render: true
options:
template: "head-vi-v1"
image: "sunset"
hideEmpty: "true"
fields:
- "Name": "%player_name%"
- "Ping": "%player_ping%"
- "Balance": "$ %vault_eco_balance_formatted%"
- "Rank": "%luckperms_primary_group_name%"
admin:
permission: "profileviewer.template.admin"
render: true
options:
template: "head-vi-v1"
image: "lake"
hideEmpty: "true"
prefix: "[ADMIN] "
fields:
- "Name": "%player_name%"
- "Ping": "%player_ping%"
- "Balance": "$ %vault_eco_balance_formatted%"
- "Blocks broken": "%ezblocks_broken%"
default:
permission: "default"
render: true
options:
template: "head-vi-v2"
image: "lake"
hideEmpty: "true"
fields:
- "Name": "%player_name%"
- "Ping": "%player_ping%"
- "Balance": "$ %vault_eco_balance_formatted%"
- "Rank": "%luckperms_primary_group_name%"
- "Kills": "%killstats_kills%"
- "Deaths": "%killstats_deaths%"
- "KDR": "%killstats_kdr%"
- "Blocks broken": "%ezblocks_broken%"
- "Prestige": "%ezprestige_prestige%"
# End of file
- head-vi-v1
- head-vi-v2
- body-vi
(Template suggestions are open, you can give ideas for new templates and I will make them - for free)
The "image" option value is a reference to the background image to use, currently public available ones are:
- lake
- sunset
Other options:
- "hideEmpty", if set to "true", the rendered image will not contain fields that has an empty value.
- "prefix" and "suffix", it adds either a prefix or a suffix to the player name on the rendered image.
Commands
Minecraft command: /profileviewer-reload
Required permission: profileviewer.reload
Discord command: /profile <PlayerName>
Discord Server: https://discord.gg/DZcUGYFHV2