🛠️ System & Developer Tools API¶
This section contains utility endpoints for developers, including cache management, API discovery, and general system diagnostics.
Инструменты разработчика¶
Этот контроллер предоставляет доступ к внутренним отладочным действиям и инструментам разработки RimWorld. Он обеспечивает функциональность «режима бога», обычно зарезервированную для консоли разработчика игры.
Использовать с осторожностью
Действия, выполняемые здесь, обходят стандартные правила игрового процесса. Неправильное использование может привести к:
- Повреждению файлов сохранений.
- Вылетам игры.
- Нарушению поведения ИИ.
GET
/api/v1/dev/materials-atlas
¶
/api/v1/dev/materials-atlas
¶
Получает данные атласа материалов уровня разработки, который содержит внутреннее сопоставление определений материалов с их графическими текстурами, шейдерами и свойствами рендеринга.
Example:
curl --request GET \
--url http://localhost:8765/api/v1/dev/materials-atlas
Response:
{
"success": true,
"data": {
"materials": [
"Custom/CutoutComplex_RockFlecked_Atlas",
"Custom/CutoutComplex_RockFlecked_Atlas",
"Custom/CutoutComplex_RockFlecked_Atlas",
"Custom/CutoutComplex_RockFlecked_Atlas",
"Custom/CutoutComplex_RockFlecked_Atlas",
"Custom/CutoutComplex_RockFlecked_Atlas",
"Custom/CutoutComplex_CompactedMachinery_Atlas",
"Custom/Cutout_Rock_Atlas",
"Custom/Cutout_Rock_Atlas",
"Custom/Cutout_Rock_Atlas",
"Custom/Cutout_Rock_Atlas",
"Custom/Cutout_Rock_Atlas",
"Custom/Cutout_Rock_Atlas",
"Custom/Cutout_AncientFence_Atlas",
"Custom/CutoutComplex_Fleshmass_Atlas",
"Custom/Transparent_PowerConduit_Blueprint_Atlas",
"Custom/Transparent_Sandbags_Blueprint_Atlas",
"Custom/Transparent_Barricade_Blueprint_Atlas",
"Custom/Transparent_Wall_Blueprint_Atlas",
"Custom/Transparent_Fence_Atlas_Smooth",
"Custom/Cutout_Wall_Atlas_Smooth",
"Custom/Cutout_Wall_Atlas_Bricks",
"Custom/Cutout_Wall_Atlas_Smooth",
"Custom/Cutout_Wall_Atlas_Bricks",
"Custom/Cutout_Wall_Atlas_Bricks"
]
},
"errors": [],
"warnings": [],
"timestamp": "2025-12-11T19:15:20.9851409Z"
}
POST
/api/v1/dev/console
¶
/api/v1/dev/console
¶
Конечная точка для разработки и отладки, позволяющая взаимодействовать с внутренней системой логирования игры. Это обеспечивает программное управление консолью разработчика, позволяя отправлять сообщения в лог и очищать консоль.
Example:
curl --request POST \
--url 'http://localhost:8765/api/v1/dev/console'
Request:
{
"action": "message",
"message": "hello_world"
}
Response:
{
"success": true,
"errors": [],
"warnings": [],
"timestamp": "2025-12-08T19:13:29.997162Z"
}
POST
/api/v1/dev/stuff/color
¶
/api/v1/dev/stuff/color
¶
Конечная точка инструмента разработки, которая изменяет визуальные свойства цвета конкретного материала типа «stuff» в игре. «Stuff» в RimWorld относится к базовым материалам, из которых изготавливаются предметы и строения (например, дерево, сталь, ткань, пласталь). Эта конечная точка позволяет в реальном времени настраивать отображаемый цвет материала, что в основном используется для визуальной настройки, отладки или тестирования при разработке модов.
Example:
curl --request POST \
--url http://localhost:8765/api/v1/dev/stuff/color \
--header 'content-type: application/json' \
--data '{
"name": "WoodLog",
"hex": "aa00ff"
}'
Request:
{
"name": "WoodLog",
"hex": "aa00ff"
}
Response:
{
"success": true,
"errors": [],
"warnings": [],
"timestamp": "2025-12-08T19:13:29.997162Z"
}
POST
/api/v1/dev/materials-atlas/clear
¶
/api/v1/dev/materials-atlas/clear
¶
Очищает кэш атласа материалов в оперативной памяти, заставляя игру перезагружать текстуры материалов, шейдеры и свойства рендеринга с диска по запросу.
Example:
curl --request POST \
--url http://localhost:8765/api/v1/dev/materials-atlas/clear
Response:
{
"success": true,
"errors": [],
"warnings": [],
"timestamp": "2025-12-08T19:13:29.997162Z"
}
GET
/api/v1/dev/endpoints
¶
/api/v1/dev/endpoints
¶
Получить полный список всех зарегистрированных конечных точек API, включая их HTTP-методы, пути, описания, категории и теги. Это очень полезно для программного обнаружения маршрутов и создания автоматизированных клиентов API.
Example:
curl --request GET \
--url 'http://localhost:8765/api/v1/dev/endpoints'
Response:
{
"success": true,
"data": {
"endpoints": [
{
"method": "POST",
"path": "/api/v1/camera/change/zoom",
"description": "Change game camera zoom",
"category": "CameraController",
"tags": [],
"is_deprecated": false
},
{
"method": "POST",
"path": "/api/v1/camera/change/position",
"description": "Change game camera position",
"category": "CameraController",
"tags": [],
"is_deprecated": false
},
{
"method": "POST",
"path": "/api/v1/stream/start",
"description": "Start game camera stream",
"category": "CameraController",
"tags": [],
"is_deprecated": false
}
]
},
"errors": [],
"warnings": [],
"timestamp": "2026-03-28T16:45:00.0000000Z"
}
Кэш сервера¶
Эндпоинты для управления механизмом внутреннего кэширования API. Используйте эти маршруты для переключения кэширования, мониторинга статистики производительности (соотношение попаданий/промахов) и ручной очистки кэша для освобождения памяти или принудительного обновления данных.
POST
/api/v1/cache/enable
¶
/api/v1/cache/enable
¶
Включить кэширование сервера для результатов эндпоинтов. Когда оно включено, валидные GET-запросы будут сохраняться в памяти для снижения нагрузки на сервер и улучшения времени ответа.
Example:
curl --request POST \
--url http://localhost:8765/api/v1/cache/enable
Response:
{
"success": true,
"errors": [],
"warnings": [],
"timestamp": "2025-12-08T19:13:29.997162Z"
}
POST
/api/v1/cache/disable
¶
/api/v1/cache/disable
¶
Отключить кэширование сервера. Это заставляет сервер заново обрабатывать каждый запрос. Полезно для отладки или обеспечения точности данных в реальном времени во время разработки.
Example:
curl --request POST \
--url http://localhost:8765/api/v1/cache/disable
Response:
{
"success": true,
"errors": [],
"warnings": [],
"timestamp": "2025-12-08T19:13:29.997162Z"
}
GET
/api/v1/cache/status
¶
/api/v1/cache/status
¶
Возвращает текущий статус и статистику производительности системы внутреннего кэширования API. Этот эндпоинт обеспечивает видимость использования кэша, его эффективности и занимаемой памяти, что полезно для мониторинга и отладки производительности и оптимизации API.
Example:
curl --request GET \
--url http://localhost:8765/api/v1/cache/status
Response:
{
"enabled": true,
"statistics": {
"total_entries": 0,
"hits": 0,
"misses": 0,
"memory_usage_bytes": 0,
"last_cleanup": "2025-12-10T18:43:21.4353167Z",
"hit_ratio": 0.0,
"compiled_delegate_count": 0,
"compiled_delegate_hits": 0,
"compiled_delegate_misses": 0
}
}
POST
/api/v1/cache/clear
¶
/api/v1/cache/clear
¶
Вручную запускает полную очистку системы кэширования. Это удаляет все сохраненные записи и сбрасывает статистику выполнения.
Example:
curl --request POST \
--url http://localhost:8765/api/v1/cache/clear
Response:
{
"enabled": true,
"statistics": {
"total_entries": 0,
"hits": 0,
"misses": 0,
"memory_usage_bytes": 0,
"last_cleanup": "2025-12-10T18:43:21.4353167Z",
"hit_ratio": 0.0,
"compiled_delegate_count": 0,
"compiled_delegate_hits": 0,
"compiled_delegate_misses": 0
}
}
Документация¶
Documentation Controller предоставляет возможности самоанализа для самого API. Он позволяет клиентам динамически обнаруживать доступные конечные точки, схемы и версии API без необходимости во внешних ссылках.
| Функция | Описание |
|---|---|
| Discovery | Список всех зарегистрированных маршрутов и их параметров. |
| Health | Проверка статуса сервера API. |
| Schema | Получение схем JSON для тел запросов/ответов. |
GET
/api/v1/core/docs/export
¶
/api/v1/core/docs/export
¶
Генерирует и экспортирует подробную документацию для всех доступных конечных точек API. Возвращает документацию в запрошенном формате как в ответе, так и в виде файла в директории mod_path/docs/.
Example:
curl --request GET \
--url http://localhost:8765/api/v1/core/docs/export
GET
/api/v1/docs
¶
/api/v1/docs
¶
Получить документацию для всех доступных конечных точек API в запрошенном формате.
Example:
curl --request GET \
--url http://localhost:8765/api/v1/docs
GET
/api/v1/docs/extensions/{extensionId}
¶
/api/v1/docs/extensions/{extensionId}
¶
Получить документацию для всех доступных конечных точек API расширения в запрошенном формате.
Example:
curl --request GET \
--url http://localhost:8765/api/v1/docs/extensions/34
GET
/api/v1/docs/health
¶
/api/v1/docs/health
¶
Получить документацию по состоянию (health) для всех доступных конечных точек API в запрошенном формате.
Example:
curl --request GET \
--url http://localhost:8765/api/v1/docs/health
GET
/api/v1/docs/export
¶
/api/v1/docs/export
¶
Получить экспорт документации для всех доступных конечных точек API в запрошенном формате.
Example:
curl --request GET \
--url http://localhost:8765/api/v1/docs/export
Общие настройки¶
General Controller служит точкой входа для различных вспомогательных функций, которые не вписываются в конкретные категории сущностей. Он обрабатывает «мета-слой» игрового клиента.
Основные возможности
- Управление камерой: Панорамирование, масштабирование и фокусировка вида игрока.
- Управление интерфейсом: Переключение видимости интерфейса или открытие определенных меню.
- Управление временем: Настройка множителя скорости игры.