Home  –  MBII Server List  –  Add Discord Link  –  Discord Bot  –  Server Statistics  –  API

API FAQ

What is this?

A web service that allows programs to retrieve server information for the PC version of Jedi Academy.

How is this?

A backend service periodically gets server details and updates the API. The list of servers to check is retrieved from multiple master servers (Raven, JKHub, MBII) and the unique are combined into one comprehensive list. The results are the same as what you would see in-game, with some enhancement.

Why is this?

An unpublished barebones version of this (just spat out all the data) was quickly setup for tracking Movie Battle's server statistics. While functional, it had some issues due to inherent limitations of the the old version of the q3serverlist script and the glue that was added to move data around and display it (rsync, more php...). When I decided to rewrite everything myself, it was the perfect time to also implement this properly.

How do I use this?

Any programming language capable of making HTTP requests and parsing JSON responses should work (so practically everything). You could even use cURL and jq from a shell environment if you really wanted.

Previewing and testing the endpoints can be done quickly from any browser (though you may want an extension to format the JSON if not using Firefox). You could also use a dedicated development tool like Postman.

Endpoints

/api/get/list

Returns a list of servers with basic information. Ordered by numplayers and sv_hostname_nocolor.

Filters:

/api/get/detail

Returns a list of servers with all cvar and player details. Ordered by numplayers and sv_hostname_nocolor.

Filters:

/api/get/stats

Returns some statistics for the selected game.

Filters:

Filter Details

All filters (usable as query strings) are optional.

Cvar Properties

All validated game cvars. Bools will be 0 or 1 and integers and strings are bounded. Use filter other_cvar to search against non-validated ones. Missing cvars (depends on server config) are not returned.

Meta Properties

These are non-cvar properties generated by the API or calculated based on the server's cvars. Availability may depend on the selected game. Geolocation information is generated using a GeoLite2 database.