main.go 957 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. // API doc: https://wiki.summercamp.local/display/PIN/Pinguin+server+API
  2. package main
  3. import (
  4. "flag"
  5. "fmt"
  6. "log"
  7. "net/http"
  8. "os"
  9. "strconv"
  10. extStomp "github.com/go-stomp/stomp"
  11. bcFlag "battlecamp-go-server/flag"
  12. "battlecamp-go-server/games"
  13. "battlecamp-go-server/stomp"
  14. )
  15. var currentGames games.GameServer = games.New()
  16. var stompConnection *extStomp.Conn
  17. func main() {
  18. fmt.Println("Game server version 0.1")
  19. initLogging()
  20. initCliFlags()
  21. //initStompConnection()
  22. log.Fatal(http.ListenAndServe(":"+strconv.Itoa(*bcFlag.Port), newUrlRouter()))
  23. }
  24. func initLogging() {
  25. logFile, err := os.Create("server.log")
  26. if err == nil {
  27. log.SetOutput(logFile)
  28. } else {
  29. log.Println("ERROR: Cannot open log file, using console.")
  30. log.Printf("%v=n", err)
  31. }
  32. }
  33. func initCliFlags() {
  34. bcFlag.CreateFlags()
  35. flag.Parse()
  36. }
  37. func initStompConnection() {
  38. stompConnection = stomp.DailStomp(*bcFlag.StompUrl)
  39. defer stompConnection.Disconnect()
  40. }