ARROM is a mod that give you an API useable for your current rimworld game
ARROM exposes a small REST API from inside RimWorld. The API listens on http://localhost:8765/ by default once the
game reaches the main menu. The port can be changed in the mod settings.
- Start RimWorld with the mod enabled. When the main menu loads the API server will begin listening.
- The default address is
http://localhost:8765/. You can change the port from the ARROM mod settings. - Use any HTTP client (curl, Postman, etc.) to call the endpoints.
Example:
curl http://localhost:8765/colonyThis returns a JSON summary of your colony.
/colonysummary information about the current colony/lettersrecent in-game letters/colonistslist of free colonists/colonists/<id>detail about a specific colonist/modslist of loaded mods/factionsrelations with other factions/researchcurrent research project and finished list/buildingslist colony buildings (filter with?type=)/mapcurrent map status (weather, temperature...)/animalsanimals owned by the colony/storagestockpiles and storage contents/alertsactive alerts/jobscolonist jobs and queues/map/tileslist of all map tile coordinates/map/tiles/<x>/<y>details of a map tile
Returns basic information about the currently loaded colony:
{
"colonyName": "Colony name",
"colonistCount": 3,
"wealth": 12345.0
}List of recent letters shown in game:
[
{
"label": "Raid!",
"type": "NegativeEvent",
"arrivalTime": 123456.0
}
]Summary for all free colonists on the current map:
[
{
"id": 1,
"name": "Pawn",
"age": 24,
"gender": "Male",
"position": { "x": 0, "y": 0 },
"mood": 75.0,
"health": 1.0,
"currentJob": "CutPlant",
"traits": ["Industrious"],
"workPriorities": [
{ "workType": "Doctor", "priority": 2 }
]
}
]Detailed data for a single colonist including needs, skills and inventory:
{
"id": 1,
"name": "Pawn",
"backstory": "Colony settler",
"gender": "Male",
"age": 24,
"lifeStage": "Adult",
"mood": 75.0,
"needs": [ { "need": "Food", "level": 80.0 } ],
"health": 1.0,
"hediffs": [],
"bleedingRate": 0.0,
"isDowned": false,
"isDrafted": false,
"currentJob": "CutPlant",
"skills": [ { "skill": "Plants", "level": 6, "passion": "None" } ],
"equipment": [],
"apparel": [],
"inventory": [],
"relations": []
}List of all currently loaded mods:
[
{ "name": "Core", "packageId": "Ludeon.RimWorld" }
]List of non-player factions and their relation to the colony:
[
{
"name": "Pirates",
"def": "Pirate",
"relation": "Hostile",
"goodwill": -100
}
]Current research progress and completed projects:
{
"currentProject": "Hydroponics",
"progress": 0.25,
"finishedProjects": ["Stonecutting"]
}Returns the colony buildings. You can filter by type with ?type=:
[
{ "id": 1, "def": "Battery", "position": { "x": 10, "y": 5 } }
]Information about the current map:
{
"weather": "Rain",
"temperature": 22.5,
"hour": 13,
"season": "Summer"
}List of colony animals:
[
{
"id": 3,
"name": "Muffalo",
"def": "Muffalo",
"position": { "x": 5, "y": 30 },
"trainer": 1,
"trainings": { "Tameness": 3 },
"pregnant": false
}
]Content of stockpiles and storage buildings:
[
{
"name": "Stockpile Zone 1",
"items": { "Steel": 75, "WoodLog": 100 }
}
]Active in-game alerts:
[
{ "label": "Need colonist beds", "priority": "High" }
]Current job and queued jobs for each colonist:
[
{
"id": 1,
"name": "Pawn",
"current": "CutPlant",
"queue": ["Haul", "Research"]
}
]List all map tile coordinates:
[
{ "x": 0, "y": 0 },
{ "x": 0, "y": 1 }
]Detail about a single map tile:
{
"terrain": "Soil",
"zone": "Growing Zone",
"things": ["PlantPotato"]
}All contributions are welcome — forks, pull requests, and ideas are appreciated. If you reuse my work outside of this repository, please make sure to follow the MIT License and keep the original copyright notice.