Grudge Studio — Single Source of Truth

Grudge Warlords — Game Info Hub

The canonical data hub for Grudge Warlords — items, weapon skills, skill trees, 3D models, 10,000+ sprites, VFX, and the full T1–T8 tier system.

58+
API Endpoints
7,324
2D Sprites
5,653
Icons
471
3D Models
450
Audio SFX
816+
Weapons
167
Backgrounds
🧰

Browse & Explore

📜

Game Guides & Tools

In-depth guides, character builder, crafting system, profession skill trees — everything a player or developer needs.

📁

Asset Library

10,000+ production-ready assets collected from GrudgeWars, Warlord-Crafting-Suite, and grudgedot-launcher.

API Endpoints

All endpoints return JSON. No authentication required. Base URL: https://objectstore.grudge-studio.com

📦

SDK Quick Start

JavaScript grudge-sdk.js v5.0 — static data + backend services
import { GrudgeSDK } from './sdk/grudge-sdk.js';

const sdk = new GrudgeSDK({ token: '<JWT>' });

// ── Static game data (ObjectStore) ──
const weapons = await sdk.getWeapons();
const swords  = await sdk.getWeaponsByCategory('swords');
const items   = await sdk.getItemsDatabase();
const results = await sdk.search('iron');

// ── Auth (id.grudge-studio.com) ──
const res = await sdk.auth.login('user', 'pass');
const me  = await sdk.auth.getMe();

// ── Game API (api.grudge-studio.com) ──
const chars   = await sdk.game.listCharacters();
await sdk.game.startCraft({ char_id: 1, recipe_key: 'iron-sword' });

// ── Account & Assets ──
const profile = await sdk.account.getProfile(grudgeId);
const assets  = await sdk.assets.listAssets({ prefix: 'models/' });

// ── Tier colors ──
const t5 = GrudgeSDK.getTierColor(5); // { name: 'Red', hex: '#ff4d4d' }
🤖

For AI Agents

Use ObjectStore as a data source in your AI agents. MCP server included for direct tool integration.

JavaScript No auth required — fetch any endpoint directly
// Direct fetch — works in any AI agent or script
const base = 'https://objectstore.grudge-studio.com';

const [weapons, quests, enemies] = await Promise.all([
  fetch(`${base}/api/v1/weapons.json`).then(r => r.json()),
  fetch(`${base}/api/v1/quests.json`).then(r => r.json()),
  fetch(`${base}/api/v1/enemyTemplates.json`).then(r => r.json()),
]);

// MCP tool: configure in your agent's MCP config
// See mcp/ directory for full server implementation