Esempio n. 1
0
 protected void Handle_OnDisconnect(object sender, ServerEventArgs args)
 {
     var client = args.Client;
     var ip = client.GetIP;
     string nick = null;
     try
     {
         nick = nickTable[client];
         nickTable.Remove(client);
         Log.Info("Server:Disconnect:DisassociatedNick:Data:Nick:<{0}>".format(nick));
         SendPacket(MakePacket("{0} has left the chat.".Timestamped().format(nick)));
     }
     catch (KeyNotFoundException)
     {
         Log.Warn("Exception:ServerException:UnknownNickAssociation:Data:Key:<{0}>".format(ip));
         Log.Warn("Exception:ServerException:UnknownNickAssociation:Data:PossibleValue:<{0}>".format(nick));
         Log.Warn(
             "Exception:ServerException:UnknownNickAssociation:Data:Note:User may not have authenticated with the server before disconnecting."
                 .format(nick));
     }
 }
Esempio n. 2
0
 private void HandleAutheticatePacket(AuthRequestPacket requestPacket, Client client)
 {
     const string nickInUseKey = "Server:AuthFail:Reason:NickInUse:Data:Nick:<{0}>";
     var username = requestPacket.UserName;
     var args = new ServerEventArgs(false, client);
     if (!IsNickAvailable(username))
     {
         Log.Info(nickInUseKey.format(username));
         SendPacket(new AuthResponsePacket() { Success = false, Message = "NickInUse:{0}".format(username) }, client);
     }
     else
     {
         nickTable[client] = username;
         SendPacket(new AuthResponsePacket() { Success = true, Message = username }, client);
         SendServerMessage("Please welcome {0} to the server!".format(username));
         args.Success = true;
     }
     Authenticate(client, args);
 }
 private void Handle_OnConnect(object sender, ServerEventArgs e)
 {
     SendPacket(new RequestAuthPacket(), e.Client);
 }
Esempio n. 4
0
 protected override void DefaultHandle_OnConnect(object sender, ServerEventArgs args)
 {
     base.DefaultHandle_OnConnect(sender, args);
     var client = args.Client;
     SendServerMessage("Welcome to the server!  Please select a username:", client);
 }
 private void Handle_OnDisconnect(object sender, ServerEventArgs e)
 {
     var client = e.Client;
     if (!PlayerTable.Contains(client)) return;
     var username = PlayerTable[client];
     PlayerTable.Remove(username);
     Game.RemovePlayer(username);
     UpdateGameState();
     if (Game.Players.Count == 0) Game = new Game(Settings);
 }