-
Notifications
You must be signed in to change notification settings - Fork 5
Home
- Download a
JPremium.jarfile. - Navigate to yours
pluginsdirectories on your BungeeCord server and all your Spigot servers. Then place theJPremium.jarfile in those directories. - Fully stop and start your all servers to allow default configurations to be generated. Your server will be probably closed automatically. Please do not pay attention to errors in the console.
- Configurations will be located at
plugins/JPremium/configuration.yml. - Open a configuration file on your BungeeCord server.
- Enter connection data with your database in the storage section and a fully random access token in the
accessTokenoption. The access token have to have 16 chars of length! - Enter limbo and main server names in the
limboServerNamesandmainServerNamesoptions. All server names, you can find in theconfig.ymlfile in the directory where you have your BungeeCord server. They are stored in a list, so they have to be between parenthesis, not apostrophes! - Open configuration files on all your Spigot servers.
- Enter the same access token, which you entered in the configuration on your BungeeCord server, in the
accessTokenoption. - Select one of your Spigot servers to be as a limbo server and set in the configuration the
captchaMapSlotoption to the slot number where you want to have captcha maps. - Set
bungeecordtotruein thespigot.ymlfiles on all your Spigot servers. - Set
ip_forwardtotruein theconfig.ymlfile on your BungeeCord server. - Start your servers again.
You always should use a firewall on your Spigot servers. It is only protection which is not bypassable: https://www.spigotmc.org/wiki/firewall-guide/
Please backup your database which you want to convert in order not to lose data! Before converting you have to install correctly the latest JPremium version on your BungeeCord server, so please firstly follow instruction on this wiki page. You have to have default tables and columns names in the database from which you convert! Please remember that converting from AuthMe works only if you have passwords hashed in SHA-256 or Bcrypt and converting from DynamicBungeeAuth works only if you have password hashed in SHA-256 or SHA-512 and you disabled the 'OfflineUUID' option.
- Download a
Converter.jarfile from this site. - Navigate to your
pluginsdirectory on your BungeeCord server. Then place theConverter.jarfile in that directory. - Fully stop and start your BungeeCord server to allow a default configuration to be generated.
- The configuration will be located at
plugins/Converter/configuration.yml. - Open the configuration file on your BungeeCord server.
- Enter
JPREMIUM,AUTHMEorDYNAMICBUNGEEAUTHinconvertFromdepending which a database you want to convert. - Enter connection data with your database, where you storage data from your the latest JPremium version, in the
newStoragesection. - Enter connection data with your database from which you want to convert data in the
jpremiumStorage,authmeStorageordynamicBungeeAuthStoragesection. If you convert a local database, please install this plugin on your BungeeCord server. - If you convert data from JPremium:
- Enter the same value (
trueorfalse) infixedUniqueIdswhich you have in your old JPremium configuration file in thefixed-unique-idoption.
- Enter the same value (
- If you convert data from DynamicBungeeAuth:
- Set
passwordHashtoSHA256orSHA512depends on which you use in DynamicBungeeAuth.
- Set
- Start your BungeeCord server and wait until converting will finish.
- After successful converting, remove the
Converter.jarfile from your BungeeCord server. - Start your BungeeCord server again.
First of all, please remember that database connection issues are never caused by JPremium. The plugin uses the official driver. Your issues probably are caused by your database or the connection between your database and your BungeeCord server. Here you have the most common solutions.
- Make sure that you entered correct data connection data with your database the sotrage section in your JPremium configuration on your BungeeCord server.
- Make sure that you entered an existing database in the
storageDatabaseoption in your JPremium configuration because JPremium does not create a database. - If your database is on a remote host, please make sure that the host, where you have your BungeeCord server, has permissions to establishes connection and executes queries with your database.
- Set
storageUseSSLtofalsein your JPremium configuration file.
JPremium has the feature which allows to players register from your website, but if you enable the feature, players can only register on website. Then there is not ability to register on your server!
- Download
JPremium.zipfile. - Open the
Websitedirectory in the zip file and uploadindex.phpandbackground.jpgfiles into your website. - Register your website on Google re-captcha site to be able to use re-captcha. You have to register re-captcha v2!
- Open the
index.phpfile on your website. - Enter connection data with your database in the storage section, re-captcha data in the Google re-captcha section.
- Enter the same value which you have in
fixedUniqueIdsin your JPremium configuration file on your BungeeCord server in the JPremium section. - Set the
registerOnWebsiteoption to 1 (registration on server and website) or 2 (registration on website only) in your JPremium configuration file on your BungeeCord server.
Since Minecraft 1.8 all player data is stored using UUIDs (a universally unique identifier), not using nicknames. It was added to premium players can change nicknames without losing data. An example UUID looks like: d2affeb6-96a8-4c71-b4d6-b79f962b6309. All servers in the online mode use online UUIDs (got from Mojang servers) and all servers in the offline mode use offline UUIDs (generated using a player nickname).
JPremium alters all player UUIDs to work correctly and to avoid UUIDs collisions. There are three modes in which JPremium assings UUIDs for players. The three modes are: FIXED, REAL, OFFLINE. Each mode assings different UUIDs and has different restrictions. Please read the below table.
| Mode | What unique ids players have? | Can cracked players with premium nicknames join to the server? | Can premium players join to the server after nicknames change? | Can players switch account types from cracked to premium and vice versa? |
|---|---|---|---|---|
| FIXED | all players > random | Yes | Yes | Yes |
| REAL | premium players > online; cracked players > offline | No | Yes | No |
| OFFLINE | all players > offline | Yes | No | Yes |
When players are already registerd in your JPremium database and you change the fixedUniqueIds option, players will not lose any data, but they will have UUID from the previous configuration. Only new players will have another UUID type.
When you install JPremium on the server where players played before installing, you have to correctly adjust the fixedUniqueIds option to represent UUIDs which players have. If you have a server in the offline mode, you probably should select OFFLINE. If you have a server in the online mode, you proabably should select REAL.
If you convert data from a AuthMe database, you can select FIXED, REAL or OFFLINE. It is not relevant becuase UUIDs are converted from the AuthMe database. It is only relevant for new players.
If you use any plugins which have a protection against UUID spoofing and you select FIXED, you have to disable the UUID spoofing protection or select REAL or OFFLINE! Please alos notice that JPremium has already a protection against UUID spoofing and that protection is a better protection then most of plugins use.
If some players cannot join to your server, those players are probably cracked players with premium nicknames. Please set registerPremiumUsers to false in your JPremium configuration file on your BungeeCord server. Now all new players have to register and login every joining. If new premium players do not want to use the /login command, they can execute the /premium command to auto login the next time.
All player commands do not require any permissions to use, but all staff commands require permissions. A permission format for staff commands is jpremium.command.<command> (for example: jpremium.command.forceregister). You can edit all command aliases by adding add new values in your JPremium configuration file on your BungeeCord server using this format <command>CommandAliases: [<alias>, <alias>, ...] (for example: registerCommandAliases: [reg]).
Player commands:
/login <password>/register <password>/unregister <password>/changepassword <current-password> <new-password>/premium <password>/cracked <password>/startsession <time>/destroysession/changemailaddress <password> <mail-address>/recoverypassword <mail-address>
Staff commands:
/forcelogin <nickname>/forceregister <nickname> <password>/forceunregister <nickname>/forcechangepassword <nickname> <password>/forcepremium <nickname>/forcecracked <nickname> <password>/forcestartsession <nickname> <time>/forcedestroysession <nickname>/forcechangemailaddress <nickname> <mail-address>/forcerecoverypassword <nickname>/forceviewuserprofile <nickname>
All JPremium events are processed asynchronously to the main server thread and all pre-events are cancellable. To obtain an instance of the App class, call JPremium.getApplication();. API works only on the BungeeCord site.
List of events (com.jakub.premium.event):
AsyncUserPreLoginEventAsyncUserPreRegisterEventAsyncUserPreUnregisterEventAsyncUserPostLoginEventAsyncUserPostRegisterEventAsyncUserPostUnregisterEvent
Methods of the com.jakub.premium.api.App class:
Set<? extends User> getCachedUserProfiles()User getCachedUserProfile(String lastNickname)User getCachedUserProfile(UUID premiumId)void forceLogin(User user) throws FailedExceptionvoid forceRegister(User user, String password) throws FailedExceptionvoid forceUnregister(User user) throws FailedExceptionvoid forceChangePassword(User user, String password) throws FailedExceptionvoid forcePremium(User user) throws FailedExceptionvoid forceCracked(User user, String password) throws FailedExceptionvoid forceStartSession(User user, int time) throws FailedExceptionvoid forceDestroySession(User user) throws FailedExceptionvoid forceChangeMailAddress(User user, String mailAddress) throws FailedExceptionvoid forceRecoveryPassword(User user) throws FailedException
Methods of the com.jakub.premium.api.User class:
UUID getUniqueId()UUID getPremiumId()String getLastNickname()String getHashedPassword()String getMailAddress()Timestamp getSessionExpire()String getLastServer()String getLastAddress()Timestamp getLastSeen()String getFirstAddress()Timestamp getFirstSeen()ProxiedPlayer getProxiedPlayer()boolean hasLastNickname()boolean hasMailAddress()boolean hasSession()boolean hasLastServer()boolean hasLastAddress()boolean hasLastSeen()boolean hasFirstAddress()boolean hasFirstSeen()boolean hasAddress(String address)boolean isPremium()boolean isRegistered()boolean isLogged()boolean isOnline()