Программа для компьютерного клуба

Программа для компьютерного клуба

30 мая 2022

Esports Arena — это SaaS для управления игровыми клубами. В настоящее время около 80 клубов уже приобрели подписку на программу для компьютерного клуба. Сервис обладает следующими возможностями.

  • Гибкие настройки тарифов.
  • Учет дополнительных услуг.
  • Управление из любой точки мира.
  • Формирование отчетов и статистика.
  • Единая база клиентов для всех клубов.
  • Поддержка бездисковых систем CCBoot.
  • Скидки для клиентов через систему лояльности.
  • Роли для сотрудников, определяющие уровень доступа.
  • Детализация по каждому клиенту, загрузке и производительности клуба.
01 Серверная часть Cashier Серверная часть для управления клубом.
02 Вспомогательный сервер ClubServer Вспомогательный сервер, устанавливаемый в клубе.
03 Настольное приложение Настольное приложение Специализированная оболочка, устанавливаемая на ПК.

«11 партнеров в СНГ доверяют и сотрудничают с нами в развитии гейминг-индустрии. 35 клиентов, которые используют наше ПО, и 22 тысячи зарегистрированных геймеров в GeexClub»

GeexClub

Cashier

Веб-приложение для управления компьютерным клубом в облаке Azure состоит из интерфейсов администратора, менеджера, кассира, клиента.

Интерфейс администратора

Список клубов
Список клубов

Администратор может подключать новые компьютерные клубы и настраивать существующие: нанимать управляющих, ограничивать количество активных ПК, временно деактивировать клуб.

Arena редактирование клуба
Редактирование клуба
Arena добавление менеджера
Добавление менеджера
Arena редактирование менеджера
Редактирование менеджера

Новый управляющий клубом получает пароль на почту, либо SMS на телефон. Администратору системы для просмотра видны все действия менеджеров.

Arena действия менеджера
Действия менеджера

Только администратору доступен полный список клиентов всех клубов.

Arena список клиентов
Список клиентов

Клиенты клубов делятся на:

  • неподтвержденных — у которых в профиле заполнены только номер телефона и логин;
  • подтвержденных — в профиле заполнены все поля.

Неподтвержденным клиентам недоступна система лояльности. Данные подтвержденных клиентов может редактировать администратор.

Arena редактирование клиента
Редактирование клиента

Интерфейс менеджера

Управляющему компьютерного клуба доступны следующие возможности.

01 Управление кассирами Управление кассирами, подтверждение входа кассира.
02 Список ПК бронь Просмотр списка компьютеров: порядок расположения на сайте, бронирование.
03 Штрафы клиентам Штрафы клиентам.
04 Добавление PlayStation Добавление Play Station.
05 Управление тарифами Управление тарифами.
06 Управление скидками Управление скидками.
07 Просмотр операций касса Просмотр операций по кассе.
08 Редактирование шаблонов печати Редактирование шаблонов для печати чеков.
09 Управление настройками Управление настройками.
10 Просмотр отчетов Просмотр отчетов.

Добавление кассира в клуб аналогично добавлению управляющего.

Arena добавление кассира
Добавление кассира

Можно разрешить кассиру авторизацию на нескольких устройствах одновременно. При необходимости можно верифицировать устройство. При попытках авторизации на постороннем устройстве выдается ошибка, а управляющему клуба отправляется письмо с запросом авторизации кассира.

Arena список кассиров
Список кассиров
Arena авторизация
Авторизация

Перейдя по ссылке из письма, управляющий может отклонить или разрешить вход с нового устройства или допустить кассира только один раз.

Arena редактирование кассира
Редактирование кассира

На главном экране управляющего отображается текущая занятость ПК и Play Station. Стрелками можно настраивать расположение машин у каждого кассира клуба.

Arena занятость ПК и Play Station
Занятость ПК и Play Station

Для каждой машины клуба можно разрешить или запретить возможность бронирования.

Arena возможность бронирования
Возможность бронирования

На странице со списком машин выписать штраф, выбрав клиента или воспользовавшись поиском. Кассир такой возможности не имеет.

Arena штраф
Штраф

В отличие от ПК, которые сами добавляются в клуб при указании идентификатора на клиентском ПО, Play Station добавляются вручную управляющим клуба.

Arena создание игровой станции
Создание игровой станции

Для добавления необходимо указать название приставки, которое будет отображаться в списке машин, IP-адрес Web Power Switch во внутренней сети компьютерного клуба, логин и пароль для авторизации запросов и номер порта, который слушает Play Station.

