▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
OPShield

OPShield

Protects your server from OP/admin abuse with console-only OP (via password) and optional admin command restriction.

112
1
Все версииOPShield 1.7.0

OPShield 1.7.0

Release2 нед. назад

Список изменений

[1.7.0] - 2026-04-24 — Architecture Improvements & God Class Refactoring

🚀 Improvements

Architecture Refactoring

  • LockoutManager (NEW) — Extracted lockout logic from main class

    • Centralized player/IP lockout state management
    • Clean public API for lockout operations
    • Expired lockout cleanup methods
  • ShadowBanManager (NEW) — Extracted shadow ban logic

    • Shadow ban state tracking
    • Fake action message generation
    • Duration management with expiry cleanup
    • Improved message consistency

Password Security

  • PasswordHasher improvements — Enhanced password handling
    • PBKDF2 iteration count configurable at runtime
    • Legacy SHA-256 detection with isLegacyHash() method
    • Iteration count validation (10,000 - 1,000,000 range)
    • Better separation of hash versioning concerns

Code Organization

  • Created manager/ package for extracting business logic
  • Reduced OPShield.java God Class burden
  • Better separation of concerns
  • Improved testability of individual components

Language Files

  • Fixed grammar inconsistencies (e.g., "1 player" vs "1 players")
  • Improved fake action message clarity
  • Better error message wording

📊 Code Quality

Metrics

  • Before: 1,172 LOC in single class (God Class)
  • After: OPShield.java reduced + 2 new manager classes
  • Managers Created: 2 (LockoutManager, ShadowBanManager)
  • Lines Extracted: ~300+ from main class

Quality Improvements

  • ✅ Reduced cyclomatic complexity in main class
  • ✅ Improved code organization
  • ✅ Better separation of concerns
  • ✅ More testable components
  • ✅ Easier to extend for future features

📝 Migration Notes

For existing servers:

  1. No database migration needed
  2. All configuration stays the same
  3. No command changes
  4. Direct drop-in JAR replacement

🔮 Future Work (v1.8.0+)

Recommended further refactoring:

  • Extract AutoPunishmentManager for ban/kick logic
  • Extract IpLimitManager for IP tracking
  • Extract CommandRestrictionManager for command validation
  • Create interface-based services for better testability
  • Add unit tests for new manager classes

Файлы

opshield-1.7.0.jar(41.19 KiB)
Основной
Скачать

Метаданные

Канал релиза

Release

Номер версии

1.7.0

Загрузчики

Bukkit
Paper
Purpur
Spigot

Версии игры

1.21–1.21.11

Загрузок

4

Дата публикации

2 нед. назад

Загрузил

ID версии

Главная