From 1c57c3fefd5db369ea0433f25c9d629947a2f689 Mon Sep 17 00:00:00 2001 From: SilicaAndPina Date: Thu, 13 May 2021 12:42:42 +1200 Subject: [PATCH] Fix global exception handler --- .../Game/Events/RealTimeRiddle.cs | 2 +- Horse Isle Server/HorseIsleServer/Program.cs | 67 +++++++++---------- .../HorseIsleServer/Server/GameServer.cs | 2 + WebInterface/master-site/web/newuser.php | 4 +- 4 files changed, 38 insertions(+), 37 deletions(-) diff --git a/Horse Isle Server/HorseIsleServer/Game/Events/RealTimeRiddle.cs b/Horse Isle Server/HorseIsleServer/Game/Events/RealTimeRiddle.cs index b892733..4086ef5 100644 --- a/Horse Isle Server/HorseIsleServer/Game/Events/RealTimeRiddle.cs +++ b/Horse Isle Server/HorseIsleServer/Game/Events/RealTimeRiddle.cs @@ -109,7 +109,7 @@ namespace HISP.Game.Events string msgCheck = message.ToLower(); foreach(string answer in Answers) { - if (answer.ToLower().Contains(msgCheck)) + if (msgCheck.ToLower().Contains(answer)) return true; } return false; diff --git a/Horse Isle Server/HorseIsleServer/Program.cs b/Horse Isle Server/HorseIsleServer/Program.cs index 93a5f4b..02c9483 100755 --- a/Horse Isle Server/HorseIsleServer/Program.cs +++ b/Horse Isle Server/HorseIsleServer/Program.cs @@ -6,6 +6,8 @@ using HISP.Game.SwfModules; using HISP.Security; using HISP.Server; using HISP.Game.Services; +using System.IO; + namespace HISP { public class Program @@ -13,48 +15,45 @@ namespace HISP static void Main(string[] args) { #if (!DEBUG) - try - { + AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); #endif - Console.Title = "HISP - Horse Isle Server Emulator"; - ConfigReader.OpenConfig(); - CrossDomainPolicy.GetPolicy(); - Database.OpenDatabase(); - GameDataJson.ReadGamedata(); + + Console.Title = "HISP - Horse Isle Server Emulator"; + ConfigReader.OpenConfig(); + CrossDomainPolicy.GetPolicy(); + Database.OpenDatabase(); + GameDataJson.ReadGamedata(); - Map.OpenMap(); - World.ReadWorldData(); - Treasure.Init(); + Map.OpenMap(); + World.ReadWorldData(); + Treasure.Init(); - DroppedItems.Init(); - WildHorse.Init(); + DroppedItems.Init(); + WildHorse.Init(); - Drawingroom.LoadAllDrawingRooms(); - Brickpoet.LoadPoetryRooms(); - Multiroom.CreateMultirooms(); + Drawingroom.LoadAllDrawingRooms(); + Brickpoet.LoadPoetryRooms(); + Multiroom.CreateMultirooms(); - Auction.LoadAllAuctionRooms(); + Auction.LoadAllAuctionRooms(); - Item.DoSpecialCases(); + Item.DoSpecialCases(); - GameServer.StartServer(); - #if (!DEBUG) - } - catch(Exception e) - { - Logger.ErrorPrint("Server has crashed! :("); - Logger.ErrorPrint(""); - Logger.ErrorPrint(""); - Logger.ErrorPrint("UNCAUGHT EXCEPTION!"); - Logger.ErrorPrint(""); - Logger.ErrorPrint(""); - Logger.ErrorPrint(e.Message); - Logger.ErrorPrint(""); - Logger.ErrorPrint(e.StackTrace); - while(true){}; - } - #endif + GameServer.StartServer(); } + + private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) + { + Exception execpt = (Exception)e.ExceptionObject; + + Logger.ErrorPrint("HISP HAS CRASHED :("); + Logger.ErrorPrint("Unhandled Exception: " + execpt.ToString()); + Logger.ErrorPrint(execpt.Message); + Logger.ErrorPrint(""); + Logger.ErrorPrint(execpt.StackTrace); + + while (true) { }; + } } } diff --git a/Horse Isle Server/HorseIsleServer/Server/GameServer.cs b/Horse Isle Server/HorseIsleServer/Server/GameServer.cs index abb6b9c..8152d2c 100755 --- a/Horse Isle Server/HorseIsleServer/Server/GameServer.cs +++ b/Horse Isle Server/HorseIsleServer/Server/GameServer.cs @@ -5539,6 +5539,8 @@ namespace HISP.Server } } + message = message.Trim(); + if (Chat.ProcessCommand(sender.LoggedinUser, message)) { Logger.DebugPrint(sender.LoggedinUser.Username + " Attempting to run command '" + message + "' in channel: " + channel.ToString()); diff --git a/WebInterface/master-site/web/newuser.php b/WebInterface/master-site/web/newuser.php index 42c180f..173d1b6 100755 --- a/WebInterface/master-site/web/newuser.php +++ b/WebInterface/master-site/web/newuser.php @@ -83,10 +83,10 @@ if(isset($_POST['cbt'], $_POST['user'],$_POST['pass1'],$_POST['pass2'],$_POST['s if($username == $password) array_push($problems, "Username and Password can not be the same!"); - if(str_contains($username, $password)) + if(strpos($username, $password) !== false) array_push($problems, "The password cannot be within the username!."); - if(str_contains($password, $username)) + if(strpos($password, $username) !== false) array_push($problems, "The password cannot have the username within it!.");