mirror of
https://github.com/giongto35/cloud-game.git
synced 2026-07-19 01:24:26 +00:00
* Add initial external configuration files support. These external configuration files allow changing app params at the runtime without recompilation. * Find config files with specified directory in the tests * Add aspect ratio recalculation config * Clean code * Add new configuration files into the Docker container image * Add shared core and config paths into the Libretro cores config * Split ROM <-> Emulator mapping between workers and coordinators * Extract coordinator config * Add shared worker/coordinator server config * Add explicit embedded shared worker/coordinator struct for auto-config reflection fill * Remove default stun/turn servers from the config * Extract and add new ice servers config structures * Update coordinator config params * Add auto emulation lib loader based on the runtime OS/arch * Update configuration structures * Remove shared config embedding * Add missing network config params * Add game library external config * Remove unused config parameters * Add WebRTC encoder external options * Add user dir for config search * Update config loader * Update config * Add generic downloader with Grab lib implementation * Add a simple file downloader backed by the grab lib * Add initial Libretro core repos abstractions * Expose compression info for Libretro cores repository records * Add pipe-based abstract file downloader * Refactor downloader * Refactor Libretro repos * Add worker coresync stubs * Add multiprocess-safe HTTP-based core manager implementation * Remove Libretro cores from the repo * Keep custom N64 cores in te repo for now * Add Libretro cores repo select in the config * Fix http manager repo switch * Cleanup code * Add greedy Libretro lib loader * Don't crash when arch map is not set * Disable dynamic recompiler for pcsx core by default since it's could cause a crash * Use global Libretro dynalib handler * Shorten the default Libretro cores store path * Update zip extractor implementation * Remove explicit fig lib field markings * Add config note to the README file * Add GitHub repo backend for the core downloader * Fix GitHub repo param list in the manager factory * Add env variables reader with CLOUD_GAME prefix * Re-optimize ice server info struct custom marshaler
31 lines
787 B
Go
31 lines
787 B
Go
package shared
|
|
|
|
import (
|
|
"github.com/giongto35/cloud-game/v2/pkg/environment"
|
|
flag "github.com/spf13/pflag"
|
|
)
|
|
|
|
type Environment environment.Env
|
|
|
|
type Server struct {
|
|
Port int
|
|
HttpsPort int
|
|
HttpsKey string
|
|
HttpsChain string
|
|
}
|
|
|
|
func (s *Server) WithFlags() {
|
|
flag.IntVar(&s.Port, "port", s.Port, "HTTP server port")
|
|
flag.IntVar(&s.HttpsPort, "httpsPort", s.HttpsPort, "HTTPS server port (just why?)")
|
|
flag.StringVar(&s.HttpsKey, "httpsKey", s.HttpsKey, "HTTPS key")
|
|
flag.StringVar(&s.HttpsChain, "httpsChain", s.HttpsChain, "HTTPS chain")
|
|
}
|
|
|
|
func (env *Environment) Get() environment.Env {
|
|
return (environment.Env)(*env)
|
|
}
|
|
|
|
func (env *Environment) WithFlags() {
|
|
val := string(*env)
|
|
flag.StringVar(&val, "env", val, "Specify environment type: [dev, staging, prod]")
|
|
}
|