Business component of the project: powerful computer technology and fast internet are not all the components of a successful computer club. It is very important to competently organize the control system, without restricting users' access to the necessary resources, and at the same time securing the information and installed software. Our company was faced with the task of creating a comprehensive solution that would take into account all the features of such a system.

This solution is scalable and is able to support the maintenance of both one club and a network of computer clubs.

Brief description of the project:

The gaming computer club management system developed by our company includes the following components:

  • the server part, which stores user data, tariffs, session history, is responsible for authorization;
  • the cashier application, which is presented in the form of a web application and allows the club administrator to manage the credentials of visitors, replenish the balance, and remotely manage the blocking of workstations;
  • a shell for client machines, which is responsible for managing a paid session of a club client and blocking the station after the paid time has expired;
  • A Windows service written in Java that catches and prevents unscrupulous users from unauthorizedly terminating the shell process;
  • installer: the shell and Windows service are transferred as an executable file that installs the necessary software on the user's machine and additional system configuration. The installer is implemented using the Inno Setup tool.

Technical description of the project:

The shell is a desktop application and is implemented using the Electron framework. The client shell and Windows service work closely together to form a “client application”. The service monitors the shell process and restarts it every time it crashes or is unauthorizedly closed through the task manager. The service also implements session duration tracking. When the user's paid time ends, the service tells the shell to block the user's access to Windows.

The service is installed automatically during shell installation. Simultaneously in Windows system a limited user is created and set as the “default user”. As a shell for the new account the shell is prescribed.

To preserve the possibility of carrying out preventive or other administrative work, the created Windows service will try to restore the shell process only in the account created during installation.
The communication between the cashier, client and server components is implemented in the REST architecture.

The club operator from his workplace can block any user car. To do this, the cashier application will send a request for blocking to the server, and the server will send a message to the client application via webSocket.

Computers in the cashier's application are identified by their ip-address and identification number, which is generated by hashing the mac-address of the computer.

Data about all user sessions are stored in the MySQL database and displayed in the cashier application.

Technologies:

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.
Other libraries: Lombok, JsonWebToken, Log4j2.
Protocols: WebSocket, REST.

Screenshots:


Features of the project:

  • system development from scratch: from business analysis to solution testing;
  • a clear division of work into stages, from researching the existing solution at the customer's site to developing a prototype and testing it;
  • system programming: developing a Windows service in java;
  • monitoring and managing the processes of the Windows operating system;
  • development of a desktop application in "kiosk mode". That is, the application should occupy the entire screen area, closing the taskbar, including, have the highest priority over other applications. The application cannot be closed, minimized, moved;
  • minimal need for the participation of club staff to install and configure the application for custom machines;
  • weekly deliveries to the customer of intermediate versions of the prototype throughout the entire development time for testing,
    every week the product was demonstrated to the customer, which allowed him to keep abreast of the progress of work and see how the system was being created before his eyes.

Project result:

In three months, a large amount of work was completed and the solution was handed over to the customer:

  • a technical assignment for a computer club management system was created;
  • the architecture was designed and a description of the entire future solution was prepared;
  • a description of the prototype has been prepared - a minimum set of working components, demonstrating the possibility of a solution;
  • prototypes of all system components and an installer of a desktop application for client machines were developed;
  • a test plan with more than 100 test cases was written and implemented;
    prototype developed and fully tested.

Achievements of the company on the project:

  • a number of non-trivial tasks related to the Windows service have been successfully solved;
  • the project was supported at all stages of work: research of the customer's existing solution, identifying needs, conducting business analysis, writing a technical assignment, designing an architectural solution, prototyping a future system, direct development of a prototype, testing;
  • the customer's requirements and comments that came to us, arising in the process of getting acquainted with the intermediate version of the prototype or demonstration, were quickly processed, discussed and, if necessary, implemented.

What we did on the project, our responsibilities:

While working on the application, the team performed the following work:

  • researching the customer's existing solution, identifying his needs, processing them, analyzing and fixing them;
  • preparation of technical specifications for processed requirements;
  • research of existing solutions;
  • architecture study and solution description;
  • development of all components;
  • development of a system installer on cars in clubs;
  • integration of components;
  • writing a detailed test plan, more than 100 cases are processed and included in the plan for running them on an ongoing basis;
  • continuous testing process, including on the customer's equipment,
  • weekly demonstration of work to customers;
  • weekly delivery of the solution to the customer.

Unfortunately, I did not have the opportunity to check out and touch all the programs for controlling the computer room, but still I decided to make a small subjective review existing programs to control computer time in an Internet cafe so that you know what programs exist, where to download or buy them and the main functions of these programs. I have tried only the first two programs from the entire list.

