Artifacts MMO is a browser-based idle MMO fully driven by a REST API — your characters exist in the game world and can fight, gather resources, and craft items entirely through API calls, no UI required. This project is a web dashboard and automation engine that lets you manage multiple characters, run automated jobs, and track everything in real time.
Set characters to fight monsters, gather resources, or craft items and let them run unattended. The automation handles HP management (resting when low), banking when inventory is full, and equipping the right tools automatically.
- Fight — target any monster; auto-rest and auto-bank keep the loop going
- Gather — mine, chop, or fish; best tool auto-equipped based on your skill level
- Craft — multi-step crafting with full dependency resolution (see below)
- Idle — park a character without stopping the job runner
The craft planner recursively resolves everything needed to produce an item. It checks your bank, figures out what to withdraw, what to craft as intermediates, and what to gather if materials are missing — then executes the plan step by step with a live tree visualization.
- Recursive material dependency resolution
- Sources ingredients from the bank automatically
- Visual plan tree:
have/withdraw/craft/gather/fight/shortfallsteps - Reports shortfalls for materials that can't be sourced
View and manage the shared character bank from the dashboard. Deposit or withdraw any item for any character, with optimistic UI updates so the interface stays snappy.
All 16 equipment slots per character — weapon, shield, helmet, body armor, leg armor, boots, amulet, rings, artifacts, rune, utilities, and bag. Equip and unequip items directly from the UI.
Browse every NPC and their buy/sell inventories. Execute trades for any character straight from the dashboard.
Browse all craftable items with filters for skill, item type, and level range. Inspect the full material chain for any item and launch a craft job with a chosen quantity in one click.
Dismantle unwanted items to recover their base materials.
Live character state, job progress, and action logs streamed over WebSocket. Auto-reconnects with exponential backoff if the connection drops.
| Layer | Technology |
|---|---|
| Frontend | React 18 + TypeScript + Vite |
| Backend | Node.js + Express + WebSocket (ws) |
| Cache / State | Redis |
| Deploy | Docker + Fly.io |
-
Get an API token from artifactsmmo.com (account settings)
-
Configure environment
cp .env.example .env # Set ARTIFACTS_TOKEN — REDIS_URL is optional, falls back to in-memory caching -
Install and run
npm install npm run dev
The dashboard is served at http://localhost:3000.
Using Fly.io Redis locally? Run
npm run dev:flyinstead. It opens afly redis proxytunnel to your deployed Redis instance and starts the dev server withREDIS_URLwired up automatically — no manual port forwarding needed.
The project ships with a Dockerfile and fly.toml for one-command deployment to Fly.io:
fly deployIf using Fly's managed Redis, run npm run dev:fly locally to proxy the instance and wire up REDIS_URL automatically.