Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нем неправильно. Необходимо обновить браузер или попробовать использовать другой.
Полноценная асинхронная база данных: Хранилище активных и просроченных лотов переведено на SQLite / MySQL через HikariCP. Синхронная запись файлов с главного потока полностью удалена, что исключает микрофризы сервера при операциях с аукционом.
Фоновая проверка срока лотов: Истекшие товары теперь автоматически перемещаются в хранилище (/ah storage) в асинхронном таймере с настраиваемым интервалом (expiration-check-interval-seconds), не дожидаясь ввода команд игроками.
Встроенный автомигратор: Плагин самостоятельно адаптирует файлы предыдущей версии при первом запуске:
messages.yml автоматически переименовывается в lang.yml с сохранением пользовательских переводов.
Старый файл data.yml переносится в базу данных и архивируется в data.yml.converted.
В config.yml автоматически добавляются новые параметры (config-version: '1.1', размер пула подключений БД и интервалы).
Исправления ошибок и безопасности:
Устранена уязвимость в инвентаре: Исправлен баг, из-за которого Shift-клик по предмету в собственном инвентаре при открытом меню аукциона принудительно отправлял команду выставления на продажу.
Утечки памяти: Состояния страниц, категорий и сортировки игроков перенесены из статических коллекций непосредственно в объект меню (InventoryHolder), что полностью исключает утечки оперативной памяти.
Потокобезопасность: Все внутренние списки товаров заменены на потокобезопасные структуры (ConcurrentHashMap, CopyOnWriteArrayList), предотвращая ошибки ConcurrentModificationException при высокой нагрузке.
Удалены конфликты слушателей: Устранено дублирование обработки кликов и перетаскиваний в GUI.