main.go 711 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // API doc: https://wiki.summercamp.local/display/PIN/Pinguin+server+API
  2. package main
  3. import (
  4. "log"
  5. "os"
  6. "runtime/pprof"
  7. "battlecamp-go-server/flag"
  8. "battlecamp-go-server/gameserver"
  9. )
  10. var gameServer gameserver.GameServer = gameserver.New()
  11. func main() {
  12. initLogging()
  13. log.Println("Game server version 0.1")
  14. flag.ParseFlags()
  15. if *flag.CpuProfile != "" {
  16. f, err := os.Create(*flag.CpuProfile)
  17. if err != nil {
  18. log.Fatal(err)
  19. }
  20. pprof.StartCPUProfile(f)
  21. }
  22. gameServer.Serve()
  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. }