// API doc: https://wiki.summercamp.local/display/PIN/Pinguin+server+API package main import ( "flag" "fmt" "log" "net/http" "os" "strconv" extStomp "github.com/go-stomp/stomp" bcFlag "battlecamp-go-server/flag" "battlecamp-go-server/games" "battlecamp-go-server/stomp" ) var currentGames games.GameServer = games.New() var stompConnection *extStomp.Conn func main() { fmt.Println("Game server version 0.1") initLogging() initCliFlags() initStompConnection() log.Fatal(http.ListenAndServe(":"+strconv.Itoa(*bcFlag.Port), newUrlRouter())) } func initLogging() { logFile, err := os.Create("server.log") if err == nil { log.SetOutput(logFile) } else { log.Println("ERROR: Cannot open log file, using console.") log.Printf("%v=n", err) } } func initCliFlags() { bcFlag.CreateFlags() flag.Parse() } func initStompConnection() { stompConnection = stomp.DailStomp(*bcFlag.StompUrl) defer stompConnection.Disconnect() }