Програма для керування комп'ютерним залом GameClass: Встановлення та налаштування. Програма для керування комп'ютерним залом GameClass: Встановлення та налаштування Технічний опис проекту




Locker- це комплексна система автоматизації комп'ютерних клубів та інтернет-кафе. Основними завданнями системи є реєстрація сеансів роботи комп'ютерів залу та блокування роботи комп'ютерів, час сеансу яких минув. Окрім цього програма Locker веде облік будь-яких додаткових послуг, оплати користувачів, баланс кожного користувача, облік бронювання комп'ютерів, збирає статистику та формує різні звіти про роботу та багато іншого.

Програма Locker має розвинену систему поділу доступу співробітників до різних функцій та звітів. За допомогою додаткових модулів можливе виведення стану комп'ютерів зали на окремий екран користувачам біля входу до комп'ютерної зали, виведення поточного стану комп'ютерів на сторінку клубу в інтернеті, відсилання повідомлень про стан керівника клубу, автоматичний друк чеків на касовому апараті.

Новий варіант клієнтської програми для комп'ютерів клубу програма Club Client. Ця програма теж працює з Locker-ом!

Бонусна система роботи: на рахунку користувача накопичується "бонусний час" Наприклад, за кожні п'ять годин роботи користувач отримує одну годину безкоштовного бонусного часу. Застосування цієї системи є добрим стимулом для постійних користувачів.

Опис програми Locker

Програма розповсюджується як shareware, і поставляється за принципом «як є», тобто розробник не несе відповідальності за можливі наслідки її неправильного використання. Гарантується лише відповідність функцій програми її документації та увага з нашого боку до побажань користувачів програми.

Програма працює в ОС Windows 10/8/7/Vista/XP/2003/2000/NT/98/ME. Мінімальні вимоги: комп'ютер, на якому здатна працювати якась Windows, 15 Мбайт на жорсткому диску + розмір даних. Роздільна здатність дисплея повинна бути не гірше ніж 1024x768.

Все частіше і частіше мені запитують як налаштувати GameClass. Gameclass - одна з найпотужніших програм для керування комп'ютерним залом. Незважаючи на велику кількість на офіційному сайті документації процес установки і налаштування досить складний. Тому я вирішив у подробицях розповісти про цей процес.

Програма GameClass поширюється на сайті http://www.gameclass.ru/. Там же можна безкоштовно завантажити демонстраційну версію та випробувати її функціонал. Для мінімального набору нам знадобиться інсталяшка бази даних MSDE2000 (База даних MSDE2000 ReleaseA) та інсталяшка самої програми GameClass 3.84 Release 9. На сьогоднішній день це остання стабільна версія. Боюся, у майбутньому програма більше розвиватися не буде, доки не буде знайдено інвестора для покупки проекту. Інші модулі та програми потрібні для більш тонкого налаштування вашого клубу.

Перш ніж встановлювати GameClass, потрібно встановити сервер бази даних Microsoft SQL Server Desktop Engine, який відповідає за обробку даних програми. Ставити потрібно саме версію MSDE2000 завантажену із сайту GameClass. З кількома іншими версіями MSDE2000 програма контролю інтернет-кафе у мене працювати відмовилася. MSDE розпаковується у вказану директорію, запускається звідти та встановлюється без запитань та повідомлень у директорію C:\Program files\Microsoft SQL Server

Після встановлення MSDE2000 потрібно знайти і запустити файл ResetPass.bat, який знаходиться в директорії, куди розпакувався MSDE2000. Перед запуском цього BAT файлу треба перезавантажити комп'ютер щоб у налаштуваннях системи прописалися всі шляхи до сервера SQL. ResetPass скидає пароль адміністратора бази даних і при встановленні програма GameClass сама налаштує всі паролі автоматично.

Після перезавантаження комп'ютера в третій годинник ви знайдете програму SQL Service Manager, яка дозволяє зупиняти і запускати заново MSSQL server. Зупинка сервера необхідна у тому щоб створити бэкап бази даних. Самі дані будуть у директорії C:\Program files\Microsoft SQL Server\8.0\Data. Рекомендую регулярно робити копію цієї директорії щоб мати можливість відновити вашу статистику, інформацію про облікові записи, налаштування програми і взагалі все що пов'язано з даними GameClass.

