public static void Main(string[] args) { ReceiveQueue.Start(PacketHandler.Handle); ServerSocket.Start(13338); Console.WriteLine($"Server running!"); var t = new Thread(() => { Console.WriteLine($"Heartbeat Thread started."); while (true) { foreach (var kvp in Collections.Players) { var player = kvp.Value; if (DateTime.Now >= player.LastPing.AddSeconds(1)) { Console.WriteLine($"Sending Ping to {player.Name}/{player.Username}."); player.Socket.Send(MsgPing.Create(player.UniqueId)); player.LastPing = DateTime.Now; } } Thread.Sleep(1); } }); t.Start(); while (true) { Console.ReadLine(); } }
public void ConnectAsync(string ip, ushort port) { ThreadedConsole.WriteLine("Connecting to Server..."); ReceiveQueue.Start(OnPacket); Socket = new ClientSocket(this); Socket.OnDisconnect += Disconnected; Socket.OnConnected += Connected; Socket.ConnectAsync(ip, port); }
public Task <bool> ConnectAsync(string ip, ushort port) { Socket = new ClientSocket(this); ReceiveQueue.Start(OnPacket); var tcs = new TaskCompletionSource <bool>(); Socket.OnConnected += () => { tcs?.SetResult(true); }; Socket.OnDisconnect += () => { tcs?.SetResult(false); }; Socket.OnDisconnect += Disconnected; Socket.OnConnected += Connected; Socket.ConnectAsync(ip, port); return(tcs.Task); }
public static void Main() { AppDomain.CurrentDomain.UnhandledException += (sender, args) => { Debugger.Break(); }; Console.Title = "SERVER APP"; Db.EnsureDb(); ReceiveQueue.Start(PacketHandler.Handle); ServerSocket.Start(65534); Console.WriteLine("Online"); while (true) { Console.ReadLine(); } }
public static void Main(string[] args) { if (args.Length > 0) { BotCount = int.Parse(args[0]); } ReceiveQueue.Start(PacketHandler.Handle); ServerSocket.Start(13338); Console.WriteLine("Server running!"); World.Systems.Add(new GCMonitor(true, false)); World.Systems.Add(new MoveSystem(true, false)); for (int i = 0; i < BotCount; i++) { ref var npc = ref World.CreateEntity(100_000 + i); npc.Add(new NetworkComponent(100_000 + i)); npc.Add <PositionComponent>(); npc.Add <DestinationComponent>(); npc.Add(new SpeedComponent(16)); npc.Add <VelocityComponent>(); Collections.Npcs.TryAdd(100_000 + i, new Npc(100_000 + i)); }