Иконка ресурса

Автозагрузка demo-записей с сервера на сайт 2021-03-09

sckasck

Участник
Сообщения
92
Реакции
15
А поддержку sftp можно как-то сделать?
 

DENZEL519

Работаю через AI !
Сообщения
534
Реакции
390
А поддержку sftp можно как-то сделать?

Добавлена поддержка SFTP​

Новые файлы:​

  1. inc/function_sftp.php — библиотека для работы с SFTP:
  • Поддержка расширения SSH2
  • Поддержка библиотеки phpseclib
  • Универсальные функции для работы с FTP/SFTP/локальной файловой системой
  • Автоматическое определение типа подключения по URL
  1. SFTP_INSTALL.md — инструкция по установке:
  • Установка расширения SSH2 (Windows/Linux)
  • Установка библиотеки phpseclib
  • Примеры конфигурации
  • Устранение проблем
  1. test_sftp.php — тестовый файл для проверки поддержки SFTP
Сообщения автоматически склеены:

V6 - Что нового?

Система управления демо-файлами - Обновление 2.1

Полное описание всех новых функций и улучшений




📊 НОВЫЕ ФУНКЦИИ

  • Дашборд с аналитикой (dashboard.php)
    • Интерактивные графики (Chart.js) - столбчатые и линейные диаграммы
    • Общая статистика по всем серверам
    • Топ карт по количеству демо-файлов
    • График активности по дням за последние 30 дней
    • Средние показатели (файлов на сервер, средний размер)
    • Цветовая индикация статусов (онлайн/офлайн)
  • Календарь активности (calendar.php)
    • Визуальный календарь с отметками дней загрузки файлов
    • Фильтрация по серверам
    • Клик по дню показывает все файлы за этот день
    • Навигация по месяцам (предыдущий/следующий)
    • Цветовая индикация дней с файлами
    • Отображение количества файлов в каждом дне
  • RESTful API (api.php)
    • Полный REST API для интеграции с другими системами
    • CORS поддержка для доступа из других доменов
    • Endpoints:
    • C-подобный:
      GET /api.php?path=servers
      - список всех серверов
    • C-подобный:
      GET /api.php?path=servers/{id}
      - информация о сервере
    • C-подобный:
      GET /api.php?path=files/{server_id}
      - список файлов сервера
    • C-подобный:
      GET /api.php?path=statistics
      - общая статистика
    • JSON формат ответов
    • Обработка ошибок с понятными сообщениями
  • Экспорт данных (export.php)
    • Экспорт списка файлов в CSV формат
    • Экспорт статистики в JSON формат
    • Корректная кодировка кириллицы (UTF-8 с BOM для Excel)
    • Экспорт с полной информацией о файлах (размер, дата, карта)
    • Массовый экспорт данных
  • Расширенный поиск и фильтрация
    • Поиск в реальном времени по названию файла
    • Поиск по карте
    • Комбинированные фильтры
    • Кнопка очистки поиска
    • Автоматическое скрытие несоответствующих результатов
    • Сообщение "Ничего не найдено" при отсутствии результатов
  • Сортировка файлов
    • Сортировка по имени (А-Я / Я-А)
    • Сортировка по дате (новые / старые)
    • Сортировка по размеру (большие / маленькие)
    • Мгновенное применение без перезагрузки страницы
    • Сохранение результатов поиска при сортировке
  • Массовые операции
    • Выбор нескольких файлов через чекбоксы
    • Кнопка "Выбрать все" в заголовке таблицы
    • Счетчик выбранных файлов
    • Панель массовых операций появляется при выборе файлов
  • Информация о размере файлов
    • Отображение размера каждого файла в удобном формате (B, KB, MB, GB, TB)
    • Общий размер всех файлов на сервере
    • Средний размер файла
    • Автоматическое форматирование размеров
  • Статистика и аналитика
    • Общее количество файлов
    • Общий размер всех файлов
    • Статистика по серверам (всего, онлайн, офлайн)
    • Топ карт по популярности
    • Активность по дням
    • Распределение файлов по картам
  • Переключатель темы
    • Светлая тема
    • Темная тема
    • Автоматическая тема (следует системным настройкам)
    • Сохранение выбора в localStorage
    • Синхронизация темы между всеми страницами
    • Плавные переходы между темами
  • Улучшенная навигация
    • Кнопки навигации на всех страницах
    • Кнопка "Назад к списку" на странице сервера
    • Быстрый доступ к дашборду и календарю
    • Адаптивное меню для мобильных устройств
  • Поддержка SFTP
    • Безопасное подключение через SFTP
    • Поддержка расширения SSH2
    • Поддержка библиотеки phpseclib
    • Автоматическое определение типа подключения
    • Универсальные функции для FTP/SFTP/локальной файловой системы
    • Кроссплатформенная поддержка (Windows/Linux)