Переконавшись, що SQL Service Manager запущено і база даних MSSQL працює, можна приступати до встановлення GameClass. При запуску інсталяшки програма поцікавиться як потрібно налаштуватися. При встановленні на клієнтські комп'ютери в залі, які блокуватимуться, потрібно вибрати "Клієнтський комп'ютер". На комп'ютері оператора вибираємо "Головний керуючий комп'ютер". Зазвичай на цьому ж комп'ютері працює база даних MSDE2000, але це не обов'язково. GameClass дозволяє підключитися до віддаленої бази даних на іншому сервері, вводячи адресу сервера SQL.

Після встановлення використовуємо порожній пароль менеджера для входу до системи. Обов'язкових налаштувань для контролю залу не так багато:

  • Визначити паролі для менеджера та оператора у розділі "Користувачі"
  • Визначити IP адреси клієнтських комп'ютерів у розділі "Комп'ютери"
  • Визначити тарифи

Після налаштувань підключаємось як оператор і починаємо роботу із залом. При запуску програми під оператором програма показує зеленими комп'ютери які видно в мережі і червоними які вимкнені. Коли клієнт бачить сервер, він виводить вікно введення логіна і пароля. Якщо ж світиться блок "Комп'ютер вільний", значить якась проблема в налаштуваннях.

Функція підключення до віддаленої бази даних корисна на комп'ютері менеджера, який встановивши програму, може спостерігати за станом залу віддалено. Для цього встановлюємо GameClass, вибравши "Комп'ютер менеджера". Для підключення відзначаємо галочку "Підключитися до іншого сервера" та пишемо адресу сервера БД. Переконайтеся, що файрволи та антивіруси не блокують порти сервісу MSSQL. Використовуючи пароль менеджера, можна віддалено бачити не тільки стан залу, але й звіти, статистику, а також проводити зміни в акаунтах і проводити будь-яку роботу з налаштуваннями. Після зміни налаштувань обов'язково для застосування оператор повинен відключитися від бази та заново увійти до системи.

У найближчому майбутньому збираюся розповісти про те, як за допомогою GameClass керувати клієнтами під операційною системою Linux Gentoo.

Бізнес складова проекту:потужна комп'ютерна техніка та швидкий інтернет – це ще не всі складові успішного комп'ютерного клубу. Дуже важливо грамотно організувати систему управління, не обмежуючи користувачам доступу до необхідних ресурсів, і при цьому убезпечити інформацію та встановлене програмне забезпечення. Перед нашою компанією стояло завдання створити комплексне рішення, яке враховуватиме всі особливості такої системи.

Дане рішення є масштабованим і може підтримати обслуговування як одного клубу, так і мережі комп'ютерних клубів.

Короткий опис проекту:

Система управління ігровими комп'ютерними клубами, розроблена нашою компанією, включає наступні компоненти:

  • серверну частину, яка зберігає дані користувачів, тарифи, історію сесій, відповідає за авторизацію;
  • додаток касира, який представлений у вигляді web-додатку та дозволяє адміністратору клубу управляти обліковими даними відвідувачів, поповнювати баланс, віддалено управляти блокуванням робочих станцій;
  • оболонку для клієнтських машин, що відповідає за керування оплаченим сеансом роботи клієнта клубу та блокування станції після закінчення оплаченого часу;
  • Windows-службу, написану на Java, яка відловлює та припиняє спроби несумлінних користувачів несанкціоновано завершити процес оболонки;
  • інсталятор: оболонка та Windows-служба передаються у вигляді виконуваного файлу, який здійснює установку на користувальницьку машину необхідного програмного забезпечення та додаткове налаштування системи. Інсталятор реалізований за допомогою інструмента Inno Setup.

Технічний опис проекту:

Оболонка є desktop-додатком і реалізована за допомогою фреймворку Electron. Клієнтська оболонка та Windows-служба працюють у тісній зв'язці та утворюють у парі “додаток клієнта”. Служба слідкує за процесом оболонки і перезапускає його щоразу, що він аварійно завершується чи несанкціоновано закритий через диспетчер завдань. Також у службі реалізовано спостереження за тривалістю сеансу. Коли сплачений час користувача закінчується, служба повідомляє оболонці, що потрібно заблокувати доступ користувача до Windows.

Служба встановлюється автоматично під час інсталяції оболонки. Одночасно у Windows створюється користувач з обмеженими правами, який встановлюється як “користувача за замовчуванням”. Як shell для нового облікового запису прописується оболонка.

