Skip to content

Latest commit

 

History

History
91 lines (63 loc) · 3.66 KB

File metadata and controls

91 lines (63 loc) · 3.66 KB

alt text

Status RimWorld Version API Version Build Release

RimAPI

RimAPI is a RimWorld mod that embeds a high-performance REST API server directly into the game, allowing external applications to read and interact with your colony in real-time.

RimAPI exposes over 120+ comprehensive endpoints. The API starts listening on http://localhost:8765/ by default as soon as the game reaches the main menu.

Documentation Discord Server

🚀 Features

Monitor current game state

  • Game Controls - Change game settings, modlist, start a new RimWorld game or load one from saves
  • Global & Colony map - Get a list of caravans or items inside your storage
  • Real-time colony status - Get current game time, weather, storyteller, and difficulty
  • Colonist management - Track health, mood, skills, inventory, and work priorities
  • Resource tracking - Monitor food, medicine, materials, and storage utilization
  • Research progress - Check current projects and completed research
  • Quests & incidents - Get list of quests and incidents

API Reference

Performance optimizations

  • Caching - Efficient data updates without game lag
  • Non-blocking operations - Game non-blocking API operations
  • Field filtering [todo] - Request only the data you need
  • ETag support [todo] - Intelligent caching with 304 Not Modified responses

alt text

🔍 Integrations

Share your projects - send integrations on discord server

🛠️ Usage

  1. Start new RimWorld game or load one from saves with the mod enabled. When the game map is loaded the API server will begin listening.
  2. The default address is http://localhost:8765/. You can change the port from the RIMAPI mod settings.
  3. Use any HTTP client (curl, Postman, etc.) to call the endpoints.

More information in the documentation.

alt text

📄 License

This project is licensed under the GNU GPLv3 License - see the LICENSE file for details.

👥 Credits and Acknowledgments

Thanks to MasterPNJ and his project for inspiration.

Thanks to @braasdas and his RatLab project for code reference.

Contributors: @braasdas, @M4x28

📌 Links

📋 Changelog

CHANGELOG

🤝 Contributing

Contributions are welcome! Please feel free to submit pull requests or open issues for bugs and feature requests.

Contributing