예제 #1
0
 public static void Main(string[] args)
 {
     Terraria.Main.NewText("Lobby started at " + DateTime.Now);
     try
     {
         queue = new TcpListener(IPAddress.Any, int.Parse(args[0]));
         queue.Start();
     }
     catch
     {
         return;
     }
     loop           = new System.Timers.Timer(100);
     loop.Enabled   = true;
     loop.AutoReset = true;
     loop.Elapsed  += delegate(object sender, System.Timers.ElapsedEventArgs e)
     {
         if (queue.Pending())
         {
             NetworkStream stream = new NetworkStream(queue.AcceptSocket());
             BinaryReader  reader = new BinaryReader(stream);
             Chatter.AddPlayer(stream);
         }
     };
     loop.Start();
     timer           = new System.Timers.Timer(100);
     timer.Enabled   = true;
     timer.AutoReset = true;
     timer.Elapsed  += delegate(object sender, System.Timers.ElapsedEventArgs e)
     {
         foreach (Chatter player in LobbyServer.players.Where(t => t != null && t.connected))
         {
             player.Update();
         }
     };
     timer.Start();
     hosting = true;
 }