diff --git a/.vs/CommunityServerAPI/DesignTimeBuild/.dtbcache.v2 b/.vs/CommunityServerAPI/DesignTimeBuild/.dtbcache.v2 index 4d6cb8d..892e7c0 100644 Binary files a/.vs/CommunityServerAPI/DesignTimeBuild/.dtbcache.v2 and b/.vs/CommunityServerAPI/DesignTimeBuild/.dtbcache.v2 differ diff --git a/.vs/CommunityServerAPI/FileContentIndex/4bc209c6-45ab-4e70-9a0d-e85e9ce724bb.vsidx b/.vs/CommunityServerAPI/FileContentIndex/4bc209c6-45ab-4e70-9a0d-e85e9ce724bb.vsidx new file mode 100644 index 0000000..7dffe44 Binary files /dev/null and b/.vs/CommunityServerAPI/FileContentIndex/4bc209c6-45ab-4e70-9a0d-e85e9ce724bb.vsidx differ diff --git a/.vs/CommunityServerAPI/FileContentIndex/8fc81313-1aa8-4e87-a229-236870ed2692.vsidx b/.vs/CommunityServerAPI/FileContentIndex/8fc81313-1aa8-4e87-a229-236870ed2692.vsidx deleted file mode 100644 index d25a9bc..0000000 Binary files a/.vs/CommunityServerAPI/FileContentIndex/8fc81313-1aa8-4e87-a229-236870ed2692.vsidx and /dev/null differ diff --git a/BattleBitAPI/Server/ServerListener.cs b/BattleBitAPI/Server/ServerListener.cs index 07c9afa..a9e78a3 100644 --- a/BattleBitAPI/Server/ServerListener.cs +++ b/BattleBitAPI/Server/ServerListener.cs @@ -34,16 +34,14 @@ namespace BattleBitAPI.Server // --- Private --- private TcpListener mSocket; - private bool mIsBlocking; private Dictionary.Internal resources)> mActiveConnections; private mInstances mInstanceDatabase; // --- Construction --- - public ServerListener(bool isBlocking = true) + public ServerListener() { this.mActiveConnections = new Dictionary.Internal)>(16); this.mInstanceDatabase = new mInstances(); - this.mIsBlocking = isBlocking; } // --- Starting --- @@ -546,10 +544,7 @@ namespace BattleBitAPI.Server { while (server.IsConnected) { - if (this.mIsBlocking) - await server.OnTick(); - else - server.OnTick(); + server.OnTick(); await server.Tick(); await Task.Delay(10); @@ -594,16 +589,8 @@ namespace BattleBitAPI.Server player.Role = role; resources.AddPlayer(player); - if (this.mIsBlocking) - { - await server.OnPlayerConnected(player); - await player.OnConnected(); - } - else - { - server.OnPlayerConnected(player); - player.OnConnected(); - } + server.OnPlayerConnected(player); + player.OnConnected(); } } break; @@ -620,16 +607,8 @@ namespace BattleBitAPI.Server if (exist) { - if (this.mIsBlocking) - { - await server.OnPlayerDisconnected((TPlayer)player); - await player.OnDisconnected(); - } - else - { - server.OnPlayerDisconnected((TPlayer)player); - player.OnDisconnected(); - } + server.OnPlayerDisconnected((TPlayer)player); + player.OnDisconnected(); } } break; @@ -646,16 +625,22 @@ namespace BattleBitAPI.Server ChatChannel chat = (ChatChannel)stream.ReadInt8(); if (stream.TryReadString(out var msg)) { - var pass = await server.OnPlayerTypedMessage((TPlayer)player, chat, msg); - - //Respond back. - using (var response = Common.Serialization.Stream.Get()) + async Task Handle() { - response.Write((byte)NetworkCommuncation.RespondPlayerMessage); - response.Write(messageID); - response.Write(pass); - server.WriteToSocket(response); + var pass = await server.OnPlayerTypedMessage((TPlayer)player, chat, msg); + + //Respond back. + using (var response = Common.Serialization.Stream.Get()) + { + response.Write((byte)NetworkCommuncation.RespondPlayerMessage); + response.Write(messageID); + response.Write(pass); + server.WriteToSocket(response); + } } + + Handle(); + } } } @@ -691,10 +676,7 @@ namespace BattleBitAPI.Server KillerTool = tool, }; - if (this.mIsBlocking) - await server.OnAPlayerKilledAnotherPlayer(args); - else - server.OnAPlayerKilledAnotherPlayer(args); + server.OnAPlayerKilledAnotherPlayer(args); } } } @@ -722,10 +704,7 @@ namespace BattleBitAPI.Server } } - if (mIsBlocking) - await mHandle(); - else - mHandle(); + mHandle(); } break; } @@ -737,10 +716,7 @@ namespace BattleBitAPI.Server PlayerStats stats = new PlayerStats(); stats.Read(stream); - if (mIsBlocking) - await server.OnSavePlayerStats(steamID, stats); - else - server.OnSavePlayerStats(steamID, stats); + server.OnSavePlayerStats(steamID, stats); } break; } @@ -760,10 +736,7 @@ namespace BattleBitAPI.Server server.SetRoleTo(steamID, role); } - if (mIsBlocking) - await mHandle(); - else - mHandle(); + mHandle(); } } break; @@ -778,10 +751,7 @@ namespace BattleBitAPI.Server if (resources.TryGetPlayer(steamID, out var client)) { client.Role = role; - if (mIsBlocking) - await server.OnPlayerChangedRole((TPlayer)client, role); - else - server.OnPlayerChangedRole((TPlayer)client, role); + server.OnPlayerChangedRole((TPlayer)client, role); } } break; @@ -796,10 +766,7 @@ namespace BattleBitAPI.Server if (resources.TryGetPlayer(steamID, out var client)) { client.Squad = squad; - if (mIsBlocking) - await server.OnPlayerJoinedSquad((TPlayer)client, squad); - else - server.OnPlayerJoinedSquad((TPlayer)client, squad); + server.OnPlayerJoinedSquad((TPlayer)client, squad); } } break; @@ -817,18 +784,9 @@ namespace BattleBitAPI.Server client.Squad = Squads.NoSquad; client.Role = GameRole.Assault; - if (mIsBlocking) - { - await server.OnPlayerLeftSquad((TPlayer)client, oldSquad); - if (oldRole != GameRole.Assault) - await server.OnPlayerChangedRole((TPlayer)client, GameRole.Assault); - } - else - { - server.OnPlayerLeftSquad((TPlayer)client, oldSquad); - if (oldRole != GameRole.Assault) - server.OnPlayerChangedRole((TPlayer)client, GameRole.Assault); - } + server.OnPlayerLeftSquad((TPlayer)client, oldSquad); + if (oldRole != GameRole.Assault) + server.OnPlayerChangedRole((TPlayer)client, GameRole.Assault); } } break; @@ -843,10 +801,7 @@ namespace BattleBitAPI.Server if (resources.TryGetPlayer(steamID, out var client)) { client.Team = team; - if (mIsBlocking) - await server.OnPlayerChangeTeam((TPlayer)client, team); - else - server.OnPlayerChangeTeam((TPlayer)client, team); + server.OnPlayerChangeTeam((TPlayer)client, team); } } break; @@ -878,10 +833,7 @@ namespace BattleBitAPI.Server } } - if (mIsBlocking) - await mHandle(); - else - mHandle(); + mHandle(); } } break; @@ -899,10 +851,7 @@ namespace BattleBitAPI.Server { if (resources.TryGetPlayer(reported, out var reportedClient)) { - if (mIsBlocking) - await server.OnPlayerReported((TPlayer)reporterClient, (TPlayer)reportedClient, reason, additionalInfo); - else - server.OnPlayerReported((TPlayer)reporterClient, (TPlayer)reportedClient, reason, additionalInfo); + server.OnPlayerReported((TPlayer)reporterClient, (TPlayer)reportedClient, reason, additionalInfo); } } } @@ -925,16 +874,8 @@ namespace BattleBitAPI.Server client.IsAlive = true; - if (mIsBlocking) - { - await client.OnSpawned(); - await server.OnPlayerSpawned((TPlayer)client); - } - else - { - client.OnSpawned(); - server.OnPlayerSpawned((TPlayer)client); - } + client.OnSpawned(); + server.OnPlayerSpawned((TPlayer)client); } } break; @@ -950,16 +891,8 @@ namespace BattleBitAPI.Server client.CurrentWearings = new PlayerWearings(); client.IsAlive = false; - if (mIsBlocking) - { - await client.OnDied(); - await server.OnPlayerDied((TPlayer)client); - } - else - { - client.OnDied(); - server.OnPlayerDied((TPlayer)client); - } + client.OnDied(); + server.OnPlayerDied((TPlayer)client); } } break; diff --git a/Program.cs b/Program.cs index 92bcd27..d26d295 100644 --- a/Program.cs +++ b/Program.cs @@ -8,38 +8,19 @@ class Program static void Main(string[] args) { var listener = new ServerListener(); - listener.OnGameServerConnecting += OnGameServerConnecting; + listener.Start(29294); - Thread.Sleep(-1); } - - private static async Task OnGameServerConnecting(IPAddress ip) - { - return true; - } } class MyPlayer : Player { - public override async Task OnSpawned() - { - } + } - - class MyGameServer : GameServer { - public override async Task OnConnected() - { - Console.WriteLine(base.GameIP + " connected"); - } - - public override async Task OnTick() - { - } - public override async Task OnPlayerTypedMessage(MyPlayer player, ChatChannel channel, string msg) { + return true; } - } diff --git a/bin/Debug/net6.0/CommunityServerAPI.dll b/bin/Debug/net6.0/CommunityServerAPI.dll index abd73b7..df6ba45 100644 Binary files a/bin/Debug/net6.0/CommunityServerAPI.dll and b/bin/Debug/net6.0/CommunityServerAPI.dll differ diff --git a/bin/Debug/net6.0/CommunityServerAPI.pdb b/bin/Debug/net6.0/CommunityServerAPI.pdb index 0eb5e84..0b9cfe1 100644 Binary files a/bin/Debug/net6.0/CommunityServerAPI.pdb and b/bin/Debug/net6.0/CommunityServerAPI.pdb differ diff --git a/obj/Debug/net6.0/CommunityServerAPI.csproj.CoreCompileInputs.cache b/obj/Debug/net6.0/CommunityServerAPI.csproj.CoreCompileInputs.cache index 84320fd..028fa8e 100644 --- a/obj/Debug/net6.0/CommunityServerAPI.csproj.CoreCompileInputs.cache +++ b/obj/Debug/net6.0/CommunityServerAPI.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -8f0a13b55a78de27b4bd6f14afc4adfc26b55b80 +41f5fea171d475c9035f62dd63d760ea2e513193 diff --git a/obj/Debug/net6.0/CommunityServerAPI.dll b/obj/Debug/net6.0/CommunityServerAPI.dll index abd73b7..df6ba45 100644 Binary files a/obj/Debug/net6.0/CommunityServerAPI.dll and b/obj/Debug/net6.0/CommunityServerAPI.dll differ diff --git a/obj/Debug/net6.0/CommunityServerAPI.pdb b/obj/Debug/net6.0/CommunityServerAPI.pdb index 0eb5e84..0b9cfe1 100644 Binary files a/obj/Debug/net6.0/CommunityServerAPI.pdb and b/obj/Debug/net6.0/CommunityServerAPI.pdb differ diff --git a/obj/Debug/net6.0/ref/CommunityServerAPI.dll b/obj/Debug/net6.0/ref/CommunityServerAPI.dll index eed9c49..234ca09 100644 Binary files a/obj/Debug/net6.0/ref/CommunityServerAPI.dll and b/obj/Debug/net6.0/ref/CommunityServerAPI.dll differ diff --git a/obj/Debug/net6.0/refint/CommunityServerAPI.dll b/obj/Debug/net6.0/refint/CommunityServerAPI.dll index eed9c49..234ca09 100644 Binary files a/obj/Debug/net6.0/refint/CommunityServerAPI.dll and b/obj/Debug/net6.0/refint/CommunityServerAPI.dll differ