Add Notification and new mini desing
This commit is contained in:
276
README.md
276
README.md
@@ -1,128 +1,192 @@
|
||||
# MC Panel - Панель управления Minecraft серверами
|
||||
|
||||
Панель управления для Minecraft серверов с FastAPI бэкендом и React фронтендом.
|
||||
**Версия:** 1.0.0
|
||||
**Дата:** 15 января 2026
|
||||
|
||||
## Возможности
|
||||
---
|
||||
|
||||
- ➕ Создание новых серверов
|
||||
- 🎮 Запуск и остановка серверов
|
||||
- 💻 Консоль с отправкой команд в реальном времени
|
||||
- 📁 Менеджер файлов:
|
||||
- Загрузка и скачивание файлов
|
||||
- Просмотр содержимого файлов
|
||||
- Редактирование текстовых файлов
|
||||
- Переименование файлов и папок
|
||||
- Удаление файлов и папок
|
||||
- 📊 Мониторинг ресурсов (CPU, ОЗУ, диск)
|
||||
- ⚙️ Настройки сервера (название, команда запуска)
|
||||
- 🗑️ Удаление серверов
|
||||
- 🔄 Автообновление статистики
|
||||
## 📚 Документация
|
||||
|
||||
## Установка
|
||||
### 📖 [ДОКУМЕНТАЦИЯ.md](ДОКУМЕНТАЦИЯ.md)
|
||||
**Полная документация проекта**
|
||||
|
||||
### Бэкенд
|
||||
Содержит всю информацию о проекте:
|
||||
- 🚀 Быстрый старт
|
||||
- ⚙️ Установка и настройка
|
||||
- 🎮 Функциональность
|
||||
- 🔔 Система уведомлений
|
||||
- 🎨 Дизайн и темы
|
||||
- 📁 Файловый менеджер
|
||||
- 🎫 Система тикетов
|
||||
- 👤 Личный кабинет
|
||||
- 🔐 OpenID Connect
|
||||
- 👥 Роли пользователей
|
||||
- 🔒 Безопасность
|
||||
- 🔧 Troubleshooting
|
||||
|
||||
**Начните отсюда!** 👈
|
||||
|
||||
---
|
||||
|
||||
### 🌐 [API.md](API.md)
|
||||
**Документация API**
|
||||
|
||||
Полное описание REST API:
|
||||
- 📋 Все эндпоинты (37 шт.)
|
||||
- 🔐 Аутентификация
|
||||
- 👥 Управление пользователями
|
||||
- 🖥️ Управление серверами
|
||||
- 📁 Управление файлами
|
||||
- 🎫 Тикеты
|
||||
- 💡 Примеры интеграции (Python, JavaScript, cURL)
|
||||
- 📦 Postman коллекция
|
||||
|
||||
**Для разработчиков!** 👨💻
|
||||
|
||||
---
|
||||
|
||||
### 📦 [MC_Panel_API.postman_collection.json](MC_Panel_API.postman_collection.json)
|
||||
**Postman коллекция**
|
||||
|
||||
Готовая коллекция для тестирования API:
|
||||
- 40+ готовых запросов
|
||||
- Автоматическое сохранение токена
|
||||
- Переменные окружения
|
||||
- Примеры тел запросов
|
||||
|
||||
**Импортируйте в Postman!** 📮
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Быстрый старт
|
||||
|
||||
### 1. Установка
|
||||
|
||||
**Backend:**
|
||||
```bash
|
||||
cd backend
|
||||
pip install -r requirements.txt
|
||||
python main.py
|
||||
```
|
||||
|
||||
Сервер запустится на http://0.0.0.0:8000
|
||||
|
||||
### Фронтенд
|
||||
|
||||
**Frontend:**
|
||||
```bash
|
||||
cd frontend
|
||||
npm install
|
||||
npm run dev -- --host
|
||||
```
|
||||
|
||||
Приложение откроется на http://localhost:3000
|
||||
|
||||
## Доступ через сеть (Radmin VPN, Hamachi и т.д.)
|
||||
|
||||
### Вариант 1: Автоматическое определение (рекомендуется)
|
||||
|
||||
Фронтенд автоматически определит IP адрес и подключится к бэкенду.
|
||||
|
||||
1. Запустите бэкенд (он слушает на всех интерфейсах)
|
||||
2. Запустите фронтенд с флагом `--host`:
|
||||
```bash
|
||||
npm run dev -- --host
|
||||
```
|
||||
3. Откройте в браузере: `http://ВАШ_IP:3000`
|
||||
- Например: `http://26.123.45.67:3000` (Radmin VPN IP)
|
||||
|
||||
### Вариант 2: Ручная настройка
|
||||
|
||||
Создайте файл `frontend/.env.local`:
|
||||
```
|
||||
VITE_API_URL=http://26.123.45.67:8000
|
||||
```
|
||||
|
||||
Замените `26.123.45.67` на ваш IP адрес в Radmin VPN.
|
||||
|
||||
### Проверка IP адреса
|
||||
|
||||
Windows:
|
||||
```bash
|
||||
ipconfig
|
||||
```
|
||||
|
||||
Ищите адрес адаптера Radmin VPN (обычно начинается с 26.x.x.x)
|
||||
|
||||
## Структура
|
||||
|
||||
```
|
||||
backend/
|
||||
main.py # FastAPI сервер
|
||||
requirements.txt # Зависимости Python
|
||||
servers/ # Папка с серверами Minecraft
|
||||
|
||||
frontend/
|
||||
src/
|
||||
components/
|
||||
Console.jsx # Компонент консоли
|
||||
FileManager.jsx # Менеджер файлов
|
||||
Stats.jsx # Статистика
|
||||
App.jsx # Главный компонент
|
||||
main.jsx # Точка входа
|
||||
package.json # Зависимости Node.js
|
||||
```
|
||||
|
||||
## Использование
|
||||
|
||||
### Быстрый старт
|
||||
|
||||
**Windows:**
|
||||
```bash
|
||||
START_PANEL.bat
|
||||
```
|
||||
|
||||
**Вручную:**
|
||||
```bash
|
||||
# Терминал 1 - Бэкенд
|
||||
cd backend
|
||||
python main.py
|
||||
|
||||
# Терминал 2 - Фронтенд
|
||||
cd frontend
|
||||
npm run dev
|
||||
```
|
||||
|
||||
Откройте в браузере: http://localhost:3000
|
||||
### 2. Первый вход
|
||||
|
||||
### Создание сервера
|
||||
1. Откройте `http://localhost:3000`
|
||||
2. Зарегистрируйтесь (первый пользователь = admin)
|
||||
3. Создайте сервер
|
||||
4. Загрузите `server.jar`
|
||||
5. Запустите сервер!
|
||||
|
||||
1. Нажмите кнопку "+" для создания нового сервера
|
||||
2. Укажите имя, отображаемое название и команду запуска
|
||||
3. Загрузите файлы сервера (server.jar и т.д.) через менеджер файлов
|
||||
4. Создайте файл `eula.txt` с содержимым `eula=true`
|
||||
5. Запустите сервер и управляйте им через вкладки:
|
||||
- **Консоль** - просмотр логов и отправка команд
|
||||
- **Файлы** - управление файлами сервера
|
||||
- **Статистика** - мониторинг ресурсов
|
||||
- **Настройки** - изменение параметров сервера
|
||||
**Учетные данные по умолчанию:**
|
||||
- Логин: `Root`
|
||||
- Пароль: `Admin`
|
||||
|
||||
Подробнее: см. `QUICK_START.md`
|
||||
---
|
||||
|
||||
## ✨ Основные возможности
|
||||
|
||||
- 🖥️ **Управление серверами** - запуск, остановка, мониторинг
|
||||
- 📁 **Файловый менеджер** - полное управление файлами
|
||||
- 💬 **Консоль** - команды и логи в реальном времени
|
||||
- 📊 **Статистика** - CPU, RAM, диск
|
||||
- 🎫 **Тикеты** - система поддержки
|
||||
- 👥 **Пользователи** - роли и права доступа
|
||||
- 🔐 **OpenID Connect** - интеграция с ZITADEL
|
||||
- 🎨 **6 тем** - включая современную темную
|
||||
- 🔔 **Уведомления** - о всех событиях
|
||||
- 👤 **Личный кабинет** - профиль и статистика
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ Технологии
|
||||
|
||||
**Backend:**
|
||||
- FastAPI (Python)
|
||||
- JWT аутентификация
|
||||
- WebSocket
|
||||
- Authlib (OpenID Connect)
|
||||
|
||||
**Frontend:**
|
||||
- React 18
|
||||
- Tailwind CSS
|
||||
- Axios
|
||||
- Lucide React
|
||||
|
||||
---
|
||||
|
||||
## 📁 Структура проекта
|
||||
|
||||
```
|
||||
mc-panel/
|
||||
├── backend/
|
||||
│ ├── main.py # FastAPI приложение
|
||||
│ ├── oidc_config.py # OpenID Connect
|
||||
│ ├── requirements.txt # Зависимости
|
||||
│ └── servers/ # Папка серверов
|
||||
├── frontend/
|
||||
│ ├── src/
|
||||
│ │ ├── App.jsx # Главный компонент
|
||||
│ │ ├── components/ # React компоненты
|
||||
│ │ └── themes.js # Темы
|
||||
│ └── package.json # npm зависимости
|
||||
├── ДОКУМЕНТАЦИЯ.md # Документация проекта
|
||||
├── API.md # API документация
|
||||
├── MC_Panel_API.postman_collection.json # Postman
|
||||
└── README.md # Этот файл
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔒 Безопасность
|
||||
|
||||
- JWT токены (7 дней)
|
||||
- Bcrypt хеширование паролей
|
||||
- Проверка прав доступа
|
||||
- Защита файловой системы
|
||||
- OpenID Connect поддержка
|
||||
|
||||
**Для production:**
|
||||
1. Измените `SECRET_KEY` в `backend/main.py`
|
||||
2. Используйте HTTPS
|
||||
3. Настройте CORS
|
||||
4. Используйте базу данных вместо JSON
|
||||
|
||||
---
|
||||
|
||||
## 📞 Поддержка
|
||||
|
||||
- **Документация:** [ДОКУМЕНТАЦИЯ.md](ДОКУМЕНТАЦИЯ.md)
|
||||
- **API:** [API.md](API.md)
|
||||
- **Тикеты:** Используйте систему тикетов в панели
|
||||
- **GitHub:** [Ссылка на репозиторий]
|
||||
|
||||
---
|
||||
|
||||
## 📝 Лицензия
|
||||
|
||||
MIT License - свободное использование
|
||||
|
||||
---
|
||||
|
||||
## 🙏 Благодарности
|
||||
|
||||
Спасибо за использование MC Panel!
|
||||
|
||||
Если у вас есть вопросы или предложения:
|
||||
1. Прочитайте документацию
|
||||
2. Проверьте API документацию
|
||||
3. Создайте тикет в системе
|
||||
|
||||
---
|
||||
|
||||
**Версия:** 1.0.0
|
||||
**Дата:** 15 января 2026
|
||||
|
||||
**Приятного использования!** 🎮
|
||||
|
||||
Reference in New Issue
Block a user