"How did we do game hosting" or "Our first Hackathon"

    The other day in our company FirstVDS was the first hackathon. It was for us the first experience of the project in the framework of such an event. As a result, we launched the new FirstGAME service in just one week.



    Background


    Exploring for what purposes they buy VDS from us, we found out that a significant part of them are purchased for the deployment of game servers. Then we decided to make it easier for customers to use our service and create disk templates with pre-installed game servers. However, while we were preparing the first Minecraft template and studying the system requirements of the game, it turned out that it needed at least 1 GB of memory to work. The price for such a game server was not at all competitive. All the same, we launched this template in early July, believing that it will be in little demand among those who need full control over the game server. In addition, we decided that it would be interesting to make the hosting of game servers as a separate specialized service. The name came up immediately - FirstGAME.

    Having thought a little in this direction and figured out what we need to start the game hosting, we realized that we will be launching this project for a very, very long time. It was necessary to involve many different people who already have enough work to do. Then someone suggested: "And let's try Hackathon ?" We scheduled a preliminary organizational meeting on August 13, inviting all company employees who wish to attend. The idea is to create a new interesting project in 1 day.

    The guys from different departments were inspired by the possibility of creating a gaming platform and came to express their ideas. At this meeting, we discussed the objectives of the project, the basic requirements, outlined a small plan of what we need to do and who does what, and also set a date for September 17

    The project goal sheet looked like this:
    • To increase the audience of customers by making a service for gamers
    • Write a new software product for managing game hosting
    • Play Hackathon, we’ve never tried this format before
    • Tell everyone what we are capable of (this article)
    • Get experience in a new field for us (games)

    And the requirements are like this:
    • Accessible and understandable for housewives (no difficulties)
    • Competitive price
    • It should work in the declared mode (uptime, scheduled maintenance, etc.)
    • Document well so that the user can quickly find the answer to any of their questions
    • At least 3 games at the start
    • There will be no technical support, only a general forum
    • We serve only individuals
    • The initial 100% working version should be done in 1 day, so we don’t aim at laborious tasks

    Since we do not have our own web designers and programmers in our state, we decided to invite them from the outside. Thus, we were joined by designer Eugene, whom many managed to meet at the Admin apartment , as well as a group of programmers from ISPsystem, a friendly company that was interested in creating a new software product.

    At the end of the preliminary meeting, the head of the company Alexey said: “It seems to me that I am beginning to believe in the success of this venture,” which inspired everyone very much.

    Hackathon


    So, it was September 17th at 9 a.m. Until this time, we agreed not to do any preliminary work and research, we decided to start everything from scratch. The only thing we did at this point was to buy the firstgame.ru domain from cybersquatters .
    Go! The task was set to us very concrete interesting and difficult - to make a workable project in one day. Not licked in detail, not too deep, but working and lively. Thus, we, without any preparation, but with the goal and with the means in the form of human and technical resources, started to work.


    We gathered in a large spacious room, there were really a lot of people (21 people). On the walls hung several canvases with text telling about the goals of the work, the requirements for the conceived product, as well as a small overview of the games from which it would be possible to begin filling the panel.

    After a brief discussion, we selected GTA, Counter Strike 1.6, Minecraft, TF2, Left 4 Dead and TeamSpeak with an additional bonus. We took these five games based on the criteria of mass character, stability, simplicity / complexity of support, etc. How many toys will turn out at the end of the day was not known.

    Judging by the facial expressions of the participants in the experiment, it was fun for them to come to work, but not to deal with everyday tasks, but to massively research some new field for themselves, find ways to solve it, without delaying thoughts, checking them for suitability and accepting final decisions. Everyone was in a good mood, and interest was read in his eyes.


    We formed 3 main working groups: the first was engaged in the development of the site, content and marketing research, the second in the study of the technical side of game servers, the third in the development of a control panel for game servers. And, of course, there were individuals who coordinated the joint work, provided technical resources, ordered pizza, all took photos and recorded

    Website. While the group was discussing the layout and layout of the site, the designer listened to the assignment and set about sketching the logo. After looking at the other logos of our projects , a few minutes later he proposed a layout that everyone liked and was immediately approved. Then the guys decided how to design the site, which blocks to place, what color scheme would be. We tried to make everything convenient and understandable, without unnecessary confusing frills, but interesting and beautiful

    We looked at some of these sites and found a lot of interesting and useful. Having decided on the site and finally forming a task for the designer, the bulk of the group engaged in marketing research. We found in RuNet about 50 sites of similar subjects and analyzed them for the services provided and pricing policy, and also tried to identify the leaders on which to follow. We bought accounts from them, studied in more detail how everything is arranged, which is convenient and like. As a result, we derived the average market prices, and also determined the prices that we would like to set. However, it was too early to decide finally with the price, because nothing was clear at cost ... However, this did not prevent us from creating a new project and tariff plans in our BILLmanager billing system, as well as making settings for receiving money.

    Meanwhile, a group of system administrators divided the games among themselves, each received a separate dedicated server and proceeded to install the game. Their tasks included sorting out the server part of the game, on what and how to launch it, determining the resource requirements, how it was configured and formulating a task for developers who would automate interaction with this game. Next, the task was to study the load created by games on different servers and determine the optimal configuration of hardware so that everything was enough and nothing was idle.

    And the developers, meanwhile, designed the core of a new product, which they decided to call GSmanager (game server manager). Here is how one of the members of this group commented on his work, Alexey: “Of course, we decided to write a gaming panel on the same basis as all our products - on COREmanager. The following architecture was developed: The system will be multi-server. GSmanager is deployed on one server, which is responsible for the user interface, their accounting and accounting for game servers and nodes of the game cluster. Nodes are connected to it, game servers will be installed and run directly on them. When connected, a special application is installed on the node - GSmini, which, in turn, is responsible for installing game servers, setting up and managing their status. Thus, from the master server we will be able to manage the whole game cluster! ”


    Having dealt with the architecture and interaction protocols, the guys set to work and by the afternoon they had a working prototype. In parallel, we wrote a module for BILLmanager, which allowed us to automatically process customer orders.

    The break time came (one o'clock in the afternoon) and here are some of the guys’s impressions experienced during the lunch break:


    Olya, project manager: “I am surprised at our performance. We fit in well with the plan. No mess and chaos, everyone is sitting and clearly fulfilling the task, everyone understands what and why is doing. ”

    Dima, developer: “I don’t see what happens next to our development table, although there are enough tables here. We have shown the structure of the project, on the basis of which it will live. The basic functionality was determined, how the work with users and physical servers will be implemented. We automated the assembly and deployment of the developed GSmanager panel on a test bench. In general, they came up with the basis, but now they realized that it needs to be improved. Forcing events, we realize new ideas and begin to build up “meat on bones”. An hour later, we will ask Old about the configuration and launch of various game servers. ”

    At 2 o'clock, again everyone gathered in their places and work continued. Groups began to interact more closely among themselves, exchanging best practices and information. The first negative points appeared. It turned out that TeamSpeak cannot be sold just like that; a license agreement and the signing of pieces of paper are necessary. But we did not give up this question, since this is a popular addition, it must be with us.


    We were not able to carry out testing under load either; we did not find much data on this topic on the Internet either. We decided to run everything on the E5-1650 / 32Gb / 2x2000 SATA config, one node for each type of game. Next, empirically, we will determine the need for iron and optimize it. Since we were not able to calculate the cost price more or less accurately, we decided to focus on the average market prices, deciding that, probably, people are not at a loss for themselves ... Moreover, we are not going to dump, because we believe that this is killing the market, and we plan work on it and do something that will make it strive for the best.

    For developers, too, everything was not going well, the guys decided to make the first module for Minecraft a crowd, and then break up into other games, and write the remaining modules in parallel with the developed system. However, the debate in the “best enemy of the good” series took too long. A group of game researchers finished their work and began to suffer from nonsense, which slightly affected the overall working atmosphere. True, some of them found a lesson in the form of filling the site with texts and help in generating ideas for banners and other marketing events.


    Towards evening, it became finally clear that we would not have time to launch the project today. The main reasons were GSmanager, as well as work on the layout of the site and its automation.

    Everyone agreed that we did a huge amount of work and we need just a little bit to start the project. We discussed all bottlenecks and shortcomings, determined the procedure for improvement: after 3 days (in a leisurely mode, because everyone has the main work), we should be ready for the final testing, we will take another 2 days to eliminate the shortcomings identified during the testing process and September 24 ( in a week) we launch the project.

    As a result, on Friday, we had:
    1. Completely ready site with 3 most popular games
    2. GSmanager is installed and configured, to which 8 servers are connected
    3. Game servers running in test mode
    4. On the site you can order a service, make a payment and start playing the game almost immediately
    5. Marketing is ready for all advertising materials, texts of news and pre-releases, there is a clear strategy for promoting
    6. This article is written

    In the end, I would like to say a few words about further plans for the development of the project:
    During October, we will add a maximum of functions to GSmanager and bring the first four games to a perfect state. And before the end of the year, we plan to increase the number of games to 10, study the game hosting market more deeply, and study the feasibility of buying competing companies in order to quickly secure our leading position.

    Conclusion:


    Hackathon, as a method of quickly solving interesting problems, has paid off! We liked this style of work. The result , in the end, we were also satisfied. Now we are waiting for feedback from fans to play something from a so far small but already existing assortment. And readers, I hope, found something interesting in the article for themselves.

    Also popular now: