Skip to content

Releases: kozabrada123/Lunars

v0.3.0

03 Sep 05:04
Compare
Choose a tag to compare

Rewrites the lunars server, changing several key components and implementing a new rating system

Key server changes:

  • Switch from nickel to rocket as the http server framework
  • Switch from rusqlite to sqlx as the database framework
  • Switch from sqlite to MySql server as the database
  • Automatically generate documentation (openapi.json) based off routes and schema
  • Implement ratelimiting as a 1 minute sliding window, where unauthenticated users can send up to 60 requests per minute and users with an api key can send up to 120 requests per minute
  • Change how authentication works; instead of passing a key inside a schema, the server will look for a key inside the Authorization header
  • Re-do the api, due to the fundamental change of the rating system

Rating system changes:

  • Switch from an ELO based system to a Glicko-2 based system (transfer the changes for ping compensation, match score)
  • The new glicko based system works with rating periods; we keep track of matches for a set period of time, and once the period has ended, we process the rating for all players
  • I have temporarily set the rating period length to 3 weeks. The specification mentions an ideal length would mean 5-10 matches played per player; we will see if 3 weeks works for that metric
  • To fix the UX of not being able to see your rating until the rating period is over, use the fractional rating period modification seen in the instant-glicko-2 crate

(Later today I will fully deploy the new version and generate api keys)

v0.1.6 [OUTDATED]

30 Jul 06:25
Compare
Choose a tag to compare

[THIS RELEASE IS VERY OUTDATED, BUILD FROM SOURCE]

Slightly changed math, this is a kind of dumb release but eh

Still recommended to cargo build for yourself, but these are here for convenience.
When using make sure to download the .env file as well and follow the usage guide.

Release v0.1.5

27 Jul 22:38
a8a1047
Compare
Choose a tag to compare

Precompiled / crosscompiled binaries for 0.1.5

Still recommended to cargo build for yourself, but these are here for convenience.
When using make sure to download the .env file as well and follow the usage guide.