private void HandleLogins(RestDataRequestMessage message, ref RestResponse response, RestRequestMessage request) { var loginMessage = message.GetMessage() as InitializeSession; var session = new SessionCredentials(loginMessage.PeerId, SessionKey.NewGuid()); var playerdata = new PlayerData(); playerdata.FillWithNewPlayer(loginMessage.PlayerId, new [] { "FreeForAll", "Captain", "Siege", "Duel", "TeamDeathMatch", "FreeForAll" }); playerdata.LastPlayerName = loginMessage.PlayerName; playerdata.LastGameTypes = new[] { "Captain" }; var user = new User { Id = session, QueuedMessages = new Queue <RestResponseMessage>(), PlayerData = playerdata }; this._context.Users.Add(user); var initializeSessionResponse = new InitializeSessionResponse(playerdata, _context.Status); response.FunctionResult = new RestDataFunctionResult(new LoginResult(session.PeerId, session.SessionKey, initializeSessionResponse)); response.UserCertificate = session.SessionKey.ToByteArray(); response.SetSuccessful(true, "ResultFromServerTask"); }
private void HandleLogin(RestDataRequestMessage message, InitializeSession messageContent, ref RestResponse response, RestRequestMessage request) { var session = new SessionCredentials(messageContent.PeerId, SessionKey.NewGuid()); var playerdata = new PlayerData(); playerdata.FillWithNewPlayer(messageContent.PlayerId, new[] { "FreeForAll", "Captain", "Siege", "Duel", "TeamDeathMatch", "FreeForAll" }); playerdata.LastPlayerName = messageContent.PlayerName; playerdata.LastGameTypes = new[] { "Captain" }; var user = new User { Id = session, QueuedMessages = new Queue <RestResponseMessage>(), PlayerData = playerdata }; if (messageContent.PlayerId.IsValidSteamId()) { if (_context.SteamIDS.Contains(messageContent.PlayerId.Id2)) { user.CanHost = true; } } var userStatus = GetServerStatusForUser(user); _context.Users.Add(user); var initializeSessionResponse = new InitializeSessionResponse(playerdata, userStatus ); response.FunctionResult = new RestDataFunctionResult(new LoginResult(session.PeerId, session.SessionKey, initializeSessionResponse)); response.UserCertificate = session.SessionKey.ToByteArray(); response.SetSuccessful(true, "ResultFromServerTask"); }