Releases: kozabrada123/Lunars
Releases · kozabrada123/Lunars
v0.3.0
Rewrites the lunars server, changing several key components and implementing a new rating system
Key server changes:
- Switch from
nickel
torocket
as the http server framework - Switch from
rusqlite
tosqlx
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]
[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
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.