🔧 ТЕХНИЧЕСКИЕ УЛУЧШЕНИЯ

  • Улучшенная обработка файлов
    • Множественные методы чтения файлов (glob, opendir, scandir)
    • Кроссплатформенная поддержка путей (Windows/Linux)
    • Улучшенная обработка ошибок
    • Отладочная информация при отсутствии файлов
    • Проверка прав доступа к файлам
  • Современный дизайн 2025
    • Обновленная цветовая палитра
    • Glassmorphism эффекты
    • Плавные анимации и переходы
    • Современные шрифты (Inter, JetBrains Mono)
    • Адаптивный дизайн для всех устройств
    • Улучшенная типографика
  • JavaScript функциональность
    • Поиск в реальном времени без перезагрузки
    • Динамическая сортировка таблиц
    • Уведомления о действиях
    • Автоматическое обновление интерфейса
  • Безопасность
    • Валидация всех входных данных
    • Экранирование HTML в выводе
    • Проверка прав доступа к файлам
    • Обработка ошибок с логированием




📱 АДАПТИВНОСТЬ

Система полностью адаптивна и оптимизирована для различных устройств:

  • Десктоп (больше 768px): Полная функциональность, все колонки видны
  • Планшет (768px и меньше): Некоторые колонки скрыты, оптимизированные размеры
  • Мобильный (480px и меньше): Минимальный интерфейс, только важная информация




🎨 ИНТЕРФЕЙС

  • Главная страница (index.php):
    • Список всех серверов с текущим статусом
    • Статистика серверов (всего, онлайн, офлайн)
    • Кнопки навигации (Дашборд, Календарь)
    • Переключатель темы
    • Индикаторы статуса с анимацией
  • Страница сервера (server.php):
    • Детальная информация о сервере
    • Статистика файлов (количество, размер)
    • Поиск и фильтрация
    • Сортировка файлов
    • Массовые операции
    • Экспорт данных
  • Дашборд (dashboard.php):
    • Интерактивные графики
    • Статистические карточки
    • Топ карт
    • График активности
  • Календарь (calendar.php):
    • Визуальный календарь
    • Фильтрация по серверам
    • Просмотр файлов по дням




🔍 ПОИСК И ФИЛЬТРАЦИЯ

  • Поиск:
    • По названию файла
    • По карте
    • В реальном времени
    • С кнопкой очистки
  • Фильтры:
    • Комбинирование с поиском
    • Автоматическое обновление результатов
  • Сортировка:
    • По имени (А-Я / Я-А)
    • По дате (новые / старые)
    • По размеру (большие / маленькие)




📊 СТАТИСТИКА

  • Общая статистика:
    • Всего серверов
    • Онлайн серверов
    • Офлайн серверов
    • Всего файлов
    • Общий размер
  • Статистика по серверу:
    • Количество файлов
    • Общий размер файлов
    • Средний размер файла
    • Самый большой файл
    • Самый маленький файл
    • Распределение по картам
    • Распределение по датам
  • Аналитика:
    • Топ карт по количеству файлов
    • Активность по дням (график)




📥 ЭКСПОРТ ДАННЫХ

  • Форматы экспорта:
    • CSV - для Excel и других табличных редакторов
    • JSON - для программной обработки
  • Что можно экспортировать:
    • Список файлов сервера (с полной информацией)
    • Общую статистику
  • Использование:
    • C-подобный:
      export.php?type=files&server_id=1&format=csv
      - экспорт файлов
    • C-подобный:
      export.php?type=statistics&format=json
      - экспорт статистики




🔌 API ДЛЯ ИНТЕГРАЦИЙ

Полный RESTful API для интеграции с другими системами:

C-подобный:
# Получить список серверов
GET /api.php?path=servers

# Получить информацию о сервере
GET /api.php?path=servers/1

# Получить список файлов
GET /api.php?path=files/1

# Получить статистику
GET /api.php?path=statistics




🔐 ПОДДЕРЖКА SFTP

Система поддерживает безопасное подключение через SFTP:

  • Поддержка расширения SSH2 для PHP
  • Поддержка библиотеки phpseclib
  • Автоматическое определение доступного метода
  • Формат URL:
    C-подобный:
    sftp://логин:пароль@хост:порт/путь/
  • Кроссплатформенная поддержка




