Система управления демо-файлами игровых серверов
Что нового добавлено в систему:
- Современный дизайн 2025 года
- Обновленная цветовая палитра с поддержкой светлой и темной темы
- Glassmorphism эффекты для современного вида
- Плавные анимации и переходы
- Адаптивный дизайн для всех устройств (мобильные, планшеты, десктоп)
- Современные шрифты: Inter для текста, JetBrains Mono для кода
- Поиск и фильтрация файлов
- Поиск в реальном времени по названию файла
- Поиск по карте
- Кнопка очистки поиска
- Автоматическое скрытие несоответствующих результатов
- Сортировка файлов
- Сортировка по имени (А-Я / Я-А)
- Сортировка по дате (новые / старые)
- Сортировка по размеру (большие / маленькие)
- Мгновенное применение без перезагрузки страницы
- Статистика и информация
- Общее количество файлов на сервере
- Общий размер всех файлов
- Размер каждого файла в удобном формате (B, KB, MB, GB)
- Статистика серверов на главной странице (всего, онлайн, офлайн)
- Улучшенная навигация
- Кнопка "Назад к списку" на странице сервера
- Улучшенная структура заголовка
- Индикаторы статуса серверов с анимацией
- Улучшенная обработка файлов
- Множественные методы чтения файлов (glob, opendir, scandir)
- Кроссплатформенная поддержка (Windows/Linux)
- Улучшенная обработка ошибок
- Отладочная информация при отсутствии файлов
- Информация о файлах
- Отображение размера каждого файла
- Парсинг даты и времени из имени файла
- Резервное использование времени модификации файла
- Парсинг названия карты из имени файла
Описание работы системы:
1. Главная страница (index.php)
Главная страница отображает список всех настроенных серверов с их текущим статусом.
- Статистика серверов: Показывает общее количество серверов, количество онлайн и офлайн серверов
- Таблица серверов:Содержит следующую информацию:
- Номер сервера (#)
- Название сервера (кликабельно, ведет на страницу сервера)
- Текущая карта
- IP адрес и порт (скрыто на мобильных устройствах)
- Количество игроков (текущее/максимальное)
- Количество демо-файлов
- Статус сервера (Онлайн/Офлайн) с визуальным индикатором
- Автоматическое обновление: Статистика подсчитывается автоматически при загрузке страницы
2. Страница сервера (server.php)
Страница отдельного сервера показывает детальную информацию о сервере и список всех демо-файлов.
- Информация о сервере:
- Название сервера
- Адрес (IP:Порт)
- Текущая карта
- Количество игроков
- Статус (Онлайн/Офлайн)
- Статистика файлов:
- Общее количество файлов
- Общий размер всех файлов
- Поиск и фильтрация:
- Поле поиска для фильтрации файлов по названию или карте
- Выпадающий список для выбора типа сортировки
- Результаты обновляются в реальном времени без перезагрузки страницы
- Таблица файлов:
- Номер файла (#)
- Название файла (моноширинный шрифт)
- Карта (извлечена из имени файла)
- Дата и время (извлечены из имени файла или время модификации)
- Размер файла (скрыто на мобильных устройствах)
- Кнопка скачивания
3. Обработка файлов
Система использует несколько методов для надежного чтения файлов:
- Метод 1 - glob(): Поиск файлов по шаблону с различными вариантами путей
- Метод 2 - opendir(): Классическое чтение директории через дескриптор
- Метод 3 - scandir(): Сканирование директории с проверкой типа элементов
- Метод 4 - scandir() без фильтрации: Показывает все элементы, кроме служебных (., ..)
- Система автоматически определяет формат имени файла
- Парсит дату и время из имени файла (формат: YYYYMMDD-HHMM-...)
- Извлекает название карты из имени файла
- Если парсинг не удался, использует время модификации файла
- Вычисляет размер каждого файла и форматирует его в удобочитаемый вид
4. Форматирование данных
- Размер файла: Автоматически конвертируется в B, KB, MB, GB, TB с точностью до 2 знаков
- Дата и время: Форматируется как "YYYY.MM.DD HH:MM"
- Статус сервера: Отображается с цветовым индикатором и анимацией пульсации для онлайн серверов
5. JavaScript функциональность
- Поиск в реальном времени:
- Фильтрация строк таблицы при вводе текста
- Поиск по названию файла и карте
- Автоматическое скрытие несоответствующих результатов
- Отображение сообщения "Ничего не найдено" при отсутствии результатов
- Сортировка:
- Динамическая перестановка строк таблицы
- Сохранение результатов поиска при сортировке
- Поддержка сортировки по числовым значениям (размер, дата)
- Статистика:
- Автоматический подсчет статистики на главной странице
- Обновление при загрузке страницы
6. Адаптивность
Система полностью адаптивна и оптимизирована для различных устройств:
- Десктоп (больше 768px): Полная функциональность, все колонки видны
- Планшет (768px и меньше): Некоторые колонки скрыты, оптимизированные размеры
- Мобильный (480px и меньше): Минимальный интерфейс, только важная информация
Технические детали:
- Языки: PHP 7.4+, HTML5, CSS3, JavaScript (ES6+)
- Шрифты: Inter (Google Fonts), JetBrains Mono (Google Fonts)
- Совместимость: Все современные браузеры (Chrome, Firefox, Safari, Edge)
- Темы: Автоматическое определение светлой/темной темы системы
- Кроссплатформенность: Windows, Linux, macOS
Формат имени файла:
Система ожидает файлы в формате:
префикс-YYYYMMDD-HHMM-дополнительно-карта.dem
Пример:
server-20250115-1430-12345-de_dust2.dem
Где:
- YYYYMMDD - дата (год, месяц, день)
- HHMM - время (часы, минуты)
- карта - название карты (извлекается автоматически)
Если формат не соответствует, система использует время модификации файла.
Настройка серверов:
Серверы настраиваются в файле:
$server[1] = array(
'ip' => 'IP_АДРЕС',
'port' => 'ПОРТ',
'patch' => 'ftp://логин:пароль@IP:21/',
'name' => 'Название сервера'
);
Версия системы: 4.0 (2025)