Управление тарифами клуба доступно только менеджеру. Тарифы делятся на два типа.

  • Почасовая оплата. Почасовой тариф списывает денежные средства со счета клиента посекундно. Цена указывается за час.
  • Пакет. Цена пакетного тарифа зависит от времени, когда он куплен, но не меняется на протяжении действия пакета. Цена указывается за пакет.
    • Ограниченный пакет действует с момента покупки и заканчивается либо при достижении времени ограничения, либо по истечении времени пакета.
    • Плавающий пакет действует с момента покупки и заканчивается по истечении времени пакета.
Arena список тарифов
Список тарифов

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

  • Календарный. Указываются диапазоны календарных дат и время действия тарифа.
  • Недельный. Указываются диапазоны дней недели и время действия тарифа.

Для каждого диапазона дат настраиваются также часовые диапазоны внутри суток. Цены для тарифов применяются в следующем приоритете.

01 Цена суточная календарная Цена диапазона суточного времени календарного периода.
02 Цена по умолчанию календарная Цена по умолчанию календарного периода.
03 Цена суточная недельная Цена диапазона суточного времени недельного периода.
04 Цена по умолчанию недельная Цена по умолчанию недельного периода.

Гибкая настройка диапазонов времени позволяет создавать тарифы под любые маркетинговые кампании. Например, можно задать ночные тарифы с разной стоимостью в выходные и будние дни, определить особые цены для праздничных дней.

На ПК отображаются только действительные на момент авторизации тарифы. Тариф может учитывать программы лояльности, что настраивается опцией «Разрешить систему лояльности». Системы лояльности предоставляют процентную скидку на оплату игрового времени.

Arena программы лояльности
Программы лояльности

Системы лояльности делятся на две программы.

  • С критерием накопления. Для получения скидки необходимо в течение определенного времени накопить пополнениями требуемую сумму.
    • Проверяется в момент пополнения для внесения клиента в список.
    • Проверяется в момент авторизации для определения возможности применения.
    • Перестает действовать, как только сумма пополнений станет меньше требуемой по условиям программы.
  • С критерием пополнения. Для получения скидки по этой программе необходимо одноразово пополнить счет на требуемую сумму.
    • Проверяется в момент пополнения счета.
    • Действует до следующего пополнения.

Для применения системы лояльности необходимо соблюдение нижеперечисленных условий.

  • Клиент должен быть подтвержденным.
  • ПК должен быть внесен в список.
  • Выбранный клиентом тариф должен разрешать систему лояльности.

Клиенты вносятся в программу лояльности автоматически при соблюдении условий. В случае наложения условий выбирается программа с наибольшей скидкой.

Arena редактирование программы лояльности
Редактирование программы лояльности

В разделе «Категории расходов» отображается полный список операций по кассе: пополнение игровых счетов, услуги бара, инкассации и так далее.

Arena касса
Касса

Возможна настройка шаблона для печати чеков: создание нового пользователя и пополнение баланса. При создании пользователя поддерживается распечатка пароля.

Arena настройка чека
Настройка чека

Настройки сеанса применяются ко всем машинам игрового клуба:

  • максимальное время, за которое можно забронировать машину;
  • время, за которое нужно выводить предупреждение о завершении сеанса;
  • время, через которое следует удалять лишние процессы после завершения сеанса.

В настройках отчетов задаются следующие параметры.

  • Время начала расчетного периода для подсчета денег в кассе. Определяется время начала и окончания кассовых суток. При вводе времени меньшего, чем текущее, настройка проставляется со следующих суток.
  • Сумма пополнения счета «Успех». Пополнения свыше заданной суммы в течение суток увеличивают счет.
  • Сумма пополнения счета «Подвиг». Пополнения больше заданной суммы за сутки увеличивают счет.
Arena настройка сеанса
Настройка сеанса

В «Арене» предусмотрено пять видов отчетов.

  • Итоговый отчет за сутки.
  • Отчет для менеджера.
  • Отчет выручки по дням.
  • Отчет по категории средств.
  • История штрафов.

Итоговый отчет за сутки используется менеджером или кассиром и содержит следующую информацию.

  • Остаток на начало дня. Равен остатку на конец предыдущего дня.
  • Сумма приходов. Складывается из следующих составляющих.
    • Бар и прочие услуги.
    • Служебные приходы.
  • Сумма расходов. Складывается из трех составляющих.
    • Административные расходы.
    • Служебные расходы.
    • Инкассация.
  • Сумма пополнений счетов клиентов.
  • Остаток на конец дня. Расчет производится как разница между суммой приходов (плюс пополнений баланса клиентов) и суммой расходов.
  • Жертвы. Количество посетителей за сутки.
  • Успехи. Количество пополнений больше значения из настроек отчетов «Сумма пополнения счета «Успех».
  • Подвиги. Количество пополнений больше значения из настроек отчетов «Сумма пополнения счета «Подвиг».
  • Средний чек. Сумма пополнений баланса клиентов поделенная на количество пополнений.
