aboutsummaryrefslogtreecommitdiff
path: root/pkg/api/api0/serverlist.go
AgeCommit message (Collapse)Author
2022-10-23pkg/api/api0: Improve serverlist JSON generationpg9182
2022-10-23pkg/api/api0/serverlist: Use sync.Pool for gzip writerspg9182
2022-10-23all: Switch go github.com/klauspost/compress/gzippg9182
It's much faster.
2022-10-22pkg/api/api0: Implement experimental option to generate deterministic server IDspg9182
2022-10-22pkg/api/api0: Add support for additional serverlist config optionspg9182
2022-10-21pkg/api/api0: Simplify update locking/waiting logicpg9182
2022-10-21all: pg9182 -> r2northstarpg9182
2022-10-21pkg/api/api0: Add serverlist metric for full serverspg9182
2022-10-21pkg/api/api0: Add serverlist metric for servers with playerspg9182
2022-10-21pkg/api/api0: Fix metrics syntax for _other valuespg9182
2022-10-19pkg/api/api0: Add metricspg9182
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: Filter out mp_lobby && !private_match from /client/serverspg9182
This matches the behavior of the original master server.
2022-10-15pkg/api/api0: Add comment about AuthPort to Server structpg9182
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: 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: 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: 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 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.