mirror of
https://github.com/pagefaultgames/rogueserver.git
synced 2025-04-02 02:57:15 +08:00
chore: Update server configuration flags for Discord Bot Token and Guild ID
This commit is contained in:
parent
dff7579360
commit
3ccc000646
@ -19,11 +19,11 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/gob"
|
"encoding/gob"
|
||||||
"flag"
|
|
||||||
"log"
|
"log"
|
||||||
"net"
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
|
"strconv"
|
||||||
|
|
||||||
"github.com/bwmarrin/discordgo"
|
"github.com/bwmarrin/discordgo"
|
||||||
"github.com/pagefaultgames/rogueserver/api"
|
"github.com/pagefaultgames/rogueserver/api"
|
||||||
@ -32,58 +32,56 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
// flag stuff
|
// env stuff
|
||||||
debug := flag.Bool("debug", false, "use debug mode")
|
debug, _ := strconv.ParseBool(os.Getenv("debug"))
|
||||||
|
|
||||||
proto := flag.String("proto", "tcp", "protocol for api to use (tcp, unix)")
|
proto := getEnv("proto", "tcp")
|
||||||
addr := flag.String("addr", "0.0.0.0:8001", "network address for api to listen on")
|
addr := getEnv("addr", "0.0.0.0:8001")
|
||||||
tlscert := flag.String("tlscert", "", "tls certificate path")
|
tlscert := getEnv("tlscert", "")
|
||||||
tlskey := flag.String("tlskey", "", "tls key path")
|
tlskey := getEnv("tlskey", "")
|
||||||
|
|
||||||
dbuser := flag.String("dbuser", "pokerogue", "database username")
|
dbuser := getEnv("dbuser", "pokerogue")
|
||||||
dbpass := flag.String("dbpass", "pokerogue", "database password")
|
dbpass := getEnv("dbpass", "pokerogue")
|
||||||
dbproto := flag.String("dbproto", "tcp", "protocol for database connection")
|
dbproto := getEnv("dbproto", "tcp")
|
||||||
dbaddr := flag.String("dbaddr", "localhost", "database address")
|
dbaddr := getEnv("dbaddr", "localhost")
|
||||||
dbname := flag.String("dbname", "pokeroguedb", "database name")
|
dbname := getEnv("dbname", "pokeroguedb")
|
||||||
|
|
||||||
discordclientid := flag.String("discordclientid", "dcid", "Discord Oauth2 Client ID")
|
discordclientid := getEnv("discordclientid", "")
|
||||||
discordsecretid := flag.String("discordsecretid", "dsid", "Discord Oauth2 Secret ID")
|
discordsecretid := getEnv("discordsecretid", "")
|
||||||
|
|
||||||
googleclientid := flag.String("googleclientid", "gcid", "Google Oauth2 Client ID")
|
googleclientid := getEnv("googleclientid", "")
|
||||||
googlesecretid := flag.String("googlesecretid", "gsid", "Google Oauth2 Secret ID")
|
googlesecretid := getEnv("googlesecretid", "")
|
||||||
|
|
||||||
callbackurl := flag.String("callbackurl", "http://localhost:8001/", "Callback URL for Oauth2 Client")
|
callbackurl := getEnv("callbackurl", "http://localhost:8001/")
|
||||||
|
|
||||||
gameurl := flag.String("gameurl", "https://pokerogue.net", "URL for game server")
|
gameurl := getEnv("gameurl", "https://pokerogue.net")
|
||||||
|
|
||||||
discordbottoken := flag.String("discordbottoken", "", "Discord Bot Token")
|
discordbottoken := getEnv("discordbottoken", "")
|
||||||
discordguildid := flag.String("discordguildid", "", "Discord Guild ID")
|
discordguildid := getEnv("discordguildid", "")
|
||||||
|
|
||||||
flag.Parse()
|
account.GameURL = gameurl
|
||||||
|
|
||||||
account.GameURL = *gameurl
|
account.DiscordClientID = discordclientid
|
||||||
|
account.DiscordClientSecret = discordsecretid
|
||||||
|
account.DiscordCallbackURL = callbackurl + "/auth/discord/callback"
|
||||||
|
|
||||||
account.DiscordClientID = *discordclientid
|
account.GoogleClientID = googleclientid
|
||||||
account.DiscordClientSecret = *discordsecretid
|
account.GoogleClientSecret = googlesecretid
|
||||||
account.DiscordCallbackURL = *callbackurl + "/auth/discord/callback"
|
account.GoogleCallbackURL = callbackurl + "/auth/google/callback"
|
||||||
|
account.DiscordSession, _ = discordgo.New("Bot " + discordbottoken)
|
||||||
account.GoogleClientID = *googleclientid
|
account.DiscordGuildID = discordguildid
|
||||||
account.GoogleClientSecret = *googlesecretid
|
|
||||||
account.GoogleCallbackURL = *callbackurl + "/auth/google/callback"
|
|
||||||
account.DiscordSession, _ = discordgo.New("Bot " + *discordbottoken)
|
|
||||||
account.DiscordGuildID = *discordguildid
|
|
||||||
// register gob types
|
// register gob types
|
||||||
gob.Register([]interface{}{})
|
gob.Register([]interface{}{})
|
||||||
gob.Register(map[string]interface{}{})
|
gob.Register(map[string]interface{}{})
|
||||||
|
|
||||||
// get database connection
|
// get database connection
|
||||||
err := db.Init(*dbuser, *dbpass, *dbproto, *dbaddr, *dbname)
|
err := db.Init(dbuser, dbpass, dbproto, dbaddr, dbname)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("failed to initialize database: %s", err)
|
log.Fatalf("failed to initialize database: %s", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// create listener
|
// create listener
|
||||||
listener, err := createListener(*proto, *addr)
|
listener, err := createListener(proto, addr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("failed to create net listener: %s", err)
|
log.Fatalf("failed to create net listener: %s", err)
|
||||||
}
|
}
|
||||||
@ -97,14 +95,14 @@ func main() {
|
|||||||
|
|
||||||
// start web server
|
// start web server
|
||||||
handler := prodHandler(mux, gameurl)
|
handler := prodHandler(mux, gameurl)
|
||||||
if *debug {
|
if debug {
|
||||||
handler = debugHandler(mux)
|
handler = debugHandler(mux)
|
||||||
}
|
}
|
||||||
|
|
||||||
if *tlscert == "" {
|
if tlscert == "" {
|
||||||
err = http.Serve(listener, handler)
|
err = http.Serve(listener, handler)
|
||||||
} else {
|
} else {
|
||||||
err = http.ServeTLS(listener, handler, *tlscert, *tlskey)
|
err = http.ServeTLS(listener, handler, tlscert, tlskey)
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("failed to create http server or server errored: %s", err)
|
log.Fatalf("failed to create http server or server errored: %s", err)
|
||||||
@ -131,11 +129,11 @@ func createListener(proto, addr string) (net.Listener, error) {
|
|||||||
return listener, nil
|
return listener, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func prodHandler(router *http.ServeMux, clienturl *string) http.Handler {
|
func prodHandler(router *http.ServeMux, clienturl string) http.Handler {
|
||||||
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||||
w.Header().Set("Access-Control-Allow-Headers", "Authorization, Content-Type")
|
w.Header().Set("Access-Control-Allow-Headers", "Authorization, Content-Type")
|
||||||
w.Header().Set("Access-Control-Allow-Methods", "OPTIONS, GET, POST")
|
w.Header().Set("Access-Control-Allow-Methods", "OPTIONS, GET, POST")
|
||||||
w.Header().Set("Access-Control-Allow-Origin", *clienturl)
|
w.Header().Set("Access-Control-Allow-Origin", clienturl)
|
||||||
|
|
||||||
if r.Method == "OPTIONS" {
|
if r.Method == "OPTIONS" {
|
||||||
w.WriteHeader(http.StatusOK)
|
w.WriteHeader(http.StatusOK)
|
||||||
@ -160,3 +158,11 @@ func debugHandler(router *http.ServeMux) http.Handler {
|
|||||||
router.ServeHTTP(w, r)
|
router.ServeHTTP(w, r)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getEnv(key string, defaultValue string) string {
|
||||||
|
if value, ok := os.LookupEnv(key); ok {
|
||||||
|
return value
|
||||||
|
}
|
||||||
|
|
||||||
|
return defaultValue
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user