From d40abc31a8cb2b10847cfad989a7d5548a1524fa Mon Sep 17 00:00:00 2001 From: Giovanni Harting <539@idlegandalf.com> Date: Tue, 5 Oct 2021 20:09:24 +0200 Subject: [PATCH] added dotfiles to config --- config_example.yaml | 3 +++ csgo/demo_loader.go | 34 +++++++++++++++++++--------------- main.go | 2 +- utils/utils.go | 3 +++ 4 files changed, 26 insertions(+), 16 deletions(-) diff --git a/config_example.yaml b/config_example.yaml index e96073e..17241a7 100644 --- a/config_example.yaml +++ b/config_example.yaml @@ -14,6 +14,9 @@ steam: password: steampassword api_key: apikey rate_per_sec: 1 + sentry: ".sentry" + login_key: ".login_key" + server_list: ".server.json" httpd: cors_allow_domains: '*' diff --git a/csgo/demo_loader.go b/csgo/demo_loader.go index 53a3c02..3fca485 100644 --- a/csgo/demo_loader.go +++ b/csgo/demo_loader.go @@ -18,10 +18,7 @@ import ( //goland:noinspection SpellCheckingInspection const ( - SENTRYFILE = ".sentry" - LOGINKEYFILE = ".login_key" - SERVERLIST = ".server.json" - APPID = 730 + APPID = 730 ) type DemoMatchLoader struct { @@ -30,6 +27,9 @@ type DemoMatchLoader struct { steamLogin *steam.LogOnDetails matchRecv chan *protobuf.CMsgGCCStrike15V2_MatchList cmList []*netutil.PortAddr + sentryFile string + loginKey string + serverList string } func AccountId2SteamId(accId uint32) uint64 { @@ -127,31 +127,35 @@ func (d *DemoMatchLoader) connectToSteam() error { return nil } -func (d *DemoMatchLoader) Setup(username string, password string, authCode string) error { +func (d *DemoMatchLoader) Setup(username string, password string, authCode string, sentry string, loginKey string, serverList string) error { + d.loginKey = loginKey + d.sentryFile = sentry + d.serverList = serverList + d.steamLogin = new(steam.LogOnDetails) d.steamLogin.Username = username d.steamLogin.Password = password d.steamLogin.AuthCode = authCode d.steamLogin.ShouldRememberPassword = true - if _, err := os.Stat(SENTRYFILE); err == nil { - hash, err := ioutil.ReadFile(SENTRYFILE) + if _, err := os.Stat(d.sentryFile); err == nil { + hash, err := ioutil.ReadFile(d.sentryFile) if err != nil { return err } d.steamLogin.SentryFileHash = hash } - if _, err := os.Stat(LOGINKEYFILE); err == nil { - hash, err := ioutil.ReadFile(LOGINKEYFILE) + if _, err := os.Stat(d.loginKey); err == nil { + hash, err := ioutil.ReadFile(d.loginKey) if err != nil { return err } d.steamLogin.LoginKey = string(hash) } - if _, err := os.Stat(SERVERLIST); err == nil { - rawJson, err := ioutil.ReadFile(SERVERLIST) + if _, err := os.Stat(d.serverList); err == nil { + rawJson, err := ioutil.ReadFile(d.serverList) if err != nil { return err } @@ -190,13 +194,13 @@ func (d *DemoMatchLoader) steamEventHandler() { log.Errorf("[DL] Unable to marshal JSON: %v", err) } - err = ioutil.WriteFile(SERVERLIST, serverJson, os.ModePerm) + err = ioutil.WriteFile(d.serverList, serverJson, os.ModePerm) if err != nil { log.Errorf("[DL] Unable to write server list: %v", err) } case *steam.MachineAuthUpdateEvent: log.Debug("[DL] Got sentry!") - err := ioutil.WriteFile(SENTRYFILE, e.Hash, os.ModePerm) + err := ioutil.WriteFile(d.sentryFile, e.Hash, os.ModePerm) if err != nil { log.Errorf("[DL] Unable write sentry file: %v", err) } @@ -208,7 +212,7 @@ func (d *DemoMatchLoader) steamEventHandler() { log.Warningf("[DL] Steam login denied: %+v", e) switch e.Result { case steamlang.EResult_AccountLogonDenied: - log.Warningf("[DL] Please provide AuthCode with --authcode") + log.Fatalf("[DL] Please provide AuthCode with --authcode") case steamlang.EResult_InvalidPassword: log.Fatalf("[DL] Steam login wrong") } @@ -220,7 +224,7 @@ func (d *DemoMatchLoader) steamEventHandler() { } case *steam.LoginKeyEvent: log.Debug("Got login_key!") - err := ioutil.WriteFile(LOGINKEYFILE, []byte(e.LoginKey), os.ModePerm) + err := ioutil.WriteFile(d.loginKey, []byte(e.LoginKey), os.ModePerm) if err != nil { log.Errorf("[DL] Unable write login_key: %v", err) } diff --git a/main.go b/main.go index ede95bd..2774526 100644 --- a/main.go +++ b/main.go @@ -395,7 +395,7 @@ func main() { rL = ratelimit.New(conf.Steam.RatePerSecond) // setup GC - err = demoLoader.Setup(conf.Steam.Username, conf.Steam.Password, *authCodeFlag) + err = demoLoader.Setup(conf.Steam.Username, conf.Steam.Password, *authCodeFlag, conf.Steam.Sentry, conf.Steam.LoginKey, conf.Steam.ServerList) if err != nil { log.Fatalf("Unbale to setup DemoLoader: %v", err) } diff --git a/utils/utils.go b/utils/utils.go index 5fb840c..9809e33 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -38,6 +38,9 @@ type Conf struct { Password string APIKey string `yaml:"api_key"` RatePerSecond int `yaml:"rate_per_sec"` + Sentry string + LoginKey string `yaml:"login_key"` + ServerList string `yaml:"server_list"` } Httpd struct { CORSAllowDomains string `yaml:"cors_allow_domains"`