package gate import ( cherryApp "f1-game/internal/cherry_app" cgops "f1-game/internal/component/gops" "f1-game/internal/component/rate" "f1-game/internal/component/redis" "f1-game/internal/data" "f1-game/internal/sessions" "f1-game/nodes/gate/user" "github.com/cherry-game/cherry" cfacade "github.com/cherry-game/cherry/facade" ) // Run gate不直接连数据库,需要数据可以通center/game节点获取 func Run(node cfacade.INode) { app := cherry.ConfigureNode( node, true, cherry.Cluster, ) cherryApp.Init(app) app.Register(cgops.New()) app.Register(data.NewConfigs( data.SDK, data.ProtoRoute, data.RateLimiter, data.Lua, )) app.Register(redis.NewClients( redis.GUID, redis.Center, )) app.Register(rate.New()) app.AddActors( sessions.NewActor(false), ) initApp(app) app.Startup() } func initApp(app *cherry.AppBuilder) { userParser := user.NewUserActorParser() app.SetNetParser(userParser) }