Games for money: the experience of deploying the PlaykeyPro service

Games for money: the experience of deploying the PlaykeyPro service

Many owners of home computers and computer clubs jumped at the opportunity to make money on existing equipment in the PlaykeyPro decentralized network, while faced with a brief deployment instruction, which for the majority caused problems during startup and operation, sometimes even insurmountable.

Now the project of a decentralized gaming network is at the stage of open testing, the developers are inundated with questions about launching servers for new participants, they work almost seven days a week, and there is no time at all for extended instructions.

At the request of readers of the article "Games for money: experience in a distributed gaming network of the owner of several servers" and for those who want to become members of the PlaykeyPro decentralized network, I decided to go through the connection path again with the already existing experience of deploying a server on a home computer. I hope I will help the respected audience understand how the launch takes place, what is needed for this and how to avoid known problems.

Prepare

Before you begin installing and connecting the server, you should check that the equipment and network meet all the necessary criteria. The brief description of the launch and the landing page contain minimum system requirements without detailed descriptions and explanations, which leads to doubts about the possibility and profitability of participation in the project.

If you strictly follow the minimum requirements, you will get a server on which you can play just a few games. Given the ever-changing resource requirements of games, this can quickly lead to a loss of server demand or additional retooling costs. This state of affairs is unlikely to please those who are going to buy a new computer and rent it to the service in the long run.

As the testers have already noted, and I agree with them, the minimum requirements are based on the characteristics of the working servers of the Playkey centralized network.

A wide variety of computer hardware and the use of unified game settings profiles often lead to an increase in overall requirements for servers and loss of video card performance when working in the service. If a virtual machine with a video card cannot provide a minimum performance threshold, then the service may limit the set of games or completely refuse to rent such a server.

Since the server uses both physical and logical processor cores, meeting the requirements for processor performance can be reduced to a simple comparison of the performance of one and several physical/logical processor cores using the database of any known test program, taking into account the required number of cores depending on the game shown below table. You can take the performance of the Intel i5-8400 processor as a basis. Its performance per core is sufficient to run most games with the exception of a few that require more cores, and if the processor does not have enough of them, then the game will simply not be playable.

To simplify the assessment of a computer’s capabilities as a PlaykeyPro server, I will provide a table of the minimum experimentally verified requirements for a virtual machine to run available games on a decentralized network at the time of writing. The operation of the server itself will additionally require two logical processor cores, 8 GB of RAM (12 GB when running several virtual machines on the server) and 64 GB of disk space for the CentOS operating system and the basic virtual machine software.

Games for money: the experience of deploying the PlaykeyPro service

Based on the size of the data in the table, you can determine what capacity the hard disk should be. Do not forget about the reserve space for the virtual machine, updates and new games. The number of games is growing rapidly and the required volume will increase. For normal operation, it is undesirable to leave the amount of free space less than 100 GB.

The service has the function of determining the set of games by the server owner, however, at the current stage of beta testing, this function is not available and administrators simply do not have time to adjust the set of games for everyone. Overflowing disks inevitably leads to errors in operation and equipment downtime for maintenance by service administrators.

From the experience of participating in beta tests as storage media on a server with one virtual machine, I recommend using a HDD with a capacity of at least 2 TB in conjunction with an SSD drive of 120 GB or more to cache file system read operations. Other solutions may entail large financial costs, although to implement the operation of more than one virtual machine within the same server, you will have to use exclusively SSD drives with high read speeds.

When running two virtual machines within the same server, the data size remains the same as when working with one virtual machine, with the exception of a few gigabytes, which will help save on SSD disk volumes.

Those who do not have the ability to connect large-sized media should not despair. Data storage on the server is based on the ZFS file system, which allows you to easily increase the amount of available disk space over time without having to make changes to the current configuration with full data preservation. Such an implementation is not without a drawback in the form of a decrease in the reliability of data storage, because if one of the media fails, there is a high probability of losing all the data and you will have to wait for it to be downloaded from the Playkey servers, which is not at all encouraging given the amount of data.

Warning!

When deploying the service, disks with personal data must be disconnected!

