* Merge HTTP and HTTPS routes builder in coordinator
* Extract HTTP/S routes
* Rename config in coordinator
* Generalize child services
* Extract games library helper function
* Use string address instead of port for HTTP/S
* Use a dedicated port extractor function
* Add missing GA tag templating
* Rename shared server address and port params
* Introduce TLS config parameters
* Simplify HTTP/S server constructors
* Update server auto port roll
* Extract init function in worker
* Reorder return params of address type port fn
* Refactor config handler names
* Update TLS default config params
* Extract HTTP to HTTPS redirect function
* Use httpx in monitoring
* Don't log echo requests
* Remove error return from the abstract server
* Add WSS option to the worker-coordinator connection
* Change default worker config
* Make worker send its internal connection params
* Decouple gamelib from the coordinator
* Expose HTTP/S listener address
* Keep original HTTP/S addresses
* Remove no config handler in worker
* Use HTTP-HTTPS redirection
* Wrap net.Listener into a struct
* Clean http server creation fn
* Redirect to https with a generated address
* Use URL in the redirector
* Use zone address param in worker
* Make use of actual addr and port in the monitoring servers
* Use auto-justified monitoring addresses info
* Add the non-HTTPS worker to HTTPS coordinator connection warning
* Embed TLS struct
* Move connection API struct into cws package
(experimental feature)
Before a worker can start, it should have a configuration file. In case if such a file is not found it may request configuration from the coordinator to which it connected.
Added example logic if a worker is needed to be blocked until a successful packet exchange with a coordinator is being made.
* Add error return for config loader
* Add config loaded flag to worker
* Add zone flag
* Add a custom mutex lock with timout
* Refactor worker runtime
* Refactor internal api
* Extract monitoring server config
* Extract worker HTTP(S) server
* Add generic sub-server interface
* Add internal coordinator API
* Add internal routes and handlers to worker
* Add internal worker API
* Refactor worker run
* Migrate serverId call to new API
* Add packet handler to cws
* Extract handlers for internal worker routes in coordinator
* Pass worker to the worker internal heandlers
* Cleanup worker handlers in coordinator
* Add closeRoom packet handler to the API
* Add GetRoom packet handler to the API
* Add RegisterRoom packet handler to the API
* Add IceCandidate packet handler to the API (internal and browser)
* Add Heartbeat packet handler to the API (internal and browser)
* Rename worker routes init function
* Extract worker/coordinator internal ws handlers
* Update timed locker
* Allow sequential timed locks
* Add config request from workers
* Add nil check for the route registration functions
* Introduce Makefile and go vendor directory for faster build
* WIP: Refactor cloud-game codebase with spliting overlord and worker binary
* Fix all issues and have a running build
* Complete first version of refactor