| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- // API doc: https://wiki.summercamp.local/display/PIN/Pinguin+server+API
- package main
- import (
- "log"
- "net/http"
- "os"
- "runtime/pprof"
- "strconv"
- "battlecamp-go-server/flag"
- "battlecamp-go-server/games"
- )
- var currentGames games.GameServer = games.New()
- func main() {
- initLogging()
- log.Println("Game server version 0.1")
- initCliFlags()
- log.Fatal(http.ListenAndServe(":"+strconv.Itoa(*flag.Port), newUrlRouter()))
- }
- func initLogging() {
- logFile, err := os.Create("server.log")
- if err == nil {
- log.SetOutput(logFile)
- } else {
- log.Println("ERROR: Cannot open log file, using console.")
- log.Printf("%v=n", err)
- }
- }
- func initCliFlags() {
- flag.ParseFlags()
- if *flag.CpuProfile != "" {
- f, err := os.Create(*flag.CpuProfile)
- if err != nil {
- log.Fatal(err)
- }
- pprof.StartCPUProfile(f)
- defer pprof.StopCPUProfile()
- }
- }
|