For those who plan not only to rent a computer, but also use it for their own needs, while connecting disks for service and for personal use, the data of your disks can also be destroyed in the event of an unforeseen error. Of course, it is not worth physically disconnecting / connecting disks every time for personal use of the computer. For SATA drives, there is an option in the BIOS to disable the drive(s). There are also SATA Switch drive power management devices that will help you quickly and safely disconnect drives with important data. As for NVMe drives, disabling BIOS drives is only possible on rare motherboards, so you can’t use them for your own needs.

Network troubles

The instructions for deploying the service indicate the network parameters in the form of a wired Internet of at least 50 Mbps and a white IP address at the router. Let's take a closer look. Wired Internet speed parameters are familiar to almost every Internet user, but white IP or not, usually few people are interested and do not know how to check.

White IP is a public external IP address assigned to only one specific device (router) on the global Internet. Thus, having a white IP router, any client computer can directly connect to your router, which, using the DHCP and UPNP functions, broadcasts the connection to the server behind the router.

To check the publicity of the IP address, you can use any service that shows your IP address and compare it with the IP address of the external connection of the router. If it matches, the IP address is public. Public IP addresses are both static and dynamic. Static ones are best suited for a service, when using dynamic ones, there can be unpleasant surprises in the form of disconnections with the client computer and the server-manager of the connection to the service. You can check with the provider of the Internet channel about the static IP address, or at least check the external IP address of the router for several days.

One of the problems encountered when deploying the service is the lack of support or errors in the UPNP function of the router. Most often, this is the case with cheap routers provided by Internet providers. If the router is from this category, then you should first find documentation on setting up the router’s UPNP function.

The wired Internet speed requirement of 50 Mbps sets the minimum Internet bandwidth for one virtual machine. Accordingly, several virtual machines will require an Internet channel with a proportionally increased outgoing bandwidth, i.e. 50 Mbps multiplied by the number of virtual machines. Outgoing data traffic per month averages 1.5 terabytes per virtual machine, so the limited tariff plans of Internet providers for connecting to the service are not suitable.

In the process of server operation, intensive data transfer takes place, which, when using simple 100 megabit routers, can lead to problems in the operation of online services of multimedia network devices on your local network. If there are problems with the stability of the speed of the Internet channel, you should think about connecting a more productive router, otherwise the server will be unstable and then disconnected from the service.

From the testers' notes, Mikrotik, Keenetic, Cisco, TP-Link routers (Archer C7 and TL-ER6020) perform well in work.

There are also outsiders. For example, the household gigabit router Asus RT-N18U, after adding a second virtual machine, began to hang during long simultaneous sessions, replacing it with Mikrotik Hap Ac2 completely removed the problem. Connection breaks are also a common occurrence, in particular, the Xiaomi Mi WiFi Router 4 router has to be rebooted once a month (perhaps the provider is also involved, the router was imposed with the statement that 500 Mbps will definitely work on their equipment).

The process of deploying several servers should be performed one by one, the speed of deploying the service depends on it. According to the developers, the solution to the problem of automatic data exchange between servers in a faster local network is at the final stage. This will help to reduce the service deployment time by several times and reduce the load on the Internet channel.

Iron nuances

Installation usually does not require user intervention, but at the moment the configuration is minimal and is aimed at owners of computers based on Intel processors with drives connected via SATA interfaces. If you have an AMD processor-based computer or an NVMe SSD drive, then some obstacles may arise, and if the article does not answer your questions, you can always ask technical support directly on the page of your personal account or by sending an email to [email protected].

Previously, among the requirements in the instructions for deploying the service, there was a mention of the need for integrated graphics or an additional video card to run and configure the server. At the stage of closed testing, this requirement lost its relevance and became more of a tool for more convenient server administration with direct access to the server by the owner, but, like any server based on Linux OS, remote administration is available for configuration and monitoring.

The requirement for a monitor emulator (stub) or a connected monitor is due to some hardware features of controlling video modes of a video card in a virtual machine. Service clients often adjust the video mode settings to match the settings of their monitors. If a monitor or emulator is not connected to the video card, then many specific video modes become inaccessible to clients, which is unacceptable for the service. For the permanent operation of the server, the presence of an emulator is preferable to connecting a monitor, otherwise turning off the monitor power or switching the monitor to work from another video source may cause an error in the service. If you need to combine the functionality of the emulator and use the monitor without any reconnections, you can use the transitive monitor emulator.

