title: Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ° ÑÐµÑÐ²ÐµÑÐ½Ð¾Ð¹ ÑÐ°ÑÑÐ¸ Ð´Ð»Ñ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð¼Ð¾ÑÐ½Ð¸ÐºÐ° Ð´Ð»Ñ Ð½Ð°ÑÑÐ¾Ð»ÑÐ½Ð¾Ð¹ ÑÐ¾Ð»ÐµÐ²Ð¾Ð¹ Ð¸Ð³ÑÑ
title: Ð²ÑÐ¿ÑÑÐºÐ½Ð°Ñ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð±Ð°ÐºÐ°Ð»Ð°Ð²ÑÐ°
titleType: Subtitle
title: Development of the server part for the assistant application for a tabletop role-playing game
Creators: name: ÐÐµÑÑÑÐ´ÑÐºÐ¸Ð¹, ÐÐ²Ð°Ð½
Publisher: name: Ð¡Ð°Ð½ÐºÑ-ÐÐµÑÐµÑÐ±ÑÑÐ³ÑÐºÐ¸Ð¹ Ð¿Ð¾Ð»Ð¸ÑÐµÑÐ½Ð¸ÑÐµÑÐºÐ¸Ð¹ ÑÐ½Ð¸Ð²ÐµÑÑÐ¸ÑÐµÑ ÐÐµÑÑÐ° ÐÐµÐ»Ð¸ÐºÐ¾Ð³Ð¾
Year: 2024
Subjects: ÑÐµÑÐ²ÐµÑÐ½Ð°Ñ ÑÐ°ÑÑÑ
go
rest api
http
websocket
mysql
ÐºÐ»Ð¸ÐµÐ½Ñ-ÑÐµÑÐ²ÐµÑÐ½Ð°Ñ Ð°ÑÑ Ð¸ÑÐµÐºÑÑÑÐ°
server side
client-server architecture

