syntax = "proto2"; package Gazillion; enum PubSubServerTypes { FRONTEND_SERVER = 0; GAME_INSTANCE_SERVER_USER = 1; GAME_INSTANCE_SERVER_PLAYERMGR = 2; GAME_INSTANCE_SERVER_GROUPING = 3; GAME_INSTANCE_SERVER_METRICS = 4; PLAYERMGR_SERVER_FRONTEND = 5; PLAYERMGR_SERVER_SITEMGR_CONTROL = 6; PLAYERMGR_SERVER_SOCIAL_COMMON = 7; GROUPING_MANAGER_FRONTEND = 8; FAKE_CHAT_LOAD_TESTER = 9; GAME_INSTANCE_SERVER_BILLING = 10; GAME_INSTANCE_SERVER_GLOBAL_GAME_EVENT = 12; PLAYERMGR_METRICS = 13; GAME_INSTANCE_SERVER_MOBILE_FRONTEND = 14; GAME_INSTANCE_SERVER_LEADERBOARD = 15; LEADERBOARD_SERVER_GLOBAL_GAME_EVENT = 16; NUM_SERVER_TYPES = 18; } message PubSubPublish { optional PubSubServerTypes serverType = 1 [default = NUM_SERVER_TYPES]; optional string serviceIPAddress = 2; optional string servicePort = 3; optional string serviceVersion = 4; } message PubSubSubscribe { optional PubSubServerTypes serverType = 1 [default = NUM_SERVER_TYPES]; optional int32 subscriptionId = 2; optional string serviceVersion = 3; } message PubSubEventNotification { optional PubSubServerTypes serverType = 1 [default = NUM_SERVER_TYPES]; optional int32 subscriptionId = 2; optional string serviceIPAddress = 3; optional string servicePort = 4; optional string serviceVersion = 5; optional bool requestResignation = 6; } message PubSubOrderlyShutdown { optional string message = 1; optional int32 minutesToShutdown = 2 [default = 15]; } message PubSubForceLogRollover { } message PubSubServerStatusUpdate { enum ServerStatusServiceState { SSSS_SERVICE_STOPPED = 1; SSSS_SERVICE_START_PENDING = 2; SSSS_SERVICE_STOP_PENDING = 3; SSSS_SERVICE_RUNNING = 4; SSSS_SERVICE_CONTINUE_PENDING = 5; SSSS_SERVICE_PAUSE_PENDING = 6; SSSS_SERVICE_PAUSED = 7; } optional float processCpuPercentage = 1; optional float processRamPercentage = 2; optional int64 processRamUsageBytes = 3; optional float totalCpuUsagePercentage = 4; optional float totalRamUsagePercentage = 5; optional ServerStatusServiceState state = 6 [default = SSSS_SERVICE_STOPPED]; optional string hostname = 7; optional string serviceName = 8; repeated string connectedHosts = 9; repeated string connectedServices = 10; optional bool gisIsDraining = 11; optional int32 gisPlayerCount = 12; } message PubSubServerStatusRequest { }