Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Cервис для управления и мониторинга хостов в инфраструктуре Magicthirst.

Notifications You must be signed in to change notification settings

Magicthirst/Service_Hosts_Py

Repository files navigation

Hosts: Сервис конфигурации хоста

Описание проекта

Данный репозиторий содержит сервис Hosts, который является одним из микросервисов многопользовательской игровой платформы с синхронизацией сессий. Сервис Hosts отвечает за управление конфигурацией учетных записей хостов. Он позволяет хостам настраивать правила доступа к их игровым сессиям, управлять списками друзей и заблокированных пользователей.

Функциональность

Сервис Hosts предоставляет RESTful API для выполнения следующих операций:

  • POST /{host} – Создание хоста: Создание новой записи о хосте с уникальным UUID.

  • GET /{host} – Получение информации о хосте: Получение текущей конфигурации хоста.

  • PUT /{host}/only_friends – Настройка доступа "только для друзей": Установка разрешения, разрешен ли вход в сессию только для друзей.

  • PUT /{host}/allow_nonames – Настройка разрешения для анонимных пользователей: Установка разрешения, разрешен ли вход в сессию незарегистрированным (анонимным) пользователям.

  • Управление списком друзей:

    • POST /{host}/friends/{friend} – Добавление пользователя в список друзей.

    • DELETE /{host}/friends/{former_friend} – Удаление пользователя из списка друзей.

  • Управление списком заблокированных пользователей:

    • POST /{host}/banlist/{banned} – Блокировка пользователя (запрет подключения к сессии).

    • DELETE /{host}/banlist/{banned} – Разблокировка пользователя.

    • GET /{host}/welcomes/{guest} – Проверка доступа гостя: Проверка, разрешен ли гостю доступ к сессии данного хоста на основе текущих настроек и списков.

Архитектура и технологии

Сервис реализован на Python и использует следующие технологии:

  • Веб-фреймворк: FastAPI для создания RESTful API.

  • База данных: TinyDB для легковесного хранения данных о хостах в формате JSON (hosts.json).

Запуск приложения

Клонируйте репозиторий:

git clone https://hoster.by/help/unix-khosting-nastroyka/kak-sozdat-git-repozitoriy-i-nastroit-avtoobnovlenie-iz-nego-koda-sayta/
cd [название папки репозитория Hosts]

Создайте виртуальное окружение и установите зависимости:

python -m venv venv
source venv/bin/activate # Для Linux/macOS
# venv\Scripts\activate # Для Windows
pip install -r requirements.txt

Запустите сервис:

python main.py

Сервис будет доступен по адресу, указанному в config.py.

Тестирование Для запуска тестов используйте pytest:

pytest test_main.py

Тесты проверяют корректность работы всех API-методов и взаимодействия с базой данных.

About

Cервис для управления и мониторинга хостов в инфраструктуре Magicthirst.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /