Create a new extension for the RuneScape APIs
RSHiscores has served us well, at least when it works, for static pages, but it has never worked well for its intended calculator purpose and is very much a hack that we can
improve upon replace now that we control our own servers.
- Provide a native Scribunto function to reduce overhead and increase flexibility, especially with the native JSON support using the new Scribunto version.
- Expand support to other RuneScape APIs.
- Provide proper RuneScape player name caching, possibly stored as a user preference.
- Provide browser-side and server-side caching as appropriate.
- Determine proper page caching for API containing data, at least with a minimum and somewhat staggered to avoid several requests being made at once.
- Cache API data server-side to reduce requests to Jagex servers, even then try to reduce requests until user explicitly requests updated data. Likely stored in memcached or redis.
- Implement the API microservice with nginx Lua or node JS, which can interact with the memcached or redis cache, and provide the request endpoint for MediaWiki and JS consumers.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information