main.go 707 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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. bcFlag "battlecamp-go-server/flag"
  11. "battlecamp-go-server/games"
  12. )
  13. var currentGames games.GameServer = games.New()
  14. func main() {
  15. fmt.Println("Game server version 0.1")
  16. initLogging()
  17. initCliFlags()
  18. log.Fatal(http.ListenAndServe(":"+strconv.Itoa(*bcFlag.Port), newUrlRouter()))
  19. }
  20. func initLogging() {
  21. logFile, err := os.Create("server.log")
  22. if err == nil {
  23. log.SetOutput(logFile)
  24. } else {
  25. log.Println("ERROR: Cannot open log file, using console.")
  26. log.Printf("%v=n", err)
  27. }
  28. }
  29. func initCliFlags() {
  30. bcFlag.CreateFlags()
  31. flag.Parse()
  32. }