GameClass
Quite powerful but buggy program. It is protected by the fact that working on server Windows, it writes data to the MSSQL database launched under another user and the operator does not have access to change the data. I liked the system of accounts, when users, having deposited money into their account, no longer bother the operators and sit down with their password. An extended statistics system that shows how much each account has gained over a period of time. The ability to remove only one specific task without touching the rest. I did not like the format of the logs, according to which it is very difficult to find out who sat down when and how long he sat on what conditions. Very often glitches occur when a negative amount of money is obtained on the account, while at zero the account is blocked. When you start the Generals game, if you choose to turn off the computer, an error occurs, the GCC client falls off and the computer remains unlocked. This is very actively used.

Astalavista
Great program, but unfortunately I only worked with old version... An intuitive log of operations, a clear description of the configuration of each computer, a list of running programs, the ability to connect via vnc / radmin to the client directly from the program. I was able to run this program directly from Linux using wine. In one of my clubs, operators still administer the hall using Astalavistu under Linux. Having registered the path to vncviewer in the astalavista settings, even under linux, you can perfectly connect to the client computer. Several glitches appeared under Linux: at 100% load on the processor, Astalavist stops responding to clicks. All programs work without even noticing this load, and the astalavista does not even budge. The second is that the operation log does not appear immediately, but after a while flush does not help.

astalaViSta SuperViSor Ver.2
The software package ".:. AstalaViSta SuperViSor" is the backbone software ( software) to automate the activities of computer centers (CC), computer clubs (CC), Internet centers, Internet cafes, home networks, computer classes in educational institutions, public access points, Internet access points, etc. Our development is based on experience in the field of computer club automation over the past five years (since February 1999).

Network Administrator
Network Administrator is a system for managing computers and keeping records in an Internet cafe or computer club. The system allows you to fully automate the work of the administrator, and also has the following features: Simple and intuitive interface, shell for clients, automatic raising of clients after the paid time. Automatic calculation of the cost of services. Unlimited number of services and tariffs, discount for users. "Night" mode with prepayment. Possibility of managing client computers (viewing active tasks, shutting down, rebooting, issuing a message, launching programs). A system of reports for the manager, the ability to convert reports into HTML format and send them to e-mail. Built-in NAT, proxy, accounting and Internet access restriction. Possibility of prepayment and after payment. Notification of the client about the end of work in 1 and 5 minutes. Creation of tariffs depending on the time of day, on the day of the week on the number of purchased watches.

Locker
It is a complex automation system for computer clubs and internet cafes. The main tasks of the system are registration of sessions of the computers in the hall and blocking the operation of computers, the session time of which has expired. In addition, Locker keeps track of the Internet traffic of each computer, accounting for any additional services, user payments, the balance of each user, accounting for computer reservations, collects statistics and generates various reports on work, and much more ... The program has a developed system for sharing employee access to various functions and reports. With the help of additional modules, it is possible to display the state of the computers in the hall on a separate screen to users at the entrance to the computer room, display the current state of computers on the club's page on the Internet, send messages about the current status to the head of the club, and automatically print receipts on the cash register.

Computer room The "Computer room" program is designed to automate the work of computer clubs, Internet cafes. The main tasks of the program: control of the paid time, traffic control, control of printers, control of the work of administrators, maintaining ratings of the popularity of programs used by clients.

ESMART® Cafe
Billing system for Internet cafes and computer clubs. Support for fiscal registrars SHTRIH-FRK and the ability to use smart cards as a means of payment for the client.

KravNetAdmin ™
Professional software package for accounting of finances and management of the computer center. This phrase hides more than five years of difficult but interesting work for us; and a serious result for you. The presented complex has absorbed all the best ideas, both ours, and administrators of clubs, and managers, and directors. We have tried to build an ideal and complete set of programs that will suit everyone.

Taskmaster
Management, automation and control system for computer clubs and Internet cafes Taskmaster Center Enterprise.

ClubControl
A powerful and reliable management system for computer clubs and Internet cafes.

ZShell
The ZShell system is designed to facilitate the work of the administrator and the user, to restrict user access to system resources, as well as to record and control the cash register and incoming money, to maintain complete statistics of the administrator's actions and the operation of computers.

IPGuard
Completely free full-featured program for managing computer and Internet clubs. It can also be used in other cases where it is necessary to control access restriction and accounting for the use of a PC over the network.

Non-Russian-language Internet club management programs

CafeSuite
CafeSuite is a powerful cyber cafe management software package that can help you with controlling your computers, managing customers, accounting and billing.

EasyCafe
EasyCafe is a complete solution for your management needs in your Internet Cafe. It is capable of handling the customers, the accounting and the cafeteria with the minimum human assistance. Moreover EasyCafe has many unic features for adding diversity for the clients. EasyCafe using cybercafes increase the quality of their services by providing wider options to their customers.