description: Ð ÑÐ¾Ð´Ðµ ÑÐ°Ð±Ð¾ÑÑ Ð±ÑÐ»Ð¸ ÑÐ°ÑÑÐ¼Ð¾ÑÑÐµÐ½Ñ ÑÑÑÐµÑÑÐ²ÑÑÑÐ¸Ðµ Ð°Ð½Ð°Ð»Ð¾Ð³Ð¸, Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÐ¼ÑÐµ Ð´Ð»Ñ ÑÐ»ÑÑÑÐµÐ½Ð¸Ñ ÐºÐ°ÑÐµÑÑÐ²Ð° Ð¿ÑÐ¾Ð²Ð¾Ð´Ð¸Ð¼ÑÑ ÑÐµÐ°Ð½ÑÐ¾Ð² Ð¸Ð³Ñ. ÐÑÐ»Ð¸ Ð²ÑÐ±ÑÐ°Ð½Ñ Ð¸ Ð¾Ð±Ð¾ÑÐ½Ð¾Ð²Ð°Ð½Ñ ÑÐµÑÐ½Ð¾Ð»Ð¾Ð³Ð¸Ð¸ Ð¸ Ð¸Ð½ÑÑÑÑÐ¼ÐµÐ½ÑÑ Ð´Ð»Ñ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ¸. Ð ÐºÐ°ÑÐµÑÑÐ²Ðµ ÑÐ·ÑÐºÐ° Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ ÑÐµÑÐ²ÐµÑÐ½Ð¾Ð¹ ÑÐ°ÑÑÐ¸ Ð±ÑÐ» Ð²ÑÐ±ÑÐ°Ð½ ÑÐ·ÑÐº Go Ñ ÑÐ°ÐºÐ¸Ð¼Ð¸ Ð¿Ð°ÐºÐµÑÐ°Ð¼Ð¸, ÐºÐ°Ðº Gorilla/mux Ð¸ Gorilla/WebSocket. ÐÐ»Ñ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑÐ²Ð¸Ñ ÑÐµÑÐ²ÐµÑÐ½Ð¾Ð¹ ÑÐ°ÑÑÐ¸ Ð¸ ÐºÐ»Ð¸ÐµÐ½ÑÑÐºÐ¾Ð³Ð¾ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð»ÑÑ REST API, ÑÑÐ¾ Ð¾Ð±ÐµÑÐ¿ÐµÑÐ¸Ð²Ð°ÐµÑ ÑÑÐ°Ð½Ð´Ð°ÑÑÐ¸Ð·Ð¸ÑÐ¾Ð²Ð°Ð½Ð½ÑÐ¹ Ð¿Ð¾Ð´ÑÐ¾Ð´ Ðº Ð¿ÐµÑÐµÐ´Ð°ÑÐµ Ð´Ð°Ð½Ð½ÑÑ. ÐÐ»Ð°Ð³Ð¾Ð´Ð°ÑÑ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑÐ²Ð¸Ñ ÑÐµÑÐµÐ· HTTP-Ð·Ð°Ð¿ÑÐ¾ÑÑ ÑÐ´Ð°Ð»Ð¾ÑÑ ÑÐ¾Ð·Ð´Ð°ÑÑ Ð³Ð¸Ð±ÐºÑÑ Ð¸ ÑÐ°ÑÑÐ¸ÑÑÐµÐ¼ÑÑ ÑÐ¸ÑÑÐµÐ¼Ñ Ð´Ð»Ñ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÐ¼Ð¸ Ð¸Ð³ÑÐ¾ÐºÐ¾Ð² Ð¸ Ð¿ÐµÑÑÐ¾Ð½Ð°Ð¶ÐµÐ¹. Ð ÐµÐ°Ð»Ð¸Ð·Ð°ÑÐ¸Ñ Ð»Ð¾Ð±Ð±Ð¸ Ð´Ð»Ñ ÑÐ±Ð¾ÑÐ° Ð¸Ð³ÑÐ¾ÐºÐ¾Ð² Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÑ ÑÐµÑÐ½Ð¾Ð»Ð¾Ð³Ð¸Ñ WebSocket, Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÑÑÑÑ ÐµÐ´Ð¸Ð½Ð¾Ð¶Ð´Ñ Ð¾ÑÐºÑÑÐ² ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ðµ Ð¼ÐµÐ¶Ð´Ñ ÑÐµÑÐ²ÐµÑÐ¾Ð¼ Ð¸ ÐºÐ»Ð¸ÐµÐ½ÑÐ¾Ð¼ Ð¾ÑÐ¿ÑÐ°Ð²Ð»ÑÑÑ Ð´Ð°Ð½Ð½ÑÐµ Ð² Ð¾Ð±Ðµ ÑÑÐ¾ÑÐ¾Ð½Ñ Ð±ÐµÐ· Ð½ÐµÐ¾Ð±ÑÐ¾Ð´Ð¸Ð¼Ð¾ÑÑÐ¸ Ð¿Ð¾Ð²ÑÐ¾ÑÐ½Ð¾Ð³Ð¾ Ð¾ÑÐºÑÑÑÐ¸Ñ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ. Ð ÐµÐ·ÑÐ»ÑÑÐ°ÑÐ¾Ð¼ Ð´Ð°Ð½Ð½Ð¾Ð¹ ÑÐ°Ð±Ð¾ÑÐµ ÑÐ²Ð»ÑÐµÑÑÑ ÑÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð½Ð°Ñ ÑÐµÑÐ²ÐµÑÐ½Ð°Ñ ÑÐ°ÑÑÑ Ñ ÑÑÐ½ÐºÑÐ¸ÑÐ¼Ð¸ Ð°ÑÑÐµÐ½ÑÐ¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¸ Ð¸ Ð°Ð²ÑÐ¾ÑÐ¸Ð·Ð°ÑÐ¸Ð¸, ÑÑÐ¾ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÑÐ¼ ÑÐ¾Ð·Ð´Ð°Ð²Ð°ÑÑ ÑÑÐµÑÐ½ÑÐµ Ð·Ð°Ð¿Ð¸ÑÐ¸. Ð ÑÐ²Ð¾Ð¸Ñ ÑÑÐµÑÐ½ÑÑ Ð·Ð°Ð¿Ð¸ÑÑÑ Ð¸Ð³ÑÐ¾ÐºÐ¸ Ð¼Ð¾Ð³ÑÑ ÑÐ¾Ð·Ð´Ð°Ð²Ð°ÑÑ Ð¸ ÑÑÐ°Ð½Ð¸ÑÑ Ð¿ÐµÑÑÐ¾Ð½Ð°Ð¶ÐµÐ¹, ÐºÐ¾ÑÐ¾ÑÑÐµ Ð² Ð¿Ð¾ÑÐ»ÐµÐ´ÑÑÑÐµÐ¼ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½Ñ Ð¿ÑÐ¸ ÑÐ±Ð¾ÑÐµ Ð½ÐµÑÐºÐ¾Ð»ÑÐºÐ¸Ñ Ð¸Ð³ÑÐ¾ÐºÐ¾Ð² Ð² Ð¾Ð½Ð»Ð°Ð¹Ð½ Ð»Ð¾Ð±Ð±Ð¸.
description: In the course of the work, the existing analogues used to improve the quality of the gameâs sessions were considered. Technologies and tools for development were selected and justified. The Go language with packages such as Gorilla/mux and Gorilla/WebSocket was chosen as the programming language for the server side. The REST API was used for the interaction of the server side and the client application, which provides a standardized approach to data transmission. Thanks to the interaction via HTTP requests, it was possible to create a flexible and extensible system for managing player and character data. The implementation of the lobby for collecting players uses WebSocket technology, which allows once opening a connection between the server and the client to send data in both directions without having to reopen the connection. The result of this work is an implemented backend with authentication and authorization functions, which allows users to create accounts. In their accounts, players can create and store characters, which can later be used when collecting several players in the online lobby.