ddmaploader
v0.0.2
Published
Утилита для загрузки карт DDNet по имени. Автоматически определяет тип карты и скачивает её из официального репозитория DDNet.
Readme
DDMapLoader
Утилита для загрузки карт DDNet по имени. Автоматически определяет тип карты и скачивает её из официального репозитория DDNet.
Описание
MapLoader — это модуль Node.js, который упрощает процесс загрузки карт для DDNet. Он получает информацию о типе карты с официального сайта ddnet.org и загружает карту из репозитория ddnet-maps.
Создатель такой никто под именем 0374flop
Установка
npm install ddmaploaderAPI
loadMap(mapName, MAP_DIR)
Основная функция для загрузки карты по имени.
Параметры:
mapName(string) - Имя карты (без расширения .map)MAP_DIR(string) - Путь к директории для сохранения карты
Возвращает: Promise
true- карта успешно загруженаfalse- ошибка при загрузке
Пример:
const { loadMap } = require('ddmaploader');
(async () => {
const success = await loadMap('Sunshine', './maps');
if (success) {
console.log('Карта загружена!');
} else {
console.log('Ошибка загрузки');
}
})();fetchMapType(mapName)
Получает тип карты с ddnet.org.
Параметры:
mapName(string) - Имя карты
Возвращает: Promise - Тип карты (Novice, Moderate, Brutal и т.д.)
Пример:
const { fetchMapType } = require('ddmaploader');
(async () => {
const type = await fetchMapType('Sunshine');
console.log(type); // "Moderate"
})();advanced.downloadMap(mapName, type, MAP_DIR_DM)
Загружает карту по имени и типу.
Параметры:
mapName(string) - Имя картыtype(string) - Тип картыMAP_DIR_DM(string) - Путь к директории
Возвращает: Promise - Путь к загруженной карте
advanced.tryDownloadMap(mapName, type, MAP_DIR)
Попытка загрузки карты с обработкой ошибок.
Параметры:
mapName(string) - Имя картыtype(string) - Тип картыMAP_DIR(string) - Путь к директории
Возвращает: Promise
advanced.logDebuger
Экспортируемый логгер для отладки.
Пример:
const { advanced } = require('ddmaploader');
advanced.logDebuger.setDebug(true);Примеры использования
Базовая загрузка карты
const { loadMap } = require('ddmaploader');
async function downloadMaps() {
const maps = ['Sunshine', 'Cartoon', 'Kobra'];
for (const mapName of maps) {
const success = await loadMap(mapName, './maps');
console.log(`${mapName}: ${success ? 'OK' : 'FAILED'}`);
}
}
downloadMaps();Использование расширенных функций
const { advanced } = require('ddmaploader');
const { downloadMap, tryDownloadMap, logDebuger } = advanced;
// Включаем отладку
logDebuger.setDebug(true);
(async () => {
// Попробовать загрузить с обработкой ошибок
const success = await tryDownloadMap('Sunshine', 'Moderate', './maps');
})();Требования
- Node.js >= 12.0.0
- Интернет соединение (для скачивания карт)
- Доступ к ddnet.org и raw.githubusercontent.com
Источники данных
- Информация о типах карт: https://ddnet.org/maps/
- Репозиторий карт: https://github.com/ddnet/ddnet-maps
Обработка ошибок
Модуль использует встроенный логгер для отладки. Типичные ошибки:
Failed to fetch map type: XXX- Ошибка получения типа карты (статус код HTTP)Map type not found in response- Карта не найдена на ddnet.orgFailed to download map: XXX- Ошибка загрузки файла картыDirectory does not exist- Указанная директория не существует
Лицензия
MIT
