[24.01.2024 UPD]Матчмейкинг система / Полная установка и разбор полетов.

Модуль [24.01.2024 UPD]Матчмейкинг система / Полная установка и разбор полетов. 1.0.2.a

Нет прав для скачивания
Совместимость
  1. Лицензия
  2. Пиратская [Null]
  • Плагин CS:GO который напрямую уже работает с системой, но нужно доработать некоторые функции, а именно где будет получен matchid и произойдет удаление из БД путем срабатывания функции в плагине. Написать нее сложно. Если прям нужно будет, выложу пример =
  • Плагин CS 1.6 надо пилить новые функции, сама система готова =
  • Плагин CS:S надо допиливать функции преобразования матча =

Всем привет, я являюсь разработчиком данной системы.
Мой пользовательский ник x777xx либо FEGG ))
Кто желает узнать что то подробно про его работу и тому подобное, есть даже вариант показать как это все работает))
Пишите мне в Telegram: @admfegg

Сейчас ведется разработка под CS2, будет полный пакет готов в марте месяце я думаю.
Пока не могу сказать на сколько все будет работать классно. Хотелось бы от Вас услышать предложения по дополнениям данной системки))

Шапка сайта с виджетом поиска!
1705329357082.png

Страница с игровыми комнатами:
1705329394774.png

Страница просмотра лайв игры комнат
1705329428955.png

Сама комната запущенного матча от лица игрока:
1705329549824.png




Полное описание данного модуля так сказать вот:
- Система поиска матча с игроками
- Система игровых комнат
— Модель отдельного чата для каждой игровой комнаты матча
- Система автовыдачи игрового свободного сервера
- Плагин проверяющий подключение игроков которые регались на матч: это щас актуально под CS:GO (Идет реконструкция под CS2)
- Система бэкапов
- Полное управление матчами и комнатами, играми в целом
- Вывод статистики игроков по определенному матчу
- Вывод статистики матча
- Просмотр сыгранных последних матчей
-LiveTIme просмотр комнаты любым пользователем
-Система автоматическая, сервера работают те которые добавлены в список серверов через сам UniGCMS либо GCMS | - обязательно должны быть rcon пароли на серверах.
-Данный модуль не будет работоспособен без основного плагина CS:GO SourceMod - переделанный с просторов интернета шаровый плагин WarMod )) (Если найду Сурс и плагин в дампах выложу сюда)

Если вдруг у кого то есть желание поддержать мою работу, предложить что то еще, то прошу Вас сюда: Telgram @admfegg

