RustTip

API

Открытый JSON API по данным сайта: предметы, сущности, команды — по каждой ветке игры. Без ключей, с CORS (можно запрашивать прямо из браузера с другого сайта). Данные обновляются вместе с сайтом после выхода обновления игры.

Адреса

АдресЧто отдаёт
/api/branches.jsonВетки: текущая сборка и сохранённые прошлые
/api/{ветка}/items.jsonВсе предметы ветки
/api/{ветка}/items/{shortname}.jsonОдин предмет: крафт, лут, бусты, скины…
/api/{ветка}/entities.jsonВсе сущности (префабы)
/api/{ветка}/entities/{prefabID}.jsonОдна сущность (можно и по short prefab name)
/api/{ветка}/commands.jsonВсе команды и конвары сервера
/api/{ветка}/commands/{имя}.jsonОдна команда или конвар
/api/{ветка}/hooks.jsonХуки Oxide и Carbon со статусом на ветке
/api/{ветка}/hooks/{хук}.jsonОдин хук: места встраивания, IL, код метода игры

Списки приходят обёрнутыми: branch, buildId, updatedAt, count и data — сам массив. Одиночный объект — как есть. Нет такого — 404 и { error }.

Пример

curl https://rusttip.com/api/public/items/rifle.ak.json

const res = await fetch("https://rusttip.com/api/public/items.json");
const { buildId, count, data } = await res.json();

Картинки

У предметов и сущностей с картинкой есть поле image — шаблон адреса. Подставь {size} (64, 128, 256, 512) и {format} (png, webp):

"image": "https://rusttip.com/img/item/rifle.ak.{size}.{format}"

https://rusttip.com/img/item/rifle.ak.256.png
https://rusttip.com/img/item/rifle.ak.64.webp
https://rusttip.com/img/entity/public/2931042549.512.png
rifle.ak 64rifle.ak 128rifle.ak 256

Картинки готовятся по запросу из оригиналов игры (иконки предметов — PNG 512 из игры, картинки сущностей — рендер 3D-модели) и кэшируются.

Правила

  • Ветки: public, aux02, staging. По умолчанию все страницы сайта — public.
  • Ответы кэшируются на 5 минут, картинки — на сутки.
  • Без ключей и лимитов, но не долбите полные списки чаще, чем раз в несколько минут: они весят мегабайты (сжимаются gzip).
  • Формат полей — как на сайте; новые поля могут появляться, существующие без нужды не переименовываются.