Test computer configuration

  • Power Supply Chieftec Proton 750W (BDF-750C)
  • ASRock Z390 Pro4 Motherboard
  • Processor Intel i5-9400
  • Memory Crucial 16GB DDR4 3200 MHz Ballistix Sport LT (single stick)
  • Samsung SSD - PM961 M.2 2280, 512GB, PCI-E 3.0×4, NVMe
  • MSI Geforce GTX 1070 Aero ITX 8G OC Video Card
  • As an installation flash drive SSD SanDisk 16GB (USB HDD SATA RACK)

Installation

Downloading the “usbpro.img” image from the link in the PlaykeyPro deployment instructions and writing it to an external USB drive takes only a couple of minutes. I had to scroll through the BIOS settings sections longer in search of virtualization options: Intel Virtualization and Intel VT-d. Without activating these options, the virtual machine will not be able to start. After activating the virtualization options, set the boot options to Legacy BIOS mode and save the settings. The current official image does not support booting in UEFI mode, the developers will announce this option in the next release of the image. The first start must be performed one-time from a previously prepared USB drive. In my case, for an ASRock motherboard, the F11 key was used to bring up the Boot Menu.

Games for money: the experience of deploying the PlaykeyPro service

Games for money: the experience of deploying the PlaykeyPro service

After choosing to start from a USB drive, no beautiful screensavers followed and a dialog box immediately appeared asking you to enter the Playkey user ID, which can be found in the upper right part "personal account" after completing the registration procedure on the landing page.

Games for money: the experience of deploying the PlaykeyPro service

After entering the identification number, a window was displayed with a warning that all data on the specified disk will be permanently destroyed. In my example, the system and the game data partition will be on the same drive. To ensure the binding of the server to the Personal Account, the name of the specified drive is used. Entering the drive name and user ID of the Playkey into the server configuration is done automatically, but there are automation errors on various hardware. Write down the disk name somewhere, it will come in handy when manually linking the server to the Personal Account in case of an error. The option of installing the system and data with games on different disks is different, but due to the rarity of such an implementation, I did not consider it as an example.

Games for money: the experience of deploying the PlaykeyPro service

After confirming data destruction, the installer proceeds to set up disk partitions and boot the system image. The installation was deliberately done in the evening, because the data download process is best done from midnight to noon, when the players are resting and the network is not overloaded.

Games for money: the experience of deploying the PlaykeyPro service

The forecast for the download time of the system image turned out to be true; after 45 minutes, the installer, after checking the integrity of the image, began copying it to the media. During the image download process, 'Connection timed out' connection error messages were often displayed, but this does not affect the download process, rather it seems like the timeouts were set incorrectly in the installer.

Games for money: the experience of deploying the PlaykeyPro service

As expected, after successfully copying the system image to the media, the installer made an error related to mounting the partition on the NVMe media (the last deployment instructions mention the negative experience when installing to an NVMe drive and recommend not to select drives of this type). In this installation example, the error is not related to the peculiarities of the AMD platform, but to the installer's elementary error regarding the correct determination of the NVMe disk partition identifier. Reported the bug to the developers, the bug should be gone in the next release. If, nevertheless, an error occurs, then when sending a connection request, in addition to the Playkey ID and router model, provide the previously recorded disk name, and technical support will perform the configuration remotely.

And so, the installation is completed, you can turn off the computer and then disconnect the USB drive with the installer. The next step is the most exciting and simple, we turn on the computer and wait for the CentOS operating system to finish loading. If everything is done correctly, we will see the following picture.

Games for money: the experience of deploying the PlaykeyPro service

Sign in is not required. Then the service should continue to configure and work on its own. You can submit a connection request.

Checking the connection

The successful launch of the server is indicated by the appearance of an entry with the previously mentioned disk name in the list of servers in your personal account. The statuses opposite the server must be Online, Blocked and Free. If the server is not in the list, contact the support service directly from your personal account (button at the bottom right of the page).

