| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- package main
- import (
- "encoding/json"
- "fmt"
- "math/rand"
- "time"
- "bet24.com/log"
- coreservice "bet24.com/servers/coreservice/client"
- "bet24.com/servers/games/spinplay/config"
- "bet24.com/servers/games/spinplay/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()
- 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/spinplay/err.log", "spinplay starting")
- // 把数据库链接都创建起来
- gamelogic.Run()
- startRoomPing()
- }
|