main.go 750 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  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/flag"
  8. "battlecamp-go/battlecamp-go-gameserver/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.Printf("ERROR: %v\n", err)
  19. } else {
  20. pprof.StartCPUProfile(f)
  21. }
  22. }
  23. gameServer.Serve()
  24. }
  25. func initLogging() {
  26. logFile, err := os.Create("server.log")
  27. if err == nil {
  28. log.SetOutput(logFile)
  29. } else {
  30. log.Println("ERROR: Cannot open log file, using console.")
  31. log.Printf("%v=n", err)
  32. }
  33. }