main.go 698 B

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