Games for money: the experience of deploying the PlaykeyPro service

After the successful launch of CentOS and connection to your personal account, the server will start automatically downloading the data necessary for work. The process is lengthy and may take longer depending on the bandwidth of the Internet channel. In the example, the data download took about 8 hours (from evening to morning). The download process in your account at this stage of testing is not displayed in any way. For simple indirect control, you can control the traffic statistics of the router. If there is no traffic, contact technical support with a question about the state of the server.

If the basic server data is successfully downloaded and there are no technical problems, the virtual machine will start the Windows operating system with an easily recognizable desktop interface. After downloading the GTA5 game on a virtual machine, a performance test based on the GTA5 game will automatically start, based on the results of which the service will automatically decide on the suitability of the server and change the status from Blocked to Available. At the moment, due to the hype, there are queues for performing tests, just be patient. Now you can turn off the monitor and connect an emulator (stub) instead. Passing the test is recorded in the Sessions section of your personal account (Game: gta_benchmark). If after completing the test the status has not changed to Avilable, please contact technical support with a question.

Games for money: the experience of deploying the PlaykeyPro service

Games for money: the experience of deploying the PlaykeyPro service

My builds

The bottleneck of the test assembly is the Intel i5-9400 processor, which has a limited number of cores with no Hyper-threading technology, which limits the set of connected games. Disk size also limits the game library and is already a cause of declining server utilization. The complete library of games available for PlaykeyPro has already exceeded the size of 1TB.

In my arsenal there are several servers running two and three virtual machines based on three types of motherboards:

ASRock Z390 Phantom Gaming 6, i9-9900, DDR4 3200 48GB, SSD NVMe 1TB, SSD NVMe 512GB, GTX 1080ti, GTX 1070, GTX 1660 Super, PSU 1000W
Gigabyte Z390 Gaming Sli, i9-9900, DDR4 3200 48GB, SSD NVMe 512GB, GTX 1070, GTX 1660 Super, 850W PSU
Gigabyte Z390 Designare, i9-9900K, DDR4 3200 48GB, NVMe 512GB SSD, 3x GTX 1070, 1250W PSU

During testing of assemblies, the following shortcomings were noticed:

  • in the first two assemblies, the slots for the 2nd and 3rd video cards are located too close to each other, which makes it difficult to ensure proper cooling;
  • on the Gigabyte Z390 Gaming Sli motherboard, the slot for the third video card is limited on the PCIe bus by two v3.0 lines from the motherboard chipset and, accordingly, fps losses are noticeable during the game (on ASRock PCIe x4 v3.0 MCH, the fps decrease is not noticeable);
  • when using the i9-9900 processor, there are not enough cores to run demanding games on all three virtual machines, so two virtual machines will soon function there;
  • it is impossible to use the HDD in conjunction with two and three virtual machines.

The assembly based on the Gigabyte Z390 Designare motherboard, due to the symmetrical arrangement of the PCIe X16 slots, turned out to be the most successful in providing reliable cooling for three video cards. In order to ensure high performance of the motherboard, all three video cards are connected to the PCIe v3.0 processor lines according to the x8/x4/x4 scheme without the participation of the MCH.

Conclusion

Careful planning of the computer structure for the deployment of the PlaykeyPRO service will undoubtedly increase the reliability, performance and service life of the server. However, you should not immediately build complex configurations for two / three virtual machines, start with one. After about a month, you can come to an understanding of the server operation process and plan the optimal configuration of your equipment.

In addition to the minimum system requirements, I will give a recommendation for the computer configuration for the service, which will ensure the operation of all available games and provide a performance reserve for new products:

  • Processor: 8 cores
  • Hard disk: at least 2 TB, SSD or SSD>=120 + HDD 7200 RPM
  • RAM: 24 GB (better 32, 16+16 in dual channel mode)
  • Video Card: NVIDIA 2070 Super (equivalent to 1080Ti performance) or better

The information provided in the article is based on my personal experience in deploying and operating PlaykeyPro decentralized network servers. But even after almost a year of participation in testing, sometimes you have to deal with errors in the design of the hardware configuration.

Source: habr.com

Add a comment