Arena итоговый отчет за сутки
Итоговый отчет за сутки

Отчет для менеджера содержит следующие разделы.

  • Период построенного отчета с указанием времени.
  • Выручка. Сумма пополнений баланса клиентов за выбранный период.
  • Средний чек. Сумма пополнений баланса клиентов поделенная на количество пополнений.
  • Количество посетителей.
Arena отчет для менеджера
Отчет для менеджера

Отчет выручки по дням содержит следующие разделы.

  • Период отчета с указанием времени.
  • Посуточную таблицу с суммами за каждый день.
  • Средняя выручка. Общая сумма поделенная на количество дней.
Arena выручка по дням
Выручка по дням

Отчет по категории средств содержит следующие разделы.

  • Выбор категории отчета.
  • Период построения отчета.
  • Таблицу с датами и временем, суммами и комментариями.
Arena отчет по категории средств
Отчет по категории средств

В отчете по штрафам доступна история штрафов клуба.

Arena история штрафов
История штрафов

Также для менеджера и кассира предусмотрен справочный раздел «Помощь», в котором описаны основные возможности.

Arena справочный раздел
Справочный раздел

Интерфейс кассира

Кассиру доступны следующие возможности.

  • Удаленное управление машинами компьютерного клуба.
  • Управление пользователями.
  • Учет кассы.
  • История сессий клуба.
  • Просмотр суточного отчета.

Действия кассира по управлению машинами.

  • Включить или выключить Play Station.
  • Выключить или перезагрузить ПК.
  • Удаленно начать сеанс пользователя.
  • Забронировать время для пользователя.
  • Заблокировать сеанс пользователя.
  • Отправить сообщение на машину.
Arena выбор машины для бронирования
Выбор машины для бронирования
Arena бронирование времени для пользователя
Бронирование времени для пользователя
Arena список машин
Список машин
Arena удаленное управление машинами
Удаленное управление машинами
Arena действия кассира
Действия кассира
Arena отправка сообщения пользователю
Отправка сообщения пользователю
Arena получение сообщения на ПК пользователя
Получение сообщения на ПК пользователя

Для пополнения баланса выбрать машину с пользователем, либо воспользоваться поиском.

Arena поиск пользователя
Поиск пользователя
Arena пополнение баланса
Пополнение баланса

Одноразовый логин создается автоматически, ни за кем не закрепляется и печатается на чеке вместе с паролем. Это удобно, если кто-то не хочет регистрироваться, далее не планирует получать скидки и посещать клуб.

Arena печать чека после получения одноразового логина
Печать чека после получения одноразового логина

Кассир может добавлять новых клиентов с указанием суммы пополнения счета.

Arena добавление клиента
Добавление клиента

При создании пользователя на телефон или почту отправляется пароль, который также печатается на чеке.

Arena печать пароля
Печать пароля

Кассир редактирует только неподтвержденных клиентов клуба.

Arena редактирование клиента
Редактирование клиента

При покупке в баре, инкассации, служебных расходах кассир может вести учет приходов и расходов.

Arena учет приходов и расходов
Учет приходов и расходов
Arena расход
Расход

На странице истории сессий выводится история сеансов пользователей клуба за весь период.

Arena историй сессий
История сессий

Интерфейс клиента

Клиент авторизуется на сайте — ему показаны баланс и скидка в каждом клубе, который он посещал хотя бы единожды. Клиент может сменить пароль и отредактировать персональные данные, даже если является «подтвержденным». Перед бронированием машины необходимо выбрать страну, город, клуб, номер машины и тариф. Клиент может отменить бронирование или завершить сессию в игровом клубе.

ClubServer

Служит для накопления транзакций одного клуба в условиях отсутствия связи с внешним сервисом, а также для управления аппаратными устройствами Web Power Switch. WPS необходим для общения с приставками Play Station, которые, в свою очередь, не имеют возможности установки локального клиента «Арены».

Для безопасности WPS получает только внутренний IP-адрес, по нему исполняет HTTP-команды ClubServer.

01 PlayStation включение Включение.
02 PlayStation выключение Выключение.
03 PlayStation статус Получение статуса Play Station.

Клубный сервер устанавливается на отдельной машине во внутренней сети и не требует много ресурсов — можно установить на компьютер кассира. Для установки достаточно ввести идентификатор клуба и перезагрузиться.

Особенности применения

На время подключения к клубному серверу из-за отсутствия связи с основным сервисом клиентам запрещена авторизация. Авторизованные клиенты продолжают сеансы до закрытия сессии, но через 120 минут все сессии будут принудительно завершены, а после восстановления соединения произойдет передача собранных транзакций с клубного сервера на основной.

Настольное приложение

  • Установщик.
  • WinService.
  • LoginApp.
  • Launcher.

Установщик

