- Установить Node.js, (если нет), рекомендуется стабильную версию (LTS), на данный момент версия 20.11.1
- Установить MYSQL, на данный момент 8.0.36
- При установке выбрать
legacy password - Указать пароль без спецсимволов, возможны ошибки
- При установке выбрать
- Скопировать репозиторий
git clone https://github.com/ChervyachokMigo/osu_grades - Распаковать в удобное место
Во избежании непредвиденых ошибок, в пути должны быть только английские буквы
- Установка модулей:
- Выполнить команду из корня распакованой папки
npm installи затемnpm update; - либо запустить
0 npm_install.bat, где выполняется то же самое.
- Выполнить команду из корня распакованой папки
-
Копирование шаблон файла конфигурации: запустить
1 set_config.batБатник создат папку
dataи скопирует пример конфигурации изmisc/config-sample.json. затем переименует его вconfig.jsonи запустит для редактирования -
Редактирование
config.json(в любом текстовом редакторе, например Sublime text или Notepad++)Использование стандартного блокнота не рекомендуется, он не подсвечивает синтаксис (Не удобно)
-
Необходимо заполнить следующие обязательные параметры
Писать нужно между одинарных кавычек:
'Пример текста'Параметер Значение DB_HOST IP-адрес, где стоит MYSQL, по умолчанию 'localhost'или'127.0.0.1', можно не изменятьDB_PORT Порт для соединения с базой данных, по умолчанию '3306', можно не изменятьDB_USER Имя пользователя, которое вы указали при установке MYSQL, либо предварительно создали DB_PASSWORD Пароль пользователя MYSQL api_key Ключ доступа для Устаревшего API(osu v1 legacy). После создания ключа в профиле будет отображен ключ, который необходимо заполнить в это полеapi_v2_app_id ID приложенияиз категорииOauthпрофиляapi_v2_app_key Ключ приложенияиз категорииOauthпрофиляКлючи можно создать из профиля osu, Находится в самом низу.
Устаревшее API- osu v1 (legacy):Имя приложениялюбое или osu_gradesURL приложениялюбое или ссылку на это приложение https://github.com/ChervyachokMigo/osu_grades
Всё, что использует в этом приложении этот ключ называется
Score Mode v1
Oauth API- osu v2 (laser):Для создания нажмите
Новое приложение OAuth, откроетсяРегистрация нового приложения, заполнить поля:Имя приложениялюбое или osu_gradesCallback приложениялюбое например http://localhost
Создадутся ваши новые данные для доступа к API
Всё, что использует в этом приложении этот ключ называется
Score Mode v2 -
Необязательные параметры в config.json, которые потребуются не сразу, а только для определенных функций либо косметические
Параметер Значение DB_NAME_BEATMAPS Имя базы данных для карт DB_NAME_SCORES Имя базы данных для очков и всего, что с ними связано backup_instead_remove означает не удалять json-файлы скоров, используется для импорта из json-файлов в базу данных, `true print_progress_import_jsons_frequency частота вывода информации о прогрессе импорта json-файлов, положительное числоis_use_caching использовать ли кэширование, при повторном сканировании с нуля, `true is_delete_cache Удалять ли кэш, `true cache_expire_time_hours если кэш удаляется, то через сколько времени, в часах положительное числоosu_path путь к осу, используется для создания коллекций или импорта скоров в osu. Для Windows обратный слэш\нужно писать двойной\\
-
Для начала нужно определиться с выбором версии API, которые будем сканировать.
| API | Описание |
|---|---|
| v1 | legacy версия, оценки обычной осу, поддерживает все карты, немного быстрее чем v2 |
| v2 | laser версия, оценки будут из осу лазера, некоторые карты невозможно получить, из-за особенностей osu-web и блокировки по DMCA, а также эта версия немного медленее |
| v2 json | первая версия этого приложения с использованием json-файлов, не оптимальная, для совместимости, рекомендуется не использовать |
Узнайте ID своего профиля или профиля, который собираетесь сканировать, в osu из строки браузера, последние цифры:
Пример: https://osu.ppy.sh/users/9547517
Нужны цифры 9547517
Запуск начальной точки (или лаунчера) через 2 launcher.bat; Приложение выполняется в консоли, перед запуском подготавливает базу данных;
Управление
| Кнопка | Действие |
|---|---|
↑ ↓ |
Перемещение по пунктам меню |
Enter |
Подтверждение |
Пробел |
Выбор пункта в меню выбора (checkboxes) |
< Back Возвращает в предыдущее меню
Users Menu Управление пользователями для сканирования
Add/Change userОперация добавления пользователяDelete userОперация удаления пользователяShow list usersОперация просмотра списка пользователей
Update beatmaps Показывает список операций для получения информации о картах, разделенных по типу osu API (v1, v2), игровым режимам (ALL, OSU, TAIKO, FRUITS, MANIA), а также возможности продолжить с предыдущего сканирования (continue) или начать с первой карты (from begin);
Двигаясь ниже или выше по меню можно увидеть другие варианты (их не 7)
Scores Различные операции по управлению скорами
Get ScoresОсновное меню для получения информации по скорам с Bancho (официального сервера osu), выбор при помощипробела, если вариантов больше 2Refresh ScoresПолучение недавних скоров пользователя, и подсчет оценок (необязательный пункт меню)V2_JSON_RECOUNTПодсчет оценок для режимаv2 json(устаревший пункт меню)Import json scores to DBИмпорт json-файлов в базу с выборомv1илиv2(устаревший пункт меню)
Webserver Отображение осу оценок через локальный вебсервер
Start webserverЗапуститьStop webserverОстановитьRestart webserverПерезапуститьOpen webserverОткрыть в браузереEdit configРедактировать файл конфигурации вебсервера (По сути это редактор для файлаdata/webserver_config.json)Параметр Значение HTTP Port Порт вебсервера Socket Port Внутренний порт вебсервера для передачи информации между веб страницей и приложением Autoupdate Выбрать автообновлять ли страницу и с каким интервалом User Выбор пользователя для оценок Gamemode Выбор режима игры для оценок Score Mode Режим скоров Sort Method Порядок сортировки оценок Restart configСбросить настройки вебсервера по умолчанию
Tools Инструменты для архивирования базы и импорта в игру
Update beatmapsОбновить карты в одном из режимовAdd userДобавить пользователя для получения скоров (если нет)Get scoresПолучить скоры выбранного пользователя (можно несколько),Долгая операция, длительность зависит от режима игры и типа API, ~12 часов на пользователя
Webserver > Edit ConfigНастроить пользователя для отображенияWebserver > StartЗапуститьWebserver > OpenЗайти любую на страницу- Дождаться обновления скоров (~2 мин при первом запуске)
Возникли ошибки - пишите что случилось, что делали и результат, посмотрим и исправим
По вопросам и предолжениям, пишите в любой из контактов
Discord: svdgod