aboutsummaryrefslogtreecommitdiff
path: root/pkg/api
AgeCommit message (Collapse)Author
2022-10-19pkg/api/api0/api0testutil: Don't require the high uint64 bit to be supportedpg9182
We don't see it, and it's not supported by many databases.
2022-10-19pkg/api/api0: Add metricspg9182
2022-10-19pk/api/api0: Fix /server/remove_server success HTTP statuspg9182
2022-10-19pkg/api/api0: Use different error code for a2s timeout when verifying serverpg9182
2022-10-19pkg/api/api0: Treat /accounts/get_username unknown account the same as an ↵pg9182
unknown username
2022-10-19pkg/api/api0: Check length during launcher version extractionpg9182
2022-10-19pkg/api/api0: Implement ServerList WritePrometheuspg9182
2022-10-16pkg/api/api0: Implement ServerList metricspg9182
2022-10-16pkg/api/api0: Store launcher version in server listpg9182
2022-10-15pkg/api/api0: Explicitly route /player endpointspg9182
2022-10-15pkg/api/api0: Rework error responsespg9182
* NorthstarLauncher expects the error field to be an object with enum and msg fields as strings, and often crashes if this isn't the case. * Shorter code, less duplication.
2022-10-15pkg/api/api0{,/api0gameserver}: Refactor game server auth requestspg9182
2022-10-15pkg/api/api0: Clean up old commentspg9182
2022-10-15pkg/api/api0: Implement bad words filter optionpg9182
2022-10-15pkg/api/api0: Implement /client/auth_with_serverpg9182
2022-10-15pkg/api/api0: Fix playerCount and maxPlayers server value updatespg9182
I seem to have been a little short on sleep...
2022-10-15pkg/api/api0: Fix ErrorCode_NO_GAMESERVER_RESPONSE enum valuepg9182
2022-10-15pkg/api/api0: Simplify error handling for /client/auth_with_selfpg9182
The player token is already validated later if necessary.
2022-10-15pkg/api/api0: Filter out mp_lobby && !private_match from /client/serverspg9182
This matches the behavior of the original master server.
2022-10-15pkg/api/api0: Implement /server/remove_serverpg9182
2022-10-15pkg/api/api0: Implement server validation for /accounts/write_persistencepg9182
2022-10-15pkg/api/api0: Add comment about AuthPort to Server structpg9182
2022-10-15pkg/api/api0: Add more descriptive error for attempts to update nonexistent ↵pg9182
server
2022-10-15pkg/api/api0: Fix regression in ServerList refactorpg9182
2022-10-15pkg/api/api0: Add nil check to ServerList.freeServerpg9182
2022-10-15pkg/api/api0: Implement all server update endpointspg9182
Share the same handler, conditionally allowing different fields to be updated, controlling whether create/update is enabled based on the endpoint, and (re)verifying servers whenever it results in a new server being created.
2022-10-15pkg/api/api0: Refactor server verification processpg9182
* Add an additional pending state for unverified servers. * This allows verification to be done without knowing ahead of time if a server is going to be created or updated. * Also moves more logic into the serverlist.
2022-10-15pkg/api/api0: Refactor server state testspg9182
2022-10-15pkg/api/api0: Remove unused ServerList.GetServerCountByIP()pg9182
2022-10-15pkg/api/api0: Fix /server/add_server response statuspg9182
2022-10-15pkg/api/api0: Refactor server list updatespg9182
* Merge update and replace into ServerHybridUpdatePut. * Integrate limits into ServerList itself. * Allow new servers to replace live servers if gameserver and authserver IP and port are identical. * Move server token generation into ServerList.
2022-10-15pkg/api/api0: Force a /client/servers update when using ↵pg9182
ServerList.DeleteServerByID
2022-10-15pkg/api/api0: Remove old ServerList TODOpg9182
Isn't actually necessary to implement backup/restore since NS has given all fields necessary to re-register in /server/update_values since v1.4.0 (Jan 2022).
2022-10-15pkg/api/api0: Implement /server/add_serverpg9182
2022-10-15pkg/api/api0: Fix Server.clone() for ModInfopg9182
2022-10-15pkg/api/api0: Rename ServerList.GetServerByIP -> ServerList.GetServerCountByIPpg9182
2022-10-15pkg/api/api0: Refactor ServerList UpdateServerByIDpg9182
* Support verifying the server IP. * Return an error instead of a bool.
2022-10-15pkg/api/api0: Add ServerAuthToken field to Serverpg9182
2022-10-15pkg/api/api0: Include the conflicting server's game addr in error for ↵pg9182
duplicate auth addr Will help server owners with troubleshooting and doesn't leak too much private info since the IP will be the same.
2022-10-15pkg/api/api0: Cache gzipped /client/servers toopg9182
Significantly improves performance.
2022-10-15pkg/api/api0: Fix ServerList UpdateServerByID eligibility checkingpg9182
Made a typo when doing a refactor earlier.
2022-10-15pkg/api/api0: Implement /client/serverspg9182
And it's _fast_, even with thousands of servers and hundreds of requests per second.
2022-10-15pkg/api/api0: Implement ServerListpg9182
* Efficient /client/servers JSON generation and caching. * Safe for concurrent usage. * Garbage collection model. * Simpler ghost server logic than old master server. * Reliable ID generation and server updates. * Ensures uniqueness by ID, Addr+GamePort, and Addr+AuthPort, even when reviving ghost servers.
2022-10-14pkg/api/api0: Set last server id in /client/auth_with_selfpg9182
2022-10-14pkg/api/api0: Relax /accounts/write_persistence serverId check for listen serverpg9182
2022-10-14pkg/api/api0: /accounts/write_persistence field name is pdatapg9182
Although the filename is file.pdata.
2022-10-14pkg/api/api0: Fix resp json id type for /client/auth_with_selfpg9182
2022-10-14pkg/api/api0: Implement /client/origin_authpg9182
2022-10-14pkg/api/api0: Append newline to JSON responsespg9182
Makes it nicer to use with tools like curl.
2022-10-13pkg/api/api0: Implement version gatepg9182