Details

Title: Разработка серверной части многопользовательской онлайн игры с использованием websocket: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_01 «Технология разработки и сопровождения качественного программного продукта»
Creators: Ахмедов Абдулла Салимович
Scientific adviser: Тутыгин Владимир Семенович
Other creators: Кожевников Вадим Андреевич
Organization: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Imprint: Санкт-Петербург, 2022
Collection: Выпускные квалификационные работы; Общая коллекция
Subjects: серверная разработка; администрирование; непрерывная интеграция и поставка; протокол Websocket; лабиринты; алгоритмы генерации лабиринтов; server development; administration; continuous integration and delivery; websocket protocol; mazes; maze generation algorithm
Document type: Bachelor graduation qualification work
File type: PDF
Language: Russian
Level of education: Bachelor
Speciality code (FGOS): 09.03.04
Speciality group (FGOS): 090000 - Информатика и вычислительная техника
DOI: 10.18720/SPBPU/3/2022/vr/vr22-3032
Rights: Доступ по паролю из сети Интернет (чтение)
Record key: ru\spstu\vkr\19743

Allowed Actions:

Action 'Read' will be available if you login or access site from another network

Group: Anonymous

Network: Internet

Annotation

Тема выпускной квалификационной работы: «Разработка серверной части многопользовательской онлайн игры с использованием websocket». Данная работа посвящена разработке серверной части онлайн игры, а также развертыванию, конфигурированию и администрированию программного продукта. В первой главе был произведен обзор существующих мобильных игр в магазине мобильных приложений Google Play Market. Были выявлены основные недостатки данных продуктов. Была исследована теория лабиринтов, их классификация. Проведен сравнительный анализ различных алгоритмов генерации лабиринтов. Во второй главе описывается практическая часть данной работы, связанная с реализацией программного продукта. Описываются основные структуры, их методы и взаимодействия между основными модулями приложения. Третья глава посвящена подходу к разработке, созданию рабочего окружения. Описывается процесс непрерывной поставки приложения, а также конфигурация и назначение обратного прокси. В рамках этой главы рассказывается о способах защиты прямого доступа к серверу, а также про контейнеризацию приложения. Описывается процесс оркестрации сервисов.

Theme of the graduate qualification work: "Development of the server part of amultiplayer online game using websocket". This work is devoted to the development of the server part of the online game,as well as the deployment, configuration, and administration of the software product. In the first chapter, an overview of existing mobile games in the Google Play Marketmobile application store was made. The main shortcomings of these products wereidentified. The theory of labyrinths, their classification was investigated. Acomparative analysis of various algorithms for generating labyrinths has been carriedout. The second chapter describes the practical part of this work related to theimplementation of the software product. The main structures, their methods, andinteractions between the main modules of the application are described. The third chapter is devoted to the approach to development, creating a workingenvironment. Describes the continuous delivery process for an application and how toconfigure and assign a reverse proxy. This chapter covers how to secure direct accessto the server, as well as how to containerize the application. The process of serviceorchestration is described.

Document access rights

Network User group Action
ILC SPbPU Local Network All Read
Internet Authorized users SPbPU Read
-> Internet Anonymous

Table of Contents

  • РЕФЕРАТ
  • ABSTRACT
  • ВВЕДЕНИЕ
  • ГЛАВА 1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ
    • 1.1. Обзор существующих решений
    • 1.2. Лабиринты: определение и классификация
    • 1.3. Алгоритмы генерации лабиринтов
    • 1.4. Обоснование выбора технологий и средств разработки
      • 1.4.1. Язык программирования
      • 1.4.2. Паттерн проектирования
      • 1.4.3. Протокол связи
      • 1.4.4. Внедрение зависимостей
  • ГЛАВА 2. РАЗРАБОТКА СЕРВЕРНОЙ ЧАСТИ
    • 2.2. Обзор архитектуры
    • 2.3. Программная реализация
      • 2.3.1. Структура Application. Функции провайдеры
      • 2.3.2. Структура Config. Переменные окружения
      • 2.3.3. Маршрутизация запросов. Протокол WebSocket. Механизм Upgrade
      • 2.3.4. Структура Client
      • 2.3.5. Структура GameQ
      • 2.3.6. Структура Game
      • 2.3.7. Структура Bot. Генератор случайных имен
      • 2.3.8. Модульное тестирование
      • 2.3.9. Документация
  • ГЛАВА 3. КОНФИГУРАЦИЯ ИНФРАСТРУКТУРЫ
    • 3.1. Git Flow
    • 3.2. Docker. Оркестрация контейнеров
    • 3.3. Инструменты CI/CD
    • 3.4. Конфигурирование обратного прокси
    • 3.5. Настройка боевого и тестового окружения. Сборщик логов
    • 3.6. Обеспечение защиты доступа к серверу
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ЛИТЕРАТУРЫ

Usage statistics

stat Access count: 0
Last 30 days: 0
Detailed usage statistics