<p align="right">
  <a href="README.md"><img alt="Read in English" src="https://img.shields.io/badge/%F0%9F%87%AC%F0%9F%87%A7%20Read%20in%20English-2867c4?style=for-the-badge"></a>
</p>

# HostinPL 5.6 · Панель управления игровым хостингом · сборка REDL

**Основа: HostinPL 5.6** (оригинал — Samir Shelenko и Alexander Zemlyanoy, написан под Debian 9 /
PHP 7.0) — приведён в рабочее состояние на современном стеке, проверен и описан. Нумерация версии
взята от оригинала: это 5.6, наши правки лежат поверх неё.

> 🇬🇧 **[English version of this page → README.md](README.md)**

Панель для продажи и управления игровыми серверами: 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) | Полная инструкция: установка, подключение ноды, настройка, обслуживание |

---

## Скриншоты

Каждый раздел панели снят на двух языках — по 38 кадров на язык:

| | |
|---|---|
| [![Вход](docs/screenshots/ru/00-login.png)](docs/screenshots/ru/00-login.png)<br>Страница входа | [![Кабинет](docs/screenshots/ru/01-cabinet.png)](docs/screenshots/ru/01-cabinet.png)<br>Личный кабинет |
| [![Заказ сервера](docs/screenshots/ru/03-server-order.png)](docs/screenshots/ru/03-server-order.png)<br>Заказ игрового сервера | [![Админка](docs/screenshots/ru/11-admin-dashboard.png)](docs/screenshots/ru/11-admin-dashboard.png)<br>Главная админки |
| [![Статистика](docs/screenshots/ru/24-admin-statistics.png)](docs/screenshots/ru/24-admin-statistics.png)<br>Статистика | [![Переключатель капчи](docs/screenshots/ru/28-admin-settings-other-captcha.png)](docs/screenshots/ru/28-admin-settings-other-captcha.png)<br>Переключатель капчи в админке |

**Полные галереи:** [🇷🇺 русская](docs/screenshots/README.ru.md) · [🇬🇧 английская](docs/screenshots/README.md)

---

## Какие игры доступны

В каталоге панели одиннадцать игр. У каждой свой query-драйвер (панель сама читает онлайн игроков
и карту), свои диапазоны портов и слотов и свои лимиты ресурсов по умолчанию.

| Игра | Код | Query-протокол | Слоты | Порты |
|------|-----|----------------|-------|-------|
| San Andreas: Multiplayer 0.3.7 | `samp` | samp | 50–1000 | 7777–9999 |
| Criminal Russia: Multiplayer 0.3e | `crmp` | samp | 50–500 | 3335–7000 |
| Criminal Russia: Multiplayer 0.3.7 | `crmp037` | samp | 50–500 | 3335–7000 |
| United Multiplayer | `unit` | samp | 50–500 | 7777–9999 |
| Multi Theft Auto | `mta` | mtasa | 50–1000 | 25020–80520 |
| Minecraft (Java) | `mine` | mine | 10–100 | 12410–55641 |
| Minecraft: Pocket Edition | `mcpe` | mine | 10–100 | 12410–55641 |
| Counter-Strike 1.6 | `cs` | valve | 6–32 | 27016–30550 |
| Counter-Strike: Source | `css` | valve | 6–32 | 27016–30550 |
| Counter-Strike: Global Offensive | `csgo` | valve | 6–32 | 27016–30550 |
| GTA V: RAGE MP | `ragemp` | ragemp | 50–500 | 22000–25000 |

Ядро сервера клиент меняет в один клик, не заказывая новый сервер:

* **Minecraft (Java)** — CraftBukkit 1.7.10 / 1.8 / 1.13.2, Spigot 1.7.10 / 1.9.4 / 1.16.1, Vanilla 1.7.10 / 1.15.1
* **Minecraft: PE** — сборки Genisys и Nukkit
* **Counter-Strike** — чистая сборка из SteamCMD, плюс переключатель античита VAC и FastDL
* **RAGE:MP** — NodeJS-модули ставятся со страницы управления сервером

В свежей установке все игры **выключены** (`Админка → Игры → статус`) — включайте те, под которые
у вас есть нода и сборки. Сами сборки игр в комплект не входят, см. «Что не работает» ниже.

---

## Требования

**Для панели** (сам сайт и база — 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-авторизация** требуют ваших собственных ключей и мерчант-аккаунтов.

---

## Что планируем дальше

1. **Больше игр — по просьбам людей.** Одиннадцать игр выше — это то, с чем панель пришла.
   Добавить игру = строка в каталоге плюс query-драйвер и сборки, так что список задуман
   расширяемым: скажите, какую игру хотите, и она встанет в очередь. Очевидные кандидаты —
   Rust, ARK, Terraria, Valheim, Garry's Mod, Team Fortress 2, FiveM и Minecraft: Bedrock.
2. **Современные платёжные системы: PayPal, Stripe и Lava.** Сейчас в панели только российские
   шлюзы её первоначального автора (Unitpay, Enot, AnyPay, LiteKassa, RoboKassa, FreeKassa,
   YooKassa, QIWI). PayPal и Stripe открывают приём карт по всему миру, Lava закрывает Россию
   и СНГ — вместе они позволяют принимать деньги не только в одном регионе.

Приоритеты другие? Откройте issue в репозитории.

---

## Коротко об отличиях от оригинала

* Работает на **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) — Хостинг с искусственным интеллектом.**
