Перевод панели доведён до конца, скриншоты всех разделов, английское описание главным
Перевод
* Полный обход исходников скриптом, повторяющим логику подстановки: было
видно 681 строку, которая осталась бы русской. Переведены все — словарь
вырос с 640 до 1304 записей.
* Покрыты разделы, которых раньше не было в проверке: консоль сервера с
описанием всех RCON-команд, планировщик задач, файрвол, базы MySQL, FTP,
автоустановка модов, совладельцы, статистика сервера, страница аккаунта,
сообщения планировщика и все письма.
* Убран ключ-предлог 'в' => 'at': он подменялся ВНУТРИ ещё не переведённых
предложений и давал «at поле имя пользователя». Служебные слова переводятся
только вместе с фразой.
* Формат даты 'd.m.Y в H:i' содержал русское «в» между датой и временем —
теперь проходит через t() (31 вызов date() в 20 файлах), в английском
режиме получается 30.07.2026 14:22.
* Абзацы FAQ разбиты по строкам вёрстки, атрибуты placeholder и tooltip
добавлены отдельными ключами — раньше они не попадали в разбор.
* Живой обход 45 страниц в английском режиме: русскими остались 4 места, и
все намеренно — подпись «Русский» у переключателя, коды языков игрового
сервера в FAQ и регулярное выражение проверки имени.
Скриншоты
* docs/screenshots/{ru,en} — по 38 кадров: вход, регистрация, восстановление
пароля, кабинет, заказ сервера, новости, статус, тикеты, FAQ, веб-хостинг и
вся админка вместе со скрытыми вкладками настроек и переключателем капчи.
* docs/screenshots/README.md и README.ru.md — галереи, где каждый раздел
показан на двух языках рядом.
Документация
* README.md теперь английский (главное описание), русский переехал в
README.ru.md; в начале каждого — кнопка на другой язык.
* Добавлен раздел о доступных играх: 11 игр каталога с кодами,
query-протоколами, диапазонами слотов и портов, плюс список ядер, которые
клиент переключает в один клик.
* Добавлен раздел планов: больше игр по просьбам людей и современные
платёжные системы — PayPal, Stripe, Lava.
Поддерживается и развивается с помощью REDL.IO.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,78 +1,129 @@
|
||||
**Русский** · [English](README.en.md)
|
||||
<p align="right">
|
||||
<a href="README.ru.md"><img alt="Читать по-русски" src="https://img.shields.io/badge/%F0%9F%87%B7%F0%9F%87%BA%20%D0%A7%D0%B8%D1%82%D0%B0%D1%82%D1%8C%20%D0%BF%D0%BE--%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8-2867c4?style=for-the-badge"></a>
|
||||
</p>
|
||||
|
||||
# Панель управления игровым хостингом · сборка REDL
|
||||
# Game Hosting Control Panel · REDL build
|
||||
|
||||
Панель для продажи и управления игровыми серверами: SA-MP, CRMP, MTA, Minecraft, CS 1.6, CS:S, RAGE:MP.
|
||||
Личный кабинет клиента, тикеты, платёжные системы, автоматическое создание серверов на игровых нодах.
|
||||
> 🇷🇺 **[Русская версия этого описания → README.ru.md](README.ru.md)**
|
||||
|
||||
**Поддерживается и развивается с помощью [REDL.IO](https://redl.io) — Хостинг с искусственным интеллектом.**
|
||||
A control panel for selling and managing game servers: SA-MP, CRMP, MTA, Minecraft, CS 1.6, CS:S, RAGE:MP.
|
||||
Client area, ticket system, payment gateways, automated game server deployment onto game nodes.
|
||||
|
||||
Эта сборка — модернизация панели HostinPL 5.6: оригинал написан под Debian 9 и PHP 7.0 (сняты с поддержки в 2022 году)
|
||||
и на современном сервере просто не запускался. Здесь он приведён в рабочее состояние на актуальном стеке,
|
||||
закрыты найденные уязвимости и добавлены установщики в один клик.
|
||||
**Maintained and developed with [REDL.IO](https://redl.io) — AI-powered hosting.**
|
||||
|
||||
This build is a modernisation of the HostinPL 5.6 panel. The original was written for Debian 9 and PHP 7.0
|
||||
(both end-of-life since 2022) and simply would not start on a current server. Here it runs on an up-to-date
|
||||
stack, the vulnerabilities we found are fixed, and one-click installers are included.
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ Правовой статус — прочитайте до установки
|
||||
## ⚠️ Legal status — read this before installing
|
||||
|
||||
Оригинальная панель **HostinPL 5.6 — коммерческий проприетарный продукт**. Авторы: Samir Shelenko и
|
||||
Alexander Zemlyanoy. Файл `panel/LICENSE` — их лицензия, и разрешения на распространение или изменение
|
||||
она не даёт.
|
||||
The original **HostinPL 5.6 is a commercial, proprietary product**. Its authors are Samir Shelenko and
|
||||
Alexander Zemlyanoy. The file `panel/LICENSE` is their licence, and it grants no permission to
|
||||
redistribute or modify the software.
|
||||
|
||||
Исходники, лежащие в основе этой сборки, распространялись как «nulled» — то есть это взломанная копия
|
||||
платного продукта, выложенная без согласия авторов. Мы этого не скрываем и не переписываем историю:
|
||||
авторские копирайт-заголовки в коде сохранены как есть, они специально не удалялись.
|
||||
The sources this build is based on were circulated as "nulled" — a cracked copy of a paid product,
|
||||
published without the authors' consent. We are not hiding that or rewriting history: the authors'
|
||||
copyright headers are preserved throughout the code and were deliberately not removed.
|
||||
|
||||
Что это значит на практике:
|
||||
What this means in practice:
|
||||
|
||||
* использование в коммерческом хостинге — нарушение авторских прав со всеми вытекающими рисками;
|
||||
* легальный путь — купить лицензию у авторов либо взять открытую альтернативу (Pterodactyl, Pelican);
|
||||
* этот репозиторий имеет смысл только для изучения кода, аудита и внутренних экспериментов.
|
||||
* using it for commercial hosting infringes copyright, with all the risks that follow;
|
||||
* the legal route is to buy a licence from the authors, or use an open-source alternative
|
||||
(Pterodactyl, Pelican);
|
||||
* this repository is only useful for studying the code, auditing it, and internal experiments.
|
||||
|
||||
Ответственность за использование лежит на том, кто устанавливает.
|
||||
Responsibility for use rests with whoever installs it.
|
||||
|
||||
---
|
||||
|
||||
## Что в репозитории
|
||||
## What is in this repository
|
||||
|
||||
| Путь | Что это |
|
||||
|------|---------|
|
||||
| `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) | Полная инструкция: установка, подключение ноды, настройка, обслуживание |
|
||||
| Path | What it is |
|
||||
|------|------------|
|
||||
| `install-panel.sh` | One-click panel install (nginx + PHP 8 + MariaDB + scheduler + admin user) |
|
||||
| `install-node.sh` | One-click game node install (Docker + image + directories + SSH/FTP + SteamCMD) |
|
||||
| `panel/` | Panel source code with all of our changes |
|
||||
| `docker/Dockerfile` | Modern game server image (Debian 12; the original stretch-based one no longer builds) |
|
||||
| `docker/Dockerfile.original-stretch` | The original Dockerfile, kept for comparison |
|
||||
| [`CHANGES.en.md`](CHANGES.en.md) | Full list of differences from the original |
|
||||
| [`SECURITY.en.md`](SECURITY.en.md) | Audit results: vulnerabilities, backdoors, what was fixed |
|
||||
| [`GUIDE.en.md`](GUIDE.en.md) | Complete guide: install, connecting a node, configuration, maintenance |
|
||||
|
||||
---
|
||||
|
||||
## Требования
|
||||
## Screenshots
|
||||
|
||||
**Для панели** (сам сайт и база — Docker не нужен):
|
||||
Every section of the panel, captured in both languages — 38 screenshots per language:
|
||||
|
||||
* Ubuntu 24.04 / 22.04 или Debian 12 / 13
|
||||
* 1 ядро, 1 ГБ ОЗУ, 10 ГБ диска
|
||||
* Подойдёт любой VPS, включая контейнерный (LXC/OpenVZ)
|
||||
| | |
|
||||
|---|---|
|
||||
| [](docs/screenshots/en/00-login.png)<br>Login page | [](docs/screenshots/en/01-cabinet.png)<br>Client area |
|
||||
| [](docs/screenshots/en/03-server-order.png)<br>Ordering a game server | [](docs/screenshots/en/11-admin-dashboard.png)<br>Admin dashboard |
|
||||
| [](docs/screenshots/en/24-admin-statistics.png)<br>Statistics | [](docs/screenshots/en/28-admin-settings-other-captcha.png)<br>The captcha switch in the admin area |
|
||||
|
||||
**Для игровой ноды** (там крутятся сами игровые сервера):
|
||||
|
||||
* Ubuntu 24.04 / 22.04 или Debian 12 / 13
|
||||
* 2 ядра, 2 ГБ ОЗУ, 100 ГБ диска (считайте 1–2 ГБ на игровой сервер)
|
||||
* **Обязательно полный доступ к ядру: выделенный сервер или KVM.**
|
||||
Панель создаёт на каждый игровой сервер отдельный Docker-контейнер, а в контейнерном VPS
|
||||
(LXC/OpenVZ) Docker не запускается — ядро запрещает вложенные namespace. Установщик это проверяет
|
||||
и честно предупредит.
|
||||
|
||||
Панель и нода могут быть одной машиной, но лучше разными: сайт можно держать на дешёвом VPS,
|
||||
а под игры взять железо.
|
||||
**Full galleries:** [🇬🇧 English](docs/screenshots/README.md) · [🇷🇺 Russian](docs/screenshots/README.ru.md)
|
||||
|
||||
---
|
||||
|
||||
## Установка в один клик
|
||||
## Supported games
|
||||
|
||||
### Панель
|
||||
Eleven games ship in the panel's catalogue. Each one has its own query driver (so the panel can read
|
||||
online player counts and the map), its own port and slot ranges, and its own default resource limits.
|
||||
|
||||
| Game | Code | Query protocol | Slots | Port range |
|
||||
|------|------|----------------|-------|------------|
|
||||
| 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 |
|
||||
|
||||
The client can switch the server core in one click, without ordering a new server:
|
||||
|
||||
* **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 and Nukkit builds
|
||||
* **Counter-Strike** — a clean build from SteamCMD, plus the VAC anti-cheat toggle and FastDL
|
||||
* **RAGE:MP** — NodeJS modules are installed from the server management page
|
||||
|
||||
Every game is **disabled** in a fresh install (`Admin → Games → status`) — switch on the ones you
|
||||
have a node and server files for. The game files themselves are not shipped, see
|
||||
"What does not work" below.
|
||||
|
||||
---
|
||||
|
||||
## Requirements
|
||||
|
||||
**For the panel** (the website and database — Docker is not needed):
|
||||
|
||||
* Ubuntu 24.04 / 22.04 or Debian 12 / 13
|
||||
* 1 core, 1 GB RAM, 10 GB disk
|
||||
* Any VPS will do, including container-based ones (LXC/OpenVZ)
|
||||
|
||||
**For a game node** (this is where the game servers actually run):
|
||||
|
||||
* Ubuntu 24.04 / 22.04 or Debian 12 / 13
|
||||
* 2 cores, 2 GB RAM, 100 GB disk (budget 1–2 GB per game server)
|
||||
* **Full kernel access is mandatory: a dedicated server or KVM.**
|
||||
The panel creates a separate Docker container for every game server, and Docker does not start
|
||||
inside a container-based VPS (LXC/OpenVZ) — the kernel forbids nested namespaces. The installer
|
||||
checks for this and tells you plainly if the machine is unsuitable.
|
||||
|
||||
The panel and a node can share one machine, but separating them is better: keep the website on a
|
||||
cheap VPS and put the games on real hardware.
|
||||
|
||||
---
|
||||
|
||||
## One-click install
|
||||
|
||||
### Panel
|
||||
|
||||
```bash
|
||||
apt-get update && apt-get install -y git
|
||||
@@ -81,18 +132,18 @@ cd redl-gamepanel
|
||||
sudo bash install-panel.sh
|
||||
```
|
||||
|
||||
Скрипт спросит только адрес панели, e-mail и пароль администратора — дальше всё сам:
|
||||
поставит nginx, PHP 8 и MariaDB, создаст базу со случайным паролем, загрузит схему, настроит
|
||||
конфиг и планировщик, поднимет сторож автозапуска, создаст администратора и проверит,
|
||||
что страница входа реально открывается.
|
||||
The script asks only for the panel address, the administrator e-mail and password — everything else
|
||||
is automatic: it installs nginx, PHP 8 and MariaDB, creates a database with a random password, loads
|
||||
the schema, writes the configuration and the scheduler, sets up an autostart watchdog, creates the
|
||||
administrator, and verifies that the login page actually opens.
|
||||
|
||||
Панель работает на нестандартном порту, если задать его переменной:
|
||||
To run the panel on a non-standard port, set it via an environment variable:
|
||||
|
||||
```bash
|
||||
sudo PORT=8095 bash install-panel.sh
|
||||
```
|
||||
|
||||
### Игровая нода
|
||||
### Game node
|
||||
|
||||
```bash
|
||||
git clone https://github.com/RedlHosting/redl-gamepanel.git
|
||||
@@ -100,60 +151,76 @@ cd redl-gamepanel
|
||||
sudo bash install-node.sh
|
||||
```
|
||||
|
||||
В конце скрипт напечатает IP, логин и пароль SSH — их нужно вбить в панели:
|
||||
**Админка → Локации → Добавить локацию**. Подробнее — в [ИНСТРУКЦИЯ.md](ИНСТРУКЦИЯ.md).
|
||||
At the end the script prints the IP, SSH login and password — enter those in the panel under
|
||||
**Admin → Locations → Add location**. See [GUIDE.en.md](GUIDE.en.md) for details.
|
||||
|
||||
---
|
||||
|
||||
## Что уже работает
|
||||
## What already works
|
||||
|
||||
* Вход, регистрация, восстановление пароля — **без капчи** (включается из админки, см. ниже)
|
||||
* Личный кабинет: баланс, счета, переводы, бонусы, промокоды, реферальная система
|
||||
* Тикет-система с категориями и вложениями
|
||||
* Админка: пользователи, сервера, локации, игры, новости, статистика, промокоды, настройки
|
||||
* Проверка системы (Админка → Проверка системы) — все пункты зелёные
|
||||
* Платёжные системы: Unitpay, Enot, AnyPay, LiteKassa, RoboKassa, FreeKassa, Юkassa, QIWI
|
||||
(реквизиты вписываются в админке; ни один шлюз мы не тестировали живыми платежами)
|
||||
* Веб-хостинг (раздел WEB) — через ISPmanager на отдельной машине
|
||||
* Планировщик: статистика, задачи, автоотключение просроченных серверов
|
||||
* **Два языка интерфейса: русский и английский**, с автоопределением по браузеру
|
||||
и переключателем в шапке (см. [ИНСТРУКЦИЯ.md](ИНСТРУКЦИЯ.md))
|
||||
* Login, registration, password recovery — **without a captcha** (it is enabled from the admin area, see below)
|
||||
* Client area: balance, invoices, transfers, bonuses, promo codes, referral system
|
||||
* Ticket system with categories and attachments
|
||||
* Admin area: users, servers, locations, games, news, statistics, promo codes, settings
|
||||
* System check (Admin → System check) — every item green
|
||||
* Payment gateways: Unitpay, Enot, AnyPay, LiteKassa, RoboKassa, FreeKassa, YooKassa, QIWI
|
||||
(credentials are entered in the admin area; we did not test any gateway with a real payment)
|
||||
* Web hosting (the WEB section) — via ISPmanager on a separate machine
|
||||
* Scheduler: statistics, tasks, automatic suspension of expired servers
|
||||
* **Two interface languages: Russian and English**, with automatic detection from the browser
|
||||
and a switcher in the header (see [GUIDE.en.md](GUIDE.en.md))
|
||||
|
||||
### Капча — выключена, включается одним переключателем
|
||||
### The captcha is off and is enabled with a single switch
|
||||
|
||||
По умолчанию капчи нет нигде: ни при входе, ни при регистрации, ни в тикетах — поля просто
|
||||
не существует. Когда понадобится:
|
||||
By default there is no captcha anywhere — not on login, registration or tickets; the field simply
|
||||
does not exist. When you need it:
|
||||
|
||||
1. Получите ключи reCAPTCHA v2 («Я не робот») на [google.com/recaptcha](https://www.google.com/recaptcha/admin)
|
||||
2. **Админка → Настройки → Прочие настройки → «Защита от ботов (reCAPTCHA v2)»**
|
||||
3. Вставьте Site key и Secret key, переключите на «Включена», сохраните
|
||||
1. Get reCAPTCHA v2 ("I'm not a robot") keys at [google.com/recaptcha](https://www.google.com/recaptcha/admin)
|
||||
2. Go to **Admin → Settings → Other settings → "Bot protection (reCAPTCHA v2)"**
|
||||
3. Paste the Site key and the Secret key, switch it to "Enabled", save
|
||||
|
||||
Порядок важен: сначала ключи, потом переключатель — иначе на форме появится
|
||||
«ERROR for site owner: Invalid site key» и войти будет нельзя.
|
||||
The order matters: keys first, switch second — otherwise the form shows
|
||||
"ERROR for site owner: Invalid site key" and nobody can log in.
|
||||
|
||||
## Что не работает
|
||||
## What does not work
|
||||
|
||||
* **Создание игровых серверов на контейнерном VPS.** Нужна нода с настоящим Docker
|
||||
(дедик или KVM) — причина описана в требованиях.
|
||||
* **Сборки игр в комплект не входят.** В оригинальном установщике они качались с посторонних
|
||||
сайтов по обычному HTTP без проверки подписи — мы этот способ убрали (см. [БЕЗОПАСНОСТЬ.md](БЕЗОПАСНОСТЬ.md)).
|
||||
Сборки нужно положить в `/home/cp/gameservers/files/<код_игры>/` самостоятельно.
|
||||
* **Платежи и VK-авторизация** требуют ваших собственных ключей и мерчант-аккаунтов.
|
||||
* **Creating game servers on a container-based VPS.** You need a node with real Docker
|
||||
(dedicated or KVM) — see Requirements for why.
|
||||
* **Game server files are not included.** The original installer downloaded them from third-party
|
||||
sites over plain HTTP with no signature checking, so we removed that (see [SECURITY.en.md](SECURITY.en.md)).
|
||||
You need to place the files into `/home/cp/gameservers/files/<game_code>/` yourself.
|
||||
* **Payments and VK login** require your own keys and merchant accounts.
|
||||
|
||||
---
|
||||
|
||||
## Коротко об отличиях от оригинала
|
||||
## Planned next
|
||||
|
||||
* Работает на **PHP 8.4** вместо PHP 7.0 — обход всех 21 раздела панели даёт ноль ошибок в логе
|
||||
* **Установщик переписан с нуля**: оригинальный затирал `/etc/apt/sources.list` репозиториями
|
||||
Debian 9 и ломал apt на любой современной системе
|
||||
* **Закрыты две SQL-инъекции, доступные без авторизации**, и убрано хранение паролей в открытом виде
|
||||
* Капча стала управляемой из админки
|
||||
* Русский и английский интерфейс с автоопределением языка
|
||||
* Планировщик и автозапуск работают и там, где нет systemd
|
||||
1. **More games — by request.** The eleven games above are the ones the panel came with. Adding a
|
||||
game means one row in the catalogue plus a query driver and server files, so the list is meant to
|
||||
grow: tell us which game you want and it goes into the queue. Rust, ARK, Terraria, Valheim,
|
||||
Garry's Mod, Team Fortress 2, FiveM and Minecraft: Bedrock are the obvious candidates.
|
||||
2. **Modern payment gateways: PayPal, Stripe and Lava.** Right now the panel only has the Russian
|
||||
gateways of its original author (Unitpay, Enot, AnyPay, LiteKassa, RoboKassa, FreeKassa, YooKassa,
|
||||
QIWI). PayPal and Stripe open up card payments worldwide, Lava covers Russia and the CIS —
|
||||
together they let the panel take money outside a single region.
|
||||
|
||||
Полностью — в [ИЗМЕНЕНИЯ.md](ИЗМЕНЕНИЯ.md) и [БЕЗОПАСНОСТЬ.md](БЕЗОПАСНОСТЬ.md).
|
||||
Have a different priority? Open an issue in the repository.
|
||||
|
||||
---
|
||||
|
||||
**Поддерживается и развивается с помощью [REDL.IO](https://redl.io) — Хостинг с искусственным интеллектом.**
|
||||
## Differences from the original, in brief
|
||||
|
||||
* Runs on **PHP 8.4** instead of PHP 7.0 — a walk through all 21 sections of the panel produces
|
||||
zero errors in the log
|
||||
* **The installer was rewritten from scratch**: the original overwrote `/etc/apt/sources.list` with
|
||||
Debian 9 repositories and broke apt on any current system
|
||||
* **Two pre-authentication SQL injections were fixed**, and plaintext password storage was removed
|
||||
* The captcha became manageable from the admin area
|
||||
* Russian and English interface with automatic language detection
|
||||
* The scheduler and autostart work even where systemd is absent
|
||||
|
||||
The full list is in [CHANGES.en.md](CHANGES.en.md) and [SECURITY.en.md](SECURITY.en.md).
|
||||
|
||||
---
|
||||
|
||||
**Maintained and developed with [REDL.IO](https://redl.io) — AI-powered hosting.**
|
||||
|
||||
Reference in New Issue
Block a user