From a55e99a2c5e0957894e2bb6617e5dd996a91885d Mon Sep 17 00:00:00 2001 From: Xephi Date: Wed, 23 Jul 2014 20:20:39 +0200 Subject: [PATCH] Update messages + Fix MaxJoin/LoginPerIP --- pom.xml | 2 +- src/main/java/fr/xephi/authme/AuthMe.java | 12 +- .../authme/listener/AuthMePlayerListener.java | 6 + .../authme/security/crypts/ROYALAUTH.java | 5 +- .../fr/xephi/authme/settings/Settings.java | 2 +- src/main/resources/messages_en.yml | 49 ++++---- src/main/resources/messages_gl.yml | 59 +++++++++ src/main/resources/messages_ko.yml | 103 ++++++++-------- src/main/resources/messages_zhhk.yml | 114 +++++++++--------- 9 files changed, 214 insertions(+), 138 deletions(-) create mode 100644 src/main/resources/messages_gl.yml diff --git a/pom.xml b/pom.xml index 731596d8..c0104de8 100644 --- a/pom.xml +++ b/pom.xml @@ -29,7 +29,7 @@ org.bukkit craftbukkit - 1.7.9-R0.2 + 1.7.10-R0.1-SNAPSHOT net.milkbowl.vault diff --git a/src/main/java/fr/xephi/authme/AuthMe.java b/src/main/java/fr/xephi/authme/AuthMe.java index 8c7cfc86..010eb4b4 100644 --- a/src/main/java/fr/xephi/authme/AuthMe.java +++ b/src/main/java/fr/xephi/authme/AuthMe.java @@ -737,7 +737,7 @@ public class AuthMe extends JavaPlugin { } private Location getAuthMeSpawn(Player player) { - if ((!database.isAuthAvailable(player.getName().toLowerCase()) || !player.hasPlayedBefore()) && Spawn.getInstance().getFirstSpawn() != null) + if ((!database.isAuthAvailable(player.getName().toLowerCase()) || !player.hasPlayedBefore()) && (Spawn.getInstance().getFirstSpawn() != null)) return Spawn.getInstance().getFirstSpawn(); if (Spawn.getInstance().getSpawn() != null) return Spawn.getInstance().getSpawn(); @@ -848,18 +848,24 @@ public class AuthMe extends JavaPlugin { } public boolean isLoggedIp(String name, String ip) { + int count = 0; for (Player player : this.getServer().getOnlinePlayers()) { if(ip.equalsIgnoreCase(getIP(player)) && database.isLogged(player.getName().toLowerCase()) && !player.getName().equalsIgnoreCase(name)) - return true; + count++; } + if (count >= Settings.getMaxLoginPerIp) + return true; return false; } public boolean hasJoinedIp(String name, String ip) { + int count = 0; for (Player player : this.getServer().getOnlinePlayers()) { if(ip.equalsIgnoreCase(getIP(player)) && !player.getName().equalsIgnoreCase(name)) - return true; + count++; } + if (count >= Settings.getMaxJoinPerIp) + return true; return false; } diff --git a/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java b/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java index a477a2f3..5a6ee3bb 100644 --- a/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java +++ b/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java @@ -729,6 +729,12 @@ public class AuthMePlayerListener implements Listener { player.teleport(spawnLoc); return; } + Block c = player.getLocation().add(0D, 1D, 0D).getBlock(); + if (c.getType() == Material.PORTAL || c.getType() == Material.ENDER_PORTAL || c.getType() == Material.LAVA || c.getType() == Material.STATIONARY_LAVA) { + m._(player, "unsafe_spawn"); + player.teleport(spawnLoc); + return; + } } @EventHandler(priority = EventPriority.MONITOR) diff --git a/src/main/java/fr/xephi/authme/security/crypts/ROYALAUTH.java b/src/main/java/fr/xephi/authme/security/crypts/ROYALAUTH.java index 368514bb..4f75e1a5 100644 --- a/src/main/java/fr/xephi/authme/security/crypts/ROYALAUTH.java +++ b/src/main/java/fr/xephi/authme/security/crypts/ROYALAUTH.java @@ -7,10 +7,9 @@ public class ROYALAUTH implements EncryptionMethod { @Override public String getHash(String password, String salt, String name) throws NoSuchAlgorithmException { - String data = ""; for (int i = 0; i < 25; i++) - data = hash(data, salt); - return data; + password = hash(password, salt); + return password; } public String hash(String password, String salt) throws NoSuchAlgorithmException { diff --git a/src/main/java/fr/xephi/authme/settings/Settings.java b/src/main/java/fr/xephi/authme/settings/Settings.java index f79c19c9..92d35cab 100644 --- a/src/main/java/fr/xephi/authme/settings/Settings.java +++ b/src/main/java/fr/xephi/authme/settings/Settings.java @@ -726,6 +726,6 @@ public static void reloadConfigOptions(YamlConfiguration newConfig) { } public enum messagesLang { - en, de, br, cz, pl, fr, uk, ru, hu, sk, es, fi, zhtw, zhhk, zhcn, lt, it, ko, pt, nl + en, de, br, cz, pl, fr, uk, ru, hu, sk, es, fi, zhtw, zhhk, zhcn, lt, it, ko, pt, nl, gl } } diff --git a/src/main/resources/messages_en.yml b/src/main/resources/messages_en.yml index 03003578..c0dd20e8 100644 --- a/src/main/resources/messages_en.yml +++ b/src/main/resources/messages_en.yml @@ -1,56 +1,57 @@ unknown_user: '&fUser is not in database' -unsafe_spawn: '&fYour Quit location was unsafe, teleporting you to World Spawn' +unsafe_spawn: '&fYour quit location was unsafe, teleporting you to world spawn' not_logged_in: '&cNot logged in!' -reg_voluntarily: '&fYou can register your nickname with the server with the command "/register password ConfirmPassword"' +reg_voluntarily: '&fYou can register your nickname with the command "/register password ConfirmPassword"' usage_log: '&cUsage: /login password' wrong_pwd: '&cWrong password' unregistered: '&cSuccessfully unregistered!' reg_disabled: '&cRegistration is disabled' valid_session: '&cSession login' login: '&cSuccessful login!' -vb_nonActiv: '&fYour Account isent Activated yet check your Emails!' +vb_nonActiv: '&fYour account isn''t activated yet, check your emails!' user_regged: '&cUsername already registered' usage_reg: '&cUsage: /register password ConfirmPassword' -max_reg: '&fYou have Exeded the max number of Registration for your Account' +max_reg: '&fYou have exceeded the max number of registrations for your account' no_perm: '&cNo Permission' -error: '&fAn error ocurred; Please contact the admin' +error: '&fAn error occurred; Please contact the admin' login_msg: '&cPlease login with "/login password"' reg_msg: '&cPlease register with "/register password ConfirmPassword"' reg_email_msg: '&cPlease register with "/register "' usage_unreg: '&cUsage: /unregister password' pwd_changed: '&cPassword changed!' user_unknown: '&cUsername not registered' -password_error: '&fPassword doesnt match' -unvalid_session: '&fSession Dataes doesnt corrispond Plaese wait the end of session' +password_error: '&fPassword doesn''t match' +invalid_session: '&fSession dates do not correspond. Please wait until the end of the session' reg_only: '&fRegistered players only! Please visit http://example.com to register' logged_in: '&cAlready logged in!' -logout: '&cSuccessful logout' +logout: '&cSuccessfully logged out' same_nick: '&fSame nick is already playing' registered: '&cSuccessfully registered!' -pass_len: '&fYour password dind''t reach the minimum length or exeded the max length' +pass_len: '&fYour password didn''t reach the minimum length or exceeded the max length' reload: '&fConfiguration and database has been reloaded' -timeout: '&fLogin Timeout' +timeout: '&fLogin timeout, please try again' usage_changepassword: '&fUsage: /changepassword oldPassword newPassword' -name_len: '&cYour nickname is too Short or too long' +name_len: '&cYour nickname is either too short or too long' regex: '&cYour nickname contains illegal characters. Allowed chars: REG_EX' add_email: '&cPlease add your email with : /email add yourEmail confirmEmail' -bad_database_email: '[AuthMe] This /email command only available with MySQL and SQLite, contact an Admin' +bad_database_email: '[AuthMe] This /email command only available with MySQL and SQLite, contact an admin' recovery_email: '&cForgot your password? Please use /email recovery ' usage_captcha: '&cYou need to type a captcha, please type: /captcha ' wrong_captcha: '&cWrong Captcha, please use : /captcha THE_CAPTCHA' -valid_captcha: '&cYour captcha is valid !' -kick_forvip: '&cA VIP Player join the full server!' -kick_fullserver: '&cThe server is actually full, Sorry!' -usage_email_add: '&fUsage: /email add ' -usage_email_change: '&fUsage: /email change oldEmail> ' +valid_captcha: '&cYour captcha is valid!' +kick_forvip: '&cA VIP Players are only able to join the server when full!' +kick_fullserver: '&cThe server is full, try again later' +usage_email_add: '&fUsage: /email add ' +usage_email_change: '&fUsage: /email change ' usage_email_recovery: '&fUsage: /email recovery ' new_email_invalid: '[AuthMe] New email invalid!' old_email_invalid: '[AuthMe] Old email invalid!' -email_invalid: '[AuthMe] Invalid Email' -email_added: '[AuthMe] Email Added !' -email_confirm: '[AuthMe] Confirm your Email !' -email_changed: '[AuthMe] Email Change !' -email_send: '[AuthMe] Recovery Email Send !' +email_invalid: '[AuthMe] Invalid email' +email_added: '[AuthMe] Email Added!' +email_confirm: '[AuthMe] Confirm your email!' +email_changed: '[AuthMe] Email changed!' +email_send: '[AuthMe] Recovery email sent!' +email_exists: '[AuthMe] An email already exists on your account. You can change it using the command below' country_banned: 'Your country is banned from this server' -antibot_auto_enabled: '[AuthMe] AntiBotMod automatically enabled due to massive connections!' -antibot_auto_disabled: '[AuthMe] AntiBotMod automatically disabled after %m Minutes, hope invasion stopped' \ No newline at end of file +antibot_auto_enabled: '[AuthMe] AntiBotMod automatically enabled due to the number of connections!' +antibot_auto_disabled: '[AuthMe] AntiBotMod automatically disabled after %m minutes' diff --git a/src/main/resources/messages_gl.yml b/src/main/resources/messages_gl.yml new file mode 100644 index 00000000..27979102 --- /dev/null +++ b/src/main/resources/messages_gl.yml @@ -0,0 +1,59 @@ +unknown_user: '&fO usuario non está na base de datos' +unsafe_spawn: '&fA localización dende a que saíches era insegura, teletransportándote ao spawn do mundo' +not_logged_in: '&cNon te identificaches!' +reg_voluntarily: '&fPodes rexistrar o teu nome no servidor co comando + "/register "' +usage_log: '&cUso: /login ' +wrong_pwd: '&cContrasinal equivocado' +unregistered: '&cFeito! Xa non estás rexistrado!' +reg_disabled: '&cO rexistro está deshabilitado' +valid_session: '&cIdentificado mediante a sesión' +login: '&cIdentificación con éxito!' +vb_nonActiv: '&fA túa conta aínda non está activada, comproba a túa bandexa de correo!!' +user_regged: '&cEse nome de usuario xa está rexistrado' +usage_reg: '&cUso: /register contrasinal confirmarContrasinal' +max_reg: '&fExcediches o máximo de rexistros para a túa Conta' +no_perm: '&cNon tes o permiso' +error: '&fOcurriu un erro; contacta cun administrador' +login_msg: '&cPor favor, identifícate con "/login "' +reg_msg: '&cPor favor, rexístrate con "/register "' +reg_email_msg: '&cPor favor, rexístrate con "/register "' +usage_unreg: '&cUso: /unregister ' +pwd_changed: '&cCambiouse o contrasinal!' +user_unknown: '&cEse nome de usuario non está rexistrado' +password_error: '&fO contrasinal non coincide' +unvalid_session: '&fOs datos de sesión non corresponden, por favor, espere a que remate a sesión' +reg_only: '&fSó xogadores rexistrados! Por favor, visita http://example.com para rexistrarte' +logged_in: '&cXa estás identificado!' +logout: '&cSesión pechada con éxito' +same_nick: '&fXa está xogando alguén co mesmo nome' +registered: '&cRexistrado con éxito!' +pass_len: '&fO teu contrasinal non alcanza a lonxitude mínima ou excede a lonxitude máxima' +reload: '&fRecargáronse a configuración e a base de datos' +timeout: '&fRematou o tempo da autentificación' +usage_changepassword: '&fUso: /changepassword ' +name_len: '&cO teu nome é demasiado curto ou demasiado longo' +regex: '&cO teu nome contén caracteres ilegais. Caracteres permitidos: REG_EX' +add_email: '&cPor favor, engade o teu correo electrónico con: /email add ' +bad_database_email: '[AuthMe] Este comando /email só está dispoñible con MySQL e SQLite, + contacta cun administrador' +recovery_email: '&cOlvidaches o contrasinal? Por favor, usa /email recovery ' +usage_captcha: '&cNecesitas escribir un captcha, por favor escribe: /captcha ' +wrong_captcha: '&cCaptcha equivocado, por favor usa: /captcha THE_CAPTCHA' +valid_captcha: '&cO teu captcha é válido !' +kick_forvip: '&cUn xogador VIP uniuse ao servidor cheo!' +kick_fullserver: '&cO servidor está actualmente cheo, sentímolo!' +usage_email_add: '&fUso: /email add ' +usage_email_change: '&fUso: /email change ' +usage_email_recovery: '&fUso: /email recovery ' +new_email_invalid: '[AuthMe] O novo correo non é válido!' +old_email_invalid: '[AuthMe] O correo vello non é válido!' +email_invalid: '[AuthMe] Correo non válido' +email_added: '[AuthMe] Correo engadido!' +email_confirm: '[AuthMe] Confirma o teu correo!' +email_changed: '[AuthMe] Cambiouse o correo!' +email_send: '[AuthMe] Enviouse o correo de confirmación!' +country_banned: 'O teu país está bloqueado neste servidor' +antibot_auto_enabled: '[AuthMe] AntiBotMod conectouse automáticamente debido a conexións masivas!' +antibot_auto_disabled: '[AuthMe] AntiBotMod desactivouse automáticamente despois de %m minutos, + esperemos que a invasión se detivera' diff --git a/src/main/resources/messages_ko.yml b/src/main/resources/messages_ko.yml index 38b5fc37..4dd70e85 100644 --- a/src/main/resources/messages_ko.yml +++ b/src/main/resources/messages_ko.yml @@ -1,56 +1,61 @@ -unknown_user: 사용자는 데이터베이스에 없습니다 -unsafe_spawn: 당신이 나갔던 위치는 안전하지 않았습니다, 당신을 윌드 스폰으로 텔레포트시킵니다 -not_logged_in: '&c로그인하지 않았습니다!' -reg_voluntarily: 당신이 서버에 게정을 등록하고 싶다면 "/register 비밀번호 비밀번호재입력"을 치세요 +# Korean translate by wolfwork # +# wolfdate25@gmail.com # +# 28.06.2014 Thanks for use # + +unknown_user: '&f사용자가 데이터베이스에 존재하지 않습니다' +unsafe_spawn: '&f당신이 종료한 위치는 안전하지 않았습니다, 세계의 소환지점으로 이동합니다' +not_logged_in: '&c접속되어있지 않습니다!' +reg_voluntarily: '&f당신은 당신의 이름을 "/register 비밀번호 비밀번호확인" 명령어로 가입하실 수 있습니다' usage_log: '&c사용법: /login 비밀번호' wrong_pwd: '&c잘못된 비밀번호입니다' -unregistered: '&c성공적으로 회원탈퇴되었습니다!' -reg_disabled: '&c회원가입이 성공적으로 비활성화되었습니다' +unregistered: '&c성공적으로 탈퇴했습니다!' +reg_disabled: '&c가입이 비활성화 되어있습니다' valid_session: '&c세션 로그인' -login: '&c성공적으로 로그인 되었습니다!' -vb_nonActiv: 당신의 계정은 활성화되어 있지 않습니다 당신의 이메일을 체크해주세요! -user_regged: '&c사용자 이름은 이미 등록되어 있습니다' -usage_reg: '&c사용법: /register 비밀번호 비밀번호재입력' -max_reg: 당신은 가입할 수 있는 계정의 최대 한도 수를 넘었습니다 +login: '&c성공적인 접속입니다!' +vb_nonActiv: '&f당신의 계정은 아직 활성화되어있지 않습니다, 당신의 이메일을 확인해보세요!' +user_regged: '&c사용자이름은 이미 가입했습니다' +usage_reg: '&c사용법: /register 비밀번호 비밀번호확인' +max_reg: '&f당신은 가입할 수 있는 계정의 최대 한도를 초과했습니다' no_perm: '&c권한이 없습니다' -error: 오류가 발생했습니다; 관리자한테 문의하세요 -login_msg: '&c로그인 하실려면 "/login 비밀번호"를 치세요' +error: '&f오류가 발생했습니다; 관리자에게 문의해주세요' +login_msg: '&c접속 하실려면 "/login 비밀번호"를 치세요' reg_msg: '&c가입하실려면 "/register 비밀번호 비밀번호재입력"을 치세요' -reg_email_msg: '&c가입하실려면 "/register <이메일> <이메일재입력>을 치세요"' +reg_email_msg: '&c가입하실려면 "/register <전자우편> <전자우편재입력>을 치세요"' usage_unreg: '&c사용법: /unregister 비밀번호' -pwd_changed: '&c비밀번호가 변경되었습니다!' -user_unknown: '&c사용자 이름은 등록되지 않았습니다' -password_error: 비밀번호가 일치하지 않습니다 -unvalid_session: 세션 데이터베이스가 일치하지 않습니다 세션이 끝날때 까지 기달려주세요 -reg_only: 회원가입은 플레이어만 할 수 있습니다! http://example.com 에 가입해주세요 -logged_in: '&c이미 로그인되어 있습니다!' -logout: '&c성공적으로 로그아웃되었습니다' -same_nick: 같은 닉네임이 이미 게임중입니다 -registered: '&c성공적으로 회원가입되었습니다!' -pass_len: 당신의 비밀번호는 최소 글자나 최대글자를 초과하였습니다 적당한 비밀번호 글자로 해주세요 -reload: 설정과 데이터베이스가 리로드되었습니다 -timeout: 로그인 시간 초과 -usage_changepassword: '사용법: /changepassword 기존비밀번호 새비밀번호' -name_len: '&c당신의 닉네임은 너무 길거나 짧습니다' -regex: '&c당신의 닉네임에 잘못된 문자가 포함되어 있습니다. 허용된 글자: REG_EX' -add_email: '&c당신의 이메일을 : /email add yourEmail confirmEmail 명령어로 추가해주세요' -bad_database_email: '[AuthMe] /email 명령어는 오직 MySQL 와 SQLite에서만 가능합니다, 관리자에게 문의해보세요' -recovery_email: '&c비밀번호를 잊어버리셨다고요? /email recovery <자신의이메일>을 사용해서 복구해보세요' -usage_captcha: '&c사용법: /captcha <캡차>' -wrong_captcha: '&c잘못된 캡차입니다, 올바른 사용법 : /captcha THE_CAPTCHA' -valid_captcha: '&c당신의 캡차는 올바릅니다 !' -kick_forvip: '&c한 VIP 플레이어가 만원인 서버에 입장했습니다!!' -kick_fullserver: '&c그 서버는 실제로 만원입니다, 미안!' -usage_email_add: '&f사용법: /email add <이메일> <이메일재입력> ' -usage_email_change: '&f사용법: /email change <기존이메일> <새이메일> ' +pwd_changed: '&c비밀번호를 변경했습니다!' +user_unknown: '&c사용자이름은 가입되지 않았습니다' +password_error: '&f비밀번호가 일치하지 않습니다' +invalid_session: '&f세션일자가 적합하지 않습니다. 세션이 종료될 때까지 기다려주세요' +reg_only: '&f가입한 플레이어만이 가능합니다! 가입하실려면 http://example.com 에 방문해주세요' +logged_in: '&c이미 접속되었습니다!' +logout: '&c성공적으로 접속해제하였습니다' +same_nick: '&f같은 이름으로 이미 플레이하고 있습니다' +registered: '&c성공적으로 가입했습니다!' +pass_len: '&f당신의 비밀번호는 최소 길이에 미치지 않거나 최대 길이를 초과했습니다' +reload: '&f설정과 데이터베이스는 갱신되었습니다' +timeout: '&f접속시간 초과, 다시 시도해주세요' +usage_changepassword: '&f사용법: /changepassword 기존비밀번호 새로운비밀번호' +name_len: '&c당신의 이름은 너무 짧거나 너무 깁니다' +regex: '&c당신의 이름에는 불법적인 글자들이 포함되어있습니다. 허용된 글자: REG_EX' +add_email: '&c당신의 이메일을 추가해주세요 : /email add 당신의이메일 이메일재입력' +bad_database_email: '[AuthMe] 이 /email 명령어는 오직 MySQL와 SQLite에서만 가능합니다, 관리자에게 문의해주세요' +recovery_email: '&c비밀번호를 잊어버리셨다고요? /email recovery <당신의이메일>을 사용하세요' +usage_captcha: '&c보안문자 입력이 필요합니다, 입력해주세요: /captcha ' +wrong_captcha: '&c잘못된 보안문자, 사용해주세요 : /captcha THE_CAPTCHA' +valid_captcha: '&c당신의 보안문자는 적합합니다!' +kick_forvip: '&c서버가 만원인 상태일때 VIP 플레이어들만 입장이 가능합니다!' +kick_fullserver: '&c서버가 만원입니다, 나중에 다시 시도해주세요' +usage_email_add: '&f사용법: /email add <이메일> <이메일확인> ' +usage_email_change: '&f사용법: /email change <기존이메일> <새로운이메일> ' usage_email_recovery: '&f사용법: /email recovery <이메일>' -new_email_invalid: '[AuthMe] 새 이메일이 잘못되었습니다!' -old_email_invalid: '[AuthMe] 기존 이메일이 잘못되었습니다!' -email_invalid: '[AuthMe] 이메일이 잘못되었습니다' -email_added: '[AuthMe] 이메일 추가됨 !' -email_confirm: '[AuthMe] 이메일을 확인해주세요 !' -email_changed: '[AuthMe] 이메일 변경됨 !' -email_send: '[AuthMe] 복구 이메일 발송됨 !' -country_banned: '당신의 나라는 이 서버에서 차단되어 있습니다' -antibot_auto_enabled: '[AuthMe] 안티봇모드는 많은 양의 연결 때문에 자동적으로 활성화됩니다!' -antibot_auto_disabled: '[AuthMe] 안티봇모드는 %m 분 후에 자동적으로 비활성화됩니다, 침입이 없습니다' +new_email_invalid: '[AuthMe] 새 이메일이 올바르지 않습니다!' +old_email_invalid: '[AuthMe] 기존 이메일이 올바르지 않습니다!' +email_invalid: '[AuthMe] 올바르지 않은 이메일' +email_added: '[AuthMe] 이메일을 추가했습니다!' +email_confirm: '[AuthMe] 당신의 이메일을 확인하세요!' +email_changed: '[AuthMe] 이메일이 변경되었습니다!' +email_send: '[AuthMe] 복구 이메일을 보냈습니다!' +email_exists: '[AuthMe] 당신의 계정에 이미 이메일이 존재합니다. 아래의 명령어를 통해 이메일을 변경하실 수 있습니다' +country_banned: '당신의 국가는 이 서버에서 차단당했습니다' +antibot_auto_enabled: '[AuthMe] 안티봇모드가 연결 개수 때문에 자동적으로 활성화됩니다!' +antibot_auto_disabled: '[AuthMe] 안티봇모드가 %m 분 후에 자동적으로 비활성화됩니다' diff --git a/src/main/resources/messages_zhhk.yml b/src/main/resources/messages_zhhk.yml index ee56985c..96906a53 100644 --- a/src/main/resources/messages_zhhk.yml +++ b/src/main/resources/messages_zhhk.yml @@ -1,59 +1,59 @@ # Translator: uSoc_lifehome (http://lifeho.me) # -# '-- Last edit: 1387032046 UTC # +# '-- Last edit: 1405878032 UTC # # -------------------------------------------- # -unknown_user: '&3[&b用戶系統&3] &f用戶資料並不存在於資料庫中 。' -unsafe_spawn: '&3[&b用戶系統&3] &f你的登出位置不安全 , 現在將傳送你到重生點 。' -not_logged_in: '&3[&b用戶系統&3] &c你還沒有登入 !' -reg_voluntarily: '&3[&b用戶系統&3] &f你可以使用這個的指令來註冊 : 《 /register <密碼> <重覆密碼> 》' -usage_log: '&3[&b用戶系統&3] &c用法 : 《 /login <密碼> 》' -wrong_pwd: '&3[&b用戶系統&3] &c你輸入了錯誤的密碼 。' -unregistered: '&3[&b用戶系統&3] &c你已成功取消會員註冊記錄 。' -reg_disabled: '&3[&b用戶系統&3] &c本伺服器已停止新玩家註冊 。' -valid_session: '&3[&b用戶系統&3] &b嗨 ! 我記得你 , 歡迎回來 ~' -login: '&3[&b用戶系統&3] &c你成功的登入了 。' -vb_nonActiv: '&3[&b用戶系統&3] &f你的帳戶還沒有經過電郵驗證 !' -user_regged: '&3[&b用戶系統&3] &c此用戶名已經註冊過了 。' -usage_reg: '&3[&b用戶系統&3] &c用法 : 《 /register <密碼> <重覆密碼> 》' -max_reg: '&3[&b用戶系統&3] &f你的IP地址已達到註冊數上限 。' -no_perm: '&3[&b用戶系統&3] &b你可以到 CraftingHK 玩家百科中查看說明文件。' -error: '&3[&b用戶系統&3] &f發生錯誤 , 請與管理員聯絡 。' -login_msg: '&3[&b用戶系統&3] &c請使用這個指令來登入 : 《 /login <密碼> 》' -reg_msg: '&3[&b用戶系統&3] &c請使用這個的指令來註冊 : 《 /register <密碼> <重覆密碼> 》' -reg_email_msg: '&3[&b用戶系統&3] &c請使用這個的指令來註冊 : 《 /register <電郵> <重覆電郵> 》' -usage_unreg: '&3[&b用戶系統&3] &c用法 : 《 /unregister <密碼> 》' -pwd_changed: '&3[&b用戶系統&3] &c你成功的更換了你的密碼 !' -user_unknown: '&3[&b用戶系統&3] &c此用戶名沒有已登記資料 。' -password_error: '&3[&b用戶系統&3] &f密碼不符合 。' -unvalid_session: '&3[&b用戶系統&3] &f登入階段資料已損壞 , 請等待登入階段結束 。' -reg_only: '&3[&b用戶系統&3] &f限已註冊會員 , 請先到 https://craftinghk.com/mcauth 註冊 。' -logged_in: '&3[&b用戶系統&3] &c你已經登入過了 。' -logout: '&3[&b用戶系統&3] &b你成功的登出了 。' -same_nick: '&3[&b用戶系統&3] &f同名玩家已在遊玩 。' -registered: '&3[&b用戶系統&3] &b你成功的註冊了 。' -pass_len: '&3[&b用戶系統&3] &f你的密碼並不符合規定長度 。' -reload: '&3[&b用戶系統&3] &b登入系統設定及資料庫重新載入完畢 。' -timeout: '&3[&b用戶系統&3] &f登入逾時 。' -usage_changepassword: '&3[&b用戶系統&3] &f用法 : 《 /changepassword <舊密碼> <新密碼> 》' -name_len: '&3[&b用戶系統&3] &c你的用戶名不符合規定長度 。' -regex: '&3[&b用戶系統&3] &c你的用戶名含有不容許之字符。以下為准許之字母 : REG_EX' -add_email: '&3[&b用戶系統&3] &b請為你的帳戶立即添加電郵地址 : 《 /email add <電郵地址> <重覆電郵地址> 》' -bad_database_email: '&3[&b用戶系統&3] 此指令只適用於使用MySQL或SQLite之伺服器。' -recovery_email: '&3[&b用戶系統&3] &c忘記密碼 ? 請使用這個的指令來更新密碼 : 《 /email recovery <電郵地址> 》' -usage_captcha: '&3[&b用戶系統&3] &c用法 : 《 /captcha <驗證碼> 》' -wrong_captcha: '&3[&b用戶系統&3] &c你輸入了錯誤的驗證碼,請使用 《 /captcha <驗證碼> 》 再次輸入 。' -valid_captcha: '&3[&b用戶系統&3] &c你所輸入的驗證碼是無效的 !' -kick_forvip: '&c因為有VIP玩家登入了伺服器 。' -kick_fullserver: '&c抱歉! 因為有VIP玩家登入了伺服器,所以你因為伺服器滿人而被踢出了 。' -usage_email_add: '&3[&b用戶系統&3] &f用法 : 《 /email add <電郵> <重覆電郵> 》' -usage_email_change: '&3[&b用戶系統&3] &f用法 : 《 /email change <舊電郵> <新電郵> 》' -usage_email_recovery: '&3[&b用戶系統&3] &f用法 : 《 /email recovery <電郵> 》' -new_email_invalid: '&3[&b用戶系統&3] 你所填寫的新電郵地址並不正確 。' -old_email_invalid: '&3[&b用戶系統&3] 你所填寫的舊電郵地址並不正確 。' -email_invalid: '&3[&b用戶系統&3] 你所填寫的電郵地址並不正確 。' -email_added: '&3[&b用戶系統&3] 已加入你的電郵地址記錄 。' -email_confirm: '&3[&b用戶系統&3] 請重覆輸入你的電郵地址 。' -email_changed: '&3[&b用戶系統&3] 你的電郵地址記錄已更改 。' -email_send: '&3[&b用戶系統&3] 忘記密碼信件已寄出,請查收 。' -country_banned: '&3[&b用戶系統&3] 本伺服器已停止對你的國家提供遊戲服務 。' -antibot_auto_enabled: '&3[&b用戶系統&3] 防止機械人程序已因應現時大量不尋常的連線而啟用 。' -antibot_auto_disabled: '&3[&b用戶系統&3] 防止機械人程序檢查到不正常連接數已減少,並於 %m 分鐘後停止運作 。' +unknown_user: '&8[&6用戶系統&8] &f用戶資料並不存在於資料庫中。' +unsafe_spawn: '&8[&6用戶系統&8] &f你的登出位置不安全,現在將傳送你到重生點。' +not_logged_in: '&8[&6用戶系統&8] &c你還沒有登入 !' +reg_voluntarily: '&8[&6用戶系統&8] &f你可以使用這個的指令來註冊: 《 /register <密碼> <重覆密碼> 》' +usage_log: '&8[&6用戶系統&8] &c用法: 《 /login <密碼> 》' +wrong_pwd: '&8[&6用戶系統&8] &c你輸入了錯誤的密碼。' +unregistered: '&8[&6用戶系統&8] &c你已成功取消會員註冊記錄。' +reg_disabled: '&8[&6用戶系統&8] &c本伺服器已停止新玩家註冊。' +valid_session: '&8[&6用戶系統&8] &b嗨 ! 我記得你,歡迎回來~' +login: '&8[&6用戶系統&8] &c你成功的登入了。' +vb_nonActiv: '&8[&6用戶系統&8] &f你的帳戶還沒有經過電郵驗證 !' +user_regged: '&8[&6用戶系統&8] &c此用戶名已經註冊過了。' +usage_reg: '&8[&6用戶系統&8] &c用法: 《 /register <密碼> <重覆密碼> 》' +max_reg: '&8[&6用戶系統&8] &f你的IP地址已達到註冊數上限。' +no_perm: '&8[&6用戶系統&8] &b你可以到 CraftingHK 玩家百科中查看說明文件。' +error: '&8[&6用戶系統&8] &f發生錯誤,請與管理員聯絡。' +login_msg: '&8[&6用戶系統&8] &c請使用這個指令來登入: 《 /login <密碼> 》' +reg_msg: '&8[&6用戶系統&8] &c請使用這個的指令來註冊: 《 /register <密碼> <重覆密碼> 》' +reg_email_msg: '&8[&6用戶系統&8] &c請使用這個的指令來註冊: 《 /register <電郵> <重覆電郵> 》' +usage_unreg: '&8[&6用戶系統&8] &c用法: 《 /unregister <密碼> 》' +pwd_changed: '&8[&6用戶系統&8] &c你成功的更換了你的密碼 !' +user_unknown: '&8[&6用戶系統&8] &c此用戶名沒有已登記資料。' +password_error: '&8[&6用戶系統&8] &f密碼不符合。' +unvalid_session: '&8[&6用戶系統&8] &f登入階段資料已損壞,請等待登入階段結束。' +reg_only: '&8[&6用戶系統&8] &f限已註冊會員,請先到 https://www.craftinghk.com/ 註冊。' +logged_in: '&8[&6用戶系統&8] &c你已經登入過了。' +logout: '&8[&6用戶系統&8] &b你成功的登出了。' +same_nick: '&8[&6用戶系統&8] &f同名玩家已在遊玩。' +registered: '&8[&6用戶系統&8] &b你成功的註冊了。' +pass_len: '&8[&6用戶系統&8] &f你的密碼並不符合規定長度。' +reload: '&8[&6用戶系統&8] &b登入系統設定及資料庫重新載入完畢。' +timeout: '&8[&6用戶系統&8] &f登入逾時。' +usage_changepassword: '&8[&6用戶系統&8] &f用法: 《 /changepassword <舊密碼> <新密碼> 》' +name_len: '&8[&6用戶系統&8] &c你的用戶名不符合規定長度。' +regex: '&8[&6用戶系統&8] &c你的用戶名含有不容許之字符。以下為准許之字母: REG_EX' +add_email: '&8[&6用戶系統&8] &b請為你的帳戶立即添加電郵地址: 《 /email add <電郵地址> <重覆電郵地址> 》' +bad_database_email: '&8[&6用戶系統&8] 此指令只適用於使用MySQL或SQLite之伺服器。' +recovery_email: '&8[&6用戶系統&8] &c忘記密碼 ? 請使用這個的指令來更新密碼: 《 /email recovery <電郵地址> 》' +usage_captcha: '&8[&6用戶系統&8] &c用法: 《 /captcha <驗證碼> 》' +wrong_captcha: '&8[&6用戶系統&8] &c你輸入了錯誤的驗證碼,請使用 《 /captcha <驗證碼> 》 再次輸入。' +valid_captcha: '&8[&6用戶系統&8] &c你所輸入的驗證碼是無效的 !' +kick_forvip: '&c因為有VIP玩家登入了伺服器。' +kick_fullserver: '&c抱歉! 因為伺服器滿人了,所以你目前未能登入伺服器。' +usage_email_add: '&8[&6用戶系統&8] &f用法: 《 /email add <電郵> <重覆電郵> 》' +usage_email_change: '&8[&6用戶系統&8] &f用法: 《 /email change <舊電郵> <新電郵> 》' +usage_email_recovery: '&8[&6用戶系統&8] &f用法: 《 /email recovery <電郵> 》' +new_email_invalid: '&8[&6用戶系統&8] 你所填寫的新電郵地址並不正確。' +old_email_invalid: '&8[&6用戶系統&8] 你所填寫的舊電郵地址並不正確。' +email_invalid: '&8[&6用戶系統&8] 你所填寫的電郵地址並不正確。' +email_added: '&8[&6用戶系統&8] 已加入你的電郵地址記錄。' +email_confirm: '&8[&6用戶系統&8] 請重覆輸入你的電郵地址。' +email_changed: '&8[&6用戶系統&8] 你的電郵地址記錄已更改。' +email_send: '&8[&6用戶系統&8] 忘記密碼信件已寄出,請查收。' +country_banned: '&8[&6用戶系統&8] 本伺服器已停止對你的國家提供遊戲服務。' +antibot_auto_enabled: '&8[&6用戶系統&8] 防止機械人程序已因應現時大量不尋常的連線而啟用。' +antibot_auto_disabled: '&8[&6用戶系統&8] 防止機械人程序檢查到不正常連接數已減少,並於 %m 分鐘後停止運作。'