diff --git a/LobbyServer/ChatManager.cs b/LobbyServer/ChatManager.cs index 452deaa..21595c5 100644 --- a/LobbyServer/ChatManager.cs +++ b/LobbyServer/ChatManager.cs @@ -1,3 +1,4 @@ +using System; using System.Collections.Generic; namespace LobbyServer { @@ -9,6 +10,7 @@ namespace LobbyServer public ChatManager() { _messages = new List(); + Add(new Message("13:37", "QuadraLudi", "Bienvenue dans QuadraLudi, amusez-vous bien!\nGit: https://eveldee.ddns.net:1342/Eveldee/Quadraludi")); } public void Add(Message message) diff --git a/LobbyServer/LobbyServer.cs b/LobbyServer/LobbyServer.cs index 4ecbd1e..f507116 100644 --- a/LobbyServer/LobbyServer.cs +++ b/LobbyServer/LobbyServer.cs @@ -38,6 +38,15 @@ namespace LobbyServer } } + public void Stop() + { + Console.WriteLine("Stopping LobbyServer..."); + + ScoresManager.Save(); + + Console.WriteLine("LobbyServer stopped"); + } + public void ClientLoop(TcpClient client) { Console.WriteLine($"Client connected: {client.Client.RemoteEndPoint}"); @@ -49,6 +58,7 @@ namespace LobbyServer try { var packet = stream.Receive(); + Console.WriteLine(packet); switch (packet.Command) { @@ -71,6 +81,7 @@ namespace LobbyServer catch (Exception e) { Console.WriteLine($"Client disconnected: {e.Message}"); + break; } } } diff --git a/LobbyServer/Program.cs b/LobbyServer/Program.cs index 133ce7a..174acfc 100644 --- a/LobbyServer/Program.cs +++ b/LobbyServer/Program.cs @@ -1,4 +1,5 @@ -using System; +using System.Threading.Tasks; +using System; namespace LobbyServer { @@ -6,7 +7,12 @@ namespace LobbyServer { static void Main(string[] args) { - new LobbyServer().Start(); + var lobbyServer = new LobbyServer(); + Task.Run(() => lobbyServer.Start()); + + while (Console.ReadLine() != "stop"); + + lobbyServer.Stop(); } } } diff --git a/LobbyServer/ScoreEntry.cs b/LobbyServer/ScoreEntry.cs index 2e4f9a5..34b4761 100644 --- a/LobbyServer/ScoreEntry.cs +++ b/LobbyServer/ScoreEntry.cs @@ -1,3 +1,5 @@ +using Newtonsoft.Json; + namespace LobbyServer { public class ScoreEntry @@ -5,12 +7,12 @@ namespace LobbyServer public string Pseudo { get; } public int Score { get; } + [JsonConstructor] public ScoreEntry(string pseudo, int score) { Pseudo = pseudo; Score = score; } - public ScoreEntry(string serialized) { var split = serialized.Split(';');