More and more often I am asked the question of how to set up GameClass. Gameclass is one of the most powerful computer room management software. Despite the abundance of documentation on the official website, the installation and configuration process is rather complicated. Therefore, I decided to tell in detail about this process.

The GameClass program is distributed on the website http://www.gameclass.ru/. There you can also download a demo version for free and try out its functionality. For the minimum set, we need an installer for the MSDE2000 database (MSDE2000 ReleaseA database) and an installer for the GameClass 3.84 Release 9 program itself. Today this is the latest stable version. I am afraid that in the future the program will not develop any more until an investor is found to buy the project. The rest of the modules and programs are needed to fine-tune your club.

Before installing GameClass, you need to install the base server Microsoft data SQL Server Desktop Engine, which is responsible for processing program data. You need to install the version of MSDE2000 downloaded from the GameClass website. With several other versions of MSDE2000, the Internet cafe control program refused to work for me. MSDE is unpacked to the specified directory, launched from there and installed without questions or messages in the C: \ Program files \ Microsoft SQL Server directory

After installing MSDE2000, you need to find and run the ResetPass.bat file, which is located in the directory where MSDE2000 was unpacked. Before starting this BAT file, you need to restart the computer so that all paths to the SQL server are registered in the system settings. ResetPass resets the password for the database administrator and upon installation the GameClass program will automatically configure all the passwords.

After restarting the computer, in the clock tray you will find the SQL Service Manager program, which allows you to stop and restart the MSSQL server. Stopping the server is needed in order to make a backup of the database. The data itself will be located in the C: \ Program files \ Microsoft SQL Server \ 8.0 \ Data directory. I recommend regularly making a copy of this directory in order to be able to restore your statistics, account information, program settings and in general everything related to GameClass data.

After making sure that the SQL Service Manager is running and the MSSQL database is running, you can start installing the GameClass. When you start the installer, the program will ask how you should configure it to be used. When installing on client computers in the hall that will be blocked, select "Client computer". Select "Main control computer" on the operator's computer. Usually the MSDE2000 database runs on the same computer, but this is not required. GameClass allows you to connect to a remote database on another server by entering the address of the SQL server.

After installation, we use an empty manager password to log in to the system. There are not so many mandatory settings for controlling the hall:

  • Define passwords for manager and operator in the "Users" section
  • Determine the IP addresses of client computers in the "Computers" section
  • Determine tariffs

After the settings, we connect as an operator and start working with the hall. When you start the program under the operator, the program shows green computers that are visible on the network and red ones that are turned off. When the client sees the server, he displays a login and password entry window. If the "Computer is free" block is on, then there is some problem in the settings.

The function of connecting to a remote database is useful on the manager's computer, who, having installed the program, can monitor the state of the hall remotely. To do this, install GameClass by selecting "Manager's Computer". To connect, mark the "Connect to another server" checkbox and write the address of the database server. Make sure that firewalls and antiviruses are not blocking the ports of the MSSQL service. Using the manager's password, you can remotely see not only the state of the hall, but also reports, statistics, as well as make changes to accounts and carry out any work with the settings. After changing the settings, the operator must disconnect from the base and re-enter the system.

In the near future I am going to tell you about how to manage clients under the operating room using GameClass. Linux system Gentoo.

Locker is a complex automation system for computer clubs and internet cafes. The main tasks of the system are registration of sessions of the computers in the hall and blocking the operation of computers, the session time of which has expired. In addition, the Locker program keeps records of any additional services, user payments, the balance of each user, accounting for computer reservations, collects statistics and generates various reports on work and much more ...

Locker has an advanced system for separating employees' access to various functions and reports. With the help of additional modules, it is possible to display the state of the computers in the hall on a separate screen to users at the entrance to the computer room, display the current state of computers on the club's page on the Internet, send messages about the current status to the head of the club, and automatically print receipts on the cash register.

New version of the client program for club computers Club Client program... This program works with Locker too!

Bonus system of work: "bonus time" is accumulated on the user's account. For example, for every five hours of work, the user receives one hour of free bonus time. The use of this system is a good incentive for regular users.

Locker program description

The program is distributed as shareware, and is supplied on an "as is" basis, that is, the developer is not responsible for the possible consequences of its misuse. Only the compliance of the program functions with its documentation and our attention to the wishes of the program users are guaranteed.

The program works in Windows 10/8/7 / Vista / XP / 2003/2000 / NT / 98 / ME. Minimum requirements: a computer that can run some Windows, 15 MB hard disk space + data size. The display screen resolution must be no worse than 1024x768.