Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!
Иконка ресурса

Madona - Remote terminal (Escape from Tarkov web event) 1.0.0

Версия PHP
  1. 8.0
  2. 8.3
Это веб-терминал с аутентификацией. Страница использовалась в старых ивентах на маленькой аудитории.

Дизайн и идея позаимствованы от разработчиков Escape from Tarkov. Они проводили/проводят подобный ивент с сюжетной линией завязанной на игре, со входом в терминал, поиске подсказок в игре и внутри терминала. Попытался повторить их логику сайта легким набором инструментов. Сайт имитирует интерфейс командной строки, вводит команды и смотрит анимированный bg.

1776369732667.png

1776369740800.png

- Как запустить
Настроить config/config.php под ваш сервер MYSQL
Написать логику ajax.php под ваш ивент (примеры внутри доступны)
Загрузить на веб сервер

- Стек
Backend | PHP 8.0+
MySQL 5.7+ / 8.0+
DB | PDO
Frontend | jQuery 4.0, Vanilla JS, CSS3

- Структура проекта
terminaljs-main/
├── ajax.php - API-endpoint
├── index.php - Frontend, генерация сессии
├── dump.sql - Дамп БД
├── config/
│ └── config.php - Настройка БД
├── includes/
│ ├── bootstrap.php - Инициализация
│ └── DB.php - PDO обертка
└── assets/ - прочее

- Расширения PHP
pdo
pdo_mysql
session
fileinfo (необязательно, в моей логике для getimagesize()) + allow_url_fopen = On в php.ini

- На будущее (что стоит исправить)
MySQL max_connections - каждый запрос к ajax.php новое соединение Mysql. При default настройке max_connections = 151, количество одновременных запросов равно числу этого значения. При высокой нагрузке прочие соединения просто будут дропаться (Too many connections).
Решение 1: настройки сервера + в includes/DB.php делаем пул соединений PDO::ATTR_PERSISTENT => true,
Решение 2 (мое на проде): прокидывать все подключения через nodejs пул по старинке. кода нет, реализовывать самостоятельно.
Нет прав для скачивания
Автор
theseus
Скачивания
0
Просмотры
28
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок
Сверху