Хочу добавить от себя. Если вдруг кто то желает открыть проект с данной системой под CS2 CS:S - "любой каприс за Ваши деньги" могу помочь с реализацией, не бесплатно "Бесплатный сыр - только в мышеловке".
Установка и настройка
Дополнение: Перейдя в БД а именно в таблицу config в структуре в конце есть поле queue_status -переключение 1 или 0, где 1 - не доступна кнопка "ПОИСК" - будет писать ЗАКРЫТО, для тех работ; Где 0 - Доступна кнопка "ПОИСК" и доступна очередь) Кто смышленый сможет вывести кнопку в админ центр)
А теперь пожалуй начнем с установки и разборов полетов:
Что за что отвечает и как оно работает:
1.Все основные файлы хранятся в папке ваш_сайт/ajax/queue
1.1. Файл: action_a.php - отвечает за преобразование пользователей в игровой комнате, выводит список согласно регистрированному матчу.
1.2.Файл: action_b.php - отвечает за выгрузку сообщений в чат игровой комнаты. С ним связующий файл action_c.php - отвечающий за отправку сообщений в чат в игровой комнате.
1.3.Файл: action_play.php - файл отвечающий за срабатывание клавиши "Поиск", данный файл делает соответствующие записи в БД и запускает очередь.
1.4.Файл: action_play_stop.php - отвечает за срабатывание клавиши "Отменить", данный файл убирает Вас из очереди и удаляет соответствующие записи из БД.
1.5.Файл: check_queue.php - проверяет число пользователей в очереди, и выводит на главную страницу число игроков находящихся в очереди.
1.6.Файл: check_user_queue.php - проверяет ники пользователей вставших в очередь (может отображать, при наведении на число пользователей в поиске, список ников в очереди). изначально отключено. Прикрутить не сложно через редактор шаблона.
1.7.Файл: counts.php - файл отвечающий за привязку игрового сервера к игровой комнате - файл лучше оставить без изменений 😀
1.8.Файл: get_queue_count.php - вот этот файл отвечает за регистрацию комнаты и игроков путем выбора 10 человек из поиска. И он же выдает уникальный код для игровой комнаты
1.9.Файл: match_room.php - отвечает за вывод информации в игровой комнате. А именно статус матча: "Запущен", "Окончен".
1.10.Файл: match_score.php - файл говорит сам за себя. Выводит онлайн счет игры в игровую комнату матча.
1.11.Файл: mess.php - вывод списка сообщений комнаты.
1.12.Файл: queue_cheker.php - проверка на пользователя в очереди, доп.файл к check_queue.php : не важно))
1.13.Файл: set_status_queue.php - задает пользователям статус игры: "Запущен,Играет,Окончен" - не на что не влияет, хотя могу ошибаться не помню)
1.14.Файл: start_match.php - очень важный файл, он выдает игровой сервер, выполняет функцию автоматического запуска игры на сервере через RCON запросы, а также записывает игровой сервер в статус матча по уникальному коду. - НАСТРАИВАЕМЫЙ ФАЙЛ!
1.15.Файл: start_match_server.php - файл отвечает за создания .json файла для дальнейшей подгрузки матча с указанными игроками из игровой комнаты. Он создает в папке matchs файл с уникальным кодом xxxxx.json - где указываются все настройки матча: Карты для выбора, стим ид, список игроков, команд и тд тп! Файл срабатывает с файлом start_match.php
1.20A. Интересные папки находиться в ajax/queue/ - и эти папки SourceQuery и Vendor - это библиотеки которые выполняют функцию запросов RCON На сервер. Актуально по сей день))
2.0. Игровые комнаты: Они выдаются каждому матчу со своим уникальным кодом, и номером комнаты, также эти комнаты отслеживаются по адресу: https://ваш_сайт.xx/playmm - на этой старнице, пользователи с флагами администратора, могут удалять игровые комнаты, пользователи с обычными правами могут просматривать в лайве комнаты, работает по принципу запроса через ID комнаты - https://ваш_сайт.xx/elo_stats?id=10001 где id= это айди созданной комнаты!
2.1. Виджет на сайте с выводом информации о наличии игроков в поиске, о наличии игровых серверов и их количество, а также сколько сейчас проходит матчей.


2.2. Используется основной плагин под CS:GO - GET5 System - от разработчика splewis и работает она только под ксго. Но мною была система немного переделана под этот модуль. И исходных файлов возможно не осталось, ни плагина и самого source кода. (Вообще данный модуль можно реализовать спокойной под любую версию игры, от CS1.6 до CS2)

НА ЭТОМ ПОЖАЛУЙ ВСЕ! - основные файлы указаны, и расписаны. В дампе который выложили ранее, есть некоторые лишние файлы, не суть)


