| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- package main
- import (
- "encoding/json"
- "fmt"
- "math/rand"
- "time"
- "bet24.com/log"
- coreservice "bet24.com/servers/coreservice/client"
- "bet24.com/servers/games/blitzludo/config"
- "bet24.com/servers/games/blitzludo/gamelogic"
- "bet24.com/servers/insecureframe/frame"
- "bet24.com/servers/insecureframe/gate"
- robotmanager "bet24.com/servers/insecureframe/robot"
- "bet24.com/servers/transaction"
- "bet24.com/utils"
- )
- func waitInput() {
- for {
- var cmd string
- var param1 string
- var param2 string
- fmt.Scanf("%s %s %s", &cmd, ¶m1, ¶m2)
- switch cmd {
- case "exit":
- gamelogic.Stopping = true
- robotmanager.Exit()
- frame.StopServer()
- go transaction.DoGameRoomPing(gamelogic.GAMEID, 1, config.RoomConfigName)
- case "listuser":
- gate.DumpUsers()
- case "robotlist":
- robotmanager.Dump()
- case "robotWin":
- log.Release(config.Rooms.Dump())
- default:
- if !frame.Dump(cmd, param1, param2) {
- log.Release("unknown command")
- }
- }
- }
- }
- func startRoomPing() {
- if gamelogic.Stopping {
- return
- }
- time.AfterFunc(20*time.Second, startRoomPing)
- //将本server的Ip和端口写入redis
- for i := 0; i < len(config.Rooms.Rooms); i++ {
- d, _ := json.Marshal(config.Rooms.Rooms[i].RoomInfoBase)
- // fmt.Println(string(d))
- go transaction.DoGameRoomPing(gamelogic.GAMEID, 2, config.Rooms.Rooms[i].RoomName)
- frame.UpdateRoomList(config.Rooms.Rooms[i].RoomName, config.Rooms.Rooms[i].RoomDesc, string(d), config.Rooms.Rooms[i].RoomID-1)
- }
- }
- func main() {
- defer waitInput()
- rand.Seed(time.Now().UnixNano())
- coreservice.SetServiceAddr(config.Server.ServiceAddr)
- // 可以从coreservice中读取配置
- config.Run()
- utils.SetErrorFile("log/blitzludo/err.log", "blitzludo starting")
- // 把数据库链接都创建起来
- gamelogic.Run()
- //monitor.Run(config.Server.MonitorPort)
- startRoomPing()
- }
|