HomeJavaModsXenSync
XenSync
[​IMG]


Now being actively maintained! | Looking for support? Discord Chat

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:

[​IMG]

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.

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
Spoiler: More Info
Code (Text):

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:
  1. 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
  2. xenforo-mysql-user
    This is simply the username that you use to connect to the database
  3. xenforo-mysql-pass
    This is simply the password that you use to connect to the database

GENERAL XENSYNC OPTIONS
Spoiler: More Info
Code (Text):

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:

  1. 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.
  2. 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.
  3. 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
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
 
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:

  1. enable
    Do you want to enable the registration portion of XenSync? If yes, put true. Otherwise leave it as false.
  2. 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.
  3. 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
Code (Text):

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:

  1. enable
    Do you want to enable the promotion portion of XenSync? If yes, put true. Otherwise leave it as false.
  2. require-valid-email
    Do you want to make your users have a confirmed email address in order to run the command?
  3. 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.
  4. 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
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:

Code (Text):
Player1
Player2

Commands
Requirements
This plugin requires:
This plugin optionally depends on:
Upcoming features
Other Links

Commands

Plugin details

Read from the plugin's own plugin.yml.

Quick facts

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.

Explore more