Skip to content

Project structure ru RU

github-actions[bot] edited this page Jul 3, 2026 · 1 revision

Структура проекта

.
├── app                   # сервер - логика, классы и объекты
|   ├── api                 # код обработки внешних запросов
|   |   ├── domains           # эндпоинты, доступные извне
|   |   |   ├── cho.py        # эндпоинты, доступные на https://c.cmyui.xyz
|   |   |   ├── map.py        # эндпоинты, доступные на https://b.cmyui.xyz
|   |   |   └── osu.py        # эндпоинты, доступные на https://osu.cmyui.xyz
|   |   |
|   |   ├── v1
|   |   |   └── api.py          # эндпоинты, доступные на https://api.cmyui.xyz/v1
|   |   |
|   |   ├── v2
|   |   |   ├── clans.py        # эндпоинты, доступные на https://api.cmyui.xyz/v2/clans
|   |   |   ├── maps.py         # эндпоинты, доступные на https://api.cmyui.xyz/v2/maps
|   |   |   ├── players.py      # эндпоинты, доступные на https://api.cmyui.xyz/v2/players
|   |   |   └── scores.py       # эндпоинты, доступные на https://api.cmyui.xyz/v2/scores
|   |   |
|   |   ├── init_api.py       # логика сборки сервера воедино
|   |   └── middlewares.py    # логика, оборачивающая эндпоинты
|   |
|   ├── constants           # логика и данные постоянных серверных классов и объектов
|   |   ├── clientflags.py    # античит-флаги, используемые клиентом osu!
|   |   ├── gamemodes.py      # игровые режимы osu!, с поддержкой relax/autopilot
|   |   ├── mods.py           # игровые модификаторы osu!
|   |   ├── privileges.py     # привилегии игроков, глобальные и клановые
|   |   └── regexes.py        # регулярные выражения, используемые по всей кодовой базе
|   |
|   ├── objects             # логика и данные динамических серверных классов и объектов
|   |   ├── achievement.py    # представление отдельных достижений
|   |   ├── beatmap.py        # представление отдельных карт (и наборов карт)
|   |   ├── channel.py        # представление отдельных чат-каналов
|   |   ├── clan.py           # представление отдельных кланов
|   |   ├── collection.py     # коллекции динамических объектов (для хранения в памяти)
|   |   ├── match.py          # отдельные мультиплеерные матчи
|   |   ├── models.py         # структуры тел api-запросов
|   |   ├── player.py         # представление отдельных игроков
|   |   └── score.py          # представление отдельных результатов
|   |
|   ├── state               # объекты, представляющие живое состояние сервера
|   |   ├── cache.py          # данные, сохраняемые для оптимизации
|   |   ├── services.py       # экземпляры сторонних сервисов (например, баз данных)
|   |   └── sessions.py       # активные сессии (игроки, каналы, матчи и т.д.)
|   |
|   ├── bg_loops.py           # циклы, работающие во время работы сервера
|   ├── commands.py           # команды, доступные в чате osu!
|   ├── packets.py            # модуль (де)сериализации пакетов osu!
|   └── settings.py           # управление конфигурацией, заданной пользователем
|
├── ext                   # внешние сущности, используемые при запуске сервера
├── migrations            # миграции базы данных - обновления схемы
├── tools                 # различные инструменты из истории bancho.py
└── main.py               # точка входа (скрипт) для запуска сервера

Clone this wiki locally