The Mysteria API is the direct connection open-source API for the digital "MMOAPI" Mysteria, a fictional digital fantasy realm composed of API calls. An MMOAPI is a simulation of a true massively multiplayer online game, similar to World of Warcraft or Runescape. This project does not contain any real player information.
This project is the culmination of using Express, Node, and other APIs to generate a seemingly realistic simulated online environment, similar to that of a video-game mmo, that can be requested via API. This API is to go on to serve as the foundation of future projects and challenges to be used with the public, who can generate these requests at will, or locally on their own system with Node.js installed.
There are various properties that can be extracted from this, please consult the list below:
- Make successful GET requests against server.
- Migrate generated instance information to MongoDB.
- Implement yargs for more complex world generation or queries.
While I am making this project free and open-source, this is also a learning experience for myself with regards to server-side JavaScript, HTTP requests, APIs, and many more. The list below represents core ideas that I have worked upon to further my education within this project:
- API Creation / Queries
- HTTP Requests
- Routing
- Express, Node, Winston
- JSON Manipulation
- Finite State Machines
JSDoc / Technical Documentation(Soon!)
This project has been made with love by Justin Carver. PR's welcome! All licenses by original owners and authors remain in place. The log.txt file within the /logs folder shows a detailed output of the self-hosted server initialization process.
Some mechanics, modules, names, stat blocks, and various game-specific mechanics were acquired through the Wizards of the Coast System Reference Document 5 ("SRD5") which is licensed under the Open Gaming License Version 1.0a.
This is just a small list of different ideas I'd like to pursue with this API:
- Run this through a SIEM or log aggregator, like Splunk, to analyze updates in real-time.
- Generate front-end to track all server data happening within the 'world'.
- Create a betting website with fake currency to 'nudge' entity actions, similar to Twitch Plays Pokemon.
- Run through multiple iterations of the world history, use ML to 'evolve' entity actions to make better choices.