public override void ListFactories(Google.ProtocolBuffers.IRpcController controller, ListFactoriesRequest request, Action <ListFactoriesResponse> done) { var response = ListFactoriesResponse.CreateBuilder(); var description = GameFactoryDescription.CreateBuilder(); description.SetId(14249086168335147635); description.AddAttribute(Attribute.CreateBuilder().SetName("min_players").SetValue(Variant.CreateBuilder().SetIntValue(2))); description.AddAttribute(Attribute.CreateBuilder().SetName("max_players").SetValue(Variant.CreateBuilder().SetIntValue(4))); description.AddAttribute(Attribute.CreateBuilder().SetName("num_teams").SetValue(Variant.CreateBuilder().SetIntValue(1))); description.AddAttribute(Attribute.CreateBuilder().SetName("version").SetValue(Variant.CreateBuilder().SetStringValue("0.3.0"))); var stats_bucket = GameStatsBucket.CreateBuilder(); stats_bucket.SetBucketMin(0) .SetBucketMax(4294967296) .SetWaitMilliseconds(1354) .SetGamesPerHour(0) .SetActiveGames(69) .SetActivePlayers(75) .SetFormingGames(0) .SetWaitingPlayers(0); description.AddStatsBucket(stats_bucket); response.AddDescription(description); response.SetTotalResults(1); done(response.Build()); }
public override void Bind(Google.ProtocolBuffers.IRpcController controller, bnet.protocol.connection.BindRequest request, Action <bnet.protocol.connection.BindResponse> done) { Logger.Trace("Bind(): {0}", this.Client); var requestedServiceIDs = new List <uint>(); foreach (var serviceHash in request.ImportedServiceHashList) { var serviceID = Service.GetByHash(serviceHash); requestedServiceIDs.Add(serviceID); Logger.Trace("[export] Hash: 0x{0} Id: 0x{1} Service: {2} ", serviceHash.ToString("X8"), serviceID.ToString("X2"), Service.GetByID(serviceID) != null ? Service.GetByID(serviceID).GetType().Name : "N/A"); } // read services supplied by client.. foreach (var service in request.ExportedServiceList.Where(service => !Client.Services.ContainsValue(service.Id))) { if (Client.Services.ContainsKey(service.Hash)) { continue; } Client.Services.Add(service.Hash, service.Id); Logger.Trace(string.Format("[import] Hash: 0x{0} Id: 0x{1}", service.Hash.ToString("X8"), service.Id.ToString("X2"))); } var builder = bnet.protocol.connection.BindResponse.CreateBuilder(); foreach (var serviceId in requestedServiceIDs) { builder.AddImportedServiceId(serviceId); } done(builder.Build()); }
public override void OpenColumn(Google.ProtocolBuffers.IRpcController controller, bnet.protocol.storage.OpenColumnRequest request, System.Action <bnet.protocol.storage.OpenColumnResponse> done) { Logger.Trace("OpenColumn() {0}", this.Client); var builder = bnet.protocol.storage.OpenColumnResponse.CreateBuilder(); done(builder.Build()); }
public override void Logon(Google.ProtocolBuffers.IRpcController controller, LogonRequest request, Action <LogonResponse> done) { /*var client_auth = client.GetImportedService<bnet.protocol.authentication.AuthenticationClient>(); * var mod_load_req = ModuleLoadRequest.CreateBuilder(); * var mod_handle = ContentHandle.CreateBuilder(); * mod_handle.SetRegion(0x00005553); * mod_handle.SetUsage(0x61757468); * var password_hash = new byte[] { 0x8f, 0x52, 0x90, 0x6a, 0x2c, 0x85, 0xb4, 0x16, 0xa5, 0x95, 0x70, 0x22, 0x51, 0x57, 0xf, 0x96, 0xd3, 0x52, 0x2f, 0x39, 0x23, 0x76, 0x3, 0x11, 0x5f, 0x2f, 0x1a, 0xb2, 0x49, 0x62, 0x4, 0x3c }; * mod_handle.SetHash(ByteString.CopyFrom(password_hash)); * mod_load_req.SetModuleHandle(mod_handle); * * client_auth.ModuleLoad(null, mod_load_req.Build(), res => { * Console.WriteLine(res); * });*/ var response = LogonResponse.CreateBuilder(); var account = bnet.protocol.EntityId.CreateBuilder(); var game_account = bnet.protocol.EntityId.CreateBuilder(); account.SetHigh(0x100000000000000).SetLow(1234); game_account.SetHigh(0x200006200004433).SetLow(1234); response.SetAccount(account).SetGameAccount(game_account); done(response.Build()); }
public override void SubscribeToUserManager(Google.ProtocolBuffers.IRpcController controller, bnet.protocol.user_manager.SubscribeToUserManagerRequest request, System.Action <bnet.protocol.user_manager.SubscribeToUserManagerResponse> done) { Logger.Trace("Subscribe() {0}", this.Client); // temp hack: send him all online players on server where he should be normally get list of player he met in his last few games /raist. var builder = bnet.protocol.user_manager.SubscribeToUserManagerResponse.CreateBuilder(); foreach (var client in PlayerManager.OnlinePlayers) { if (client == this.Client) { continue; // Don't add the requester to the list } if (client.CurrentToon == null) { continue; } Logger.Debug("RecentPlayer => " + client.CurrentToon); var recentPlayer = bnet.protocol.user_manager.RecentPlayer.CreateBuilder().SetPlayer(client.CurrentToon.BnetEntityID); builder.AddRecentPlayers(recentPlayer); } done(builder.Build()); }
public override void Logon(Google.ProtocolBuffers.IRpcController controller, bnet.protocol.authentication.LogonRequest request, Action <bnet.protocol.NoData> done) { Logger.Trace("LogonRequest(): Email={0}", request.Email); if (!VersionChecker.Check(this.Client, request)) // if the client trying to connect doesn't match required version, disconnect him. { Logger.Error("Client [{0}] doesn't match required version {1}, disconnecting..", request.Email, VersionInfo.MooNet.RequiredClientVersion); // create the disconnection reason. var reason = bnet.protocol.connection.DisconnectNotification.CreateBuilder() .SetErrorCode(3018).Build(); // Error 3018 => A new patch for Diablo III is available. The game will now close and apply the patch automatically. You will be able to continue playing after the patch has been applied. // FIXME: D3 client somehow doesn't show the correct error message yet, and in debug output we only miss a message like [ Recv ] service_id: 254 token: 6 status: 28 // when I compare mooege's output. That could be the reason. /raist. // force disconnect the client as it does not satisfy required version. /raist. this.Client.MakeRPC(() => bnet.protocol.connection.ConnectionService.CreateStub(this.Client).ForceDisconnect(null, reason, callback => { })); this.Client.Connection.Disconnect(); return; } done(bnet.protocol.NoData.CreateBuilder().Build()); AuthManager.StartAuthentication(this.Client, request); }
public override void SelectGameAccount(Google.ProtocolBuffers.IRpcController controller, bnet.protocol.EntityId request, Action <bnet.protocol.NoData> done) { this.Client.Account.CurrentGameAccount = GameAccountManager.GetAccountByPersistentID(request.Low); this.Client.Account.CurrentGameAccount.LoggedInClient = this.Client; Logger.Trace("SelectGameAccount(): {0}", this.Client.Account.CurrentGameAccount); done(bnet.protocol.NoData.CreateBuilder().Build()); }
public override void RequestDisconnect(Google.ProtocolBuffers.IRpcController controller, bnet.protocol.connection.DisconnectRequest request, Action <bnet.protocol.NO_RESPONSE> done) { Logger.Trace("RequestDisconnect()"); if (this.Client.Account != null) { Accounts.AccountManager.SaveToDB(this.Client.Account); if (this.Client.Account.CurrentGameAccount != null) { Accounts.GameAccountManager.SaveToDB(this.Client.Account.CurrentGameAccount); this.Client.Account.CurrentGameAccount.LoggedInClient.Connection.Disconnect(); } } }
public override void ModuleMessage(Google.ProtocolBuffers.IRpcController controller, bnet.protocol.authentication.ModuleMessageRequest request, Action <bnet.protocol.NoData> done) { var moduleMessage = request.Message.ToByteArray(); var command = moduleMessage[0]; Logger.Trace("ModuleMessage(): command: {0}", command); done(bnet.protocol.NoData.CreateBuilder().Build()); if (command == 2) { AuthManager.HandleAuthResponse(this.Client, request.ModuleId, moduleMessage); } }
public override void ShutdownServer( Google.ProtocolBuffers.IRpcController controller, ShutdownServerRequest request, System.Action <ShutdownServerResponse> done) { PrintRequest(controller, request); ShutdownEvent.Set(); ShutdownServerResponse response = ShutdownServerResponse.CreateBuilder().Build(); PrintResponse(response); done(response); }
public override void ModuleNotify(Google.ProtocolBuffers.IRpcController controller, bnet.protocol.authentication.ModuleNotification request, Action <bnet.protocol.NoData> done) { Logger.Trace("ModuleNotify(): Module: {0} ModuleId: {1} Result: {2}", this.Client.LastRequestedModule.ToString(), request.ModuleId, request.Result); done(bnet.protocol.NoData.CreateBuilder().Build()); this.Client.ClientModuleIds[this.Client.LastRequestedModule] = request.ModuleId; var moduleLoadRequest = bnet.protocol.authentication.ModuleLoadRequest.CreateBuilder(); switch (this.Client.LastRequestedModule) { case MooNetClient.StreamedModule.Thumbprint: moduleLoadRequest.SetModuleHandle(bnet.protocol.ContentHandle.CreateBuilder() .SetRegion(VersionInfo.MooNet.Regions[VersionInfo.MooNet.Region]) .SetUsage(0x61757468) // auth - password.dll .SetHash(ByteString.CopyFrom(VersionInfo.MooNet.PasswordHashMap[this.Client.Platform]))) .SetMessage(ByteString.CopyFrom(AuthManager.OngoingAuthentications[this.Client].LogonChallenge)); this.Client.LastRequestedModule = MooNetClient.StreamedModule.Password; this.Client.MakeRPC(() => bnet.protocol.authentication.AuthenticationClient.CreateStub(this.Client).ModuleLoad(null, moduleLoadRequest.Build(), ModuleLoadResponse)); break; case MooNetClient.StreamedModule.Agreement: if (this.Client.HasAgreements()) { this.Client.SendAgreements(); } else { moduleLoadRequest.SetModuleHandle(bnet.protocol.ContentHandle.CreateBuilder() .SetRegion(VersionInfo.MooNet.Regions[VersionInfo.MooNet.Region]) .SetUsage(0x61757468) // auth - RiskFingerprint.dll .SetHash(ByteString.CopyFrom(VersionInfo.MooNet.RiskFingerprintHashMap[this.Client.Platform]))) .SetMessage(ByteString.Empty); this.Client.LastRequestedModule = MooNetClient.StreamedModule.RiskFingerprint; this.Client.MakeRPC(() => bnet.protocol.authentication.AuthenticationClient.CreateStub(this.Client).ModuleLoad(null, moduleLoadRequest.Build(), ModuleLoadResponse)); } break; case MooNetClient.StreamedModule.Password: case MooNetClient.StreamedModule.Token: case MooNetClient.StreamedModule.RiskFingerprint: break; default: Logger.Error("LastRequestModule: {0}", this.Client.LastRequestedModule.ToString()); break; } }
public override void Logon(Google.ProtocolBuffers.IRpcController controller, bnet.protocol.authentication.LogonRequest request, Action <bnet.protocol.NoData> done) { Logger.Trace("LogonRequest(): Email={0}", request.Email); if (!VersionChecker.Check(this.Client, request)) // if the client trying to connect doesn't match required version, disconnect him. { Logger.Error("Client [{0}] doesn't match required version {1}, disconnecting..", request.Email, VersionInfo.MooNet.RequiredClientVersion); this.Client.Connection.Disconnect(); // TODO: We should be actually notifying the client with wrong version message. /raist. return; } done(bnet.protocol.NoData.CreateBuilder().Build()); AuthManager.StartAuthentication(this.Client, request); }
public override void GetGameStats(Google.ProtocolBuffers.IRpcController controller, GetGameStatsRequest request, Action <GetGameStatsResponse> done) { var response = GetGameStatsResponse.CreateBuilder(); var stats_bucket = GameStatsBucket.CreateBuilder(); stats_bucket.SetBucketMin(0) .SetBucketMax(4294967296) .SetWaitMilliseconds(1354) .SetGamesPerHour(0) .SetActiveGames(69) .SetActivePlayers(75) .SetFormingGames(0) .SetWaitingPlayers(0); response.AddStatsBucket(stats_bucket); done(response.Build()); }
static internal void CallMethod( RcfProtoChannel self, Google.ProtocolBuffers.Descriptors.MethodDescriptor method, Google.ProtocolBuffers.IRpcController controller, Google.ProtocolBuffers.IMessage request, Google.ProtocolBuffers.IMessage responsePrototype, Action <Google.ProtocolBuffers.IMessage> done) { self.mResponse = null; self.mResponseError = null; self.mDone = done; self.mResponsePrototype = responsePrototype; // Serialize the request. RcfProtoController rcfController = (RcfProtoController)controller; if (rcfController != null) { rcfController.Reset(); rcfController.mChannel = self; } string serviceName = method.Service.Name; int methodId = method.Index; byte[] bytes = request.ToByteArray(); // Hand off to RCF. if (self.mSwigCallback == null) { self.mSwigCallback = new SwigCallback_CallCompletion(self); } self._CallMethodSwig(serviceName, methodId, bytes, bytes.Length, self.mSwigCallback); bool syncRpc = !self.GetAsynchronousRpcMode(); if (syncRpc) { if (self.Failed()) { self.mResponseError = self.ErrorText(); throw new System.Exception(self.mResponseError); } } }
public override void ModuleNotify(Google.ProtocolBuffers.IRpcController controller, bnet.protocol.authentication.ModuleNotification request, Action <bnet.protocol.NoData> done) { Logger.Trace("ModuleNotify(): ModuleId:{0} Result: {1}", request.ModuleId, request.Result); done(bnet.protocol.NoData.CreateBuilder().Build()); if (this.Client.ThumbprintReq && !this.Client.PasswordReq) { var moduleLoadRequest = bnet.protocol.authentication.ModuleLoadRequest.CreateBuilder() .SetModuleHandle(bnet.protocol.ContentHandle.CreateBuilder() .SetRegion(0x00005858) // XX .SetUsage(0x61757468) // auth - password.dll .SetHash(ByteString.CopyFrom(VersionInfo.MooNet.AuthModuleHashMap[this.Client.Platform]))) .SetMessage(ByteString.CopyFrom(AuthManager.OngoingAuthentications[this.Client].LogonChallenge)) .Build(); this.Client.PasswordReq = true; this.Client.MakeRPC(() => bnet.protocol.authentication.AuthenticationClient.CreateStub(this.Client).ModuleLoad(null, moduleLoadRequest, ModuleLoadResponse)); } }
private void PrintRequest( Google.ProtocolBuffers.IRpcController controller, Google.ProtocolBuffers.IMessage request) { System.Console.WriteLine("************************"); System.Console.WriteLine("*** Received request ***"); RcfProtoController rcfController = (RcfProtoController)controller; RcfProtoSession session = rcfController.GetSession(); System.Console.WriteLine("Client username: "******"Compression enabled: " + session.GetEnableCompression()); System.Console.WriteLine("Transport type: " + session.GetTransportType()); System.Console.WriteLine("Transport protocol: " + session.GetTransportProtocol()); string strRequest = request.ToString(); System.Console.WriteLine("Request:"); System.Console.WriteLine(strRequest); }
public override void Connect(Google.ProtocolBuffers.IRpcController controller, bnet.protocol.connection.ConnectRequest request, Action <bnet.protocol.connection.ConnectResponse> done) { Logger.Trace("Connect()"); var builder = bnet.protocol.connection.ConnectResponse.CreateBuilder() .SetServerId(bnet.protocol.ProcessId.CreateBuilder().SetLabel(0).SetEpoch(DateTime.Now.ToUnixTime())) .SetClientId(bnet.protocol.ProcessId.CreateBuilder().SetLabel(1).SetEpoch(DateTime.Now.ToUnixTime())); if (request.HasClientId) { builder.SetClientId(request.ClientId); } builder.SetContentHandleArray(bnet.protocol.connection.ConnectionMeteringContentHandles.CreateBuilder() .AddContentHandle(bnet.protocol.ContentHandle.CreateBuilder() .SetRegion(VersionInfo.MooNet.Regions[VersionInfo.MooNet.Region]) .SetUsage(0x6D74727A) //mtrz .SetHash(ByteString.CopyFrom("18e98cde12837149621988ceee55123bf2be839a6dc1d6bb00a399520656b2a6".ToByteArray())))); done(builder.Build()); }
public override void Search( Google.ProtocolBuffers.IRpcController controller, SearchRequest request, System.Action <SearchResponse> done) { PrintRequest(controller, request); // Build the response. SearchResponse.Types.Result result = SearchResponse.Types.Result.CreateBuilder() .SetUrl("http://someurl.com") .Build(); SearchResponse response = SearchResponse.CreateBuilder() .AddResult(result) .Build(); PrintResponse(response); // Send the response. done(response); }
public override void Connect(Google.ProtocolBuffers.IRpcController controller, bnet.protocol.connection.ConnectRequest request, Action <bnet.protocol.connection.ConnectResponse> done) { Logger.Trace("Connect()"); var builder = bnet.protocol.connection.ConnectResponse.CreateBuilder() .SetServerId(bnet.protocol.ProcessId.CreateBuilder().SetLabel(0).SetEpoch(DateTime.Now.ToUnixTime())) .SetClientId(bnet.protocol.ProcessId.CreateBuilder().SetLabel(1).SetEpoch(DateTime.Now.ToUnixTime())); if (request.HasClientId) { builder.SetClientId(request.ClientId); } builder.SetContentHandleArray(bnet.protocol.connection.ConnectionMeteringContentHandles.CreateBuilder() .AddContentHandle(bnet.protocol.ContentHandle.CreateBuilder() .SetRegion(VersionInfo.MooNet.Regions[VersionInfo.MooNet.Region]) .SetUsage(0x6D74727A) //mtrz .SetHash(ByteString.CopyFrom("acaeab71f005567974a656cf1207f74bb9a5365c84e9f22f1f82ffec3d1367a8".ToByteArray())))); done(builder.Build()); }
public override void FindGame(Google.ProtocolBuffers.IRpcController controller, FindGameRequest request, Action <FindGameResponse> done) { FindGameResponse.Builder findGameResponse = FindGameResponse.CreateBuilder(); findGameResponse.SetRequestId(12526585062881647236); done(findGameResponse.Build()); //client.ListenerId = request.ObjectId; GameFoundNotification.Builder gameFoundNotification = GameFoundNotification.CreateBuilder(); GameHandle.Builder gameHandle = GameHandle.CreateBuilder(); gameHandle.SetFactoryId(request.FactoryId); gameHandle.SetGameId(bnet.protocol.EntityId.CreateBuilder().SetHigh(433661094641971304).SetLow(11017467167309309688).Build()); ConnectInfo.Builder connectInfo = ConnectInfo.CreateBuilder(); connectInfo.SetToonId(new bnet.protocol.EntityId.Builder { High = 216174302532224051, Low = 2 }.Build()); connectInfo.SetHost("127.0.0.1"); connectInfo.SetPort(6665); connectInfo.SetToken(ByteString.CopyFrom(new byte[] { 0x07, 0x34, 0x02, 0x60, 0x91, 0x93, 0x76, 0x46, 0x28, 0x84 })); connectInfo.AddAttribute(Attribute .CreateBuilder() .SetName("SGameId") .SetValue(Variant .CreateBuilder() .SetIntValue(2014314530) .Build()) .Build()); gameFoundNotification.SetRequestId(12526585062881647236); gameFoundNotification.SetGameHandle(gameHandle.Build()); gameFoundNotification.AddConnectInfo(connectInfo.Build()); client.GetImportedService <GameFactorySubscriber>().NotifyGameFound(controller, gameFoundNotification.Build(), r => { }); }
public override void SubscribeToUserManager(Google.ProtocolBuffers.IRpcController controller, bnet.protocol.user_manager.SubscribeToUserManagerRequest request, System.Action <bnet.protocol.user_manager.SubscribeToUserManagerResponse> done) { Logger.Trace("Subscribe() {0}", this.Client); // temp hack: send him all online players on server where he should be normally get list of player he met in his last few games /raist. var builder = bnet.protocol.user_manager.SubscribeToUserManagerResponse.CreateBuilder(); uint i = 0; foreach (var client in PlayerManager.OnlinePlayers) { if (client == this.Client) { continue; // Don't add the requester to the list } if (client.Account.CurrentGameAccount.CurrentToon == null) { continue; } Logger.Debug("RecentPlayer => " + client.Account.CurrentGameAccount.CurrentToon); var recentPlayer = bnet.protocol.user_manager.RecentPlayer.CreateBuilder() .SetEntity(client.Account.BnetEntityId) .SetProgramId("D3") .AddAttributes(bnet.protocol.attribute.Attribute.CreateBuilder() .SetName("GameAccountEntityId") .SetValue(bnet.protocol.attribute.Variant.CreateBuilder() .SetMessageValue(client.Account.CurrentGameAccount.D3GameAccountId.ToByteString()) .Build()) .Build()) .SetId(i++) .Build(); builder.AddRecentPlayers(recentPlayer); } done(builder.Build()); }
public override void Execute(Google.ProtocolBuffers.IRpcController controller, bnet.protocol.storage.ExecuteRequest request, System.Action <bnet.protocol.storage.ExecuteResponse> done) { Logger.Trace("Execute() {0}", this.Client); bnet.protocol.storage.ExecuteResponse response = null; switch (request.QueryName) { case "GetGameAccountSettings": response = GameAccountSettings(request); break; case "LoadAccountDigest": response = LoadAccountDigest(Client, request); break; case "GetHeroDigests": response = GetHeroDigest(Client, request); break; case "GetToonSettings": response = GetToonSettings(request); break; //case "GetAccountProfile": // response = GetAccountProfile(Client, request); // break; //case "GetHeroProfiles": // response = GetHeroProfiles(Client, request); // break; default: Logger.Warn("Unhandled query: {0}", request.QueryName); response = bnet.protocol.storage.ExecuteResponse.CreateBuilder().Build(); break; } done(response); }
public override void CancelFindGame(Google.ProtocolBuffers.IRpcController controller, CancelFindGameRequest request, Action <bnet.protocol.NoData> done) { throw new NotImplementedException(); }
public override void GameEnded(Google.ProtocolBuffers.IRpcController controller, GameEndedNotification request, Action <bnet.protocol.NO_RESPONSE> done) { throw new NotImplementedException(); }
public override void JoinGame(Google.ProtocolBuffers.IRpcController controller, JoinGameRequest request, Action <JoinGameResponse> done) { throw new NotImplementedException(); }
public override void ModuleMessage(Google.ProtocolBuffers.IRpcController controller, bnet.protocol.authentication.ModuleMessageRequest request, Action <bnet.protocol.NoData> done) { var moduleMessage = request.Message.ToByteArray(); var command = moduleMessage[0]; var module = this.Client.ClientModuleIds.Where(pair => pair.Value == request.ModuleId).Select(pair => pair.Key).First(); Logger.Trace("ModuleMessage(): Module: {0} ModuleId: {1} Command: {2}", module, request.ModuleId, command); done(bnet.protocol.NoData.CreateBuilder().Build()); switch (module) { case MooNetClient.StreamedModule.Password: if (command == 2) { AuthManager.HandleAuthResponse(this.Client, request.ModuleId, moduleMessage); } else { Logger.Error("Unknown command: {0} for Password module.", command); } break; case MooNetClient.StreamedModule.Token: var moduleLoadRequest = bnet.protocol.authentication.ModuleLoadRequest.CreateBuilder(); var moduleHandle = bnet.protocol.ContentHandle.CreateBuilder(); moduleHandle.SetRegion(VersionInfo.MooNet.Regions[VersionInfo.MooNet.Region]) .SetUsage(0x61757468); // auth - RiskFingerprint.dll or Agreement.dll if (this.Client.HasAgreements()) { moduleHandle.SetHash(ByteString.CopyFrom(VersionInfo.MooNet.AgreementHashMap[this.Client.Platform])); this.Client.LastRequestedModule = MooNetClient.StreamedModule.Agreement; } else { moduleHandle.SetHash(ByteString.CopyFrom(VersionInfo.MooNet.RiskFingerprintHashMap[this.Client.Platform])); moduleLoadRequest.SetMessage(ByteString.Empty); this.Client.LastRequestedModule = MooNetClient.StreamedModule.RiskFingerprint; } moduleLoadRequest.SetModuleHandle(moduleHandle); this.Client.MakeRPC(() => bnet.protocol.authentication.AuthenticationClient.CreateStub(this.Client).ModuleLoad(null, moduleLoadRequest.Build(), ModuleLoadResponse)); break; case MooNetClient.StreamedModule.RiskFingerprint: Logger.Trace("Completing Authentication."); this.Client.AuthenticationComplete(); break; case MooNetClient.StreamedModule.Agreement: switch (this.Client.LastAgreementSent) { case MooNetClient.AvailableAgreements.EULA: this.Client.Agreements.Add(MooNetClient.AvailableAgreements.EULA, true); break; case MooNetClient.AvailableAgreements.TOS: this.Client.Agreements.Add(MooNetClient.AvailableAgreements.TOS, true); break; case MooNetClient.AvailableAgreements.RMAH: this.Client.Agreements.Add(MooNetClient.AvailableAgreements.RMAH, true); break; default: Logger.Error("Unknown agreement."); break; } this.Client.SendAgreements(); break; default: Logger.Error("Unknown module message data."); break; } }
public override void Echo(Google.ProtocolBuffers.IRpcController controller, bnet.protocol.connection.EchoRequest request, Action <bnet.protocol.connection.EchoResponse> done) { throw new NotImplementedException(); }
public override void Null(Google.ProtocolBuffers.IRpcController controller, bnet.protocol.connection.NullRequest request, Action <bnet.protocol.NO_RESPONSE> done) { throw new NotImplementedException(); }
public override void ForceDisconnect(Google.ProtocolBuffers.IRpcController controller, bnet.protocol.connection.DisconnectNotification request, Action <bnet.protocol.NO_RESPONSE> done) { throw new NotImplementedException(); }
public override void Encrypt(Google.ProtocolBuffers.IRpcController controller, bnet.protocol.connection.EncryptRequest request, Action <bnet.protocol.NoData> done) { throw new NotImplementedException(); }