🎯 МАССОВЫЕ ОПЕРАЦИИ

  • Выбор файлов:
    • Чекбоксы для каждого файла
    • Кнопка "Выбрать все" в заголовке
    • Счетчик выбранных файлов
  • Доступные операции:
    • Массовое скачивание (в разработке)




🌓 ПЕРЕКЛЮЧАТЕЛЬ ТЕМЫ

  • Светлая тема - для дневного использования
  • Темная тема - для комфортной работы в темное время
  • Автоматическая тема - следует системным настройкам
  • Сохранение выбора между сессиями
  • Синхронизация на всех страницах




📈 ГРАФИКИ И ВИЗУАЛИЗАЦИЯ

  • Библиотека Chart.js:
    • Столбчатая диаграмма топ карт
    • Линейный график активности по дням
    • Интерактивные графики с подсказками
    • Адаптивные размеры




⚙️ НАСТРОЙКИ И КОНФИГУРАЦИЯ

  • Файл конфигурации (inc/config.php):
    • Настройка серверов
    • Поддержка FTP и SFTP
    • Формат:
      C-подобный:
      sftp://логин:пароль@хост:порт/путь/
  • Хранение данных:
    • Автоматическое создание директорий
    • JSON формат для удобной обработки




🚀 ПРОИЗВОДИТЕЛЬНОСТЬ

  • Оптимизированные запросы к серверам
  • Кэширование данных где возможно
  • Асинхронная обработка (AJAX)
  • Минимальные перезагрузки страниц
  • Быстрая фильтрация и сортировка на клиенте




📱 МОБИЛЬНАЯ ВЕРСИЯ

  • Адаптивный дизайн для всех устройств
  • Скрытие неважных колонок на мобильных
  • Оптимизированные размеры кнопок
  • Удобная навигация на маленьких экранах




🔔 УВЕДОМЛЕНИЯ

  • Визуальные уведомления о действиях
  • Типы уведомлений: успех, предупреждение, ошибка
  • Автоматическое скрытие через 4 секунды
  • Плавные анимации появления/исчезновения




📋 ФОРМАТ ДАННЫХ

  • Имя файла:
    C-подобный:
    префикс-YYYYMMDD-HHMM-дополнительно-карта.dem
  • Пример:
    C-подобный:
    server-20250115-1430-12345-de_dust2.dem
  • Автоматический парсинг: даты, времени, карты из имени файла
  • Резервное использование: времени модификации файла, если парсинг не удался




🛠️ ТЕХНИЧЕСКИЕ ДЕТАЛИ

  • Языки: PHP 7.4+, HTML5, CSS3, JavaScript (ES6+)
  • Библиотеки: Chart.js 3.9.1 для графиков
  • Шрифты: Inter, JetBrains Mono (Google Fonts)
  • Совместимость: Все современные браузеры
  • Темы: Автоматическое определение + ручной переключатель
  • Кроссплатформенность: Windows, Linux, macOS




📝 ИСПОЛЬЗОВАНИЕ

  • Главная страница: index.php - список серверов
  • Страница сервера: server.php?id=1 - файлы сервера
  • Дашборд: dashboard.php - аналитика и статистика
  • Календарь: calendar.php - активность по дням
  • API: api.php - RESTful API
  • Экспорт: export.php - экспорт данных




✨ ОСОБЕННОСТИ

  • Работа без перезагрузки страницы (AJAX)
  • Автоматическое обновление интерфейса
  • Умная фильтрация и поиск
  • Визуальная обратная связь (уведомления, анимации)
  • Детальная статистика и аналитика
  • Современный и чистый интерфейс




Версия системы: 2.1 (2025)



11.png 12.png 13.png 14.png
 

Вложения

  • webdemo V5.7z
    27.7 КБ · Просмотры: 14
  • webdemo V6.7z
    37.5 КБ · Просмотры: 11
Последнее редактирование:

sckasck

Участник
Сообщения
92
Реакции
15
Кто нибудь ставил ее на vds с панелью fastpanel? С кроном траблы
 

DENZEL519

Работаю через AI !
Сообщения
534
Реакции
390
Кто нибудь ставил ее на vds с панелью fastpanel? С кроном траблы
Что с ним не так?
Сообщения автоматически склеены:

@sckasck, Попробуйте этот крон

═══════════════════════════════════════════════════════════════
БЫСТРАЯ НАСТРОЙКА CRON В FASTPANEL
═══════════════════════════════════════════════════════════════

1. ОПРЕДЕЛЯЕМ ПУТЬ К PHP:
───────────────────────────────────────────────────────────
Войдите по SSH и выполните:
which php