Для збереження можливості проведення профілактичних або інших адміністраторських робіт створена Windows-служба намагатиметься відновити процес оболонки лише у створеному під час встановлення облікового запису.
Зв'язок між компонентами касира, клієнта та серверної частини реалізований в архітектурі REST.

Оператор клубу зі свого робочого місця може заблокувати будь-яку користувальницьку машину. Для цього програма касира надішле запит про блокування на сервер, а сервер по webSocket передасть повідомлення додатку клієнта.

Комп'ютери в додатку касира ідентифікуються за ip-адресою та ідентифікаційним номером, який формується шляхом хешування mac-адреси комп'ютера.

Дані про всі сесія користувачів зберігаються в базі даних MySQL і відображаються в додатку касира.

Технології:

Stack: Apache Maven, Apache Tomcat, Tyrus, ReactJS, Redux, JNA
Programming languages: Java 11, JavaScript, Node.js
Frameworks: Electron, Spring Boot, Spring Data, Spring Security
Infrastructure: Gerrit, IntelliJ IDEA, Jira, Inno Setup, VM VirtualBox, JetBrains WebStorm
DB: MySQL
Test libraries: Junit, DBunit.
Інші libraries: Lombok, JsonWebToken, Log4j2.
Protocols: WebSocket, REST.

Скріншоти:


Особливості проекту:

  • розробка системи з нуля: від бізнес-аналізу до тестування рішення;
  • чіткий поділ робіт на етапи, починаючи з дослідження наявного рішення у замовника до розробки прототипу та його тестування;
  • системне програмування: розробка Windows служби на java;
  • стеження та управління процесами операційної системи Windows;
  • розробка desktop-додатку у “режимі кіоску”. Тобто програма повинна займати всю площу екрану, закриваючи панель завдань, у тому числі мати максимальний пріоритет перед іншими програмами. Програму не можна закрити, згорнути, посунути;
  • мінімальна потреба в участі персоналу клубу для встановлення та налаштування програми для користувальницьких машин;
  • щотижневі поставки замовнику проміжних версій прототипу протягом усього часу розробки для проведення тестування,
    Щотижня продукт демонструвався замовнику, що дозволяло йому бути в курсі ходу робіт і бачити, як на його очах створюється система.

Результат проекту:

За три місяці було виконано великий обсяг робіт та рішення передано замовнику:

  • створено технічне завдання системи управління комп'ютерним клубом;
  • спроектовано архітектуру та підготовлено опис усього майбутнього рішення;
  • підготовлено опис прототипу – мінімального набору працюючих компонентів, що демонструє можливість розв'язання;
  • розроблені прототипи всіх компонентів системи та інсталятор десктопної програми для клієнтських машин;
  • написаний та впроваджений у роботу тест план із понад 100 тест кейсами;
    розроблено та й повністю протестовано прототип.

Досягнення компанії на проекті:

  • успішно було вирішено низку нетривіальних завдань, пов'язаних із Windows-службою;
  • виконувався супровід проекту на всіх етапах робіт: дослідження наявного рішення у замовника, виявлення потреб, проведення бізнес-аналізу, написання технічного завдання, проектування архітектурного рішення, прототипування майбутньої системи, безпосередня розробка прототипу, тестування;
  • вимоги та коментарі замовника, які до нас надходять, що виникають у процесі ознайомлення з проміжною версією прототипу або демонстрацією, швидко оброблялися, обговорювалися і, при необхідності, впроваджувалися.

Що робили на проекті, наші обов'язки:

У ході роботи над додатком команда виконувала такі роботи:

  • дослідження наявного рішення у замовника, виявлення його потреб, їх обробка, аналіз та фіксація;
  • складання технічного завдання з опрацьованих вимог;
  • дослідження існуючих рішень;
  • опрацювання архітектури та опис рішення;
  • розробка всіх компонентів;
  • розробка інсталятора системи на машинах у клубах;
  • інтеграція компонентів;
  • написання докладного тест плану, більш ніж 100 кейсів оброблені та внесені до плану, для їх прогону на постійній основі;
  • безперервний процес тестування, у тому числі на обладнанні замовника,
  • щотижнева демонстрація робіт замовникам;
  • щотижневі постачання рішення замовнику.