diff --git a/pom.xml b/pom.xml
index 42a9edc9..ceeaefca 100644
--- a/pom.xml
+++ b/pom.xml
@@ -53,6 +53,7 @@
AuthMe
fr.xephi.authme.AuthMe
Xephi, sgdc3, DNx5, timvisee, games647, ljacqu
+ Unknown
1.7
@@ -61,6 +62,20 @@
1.8.8-R0.1-SNAPSHOT
+
+
+ jenkins
+
+
+ env.BUILD_NUMBER
+
+
+
+ ${env.BUILD_NUMBER}
+
+
+
+
AuthMe-${project.version}
src/main/java
@@ -101,6 +116,39 @@
+
+
+
+
+ org.eclipse.m2e
+ lifecycle-mapping
+ 1.0.0
+
+
+
+
+
+ org.codehaus.mojo
+ buildnumber-maven-plugin
+ [1.0,)
+
+ create-timestamp
+
+
+
+
+ true
+ true
+
+
+
+
+
+
+
+
+
+
org.apache.maven.plugins
@@ -111,6 +159,23 @@
${javaVersion}
+
+ org.codehaus.mojo
+ buildnumber-maven-plugin
+ 1.4
+
+ dd-MM-yy_HH-mm
+ build.time
+
+
+
+ generate-resources
+
+ create-timestamp
+
+
+
+
diff --git a/src/main/java/fr/xephi/authme/AuthMe.java b/src/main/java/fr/xephi/authme/AuthMe.java
index 715bebc8..a236aa9f 100644
--- a/src/main/java/fr/xephi/authme/AuthMe.java
+++ b/src/main/java/fr/xephi/authme/AuthMe.java
@@ -61,15 +61,9 @@ public class AuthMe extends JavaPlugin {
* Defines the name of the plugin.
*/
private static final String PLUGIN_NAME = "AuthMeReloaded";
- /**
- * Defines the current AuthMeReloaded version name.
- */
- private static final String PLUGIN_VERSION_NAME = "5.1-SNAPSHOT";
- /**
- * Defines the current AuthMeReloaded version code.
- */
- // TODO: increment this value manually
- private static final int PLUGIN_VERSION_CODE = 120;
+
+ private static String pluginVersion = "N/D";
+ private static String pluginBuildNumber = "Unknown";
private static AuthMe plugin;
private static Server server;
@@ -130,8 +124,8 @@ public class AuthMe extends JavaPlugin {
*
* @return The version name of the currently installed AuthMeReloaded instance.
*/
- public static String getVersionName() {
- return PLUGIN_VERSION_NAME;
+ public static String getPluginVersion() {
+ return pluginVersion;
}
/**
@@ -139,8 +133,8 @@ public class AuthMe extends JavaPlugin {
*
* @return The version code of the currently installed AuthMeReloaded instance.
*/
- public static int getVersionCode() {
- return PLUGIN_VERSION_CODE;
+ public static String getPluginBuildNumber() {
+ return pluginBuildNumber;
}
/**
@@ -189,6 +183,20 @@ public class AuthMe extends JavaPlugin {
this.canConnect = canConnect;
}
+ // Get version and build number of the plugin
+ // TODO: enhance this
+ private void setupConstants() {
+ String versionRaw = this.getDescription().getVersion();
+ int index = versionRaw.lastIndexOf("-");
+ if (index != -1) {
+ pluginVersion = versionRaw.substring(0, index);
+ pluginBuildNumber = versionRaw.substring(index + 1);
+ if (pluginBuildNumber.startsWith("b")) {
+ pluginBuildNumber = pluginBuildNumber.substring(1);
+ }
+ }
+ }
+
/**
* Method called when the server enables the plugin.
*
@@ -199,6 +207,7 @@ public class AuthMe extends JavaPlugin {
// Set various instances
server = getServer();
plugin = this;
+ setupConstants();
// Set up the permissions manager
setupPermissionsManager();
diff --git a/src/main/java/fr/xephi/authme/command/executable/authme/AuthMeCommand.java b/src/main/java/fr/xephi/authme/command/executable/authme/AuthMeCommand.java
index 98ea2e9c..f00ea916 100644
--- a/src/main/java/fr/xephi/authme/command/executable/authme/AuthMeCommand.java
+++ b/src/main/java/fr/xephi/authme/command/executable/authme/AuthMeCommand.java
@@ -13,7 +13,7 @@ public class AuthMeCommand extends ExecutableCommand {
@Override
public boolean executeCommand(CommandSender sender, CommandParts commandReference, CommandParts commandArguments) {
// Show some version info
- sender.sendMessage(ChatColor.GREEN + "This server is running " + AuthMe.getPluginName() + " v" + AuthMe.getVersionName() + "! " + ChatColor.RED + "<3");
+ sender.sendMessage(ChatColor.GREEN + "This server is running " + AuthMe.getPluginName() + " v" + AuthMe.getPluginVersion() + " b" + AuthMe.getPluginBuildNumber()+ "! " + ChatColor.RED + "<3");
sender.sendMessage(ChatColor.YELLOW + "Use the command " + ChatColor.GOLD + "/" + commandReference.get(0) + " help" + ChatColor.YELLOW + " to view help.");
sender.sendMessage(ChatColor.YELLOW + "Use the command " + ChatColor.GOLD + "/" + commandReference.get(0) + " about" + ChatColor.YELLOW + " to view about.");
return true;
diff --git a/src/main/java/fr/xephi/authme/command/executable/authme/VersionCommand.java b/src/main/java/fr/xephi/authme/command/executable/authme/VersionCommand.java
index a07a0f88..fc92ac8f 100644
--- a/src/main/java/fr/xephi/authme/command/executable/authme/VersionCommand.java
+++ b/src/main/java/fr/xephi/authme/command/executable/authme/VersionCommand.java
@@ -3,6 +3,8 @@ package fr.xephi.authme.command.executable.authme;
import fr.xephi.authme.AuthMe;
import fr.xephi.authme.command.CommandParts;
import fr.xephi.authme.command.ExecutableCommand;
+import fr.xephi.authme.settings.Settings;
+
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
@@ -24,8 +26,8 @@ public class VersionCommand extends ExecutableCommand {
@Override
public boolean executeCommand(CommandSender sender, CommandParts commandReference, CommandParts commandArguments) {
// Show some version info
- sender.sendMessage(ChatColor.GOLD + "==========[ " + AuthMe.getPluginName().toUpperCase() + " ABOUT ]==========");
- sender.sendMessage(ChatColor.GOLD + "Version: " + ChatColor.WHITE + AuthMe.getPluginName() + " v" + AuthMe.getVersionName() + ChatColor.GRAY + " (code: " + AuthMe.getVersionCode() + ")");
+ sender.sendMessage(ChatColor.GOLD + "==========[ " + Settings.helpHeader.toUpperCase() + " ABOUT ]==========");
+ sender.sendMessage(ChatColor.GOLD + "Version: " + ChatColor.WHITE + AuthMe.getPluginName() + " v" + AuthMe.getPluginVersion() + ChatColor.GRAY + " (build: " + AuthMe.getPluginBuildNumber() + ")");
sender.sendMessage(ChatColor.GOLD + "Developers:");
printDeveloper(sender, "Xephi", "xephi59", "Lead Developer");
printDeveloper(sender, "DNx5", "DNx5", "Developer");
diff --git a/src/main/java/fr/xephi/authme/command/help/HelpProvider.java b/src/main/java/fr/xephi/authme/command/help/HelpProvider.java
index b53bba6e..03dab7b4 100644
--- a/src/main/java/fr/xephi/authme/command/help/HelpProvider.java
+++ b/src/main/java/fr/xephi/authme/command/help/HelpProvider.java
@@ -4,6 +4,8 @@ import fr.xephi.authme.AuthMe;
import fr.xephi.authme.command.CommandDescription;
import fr.xephi.authme.command.CommandParts;
import fr.xephi.authme.command.FoundCommandResult;
+import fr.xephi.authme.settings.Settings;
+
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
@@ -99,7 +101,7 @@ public class HelpProvider {
}
// Print the help header
- sender.sendMessage(ChatColor.GOLD + "==========[ " + AuthMe.getPluginName().toUpperCase() + " HELP ]==========");
+ sender.sendMessage(ChatColor.GOLD + "==========[ " + Settings.helpHeader.toUpperCase() + " HELP ]==========");
// Print the command help information
if (showCommand)
diff --git a/src/main/java/fr/xephi/authme/converter/vAuthFileReader.java b/src/main/java/fr/xephi/authme/converter/vAuthFileReader.java
index a61d93e3..bca9af2c 100644
--- a/src/main/java/fr/xephi/authme/converter/vAuthFileReader.java
+++ b/src/main/java/fr/xephi/authme/converter/vAuthFileReader.java
@@ -42,16 +42,16 @@ public class vAuthFileReader {
String name = line.split(": ")[0];
String password = line.split(": ")[1];
PlayerAuth auth;
- if (isUUIDinstance(password)) {
- String playerName;
+ if (isUuidInstance(password)) {
+ String pname;
try {
- playerName = Bukkit.getOfflinePlayer(UUID.fromString(name)).getName();
+ pname = Bukkit.getOfflinePlayer(UUID.fromString(name)).getName();
} catch (Exception | NoSuchMethodError e) {
- playerName = getName(UUID.fromString(name));
+ pname = getName(UUID.fromString(name));
}
- if (playerName == null)
+ if (pname == null)
continue;
- auth = new PlayerAuth(playerName.toLowerCase(), password, "127.0.0.1", System.currentTimeMillis(), "your@email.com", playerName);
+ auth = new PlayerAuth(pname.toLowerCase(), password, "127.0.0.1", System.currentTimeMillis(), "your@email.com", pname);
} else {
auth = new PlayerAuth(name.toLowerCase(), password, "127.0.0.1", System.currentTimeMillis(), "your@email.com", name);
}
@@ -64,17 +64,8 @@ public class vAuthFileReader {
}
- /**
- * Method isUUIDinstance.
- *
- * @param s String
- *
- * @return boolean
- */
- private boolean isUUIDinstance(String s) {
- if (String.valueOf(s.charAt(8)).equalsIgnoreCase("-"))
- return true;
- return true;
+ private static boolean isUuidInstance(String s) {
+ return s.length() > 8 && s.charAt(8) == '-';
}
/**
diff --git a/src/main/java/fr/xephi/authme/settings/Settings.java b/src/main/java/fr/xephi/authme/settings/Settings.java
index 55c24cf9..7a209680 100644
--- a/src/main/java/fr/xephi/authme/settings/Settings.java
+++ b/src/main/java/fr/xephi/authme/settings/Settings.java
@@ -69,7 +69,7 @@ public final class Settings extends YamlConfiguration {
broadcastWelcomeMessage, forceRegKick, forceRegLogin,
checkVeryGames, delayJoinLeaveMessages, noTeleport, applyBlindEffect,
customAttributes, generateImage, isRemoveSpeedEnabled, isMySQLWebsite;
- public static String getNickRegex, getUnloggedinGroup, getMySQLHost,
+ public static String helpHeader, getNickRegex, getUnloggedinGroup, getMySQLHost,
getMySQLPort, getMySQLUsername, getMySQLPassword, getMySQLDatabase,
getMySQLTablename, getMySQLColumnName, getMySQLColumnPassword,
getMySQLColumnIp, getMySQLColumnLastLogin, getMySQLColumnSalt,
@@ -129,6 +129,7 @@ public final class Settings extends YamlConfiguration {
public static void loadVariables() {
+ helpHeader = configFile.getString("settings.helpHeader", "AuthMeReloaded");
messagesLanguage = checkLang(configFile.getString("settings.messagesLanguage", "en").toLowerCase());
isPermissionCheckEnabled = configFile.getBoolean("permission.EnablePermissionCheck", false);
isForcedRegistrationEnabled = configFile.getBoolean("settings.registration.force", true);
@@ -551,6 +552,10 @@ public final class Settings extends YamlConfiguration {
set("Protection.countriesBlacklist", countriesBlacklist);
changes = true;
}
+ if (!contains("settings.helpHeader")) {
+ set("settings.helpHeader", "AuthMeReloaded");
+ changes = true;
+ }
if (!contains("settings.broadcastWelcomeMessage")) {
set("settings.broadcastWelcomeMessage", false);
changes = true;
diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml
index cbf62dcb..5abd17eb 100644
--- a/src/main/resources/config.yml
+++ b/src/main/resources/config.yml
@@ -45,6 +45,8 @@ DataSource:
# Enable this when you allow registration through a website
mySQLWebsite: false
settings:
+ # The name shown in the help messages.
+ helpHeader: AuthMeReloaded
sessions:
# Do you want to enable the session feature?
# If enabled, when a player authenticates successfully,
diff --git a/src/main/resources/messages/messages_ru.yml b/src/main/resources/messages/messages_ru.yml
index ddb84cdb..da68ae19 100644
--- a/src/main/resources/messages/messages_ru.yml
+++ b/src/main/resources/messages/messages_ru.yml
@@ -1,50 +1,50 @@
unknown_user: '&fПользователь не найден в Базе Данных'
unsafe_spawn: '&eВаше расположение перед выходом было опасным - вы перенесены на спавн'
-not_logged_in: '&cВы еще не вошли!'
-reg_voluntarily: '&aЧтобы зарегистрироваться введите: &5/reg ПАРОЛЬ ПОВТОР_ПАРОЛЯ'
+not_logged_in: '&c&lВы еще не вошли!'
+reg_voluntarily: '&aЧтобы зарегистрироваться введите: &e&l/reg ПАРОЛЬ ПОВТОР_ПАРОЛЯ'
usage_log: '&eСинтаксис: &d/l ПАРОЛЬ &eили &d/login ПАРОЛЬ'
-wrong_pwd: '&4Неправильный пароль!'
+wrong_pwd: '&c&lНеправильный пароль!'
unregistered: '&6Вы успешно удалили свой аккаунт!'
-reg_disabled: '&4Регистрация отключена'
+reg_disabled: '&c&lРегистрация отключена'
valid_session: '&aСессия открыта'
-login: '&2Вы успешно вошли!'
+login: '&a&lВы успешно вошли!'
vb_nonActiv: '&6Ваш аккаунт еще не активирован! Проверьте вашу почту!'
-user_regged: '&4Такой игрок уже зарегистрирован'
-usage_reg: '&4Использование: &5/reg ПАРОЛЬ ПОВТОР_ПАРОЛЯ'
-max_reg: '&4Вы превысили макс количество регистраций на ваш IP'
-no_perm: '&4Недостаточно прав'
-error: '&4Произошла ошибка. Свяжитесь с администратором'
-login_msg: '&4Авторизация: &5/l ПАРОЛЬ'
-reg_msg: '&4Регистрация: &5/reg ПАРОЛЬ ПОВТОР_ПАРОЛЯ'
-password_error_nick: '&fВы не можете использовать ваш ник в роли пароля'
-password_error_unsafe: '&fВы не можете использовать небезопасный пароль'
-reg_email_msg: '&4Регистрация: &5/reg EMAIL ПОВТОР_EMAIL'
-usage_unreg: '&4Использование: &5/unregister ПАРОЛЬ'
+user_regged: '&c&lТакой игрок уже зарегистрирован'
+usage_reg: '&c&lИспользование: &e&l/reg ПАРОЛЬ ПОВТОР_ПАРОЛЯ'
+max_reg: '&c&lВы превысили макс количество регистраций на ваш IP'
+no_perm: '&c&lНедостаточно прав'
+error: '&c&lПроизошла ошибка. Свяжитесь с администратором'
+login_msg: '&a&lАвторизация: &e&l/l ПАРОЛЬ'
+reg_msg: '&a&lРегистрация: &e&l/reg ПАРОЛЬ ПОВТОР_ПАРОЛЯ'
+password_error_nick: '&c&lВы не можете использовать ваш ник в роли пароля'
+password_error_unsafe: '&c&lВы не можете использовать небезопасный пароль'
+reg_email_msg: '&c&lРегистрация: &e&l/reg EMAIL ПОВТОР_EMAIL'
+usage_unreg: '&c&lИспользование: &e&l/unregister ПАРОЛЬ'
pwd_changed: '&2Пароль изменен!'
-user_unknown: '&4Такой игрок не зарегистрирован'
-password_error: '&4Пароль не совпадает'
-invalid_session: '&4Сессия некорректна. Дождитесь, пока она закончится'
-reg_only: '&4Только для зарегистрированных! Посетите http://сайт_сервера.com/register/ для регистрации'
-logged_in: '&4Вы уже авторизированы!'
+user_unknown: '&c&lТакой игрок не зарегистрирован'
+password_error: '&c&lПароль не совпадает'
+invalid_session: '&c&lСессия некорректна. Дождитесь, пока она закончится'
+reg_only: '&c&lТолько для зарегистрированных! Посетите http://сайт_сервера.com/register/ для регистрации'
+logged_in: '&c&lВы уже авторизированы!'
logout: '&2Вы успешно вышли'
-same_nick: '&4Такой игрок уже играет на сервере'
-registered: '&2Успешная регистрация!'
-pass_len: '&4Твой пароль либо слишком длинный, либо слишком короткий'
+same_nick: '&c&lТакой игрок уже играет на сервере'
+registered: '&a&lУспешная регистрация!'
+pass_len: '&c&lТвой пароль либо слишком длинный, либо слишком короткий'
reload: '&6Конфигурация и база данных перезагружены'
-timeout: '&4Время для авторизации истекло'
-usage_changepassword: '&4Использование: &5/changepassword СТАРЫЙ_ПАРОЛЬ НОВЫЙ_ПАРОЛЬ'
-name_len: '&4Ваш логин слишком длинный или слишком короткий'
-regex: '&4Ваш логин содержит запрещенные символы. Разрешенные символы: REG_EX'
-add_email: '&4Добавьте свой email: &5/email add ВАШ_EMAIL ВАШ_EMAIL'
-recovery_email: '&4Забыли пароль? Используйте &5/email recovery ВАШ_EMAIL'
-usage_captcha: '&4Вы должны ввести код, используйте: &5/captcha '
-wrong_captcha: '&4Неверный код, используйте: &5/captcha THE_CAPTCHA'
+timeout: '&c&lВремя для авторизации истекло'
+usage_changepassword: '&c&lИспользование: &e&l/changepassword СТАРЫЙ_ПАРОЛЬ НОВЫЙ_ПАРОЛЬ'
+name_len: '&c&lВаш ник слишком длинный или слишком короткий'
+regex: '&c&lВаш логин содержит запрещенные символы. Разрешенные символы: REG_EX'
+add_email: '&c&lДобавьте свой email: &e&l/email add ВАШ_EMAIL ВАШ_EMAIL'
+recovery_email: '&c&lЗабыли пароль? Используйте &e&l/email recovery ВАШ_EMAIL'
+usage_captcha: '&c&lВы должны ввести код, используйте: &e&l/captcha '
+wrong_captcha: '&c&lНеверный код, используйте: &e&l/captcha THE_CAPTCHA'
valid_captcha: '&2Вы успешно ввели код!'
kick_forvip: '&6VIP игрок зашел на переполненный сервер!'
-kick_fullserver: '&4Сервер переполнен!'
-usage_email_add: '&4Использование: &5/email add ВАШ_EMAIL ПОВТОР_EMAIL'
-usage_email_change: '&4Использование: &5/email change СТАРЫЙ_EMAIL НОВЫЙ_EMAIL'
-usage_email_recovery: '&4Использование: /email recovery EMAIL'
+kick_fullserver: '&c&lСервер переполнен!'
+usage_email_add: '&c&lИспользование: &e&l/email add ВАШ_EMAIL ПОВТОР_EMAIL'
+usage_email_change: '&c&lИспользование: &e&l/email change СТАРЫЙ_EMAIL НОВЫЙ_EMAIL'
+usage_email_recovery: '&c&lИспользование: /email recovery EMAIL'
new_email_invalid: '[AuthMe] Недействительный новый email!'
old_email_invalid: '[AuthMe] Недействительный старый email!'
email_invalid: '[AuthMe] Недействительный email'
@@ -53,5 +53,5 @@ email_confirm: '[AuthMe] Подтвердите ваш Email!'
email_changed: '[AuthMe] Email изменен!'
email_send: '[AuthMe] Письмо с инструкциями для восстановления было отправлено на ваш Email!'
country_banned: 'Вход с IP-адресов вашей страны воспрещен на этом сервере'
-antibot_auto_enabled: '[AuthMe] AntiBot-режим автоматически включен из-за большого количества входов!'
-antibot_auto_disabled: '[AuthMe] AntiBot-режим автоматичски отключен после %m мин. Надеюсь атака закончилась'
+antibot_auto_enabled: '&a[AuthMe] AntiBot-режим автоматически включен из-за большого количества входов!'
+antibot_auto_disabled: '&a[AuthMe] AntiBot-режим автоматичски отключен после %m мин. Надеюсь атака закончилась'
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index 50d9ff38..d037f06f 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -3,7 +3,7 @@ authors: [${pluginAuthors}]
website: ${project.url}
description: ${project.description}
main: ${mainClass}
-version: ${project.version}-b${env.BUILD_NUMBER}
+version: ${project.version}-b${buildNumber}
softdepend:
- Vault
- PermissionsBukkit