Приложение игрока необходимо установить на каждую машину клуба, а в случае использования бездисковой загрузки CCBoot достаточно установить только один раз. Необходимо ввести имя нового пользователя Windows. Ввести логин и пароль суперпользователя, имеющего права на инсталляцию и идентификатор клуба. После установки необходимо перезагрузить компьютер и клиент автоматически запустится.

В профиле нового пользователя настраиваются локальные политики Windows, которые отключают.

01 Смена пароля Смену пароля.
02 Спящий режим Спящий режим.
03 UAC UAC.
04 Гибернация Гибернацию.
05 Заставка Заставку.
06 Восстановление системы Восстановление системы.
07 Обновление Windows Обновление Windows.
08 Брандмауэр Брандмауэр.
09 Смену конфигурации сетевой платы Смену конфигурации сетевой платы.

Кроме того, закрывается реестр, включается диспетчер устройств и файл подкачки в режиме авто. Язык ввода — латинский по умолчанию. Пользователю доступна установка лишь программ, которые не требуют административных прав.

WinService

Служба отвечает за взаимодействие клиентского приложения с серверной частью и клубным сервером, а также следит за состоянием счета клиента и состоянием приложений LoginApp и Launcher. При попытке закрыть LoginApp с помощью каких-либо утилит, служба заново запускает LoginApp — невозможно играть дальше, чем позволяет счет. Пользователь не имеет доступа к WinService и поэтому не может ее остановить. Приложения LoginApp и Launcher следят за службой WinService и запускают ее в случае непредвиденной остановки.

LoginApp

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

Arena блокировка рабочего стола
Блокировка рабочего стола

На заблокированном экране последовательно меняются фоновые изображения, выводится номер машины (последние цифры IP-адреса), есть кнопка «Логин», при нажатии которой появляется панель авторизации и выбора тарифа.

Arena панель авторизации
Панель авторизации

Расположение элементов на экране можно легко поменять, каждый клуб может настроить индивидуальный дизайн. После авторизации приложение LoginApp закрывается и происходит переключение на рабочий стол с приложением Launcher.

Launcher

Arena рабочий стол с приложением Launcher
Рабочий стол с приложением Launcher

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

За 5 минут до окончания сеанса игроку выводится предупреждение. Время предупреждения можно изменить в административной части клуба.

Arena предупреждение об окончании сеанса
Предупреждение об окончании сеанса

Пользователь может изменить пароль учетной записи.

Режим суперпользователя

Arena режим суперпользователя
Режим суперпользователя
  • Настройка ПК.
  • Редактор категорий игр, который позволяет задавать фон рабочего стола.
Arena настройка рабочего стола
Настройка рабочего стола
  • Настройки расположения элементов заблокированной оболочки.
Arena настройка оболочки
Настройка оболочки
  • Список программ, для принудительного завершения после окончания сеанса.
Arena список программ терминирование
Список программ: терминирование
  • Список программ для запуска после авторизации и завершения сеанса.
Arena список программ выход
Список программ: выход
Arena добавление программ вход
Добавление программ: вход

Взаимодействие сервера и клиента

Cashier отправляет запросы в WinService.

  • Перезагрузка машины.
  • Выключение машины.
  • Логаут пользователя.
  • Авторизация пользователя.
  • Отправление текстовых сообщений.
  • Бронь машины.
  • Отмена брони машины.
  • Обновление списка тарифов (при изменении тарифов в административной части).
  • Настройки с сервера (время показа предупреждения об окончании сеанса и т.д.).
  • Обновленный баланс и скидка (при пополнении баланса клиента).

WinService отправляет запросы в Cashier:

  • установка соединения;
  • блокировка машины;
  • разблокировка машины;
  • получение статуса машины;
  • получение списка тарифов;
  • авторизация пользователя;
  • логаут пользователя;
  • пересчет баланса — если в момент пополнения скидка у пользователя изменилась;
  • смена пароля;
  • активный процесс на машине.

Если Cashier недоступен, то WinService отправляет следующие запросы в ClubServer:

  • логаут пользователя;
  • блокировка машины;
  • разблокировка машины;
  • пересчет баланса.

Иные запросы не пересылаются в ClubServer. После восстановления связи ClubServer отправляет пересланные запросы от WinService в Cashier. Также ClubServer используется для управления приставками, т.к. у Cashier нет с ними прямой связи из-за отсутствия внешнего IP у Power Switch.

Cashier отправляет следующие запросы через ClubServer по API в Power Switch:

  • включение игровой станции;
  • выключение игровой станции;
  • обновление остатка времени на игровой станции;
  • обновление параметров игровой станции — например, логин и пароль.

Импорт данных

Несколько клубов, подключенных к «Арене», работали на устаревшем ПО. Была разработана утилита импорта клиентской базы из базы Firebird.