Description
XenSync is a plugin which sets a players user group on a Xenforo forum system in relation to the permission group they are in on the server. It also has an optional member feature where a user can get promoted on the server for having an account on the XenForo forum, with an optional check on email verification.
Features
- Minecraft -> XenForo Group Synchronization
- Promotion on Forum Registration
- Secure In-Game Registration
Spoiler: How Registration Works
XenSync hooks in with XenAPI and takes simple information from an in-game registration to securely register a user. The way that it beats the premium plugin that does this? Well.. first of all... it's free. Secondly (and most importantly) it doesn't require a user to type their password in chat. If a user uses that same password for multiple places... then that can be detrimental if they accidentally send without a / OR if the server owners check the logs and exploit it.
How it works? After a user submits /register with their email, they get a reply that gives them all of the sensitive information directly to them and only to them. It does not get logged at all and is randomly generated. See below for the formatting:
How it works? After a user submits /register with their email, they get a reply that gives them all of the sensitive information directly to them and only to them. It does not get logged at all and is randomly generated. See below for the formatting:
Installation
To install, drag the jar file into your plugin directory.
Configuration
Once the server has started once, the plugin will have generated three files.
1. config.yml
This is the configuration file for XenSync.
Please note that it is recommended to rename the old config file and have it regenerated if you are updating from 1.0.21 or lower. Otherwise, be sure you make sure you have al the values below.
#####################################################################
# __ __ ____ #
# /\ \ /\ \ /\ _`\ #
# \ `\`\/'/' __ ___ \ \,\L\_\ __ __ ___ ___ #
# `\/ > < /'__`\ /' _ `\\/_\__ \ /\ \/\ \ /' _ `\ /'___\ #
# \/'/\`\ /\ __/ /\ \/\ \ /\ \L\ \\ \ \_\ \ /\ \/\ \ /\ \__/ #
# /\_\\ \_\\ \____\\ \_\ \_\\ `\____\\/`____ \\ \_\ \_\\ \____\ #
# \/_/ \/_/ \/____/ \/_/\/_/ \/_____/ `/___/> \\/_/\/_/ \/____/ #
# /\___/ #
# \/__/ #
#####################################################################
#####################################################################
####### FOR MORE INFORMATION ON CONFIG, CHECK THE PLUGIN PAGE: ######
######### https://www.spigotmc.org/resources/xensync.29535/ #########
#####################################################################
### XENFORO CONNECTION DETAILS ###
database-info:
xenforo-mysql-uri: localhost/database
xenforo-mysql-user: user
xenforo-mysql-pass: pass
### GENERAL XENSYNC OPTIONS ###
options:
#ENABLE DEBUG MESSAGES
debug: false
#WHAT FIELD WOULD YOU LIKE TO USE TO CHECK USERNAME
username-option:
use-username: false
#IF USING CUSTOM FIELD, SET USE-USERNAME TO FALSE
custom-field: minecraft_name
### REGISTRATION INTEGRATION ###
# Requires https://xenforo.com/community/resources/xenapi-xenforo-php-rest-api.902/
xenforo-registration:
enable: false
api-location: https://www.myxenforo.com/api.php
api-key: My.Super.Long.Secret.Key.Set.Within.The.API.File
### MEMBER PROMOTION FEATURE ###
member-feature:
enable: false
require-valid-email: true
default-group-name: default
command-to-run: "/pex user %player% group set member"
This is the configuration file for XenSync.
Please note that it is recommended to rename the old config file and have it regenerated if you are updating from 1.0.21 or lower. Otherwise, be sure you make sure you have al the values below.
Code (Text):
#####################################################################
# __ __ ____ #
# /\ \ /\ \ /\ _`\ #
# \ `\`\/'/' __ ___ \ \,\L\_\ __ __ ___ ___ #
# `\/ > < /'__`\ /' _ `\\/_\__ \ /\ \/\ \ /' _ `\ /'___\ #
# \/'/\`\ /\ __/ /\ \/\ \ /\ \L\ \\ \ \_\ \ /\ \/\ \ /\ \__/ #
# /\_\\ \_\\ \____\\ \_\ \_\\ `\____\\/`____ \\ \_\ \_\\ \____\ #
# \/_/ \/_/ \/____/ \/_/\/_/ \/_____/ `/___/> \\/_/\/_/ \/____/ #
# /\___/ #
# \/__/ #
#####################################################################
#####################################################################
####### FOR MORE INFORMATION ON CONFIG, CHECK THE PLUGIN PAGE: ######
######### https://www.spigotmc.org/resources/xensync.29535/ #########
#####################################################################
### XENFORO CONNECTION DETAILS ###
database-info:
xenforo-mysql-uri: localhost/database
xenforo-mysql-user: user
xenforo-mysql-pass: pass
### GENERAL XENSYNC OPTIONS ###
options:
#ENABLE DEBUG MESSAGES
debug: false
#WHAT FIELD WOULD YOU LIKE TO USE TO CHECK USERNAME
username-option:
use-username: false
#IF USING CUSTOM FIELD, SET USE-USERNAME TO FALSE
custom-field: minecraft_name
### REGISTRATION INTEGRATION ###
# Requires https://xenforo.com/community/resources/xenapi-xenforo-php-rest-api.902/
xenforo-registration:
enable: false
api-location: https://www.myxenforo.com/api.php
api-key: My.Super.Long.Secret.Key.Set.Within.The.API.File
### MEMBER PROMOTION FEATURE ###
member-feature:
enable: false
require-valid-email: true
default-group-name: default
command-to-run: "/pex user %player% group set member"
XENFORO CONNECTION DETAILS
GENERAL XENSYNC OPTIONS
REGISTRATION INTEGRATION
MEMBER PROMOTION FEATURE
2. groupconversions.txt
This file is for the conversion of minecraft rank titles to Xenforo forum rank titles. The file will be created blank, but should look something like this when filled in:
NOTE: The word before the colon is the name of the server rank and after the colon is the forum rank you want everyone in the server group to be a part of.
3. playerexceptions.txt
This file is just a list of players who shouldn't have their ranks synchronized with the forum. The file will be created blank, but should look something like this when filled in:
Spoiler: More Info
database-info:
xenforo-mysql-uri: localhost/database
xenforo-mysql-user: user
xenforo-mysql-pass: pass
This section of the config is for the information that will be used to connect to your Xenforo database. Below is the details of each portion:
Code (Text):
database-info:
xenforo-mysql-uri: localhost/database
xenforo-mysql-user: user
xenforo-mysql-pass: pass
- xenforo-mysql-uri
This is the hostname and database name of the Xenforo installation you are connecting to. By default port 3306 is assumed for your MySQL installation. Assuming you are connecting to a database named "xenforo" on host "mydb.supercooldomain.com" and you are using a non standard port of "3376", your connection string would be:
mydb.supercooldomain.com:3376/xenforo - xenforo-mysql-user
This is simply the username that you use to connect to the database - xenforo-mysql-pass
This is simply the password that you use to connect to the database
GENERAL XENSYNC OPTIONS
Spoiler: More Info
options:
debug: false
username-option:
use-username: false
custom-field: minecraft_name
This section of the config is the general options for XenSync. Below is the details of each portion:
Code (Text):
options:
debug: false
username-option:
use-username: false
custom-field: minecraft_name
- debug
Simply enough, this is an option to enable debug messages. Please note that at this time the debug messages aren't too useful.. but it will tell you what part of the process things are happening in. - use-username
If you would like to use a username to check for synchronization (aka if you require users to use their MC username on the forum) then you should set this to true. Otherwise set this to false and set the custom-field below. - custom-field
If you would like to use a custom-field to check from synchronization, set use-username to false and define the custom field that should be checked instead.
REGISTRATION INTEGRATION
Spoiler: More Info
xenforo-registration:
enable: false
api-location: https://www.myxenforo.com/api.php
api-key: My.Super.Long.Secret.Key.Set.Within.The.API.File
This section of the config is the options for the registration portion of XenSync. In order to use this, you will need to get the plugin
XenAPI from the Xenforo resource area. Below is the details of each portion:
Code (Text):
xenforo-registration:
enable: false
api-location: https://www.myxenforo.com/api.php
api-key: My.Super.Long.Secret.Key.Set.Within.The.API.File
- enable
Do you want to enable the registration portion of XenSync? If yes, put true. Otherwise leave it as false. - api-location
The full path to your api.php including the http or https. Please note that if you use https, you will need a valid certificate. - api-key
The api-key that you set in your api.php. Please note that you should avoid special characters in this key because it will be passed as a URL parameter.
MEMBER PROMOTION FEATURE
Spoiler: More Info
member-feature:
enable: false
require-valid-email: true
default-group-name: default
command-to-run: "/pex user %player% group set member"
This section of the config is the options for the member promotion portion of XenSync. This will allow you to run a command when a user is recognized as the group that you specify. Below is the details of each portion:
Code (Text):
member-feature:
enable: false
require-valid-email: true
default-group-name: default
command-to-run: "/pex user %player% group set member"
- enable
Do you want to enable the promotion portion of XenSync? If yes, put true. Otherwise leave it as false. - require-valid-email
Do you want to make your users have a confirmed email address in order to run the command? - default-group-name
Set this value to the name of the group that you want to run the command on. NOTE: The command you set will be run at each time the user runs "/member" as long as they are this group. - command-to-run
Set this value to the command that you would like to run each time a user runs "/member" and has the group specified above.
2. groupconversions.txt
This file is for the conversion of minecraft rank titles to Xenforo forum rank titles. The file will be created blank, but should look something like this when filled in:
Code (Text):
donator:Donator
donatorplus:DonatorPlus
subscribed:Premium
lord:Lord
mod:Moderator
donatorplus:DonatorPlus
subscribed:Premium
lord:Lord
mod:Moderator
3. playerexceptions.txt
This file is just a list of players who shouldn't have their ranks synchronized with the forum. The file will be created blank, but should look something like this when filled in:
Code (Text):
Player1
Player2
Player2
Commands
- /member
When a user runs this command and they are part of the group specified in the config, the command specified in the config - /register {email} {username} (optional)
Allow a user register on the forums from the server. If you have "use-username" enabled, then you do not need to use the {username} parameter.
This plugin requires:
This plugin optionally depends on:
Upcoming features
- Support for other forums(?)
- Suggest an Idea Here
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.8, 1.9, 1.10
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
XenSync is a free Minecraft Java mod. Compatible with Minecraft 1.8, 1.9, 1.10. Downloaded 576 times (via Spigot). Download it and open it directly in the game.