
XTransfer
A tool that help you transfer players' data between names or UUIDs.
29
2
Список изменений
Added
- Added
MAX_CACHE_SIZE(1000) limit to prevent memory overflow when loading usercache.json - Added automatic cleanup task to remove stale player locks and access records every hour
- Added performance monitoring with loading time statistics in debug logs
- Added detailed debug logging for file operations, lock acquisition, and error conditions
- Added disk space check before backup operations
Changed
- Refactored data loading: Merged
loadUserCache()andloadNameToUUIDs()into singleloadPlayerData()method for better performance - Improved lock management: Locks now track last access time and are automatically cleaned up
- Enhanced error handling: All exceptions now include detailed debug messages instead of being ignored
- Optimized file copying: Implemented atomic temp file operations with proper cleanup
- Restructured command handling: Unified
transferandtransferuuidlogic into single method - Improved backup system: Added proper file existence checks and atomic operations
- Enhanced tab completion: Added offline player name suggestions with limits
- Better executor shutdown: Added timeout handling and forced termination if needed
Fixed
- Critical: Fixed recursive scheduling in
startCleanupTask()that could cause stack overflow - Critical: Removed dangerous offline UUID fallback that could match wrong players (
UUID.nameUUIDFromBytes) - Fixed scheduler parameter bug where
nullcould be passed instead of plugin instance - Fixed potential memory leak by properly removing locks on player quit
- Fixed file copy failure when parent directories don't exist
- Fixed race condition in task tracking set during concurrent operations
- Fixed incorrect stats file extension for older server versions (<1.13)
- Fixed potential deadlock by implementing consistent lock ordering
- Fixed missing message placeholders in several command responses
Removed
- Removed dangerous offline UUID generation (
UUID.nameUUIDFromBytes) - Removed redundant
asyncparameter from Bukkit scheduler calls - Removed duplicate data loading methods in favor of unified approach
- Removed empty catch blocks that silently ignored exceptions
- Removed unnecessary thread pool for simple operations
Файлы
XTransfer-1.2-rls.jar(18.12 KiB)
ОсновнойМетаданные
Канал релиза
Release
Номер версии
1.2-rls
Загрузчики
BukkitFoliaPaperPurpurSpigot
Версии игры
1.8–1.21.11
Загрузок
12
Дата публикации
1 мес. назад