Обычно это: /usr/bin/php
Или: /usr/bin/php7.4, /usr/bin/php8.0, /usr/bin/php8.1

2. ОПРЕДЕЛЯЕМ ПУТЬ К СКРИПТУ:
───────────────────────────────────────────────────────────
В FastPanel: Файловый менеджер → найдите cron.php
Обычно: /home/пользователь/domains/домен/public_html/cron.php

3. НАСТРОЙКА В FASTPANEL:
───────────────────────────────────────────────────────────
FastPanel → Cron задачи → Добавить задачу

Название: Скачивание демо-файлов

Команда:
/usr/bin/php -q /home/ваш_пользователь/domains/ваш_домен/public_html/cron.php

Расписание: */5 * * * * (каждые 5 минут)

Логирование (опционально):
/usr/bin/php -q /путь/к/cron.php >> /путь/к/cron.log 2>&1

4. ПРОВЕРКА РАБОТЫ:
───────────────────────────────────────────────────────────
Ручной запуск через SSH:
/usr/bin/php -q /полный/путь/к/cron.php

Просмотр логов:
tail -f /полный/путь/к/cron.log

Или через браузер (для теста):
https://ваш-домен.ru/cron.php

5. ЧАСТЫЕ ПРОБЛЕМЫ:
───────────────────────────────────────────────────────────
❌ "Permission denied"
→ chmod 755 /путь/к/cron.php
→ chmod 755 -R /путь/к/files/

❌ "PHP: command not found"
→ Используйте полный путь: /usr/bin/php

❌ "Cannot connect to server"
→ Проверьте настройки в inc/config.php
→ Проверьте доступность сервера

❌ Скрипт не выполняется
→ Проверьте: systemctl status cron
→ Проверьте логи: grep CRON /var/log/syslog

═══════════════════════════════════════════════════════════════
ПРИМЕР КОМАНДЫ ДЛЯ CRON:
═══════════════════════════════════════════════════════════════

*/5 * * * * /usr/bin/php -q /home/user/domains/example.com/public_html/cron.php >> /home/user/domains/example.com/public_html/cron.log 2>&1

═══════════════════════════════════════════════════════════════

# Настройка Cron в FastPanel

## Описание скрипта cron.php

Скрипт `cron.php` выполняет следующие задачи:
1. Подключается к игровым серверам через SFTP/FTP/локально
2. Скачивает демо-файлы (`.dem`), которые старше 180 секунд (3 минуты)
3. Сжимает их в `.gz` формат
4. Удаляет старые файлы (старше 3 дней) с локального хранилища

## Настройка Cron в FastPanel

### Способ 1: Через веб-интерфейс FastPanel

1. Войдите в панель FastPanel
2. Перейдите в раздел **"Cron задачи"** или **"Планировщик задач"**
3. Нажмите **"Добавить задачу"**
4. Заполните форму:

**Название задачи:**
```
Скачивание демо-файлов
```

**Команда:**
```bash
/usr/bin/php -q /home/ваш_пользователь/domains/ваш_домен/public_html/cron.php
```

**Или если используется другой путь к PHP:**
```bash
php -q /home/ваш_пользователь/domains/ваш_домен/public_html/cron.php
```

**Расписание:**
- **Каждые 5 минут:** `*/5 * * * *`
- **Каждые 10 минут:** `*/10 * * * *`
- **Каждые 15 минут:** `*/15 * * * *`
- **Каждую минуту (для тестирования):** `* * * * *`

**Рекомендуется:** `*/5 * * * *` (каждые 5 минут)

### Способ 2: Через SSH (ручное редактирование crontab)

1. Подключитесь к серверу по SSH
2. Выполните команду:
```bash
crontab -e
```

3. Добавьте строку:
```bash
*/5 * * * * /usr/bin/php -q /home/ваш_пользователь/domains/ваш_домен/public_html/cron.php >> /home/ваш_пользователь/domains/ваш_домен/public_html/cron.log 2>&1
```

4. Сохраните файл (в nano: `Ctrl+O`, затем `Ctrl+X`)

## Определение пути к PHP

### Вариант 1: Автоматическое определение
```bash
which php
```

### Вариант 2: Проверка версии PHP
```bash
php -v
```

### Вариант 3: Если используется конкретная версия PHP
```bash
/usr/bin/php7.4 -q /путь/к/cron.php
# или
/usr/bin/php8.0 -q /путь/к/cron.php
# или
/usr/bin/php8.1 -q /путь/к/cron.php
```

## Определение полного пути к скрипту

