В рамках обновления до версии 0.1.0-rc1, мы выполнили реорганизацию структуры файлов. Теперь все файлы, относящиеся к серверной части нашего продукта, централизованно хранятся в специально выделенной директории. Это упрощает процесс управления этими файлами и ускоряет выполнение рутинных задач.
Директории файлов
В качестве примера установки серверной части, представлен снимок экрана ниже, демонстрирующий конкретную директорию, в которой была выполнена установка. Этот путь служит указателем местонахождения файлов серверной части после успешного завершения процедуры установки.
Иерархия папок
📂 . // Корневая директория проекта
├── 📄 .env // Файл с переменными окружения для конфигурации приложения
├── 📂 data // Основная директория для хранения данных
│ ├── 📂 GmlBackend // Бэкенд директория для Gml
│ │ ├── 📂 DotnetBuild // Dotnet Runtime (для сборки лаунчера)
│ │ │ └── 📁 dotnet-8 // Папка с .NET SDK версии 8
│ │ ├── 📂 JavaBuild // Сборка для Java
│ │ │ └── 📁 jdk-22 // JDK версии 22 (Для сборки игровых клиентов)
│ │ ├── 📂 Launcher // Директория версий лаунчера
│ │ │ └── 📁 v0.1.0-rc2-hotfix1 // Пример версии лаунчера
│ │ ├── 📂 LauncherBuilds // Сборки лаунчера по датам
│ │ │ └── 📁 build... // Сборка лаунчера от 9 ноября 2024 в 14:04:47
│ │ ├── 📂 assets // Ресурсы, используемые Minecraft
│ │ │ ├── 📁 indexes // Индексы ассетов
│ │ │ ├── 📁 log_configs // Конфигурации для логирования
│ │ │ └── 📁 objects // Хранилище объектов ресурсов
│ │ ├── 📂 clients // Ваши игровые клиенты
│ │ │ └── 📁 Classic // (Пример вашего клиента)
│ │ ├── 📄 data.db // База данных Gml.Backend
│ │ └── 📂 runtime // Директория с платформо-зависимыми библиотеками
│ │ ├── 📁 linux // Библиотеки для Linux
│ │ ├── 📁 linux-i386 // Библиотеки для Linux x86 (32-бит)
│ │ ├── 📁 mac-os // Библиотеки для MacOS
│ │ ├── 📁 mac-os-arm64 // Библиотеки для MacOS (ARM64)
│ │ ├── 📁 windows-arm64 // Библиотеки для Windows ARM64
│ │ ├── 📁 windows-x64 // Библиотеки для Windows x64
│ │ └── 📁 windows-x86 // Библиотеки для Windows x86
│ ├── 📂 Minio // Хранилище Minio для объектов
│ └── 📂 TextureService // Сервис для текстур
│ ├── 📁 Cloak // Текстуры плащей
│ └── 📂 Skins // Текстуры скинов
├── 📄 docker-compose.yml // Конфигурация Docker Compose для развертывания контейнеров
├── 📂 frontend // Исходный код фронтенда (Затирается при обновлении)
└── 📄 gml-installer-rus.sh // Скрипт установщика для Gml на русском
Разделы и их предназначение:
Корневая директория и .env: Файл .env содержит настройки окружения, которые можно изменить для адаптации к разным конфигурациям. Самая верхняя директория — основа всей структуры.
Директория data: Включает все компоненты, необходимые для работы, такие как GmlBackend, сборки лаунчера, библиотека JDK, и другие элементы для запуска и поддержки клиента.
GmlBackend: Бэкенд для Gml, в который входят ресурсы и игровые клиенты.
LauncherBuilds и Launcher: Папки, где хранятся версии лаунчера и их сборки, создаваемые и обновляемые для предоставления пользователям.
assets: Хранилище ассетов Minecraft, например, индексы и объекты, необходимые для корректной работы клиента.
Minio и TextureService: Minio используется для управления данными как объектное хранилище, а TextureService хранит пользовательские скины и текстуры.
Эта структура позволяет легко найти нужные файлы и управлять ими для поддержки и улучшения функциональности приложения.