From 5d78814620dae66a0bcf057eb1cb681a865e3934 Mon Sep 17 00:00:00 2001 From: Sanae Date: Mon, 20 Jun 2022 12:52:46 -0600 Subject: [PATCH 1/4] Reformat Program.cs --- Server/Program.cs | 71 ++++++++++++++++++++++++++++++----------------- 1 file changed, 45 insertions(+), 26 deletions(-) diff --git a/Server/Program.cs b/Server/Program.cs index eb368aa..499c031 100644 --- a/Server/Program.cs +++ b/Server/Program.cs @@ -16,19 +16,19 @@ DiscordBot bot = new DiscordBot(); bot.Run(); server.ClientJoined += (c, _) => { - if (Settings.Instance.BanList.Enabled && (Settings.Instance.BanList.Players.Contains(c.Id) || Settings.Instance.BanList.IpAddresses.Contains( - ((IPEndPoint)c.Socket!.RemoteEndPoint!).Address.ToString()))) + if (Settings.Instance.BanList.Enabled && (Settings.Instance.BanList.Players.Contains(c.Id) || + Settings.Instance.BanList.IpAddresses.Contains( + ((IPEndPoint) c.Socket!.RemoteEndPoint!).Address.ToString()))) throw new Exception($"Banned player attempted join: {c.Name}"); c.Metadata["shineSync"] = new ConcurrentBag(); c.Metadata["loadedSave"] = false; - c.Metadata["scenario"] = (byte?)0; + c.Metadata["scenario"] = (byte?) 0; c.Metadata["2d"] = false; c.Metadata["speedrun"] = false; foreach (Client client in server.Clients.Where(client => client.Metadata.ContainsKey("lastGamePacket")).ToArray()) { try { c.Send((GamePacket) client.Metadata["lastGamePacket"]!, client).Wait(); - } - catch { + } catch { // lol who gives a fuck } } @@ -44,8 +44,7 @@ async Task ClientSyncShineBag(Client client) { ShineId = shine }); } - } - catch { + } catch { // errors that can happen when sending will crash the server :) } } @@ -53,8 +52,7 @@ async Task ClientSyncShineBag(Client client) { async void SyncShineBag() { try { await Parallel.ForEachAsync(server.Clients.ToArray(), async (client, _) => await ClientSyncShineBag(client)); - } - catch { + } catch { // errors that can happen shines change will crash the server :) } } @@ -92,6 +90,7 @@ server.PacketHandler = (c, p) => { }); break; } + if (Settings.Instance.Scenario.MergeEnabled) { server.BroadcastReplace(gamePacket, c, (from, to, gp) => { gp.ScenarioNum = (byte?) to.Metadata["scenario"] ?? 200; @@ -99,11 +98,13 @@ server.PacketHandler = (c, p) => { }); return false; } + break; } case TagPacket tagPacket: { if ((tagPacket.UpdateType & TagPacket.TagUpdate.State) != 0) c.Metadata["seeking"] = tagPacket.IsIt; - if ((tagPacket.UpdateType & TagPacket.TagUpdate.Time) != 0) c.Metadata["time"] = new Time(tagPacket.Minutes, tagPacket.Seconds, DateTime.Now); + if ((tagPacket.UpdateType & TagPacket.TagUpdate.Time) != 0) + c.Metadata["time"] = new Time(tagPacket.Minutes, tagPacket.Seconds, DateTime.Now); break; } case CostumePacket: @@ -124,7 +125,8 @@ server.PacketHandler = (c, p) => { && Settings.Instance.Flip.Pov is FlipOptions.Both or FlipOptions.Others && Settings.Instance.Flip.Players.Contains(c.Id): { playerPacket.Position += Vector3.UnitY * MarioSize((bool) c.Metadata["2d"]); - playerPacket.Rotation *= Quaternion.CreateFromRotationMatrix(Matrix4x4.CreateRotationX(MathF.PI)) * Quaternion.CreateFromRotationMatrix(Matrix4x4.CreateRotationY(MathF.PI)); + playerPacket.Rotation *= Quaternion.CreateFromRotationMatrix(Matrix4x4.CreateRotationX(MathF.PI)) * + Quaternion.CreateFromRotationMatrix(Matrix4x4.CreateRotationY(MathF.PI)); server.Broadcast(playerPacket, c); return false; } @@ -134,7 +136,8 @@ server.PacketHandler = (c, p) => { server.BroadcastReplace(playerPacket, c, (from, to, sp) => { if (Settings.Instance.Flip.Players.Contains(to.Id)) { sp.Position += Vector3.UnitY * MarioSize((bool) c.Metadata["2d"]); - sp.Rotation *= Quaternion.CreateFromRotationMatrix(Matrix4x4.CreateRotationX(MathF.PI)) * Quaternion.CreateFromRotationMatrix(Matrix4x4.CreateRotationY(MathF.PI)); + sp.Rotation *= Quaternion.CreateFromRotationMatrix(Matrix4x4.CreateRotationX(MathF.PI)) * + Quaternion.CreateFromRotationMatrix(Matrix4x4.CreateRotationY(MathF.PI)); } to.Send(sp, from); @@ -208,6 +211,7 @@ CommandHandler.RegisterCommand("ban", args => { Settings.SaveSettings(); return $"Banned {builder}."; } + return "Usage: ban "; }); @@ -223,13 +227,17 @@ CommandHandler.RegisterCommand("send", args => { stage = mapName; } - if(!stage.Contains("Stage") && !stage.Contains("Zone")) { + if (!stage.Contains("Stage") && !stage.Contains("Zone")) { return "Invalid Stage Name!"; } - if (!sbyte.TryParse(args[2], out sbyte scenario) || scenario < -1) return $"Invalid scenario number {args[2]} (range: [-1 to 127])"; - Client[] players = args[3] == "*" ? server.Clients.Where(c => c.Connected).ToArray() : server.Clients.Where(c => c.Connected && args[3..].Any(x => c.Name.StartsWith(x) || - (Guid.TryParse(x, out Guid result) && result == c.Id))).ToArray(); + if (!sbyte.TryParse(args[2], out sbyte scenario) || scenario < -1) + return $"Invalid scenario number {args[2]} (range: [-1 to 127])"; + Client[] players = args[3] == "*" + ? server.Clients.Where(c => c.Connected).ToArray() + : server.Clients.Where(c => c.Connected && args[3..].Any(x => c.Name.StartsWith(x) || + (Guid.TryParse(x, out Guid result) && + result == c.Id))).ToArray(); Parallel.ForEachAsync(players, async (c, _) => { await c.Send(new ChangeStagePacket { Stage = stage, @@ -252,7 +260,7 @@ CommandHandler.RegisterCommand("sendall", args => { stage = mapName; } - if(!stage.Contains("Stage") && !stage.Contains("Zone")) { + if (!stage.Contains("Stage") && !stage.Contains("Zone")) { return "Invalid Stage Name!"; } @@ -293,15 +301,18 @@ CommandHandler.RegisterCommand("scenario", args => { }); CommandHandler.RegisterCommand("tag", args => { - const string optionUsage = "Valid options:\n\ttime \n\tseeking \n\tstart