1. Войдите в панель FastPanel
2. Перейдите в **"Файловый менеджер"**
3. Найдите файл `cron.php`
4. Скопируйте полный путь (обычно `/home/пользователь/domains/домен/public_html/cron.php`)

**Или через SSH:**
```bash
cd /путь/к/вашему/проекту
pwd
# Выведет полный путь, добавьте /cron.php
```

## Логирование выполнения

Для отслеживания работы cron рекомендуется настроить логирование:

### В FastPanel:
Добавьте в конец команды:
```bash
>> /home/ваш_пользователь/domains/ваш_домен/public_html/cron.log 2>&1
```

### Просмотр логов:
```bash
tail -f /home/ваш_пользователь/domains/ваш_домен/public_html/cron.log
```

## Частые проблемы и решения

### Проблема 1: "Permission denied"
**Решение:**
```bash
chmod 755 /home/ваш_пользователь/domains/ваш_домен/public_html/cron.php
chmod 755 -R /home/ваш_пользователь/domains/ваш_домен/public_html/files/
```

### Проблема 2: "PHP: command not found"
**Решение:**
Используйте полный путь к PHP:
```bash
/usr/bin/php -q /путь/к/cron.php
```

### Проблема 3: "Cannot connect to server"
**Решение:**
- Проверьте настройки в `inc/config.php`
- Убедитесь, что сервер доступен
- Проверьте логи: `tail -f cron.log`

### Проблема 4: "No such file or directory"
**Решение:**
- Проверьте правильность пути к скрипту
- Используйте абсолютный путь, а не относительный

### Проблема 5: Скрипт не выполняется
**Решение:**
1. Проверьте, что cron служба запущена:
```bash
systemctl status cron
# или
service cron status
```

2. Проверьте логи cron:
```bash
grep CRON /var/log/syslog
# или
tail -f /var/log/cron
```

3. Убедитесь, что в команде используется `-q` флаг (quiet mode)

## Тестирование cron задачи

### Ручной запуск через SSH:
```bash
/usr/bin/php -q /полный/путь/к/cron.php
```

### Проверка через веб-браузер:
Откройте в браузере:
```
```

**Внимание:** После тестирования через браузер рекомендуется закрыть доступ к `cron.php` через `.htaccess` для безопасности.

## Безопасность

### Защита cron.php от прямого доступа через браузер

Создайте или отредактируйте файл `.htaccess` в корне проекта:

```apache
# Запрет прямого доступа к cron.php
<Files "cron.php">
Order allow,deny
Deny from all
</Files>
```

**Или для Nginx** добавьте в конфигурацию:
```nginx
location ~ /cron\.php$ {
deny all;
return 404;
}
```

## Примеры расписания

| Описание | Cron выражение |
|----------|---------------|
| Каждую минуту | `* * * * *` |
| Каждые 5 минут | `*/5 * * * *` |
| Каждые 10 минут | `*/10 * * * *` |
| Каждые 15 минут | `*/15 * * * *` |
| Каждый час | `0 * * * *` |
| Каждый день в 3:00 | `0 3 * * *` |
| Каждый понедельник в 2:00 | `0 2 * * 1` |

## Проверка работы

После настройки cron:

1. Подождите 5-10 минут
2. Проверьте директорию `files/server_X/` - должны появиться новые файлы
3. Проверьте логи: `tail -f cron.log`
4. Проверьте, что старые файлы удаляются (через 3 дня)

## Дополнительная информация

- Скрипт автоматически создает директории `files/server_X/` если их нет
- Файлы старше 3 дней автоматически удаляются
- Текущие демо-файлы (моложе 180 секунд) не скачиваются, чтобы не прерывать запись
 

Вложения

  • cron.php
    9.1 КБ · Просмотры: 10
Последнее редактирование:

Mr_panica

XenForo one 💖
Сообщения
946
Реакции
468
Я у себя сделал чтобы в каждой демке писались полезные мета данные в json.
Может тут тоже такое будет норм.

1764510899274.png

Идея была взята от сюда: Автозапись демок
Так же есть такой же лог чата.

*Плагин и вэб не этот - самопис (AI)

Так же сверху есть инструкция для воспроизведения в игре:
1764511196882.png
 

sckasck

Участник
Сообщения
92
Реакции
15
А под такой форомат демок
C-подобный:
mix_2025-12-02-1643-de_mirage_rc1.dem.bz2
возможно сделать? Дата, Карта и т.д
 

DENZEL519

Работаю через AI !
Сообщения
534
Реакции
390

Вложения

  • cron.php
    9.1 КБ · Просмотры: 10
  • server.php
    11 КБ · Просмотры: 8
Сверху Снизу