Переходим на установку данной системы
1.Нам нужны прямые руки, и голова на плечах - шутка.... А может и нет!
2.Исходные файлы модуля, загружаются согласно расположению файлов по папке ajax/queue/
3.В базу данных вноситься 4-основных таблицы для работы модуля. это match_room, queue, queue_match, match_room_message.
4.Создается через базу данных 3 новые страницы системные это: elo_stats и match_room, и playmm
5.Загружаем в шаблон также 3 основных файла аналогичные страницам - адаптировано под шаблон DarkMound
6.Добавляем этот код где хотим видеть виджет с кнопкой "Поиск", а также информацию о серверах.
ВОТ САМ КОД!:
<li class="balance" style="border-style: solid 1px;">
            <?php $STHX = $pdo->prepare("SELECT * FROM `servers` WHERE `game` = 'Counter-Strike: Global Offensive'");
                $row = $STHX->fetch(); $STHX->execute();
                $insertedRows = $STHX->rowCount();
                ?>
          <i class="fa-solid fa-server fa-beat" aria-hidden="true" style="margin-right:10px;color:#05eefe;"></i><?php echo $insertedRows;?>
        <?php $STH = $pdo->query("SELECT * FROM `queue` ORDER BY `id` DESC ");$STH->execute(); $list = $STH->fetchAll(PDO::FETCH_ASSOC);?>
          <?php $STHZ = $pdo->prepare("SELECT * FROM `match_room` WHERE `status` = 4"); $STHZ->setFetchMode(PDO::FETCH_OBJ);
                $STHZ->execute();
                $insertedRows = $STHZ->rowCount();?>
          <i class="fa-solid fa-gamepad fa-beat" aria-hidden="true" style="margin-right:10px;margin-left:10px;color:#05eefe;"></i><?php echo $insertedRows;?>
        <i class="fas fa-spinner fa-spin"  aria-hidden="true" style="margin-right:10px;margin-left:10px; color:#05eefe;"></i><b id="count_queue"></b>
       
            <?php
                $STHQQ = $pdo->prepare("SELECT * FROM `config` WHERE `id` = '1'");
                $STHQQ->execute();
                $STHQQ->setFetchMode(PDO::FETCH_OBJ);
                $rowa = $STHQQ->fetch(PDO::FETCH_ASSOC);
                $queue_status = $rowa['queue_status'];
 
                $STHZ = $pdo->prepare("SELECT * FROM `queue` WHERE `login`= '{login}' LIMIT 1"); $STHZ->setFetchMode(PDO::FETCH_OBJ);
                $row = $STHZ->fetch();
                $STHZ->execute();
                $insertedRows = $STHZ->rowCount();
                $STHA = $pdo->prepare("SELECT * FROM `queue_match` WHERE `login`= '{login}' AND `status` = 1 LIMIT 1"); $STHA->setFetchMode(PDO::FETCH_OBJ);
                $rows = $STHA->fetch();
                $STHA->execute();
                $insertedRowses = $STHA->rowCount();

       

            if($insertedRows <= 0 && $insertedRowses <= 0 && $queue_status != 0) { ?>
            <a href="../" id="button" class="pursee-button" style="width: auto;height: 30px;text-align: center;padding: 10px;background:#009000;">▶ ИГРАТЬ</a>
             <?php } else if($insertedRows > 0 && $queue_status != 0){ ?>
            <a href="../" id="buttons" class="pursee-button" style="width: auto;height: 30px;text-align: center;padding: 10px;">🗙 ОТМЕНИТЬ</a>
             <?php } else if($insertedRowses > 0 && $insertedRows <= 0){ ?>
            <a href="../match_room" class="pursee-button" style="width: auto;height: 30px;text-align: center;padding: 10px; background:orange;">▶ В МАТЧЕ</a>
             <?php } else if ($queue_status != 1) { ?>
            <a class="pursee-button" style="width: auto;height: 30px;text-align: center;padding: 10px; background:#681c23;">🛠 ЗАКРЫТО</a>
             <?php } ?>
          </li>
7. Теперь в файле шаблона, а именно в файле head.tpl подключаем JavaScript - вставлять ниже всех подключаемых библиотек!
<!-- ОЧЕРЕДЬ СКРИПТЫ -->
<script src="{site_host}ajax/queue/queue.js"></script>
<!--ОООООО-->

Вуаля, и у нас все готово.
Автор
Владислав Шевчук
Скачивания
28
Просмотры
1 072
Первый выпуск
Обновление
Оценка
0,00 звёзд 0 оценок

Поделиться ресурсом

Последние обновления

  1. [UPD 24.01.2024]MM System + ChatMessage Room Templates + Modules files pages!

    Добавил недостающие файлы, и также обновил список sql файлов..
  2. [UPD 22.01.2024]MM System + ChatMessage Room Templates

    Обновил шаблон, в старой версии не работал чат. Добавил файлы в шаблон, кому надо обновляйтесь)
Сверху Снизу