Skip to content

Commit

Permalink
Session time is now properly infinite when it's negative (or above 50…
Browse files Browse the repository at this point in the history
…0) in the config
  • Loading branch information
Iru21 committed Jul 23, 2023
1 parent 819302b commit 91055bf
Show file tree
Hide file tree
Showing 14 changed files with 37 additions and 38 deletions.
2 changes: 1 addition & 1 deletion gradle.properties
@@ -1,4 +1,4 @@
kotlin.code.style = official
minecraftVersion = 1.17
pluginName = Authy
pluginVersion = 3.3.0
pluginVersion = 3.3.1
12 changes: 6 additions & 6 deletions src/main/kotlin/me/iru/Translations.kt
Expand Up @@ -28,7 +28,7 @@ class Translations {
private var cache: YamlConfiguration? = null

companion object {
const val TRANSLATION_VERSION = 7
const val TRANSLATION_VERSION = 8
}

init {
Expand All @@ -43,15 +43,15 @@ class Translations {
}

fun getColor(key: String): ChatColor {
val mcRegex = Pattern.compile("^&([0-9a-f]{1})\$")
val mcRegex = Pattern.compile("^&([0-9a-f])\$")
val hexRegex = Pattern.compile("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})\$")
val value = get(key, ParseMode.None)
if(hexRegex.matcher(value).matches()) {
return ChatColor.of(value)
return if(hexRegex.matcher(value).matches()) {
ChatColor.of(value)
} else if(mcRegex.matcher(value).matches()) {
return ChatColor.getByChar(value[1])
ChatColor.getByChar(value[1])
} else {
return ChatColor.BLACK
ChatColor.BLACK
}
}

Expand Down
5 changes: 4 additions & 1 deletion src/main/kotlin/me/iru/commands/cRemember.kt
Expand Up @@ -16,7 +16,10 @@ class cRemember(override var name: String = "remember") : ICommand {
if(sender is Player) {
val p : Player = sender
Session.remember(p)
p.sendMessage("${translations.getPrefix(PrefixType.REMEMBER)} ${translations.get("command_remember_success").format(authy.config.getInt("sessionExpiresIn"))}")
val hours = authy.config.getInt("sessionExpiresIn")
p.sendMessage("${translations.getPrefix(PrefixType.REMEMBER)} ${translations.get("command_remember_success").format(
if(hours > 500 || hours < 0) "" else hours
)}")
}
return true
}
Expand Down
14 changes: 6 additions & 8 deletions src/main/kotlin/me/iru/data/Session.kt
Expand Up @@ -3,7 +3,6 @@ package me.iru.data
import me.iru.Authy
import me.iru.LoginType
import org.bukkit.entity.Player
import java.lang.Long.parseLong
import java.sql.Timestamp

class Session {
Expand All @@ -12,20 +11,19 @@ class Session {
val authManager = Authy.authManager

fun remember(p : Player) {
val curtime = Timestamp(System.currentTimeMillis())
val timestamp = curtime.time
val authyPlayer = playerData.get(p.uniqueId)!!
authyPlayer.session = timestamp
authyPlayer.session = Timestamp(System.currentTimeMillis()).time
authyPlayer.ip = p.address?.address?.hostAddress!!
playerData.update(authyPlayer)
}

fun tryAutoLogin(p : Player) : Boolean {
val authyPlayer = playerData.get(p.uniqueId) ?: return false
val session = authyPlayer.session
val curtime = Timestamp(System.currentTimeMillis())
val timestamp = curtime.time
if((parseLong(session.toString()) + (authy.config.getInt("sessionExpiresIn") * 3600000) > timestamp) && p.address?.address?.hostAddress == authyPlayer.ip) {
val now = Timestamp(System.currentTimeMillis()).time
val hours = authy.config.getInt("sessionExpiresIn")
val passes = if(hours > 500 || hours < 0) true
else authyPlayer.session + (hours * 3600000L) > now
if(passes && p.address?.address?.hostAddress == authyPlayer.ip) {
authManager.login(p, LoginType.Session)
return true
}
Expand Down
6 changes: 2 additions & 4 deletions src/main/resources/config.yml
@@ -1,7 +1,6 @@
nameValidation: true

# In seconds
timeout: 60
timeout: 60 # In seconds

passwordValidation:
minLength: 6
Expand All @@ -27,8 +26,7 @@ welcomeMessage:
requirePin: false
sendPinSetReminder: true

# In hours
sessionExpiresIn: 48
sessionExpiresIn: 48 # In hours, set to negative for infinity (not recommended)

onFirstJoin:
teleport: false
Expand Down
4 changes: 2 additions & 2 deletions src/main/resources/lang/cs_cz.yml
Expand Up @@ -66,7 +66,7 @@ command_pin_setusage: "&7Použití&8: /&fpin &7set &8[&7nový pin kód&8]"
command_pin_breaksrules: "&7Zadaný pin neodpovídá požadavkům pro pin! &fMinimální Délka&8: &c%d&8, &fMaximální Délka&8: &c%d&8"
command_pin_success: "&7Pin byl nastaven! &7Zapneš ho pomocí příkazu &8/&fpin toggle&7!"

command_remember_success: "&7Session uložená pro &c%dh!"
command_remember_success: "&7Session uložená pro &c%sh!"

command_unregister_successkick: "&7Připoj se znovu a zaregistruj se!"

Expand All @@ -77,4 +77,4 @@ duplicateprotection_max_reached: "&7Může existovat pouze &c%s &7účtů na ste

# do not edit
# only updated when new keys have been added/renamed or the formatting has changed
version: 7
version: 8
4 changes: 2 additions & 2 deletions src/main/resources/lang/en_us.yml
Expand Up @@ -66,7 +66,7 @@ command_pin_setusage: "&7Usage&8: /&fpin &7set &8[&7new pin code&8]"
command_pin_breaksrules: "&7Your pin doesn't match the requirements! &cRules&8: &fMinimum Length&8: &c%d&8, &fMaximum Length&8: &c%d&8"
command_pin_success: "&7Pin has been set! &7Remember to enable it using the &8/&fpin toggle &7command!"

command_remember_success: "&7Session saved for &c%dh!"
command_remember_success: "&7Session saved for &c%sh!"

command_unregister_successkick: "&7Enter again and register!"

Expand All @@ -77,4 +77,4 @@ duplicateprotection_max_reached: "&7There can be only &c%s &7accounts on the sam

# do not edit
# only updated when new keys have been added/renamed or the formatting has changed
version: 7
version: 8
4 changes: 2 additions & 2 deletions src/main/resources/lang/es_es.yml
Expand Up @@ -66,7 +66,7 @@ command_pin_setusage: "&7Uso&8: /&fpin &7set &8[&7nuevo código pin&8]"
command_pin_breaksrules: "&7¡Tu pin no cumple las reglas! &cReglas&8: &fLongitud mínima&8: &c%d&8, &fLongitud máxima&8: &c%d&8"
command_pin_success: "&7¡Tu pin ha sido establecido! &7Recuerda activarlo usando el comando &8/&fpin toggle &7"

command_remember_success: "&7¡Sesión guardada para las próximas &c%dh!"
command_remember_success: "&7¡Sesión guardada para las próximas &c%sh!"

command_unregister_successkick: "&7¡Entra de nuevo y regístrate!"

Expand All @@ -77,4 +77,4 @@ duplicateprotection_max_reached: "&7¡Solo puede haber &c%s &7ceuntas con la mis

# do not edit
# only updated when new keys have been added/renamed or the formatting has changed
version: 7
version: 8
4 changes: 2 additions & 2 deletions src/main/resources/lang/pl_pl.yml
Expand Up @@ -65,7 +65,7 @@ command_pin_setusage: "&7Użycie&8: /&fpin &7set &8[&7nowy pin&8]"
command_pin_breaksrules: "&7Pin nie spełnia wymagań! &cZasady&8: &fMinimalna Długość&8: &c%d&8, &fMaksymalna Długość&8: &c%d&8"
command_pin_success: "&7Pin został ustawiony! &7Pamiętaj, aby włączyć go za pomocą &8/&fpin toggle&7!"

command_remember_success: "&7Sesja zapisana na &c%dh!"
command_remember_success: "&7Sesja zapisana na &c%sh!"

command_unregister_successkick: "&7Dołącz ponownie na serwer i zarejestruj się!"

Expand All @@ -76,4 +76,4 @@ duplicateprotection_max_reached: "&7Może być tylko &c%s &7kont z tym samym adr

# do not edit
# only updated when new keys have been added/renamed or the formatting has changed
version: 7
version: 8
4 changes: 2 additions & 2 deletions src/main/resources/lang/ru_ru.yml
Expand Up @@ -65,7 +65,7 @@ command_pin_setusage: "&7Использование&8: /&fpin &7set &8[&7пин-
command_pin_breaksrules: "&7Пин не соответствует требованиям! &Правила&8: &Минимальная длина&8: &c%d&8, &fМаксимальная длина&8: &c%d"
command_pin_success: "&7Пин-код установлен! &7Не забудьте включить его с помощью &8/&fpin toggle &7!"

command_remember_success: "&7Сессия сохранена на &c%d часов!"
command_remember_success: "&7Сессия сохранена на &c%s часов!"

command_unregister_successkick: "&7Переподключитесь и зарегистрируйтесь снова!"

Expand All @@ -76,4 +76,4 @@ duplicateprotection_max_reached: "&7Достигнут лимит аккаунт

# do not edit
# only updated when new keys have been added/renamed or the formatting has changed
version: 7
version: 8
4 changes: 2 additions & 2 deletions src/main/resources/lang/sk_sk.yml
Expand Up @@ -66,7 +66,7 @@ command_pin_setusage: "&7Pouźitie&7>&8 /&fpin &7set &8(&7Nový pin kód&8)"
command_pin_breaksrules: "&7Pin nespĺňa minimálne požiadavky! &cPravidlá&8: &fMinimálna Dĺžka &8: &c%d&8, &fMaximálna Dĺžka &8: &c%d&8"
command_pin_success: "&7Pin nastavený! &7Zapneš si ho pomocou > &8/&fpin toggle &7!"

command_remember_success: "&7Session uložená &c%dh!"
command_remember_success: "&7Session uložená &c%sh!"

command_unregister_successkick: "&7Pripoj sa znova a &7Registruj sa!"

Expand All @@ -77,4 +77,4 @@ duplicateprotection_max_reached: "&7Môžeš registrovať len &c%s &7účtov na

# do not edit
# only updated when new keys have been added/renamed or the formatting has changed
version: 7
version: 8
4 changes: 2 additions & 2 deletions src/main/resources/lang/tr_tr.yml
Expand Up @@ -66,7 +66,7 @@ command_pin_setusage: "&7Kullanım&8: /&fpin &7set &8[&7pin kodu&8]"
command_pin_breaksrules: "&7PIN kodun gereksinimleri karşılamıyor! &cKurallar&8: &fMinimum uzunluk&8: &c%d&8, &fMaksimum uzunluk&8: &c%d&8"
command_pin_success: "&7PIN kodu ayarlandı! &8/&fpin toggle &7komutuyla aktifleştirmeyi unutma!"

command_remember_success: "&c%d saatliğine &7oturum kaydedildi!"
command_remember_success: "&c%s saatliğine &7oturum kaydedildi!"

command_unregister_successkick: "&7Tekrardan giriş yap ve kayıt ol!"

Expand All @@ -77,4 +77,4 @@ duplicateprotection_max_reached: "&7Aynı IP adresinde sadece &c%s &7hesap olabi

# değiştirmeyin
# yeni özellikler eklendiğinde/adlandırıldıklarında düzenlenir
version: 7
version: 8
4 changes: 2 additions & 2 deletions src/main/resources/lang/zh_cn.yml
Expand Up @@ -66,7 +66,7 @@ command_pin_setusage: "&7用法&8: /&fpin &7set &8[&7新pin码&8]"
command_pin_breaksrules: "&7您的pin码没有满足规则 &c规则&8: &f最短长度&8: &c%d&8, &f最大长度&8: &c%d&8"
command_pin_success: "&7pin码已经设置成功! &7请通过 &8/&fpin toggle &7指令来开启使用!"

command_remember_success: "&7将缓存 &c%dh 的登录信息!"
command_remember_success: "&7将缓存 &c%sh 的登录信息!"

command_unregister_successkick: "&7请重新进入服务器并注册!"

Expand All @@ -77,4 +77,4 @@ duplicateprotection_max_reached: "&7同一ip地址最多只能登录 &c%s &7个

# do not edit
# only updated when new keys have been added/renamed or the formatting has changed
version: 7
version: 8
4 changes: 2 additions & 2 deletions src/main/resources/lang/zh_tw.yml
Expand Up @@ -68,7 +68,7 @@ command_pin_setusage: "&7使用方法&8: /&fpin &7set &8[&7新PIN碼&8]"
command_pin_breaksrules: "&7您的PIN碼不符合要求! &c規則&8: &f最小長度&8: &c%d&8, &f最大長度&8: &c%d&8"
command_pin_success: "&7PIN已設定! &7記得使用 &8/&fpin toggle &7指令來啟用PIN!"

command_remember_success: "&7已為 &c%dh 記住!"
command_remember_success: "&7已為 &c%sh 記住!"

command_unregister_successkick: "&7再次輸入並註冊!"

Expand All @@ -79,4 +79,4 @@ duplicateprotection_max_reached: "&7只允許 &c%s &7 帳號來自同IP位置!"

# do not edit
# only updated when new keys have been added/renamed or the formatting has changed
version: 7
version: 8

0 comments on commit 91055bf

Please sign in to comment.