aboutsummaryrefslogtreecommitdiff
path: root/pkg/api
AgeCommit message (Collapse)Author
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
2022-10-13pkg/api/api0: Add comment about /accounts/get_usernamepg9182
2022-10-13pkg/api/api0: Implement /client/auth_with_selfpg9182
2022-10-13pkg/api/api0: Minor log message fixpg9182
2022-10-13pkg/api/api0: Implement /client/mainmenupromospg9182
Also support varying it so things like version-specific messages can be shown.
2022-10-13pkg/api/api0/accounts: Fix OPTIONS allow headerpg9182
2022-10-13pkg/api/api0: Clear ETag when gzipping responsespg9182
2022-10-13pkg/api/api0: Reject pdata with too much trailing junkpg9182
2022-10-13pkg/api/api0/api0testutil: Add test suite for AccountStorage implspg9182
2022-10-13pkg/api/api0: Fix regression in bff9a5ca7c1ed1ab0af80d9cad17b63672f9a9fcpg9182
/player/ endpoints fall through.
2022-10-13pkg/api/api0: More descriptive docs for AccountStoragepg9182
2022-10-13pkg/api/api0: Implement account endpointspg9182
* POST /accounts/write_persistence?id&serverId multipart(file.pdata) * GET /accounts/get_username?uid * GET /accounts/lookup_uid?username