Панель: - engine/main/lang.php: класс Lang, автоопределение языка (?lang= -> cookie -> Accept-Language -> конфиг) - перевод применяется к готовому ответу через ob_start(): покрывает всю панель, админку и письма, не требуя правки 200 файлов шаблонов; отсутствующая фраза остаётся русской - замена только на границах слов, иначе короткий ключ портил длинные слова (Модуль -> Modуль) - AJAX-ответы переводятся отдельно (json_encode экранирует кириллицу в \uXXXX) - application/lang/en.php: 657 переводов; ru.php как точка расширения - переключатель RU/EN в шапке кабинета, админки и в подвале страницы входа - 'lang' в config.php — язык по умолчанию - проверено обходом 20 разделов: 0 непереведённых фраз, 0 мешанины языков, 0 фаталов Документация — теперь на русском и английском: - README.en.md, CHANGES.en.md, SECURITY.en.md, GUIDE.en.md - переключатели языка в начале каждого документа - раздел «Язык интерфейса» в инструкции: как работает, как добавить свой язык
160 lines
11 KiB
Markdown
160 lines
11 KiB
Markdown
**Русский** · [English](README.en.md)
|
|
|
|
# Панель управления игровым хостингом · сборка REDL
|
|
|
|
Панель для продажи и управления игровыми серверами: SA-MP, CRMP, MTA, Minecraft, CS 1.6, CS:S, RAGE:MP.
|
|
Личный кабинет клиента, тикеты, платёжные системы, автоматическое создание серверов на игровых нодах.
|
|
|
|
**Поддерживается и развивается с помощью [REDL.IO](https://redl.io) — Хостинг с искусственным интеллектом.**
|
|
|
|
Эта сборка — модернизация панели HostinPL 5.6: оригинал написан под Debian 9 и PHP 7.0 (сняты с поддержки в 2022 году)
|
|
и на современном сервере просто не запускался. Здесь он приведён в рабочее состояние на актуальном стеке,
|
|
закрыты найденные уязвимости и добавлены установщики в один клик.
|
|
|
|
---
|
|
|
|
## ⚠️ Правовой статус — прочитайте до установки
|
|
|
|
Оригинальная панель **HostinPL 5.6 — коммерческий проприетарный продукт**. Авторы: Samir Shelenko и
|
|
Alexander Zemlyanoy. Файл `panel/LICENSE` — их лицензия, и разрешения на распространение или изменение
|
|
она не даёт.
|
|
|
|
Исходники, лежащие в основе этой сборки, распространялись как «nulled» — то есть это взломанная копия
|
|
платного продукта, выложенная без согласия авторов. Мы этого не скрываем и не переписываем историю:
|
|
авторские копирайт-заголовки в коде сохранены как есть, они специально не удалялись.
|
|
|
|
Что это значит на практике:
|
|
|
|
* использование в коммерческом хостинге — нарушение авторских прав со всеми вытекающими рисками;
|
|
* легальный путь — купить лицензию у авторов либо взять открытую альтернативу (Pterodactyl, Pelican);
|
|
* этот репозиторий имеет смысл только для изучения кода, аудита и внутренних экспериментов.
|
|
|
|
Ответственность за использование лежит на том, кто устанавливает.
|
|
|
|
---
|
|
|
|
## Что в репозитории
|
|
|
|
| Путь | Что это |
|
|
|------|---------|
|
|
| `install-panel.sh` | Установка панели в один клик (nginx + PHP 8 + MariaDB + планировщик + админ) |
|
|
| `install-node.sh` | Установка игровой ноды в один клик (Docker + образ + каталоги + SSH/FTP + SteamCMD) |
|
|
| `panel/` | Код панели со всеми нашими правками |
|
|
| `docker/Dockerfile` | Современный образ игровых серверов (Debian 12; оригинальный на stretch больше не собирается) |
|
|
| `docker/Dockerfile.original-stretch` | Оригинальный Dockerfile — оставлен для сравнения |
|
|
| [`ИЗМЕНЕНИЯ.md`](ИЗМЕНЕНИЯ.md) | Полный список отличий от оригинала |
|
|
| [`БЕЗОПАСНОСТЬ.md`](БЕЗОПАСНОСТЬ.md) | Что нашли при аудите: уязвимости, закладки, что исправлено |
|
|
| [`ИНСТРУКЦИЯ.md`](ИНСТРУКЦИЯ.md) | Полная инструкция: установка, подключение ноды, настройка, обслуживание |
|
|
|
|
---
|
|
|
|
## Требования
|
|
|
|
**Для панели** (сам сайт и база — Docker не нужен):
|
|
|
|
* Ubuntu 24.04 / 22.04 или Debian 12 / 13
|
|
* 1 ядро, 1 ГБ ОЗУ, 10 ГБ диска
|
|
* Подойдёт любой VPS, включая контейнерный (LXC/OpenVZ)
|
|
|
|
**Для игровой ноды** (там крутятся сами игровые сервера):
|
|
|
|
* Ubuntu 24.04 / 22.04 или Debian 12 / 13
|
|
* 2 ядра, 2 ГБ ОЗУ, 100 ГБ диска (считайте 1–2 ГБ на игровой сервер)
|
|
* **Обязательно полный доступ к ядру: выделенный сервер или KVM.**
|
|
Панель создаёт на каждый игровой сервер отдельный Docker-контейнер, а в контейнерном VPS
|
|
(LXC/OpenVZ) Docker не запускается — ядро запрещает вложенные namespace. Установщик это проверяет
|
|
и честно предупредит.
|
|
|
|
Панель и нода могут быть одной машиной, но лучше разными: сайт можно держать на дешёвом VPS,
|
|
а под игры взять железо.
|
|
|
|
---
|
|
|
|
## Установка в один клик
|
|
|
|
### Панель
|
|
|
|
```bash
|
|
apt-get update && apt-get install -y git
|
|
git clone https://github.com/RedlHosting/redl-gamepanel.git
|
|
cd redl-gamepanel
|
|
sudo bash install-panel.sh
|
|
```
|
|
|
|
Скрипт спросит только адрес панели, e-mail и пароль администратора — дальше всё сам:
|
|
поставит nginx, PHP 8 и MariaDB, создаст базу со случайным паролем, загрузит схему, настроит
|
|
конфиг и планировщик, поднимет сторож автозапуска, создаст администратора и проверит,
|
|
что страница входа реально открывается.
|
|
|
|
Панель работает на нестандартном порту, если задать его переменной:
|
|
|
|
```bash
|
|
sudo PORT=8095 bash install-panel.sh
|
|
```
|
|
|
|
### Игровая нода
|
|
|
|
```bash
|
|
git clone https://github.com/RedlHosting/redl-gamepanel.git
|
|
cd redl-gamepanel
|
|
sudo bash install-node.sh
|
|
```
|
|
|
|
В конце скрипт напечатает IP, логин и пароль SSH — их нужно вбить в панели:
|
|
**Админка → Локации → Добавить локацию**. Подробнее — в [ИНСТРУКЦИЯ.md](ИНСТРУКЦИЯ.md).
|
|
|
|
---
|
|
|
|
## Что уже работает
|
|
|
|
* Вход, регистрация, восстановление пароля — **без капчи** (включается из админки, см. ниже)
|
|
* Личный кабинет: баланс, счета, переводы, бонусы, промокоды, реферальная система
|
|
* Тикет-система с категориями и вложениями
|
|
* Админка: пользователи, сервера, локации, игры, новости, статистика, промокоды, настройки
|
|
* Проверка системы (Админка → Проверка системы) — все пункты зелёные
|
|
* Платёжные системы: Unitpay, Enot, AnyPay, LiteKassa, RoboKassa, FreeKassa, Юkassa, QIWI
|
|
(реквизиты вписываются в админке; ни один шлюз мы не тестировали живыми платежами)
|
|
* Веб-хостинг (раздел WEB) — через ISPmanager на отдельной машине
|
|
* Планировщик: статистика, задачи, автоотключение просроченных серверов
|
|
* **Два языка интерфейса: русский и английский**, с автоопределением по браузеру
|
|
и переключателем в шапке (см. [ИНСТРУКЦИЯ.md](ИНСТРУКЦИЯ.md))
|
|
|
|
### Капча — выключена, включается одним переключателем
|
|
|
|
По умолчанию капчи нет нигде: ни при входе, ни при регистрации, ни в тикетах — поля просто
|
|
не существует. Когда понадобится:
|
|
|
|
1. Получите ключи reCAPTCHA v2 («Я не робот») на [google.com/recaptcha](https://www.google.com/recaptcha/admin)
|
|
2. **Админка → Настройки → Прочие настройки → «Защита от ботов (reCAPTCHA v2)»**
|
|
3. Вставьте Site key и Secret key, переключите на «Включена», сохраните
|
|
|
|
Порядок важен: сначала ключи, потом переключатель — иначе на форме появится
|
|
«ERROR for site owner: Invalid site key» и войти будет нельзя.
|
|
|
|
## Что не работает
|
|
|
|
* **Создание игровых серверов на контейнерном VPS.** Нужна нода с настоящим Docker
|
|
(дедик или KVM) — причина описана в требованиях.
|
|
* **Сборки игр в комплект не входят.** В оригинальном установщике они качались с посторонних
|
|
сайтов по обычному HTTP без проверки подписи — мы этот способ убрали (см. [БЕЗОПАСНОСТЬ.md](БЕЗОПАСНОСТЬ.md)).
|
|
Сборки нужно положить в `/home/cp/gameservers/files/<код_игры>/` самостоятельно.
|
|
* **Платежи и VK-авторизация** требуют ваших собственных ключей и мерчант-аккаунтов.
|
|
|
|
---
|
|
|
|
## Коротко об отличиях от оригинала
|
|
|
|
* Работает на **PHP 8.4** вместо PHP 7.0 — обход всех 21 раздела панели даёт ноль ошибок в логе
|
|
* **Установщик переписан с нуля**: оригинальный затирал `/etc/apt/sources.list` репозиториями
|
|
Debian 9 и ломал apt на любой современной системе
|
|
* **Закрыты две SQL-инъекции, доступные без авторизации**, и убрано хранение паролей в открытом виде
|
|
* Капча стала управляемой из админки
|
|
* Русский и английский интерфейс с автоопределением языка
|
|
* Планировщик и автозапуск работают и там, где нет systemd
|
|
|
|
Полностью — в [ИЗМЕНЕНИЯ.md](ИЗМЕНЕНИЯ.md) и [БЕЗОПАСНОСТЬ.md](БЕЗОПАСНОСТЬ.md).
|
|
|
|
---
|
|
|
|
**Поддерживается и развивается с помощью [REDL.IO](https://redl.io) — Хостинг с искусственным интеллектом.**
|