From 0b6359f1dd349acf06c5d5da9166e333d432c25d Mon Sep 17 00:00:00 2001 From: Bluzume <39113159+KuromeSan@users.noreply.github.com> Date: Mon, 8 Nov 2021 14:42:05 -0500 Subject: [PATCH] fix crashes --- HorseIsleServer/HorseIsleServer/Game/Chat/Command.cs | 4 +++- HorseIsleServer/HorseIsleServer/Player/Trade.cs | 2 +- HorseIsleServer/HorseIsleServer/Server/GameClient.cs | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/HorseIsleServer/HorseIsleServer/Game/Chat/Command.cs b/HorseIsleServer/HorseIsleServer/Game/Chat/Command.cs index 740c464..7b8bd48 100644 --- a/HorseIsleServer/HorseIsleServer/Game/Chat/Command.cs +++ b/HorseIsleServer/HorseIsleServer/Game/Chat/Command.cs @@ -51,7 +51,7 @@ namespace HISP.Game.Chat client.LoggedinUser.TrackedItems.GetTrackedItem(Tracking.TrackableItem.GameUpdates).Count++; } - client.Kick("Server was closed by an Administrator."); + client.Kick("%SHUTDOWN Command Executed by an Administrator (Probably a server restart)"); } } @@ -60,6 +60,8 @@ namespace HISP.Game.Chat byte[] chatPacket = PacketBuilder.CreateChat(Messages.FormatAdminCommandCompleteMessage(message.Substring(1)), PacketBuilder.CHAT_BOTTOM_LEFT); user.LoggedinClient.SendPacket(chatPacket); Program.ShuttingDown = true; + Thread.Sleep(1000); // give it a few seconds to shut down, if it doesnt force exit + Environment.Exit(0); return true; } public static bool Give(string message, string[] args, User user) diff --git a/HorseIsleServer/HorseIsleServer/Player/Trade.cs b/HorseIsleServer/HorseIsleServer/Player/Trade.cs index f4afeb0..eb99ce7 100644 --- a/HorseIsleServer/HorseIsleServer/Player/Trade.cs +++ b/HorseIsleServer/HorseIsleServer/Player/Trade.cs @@ -218,7 +218,7 @@ namespace HISP.Player foreach (ItemInstance itm in item) { Trader.Inventory.Remove(itm); - OtherTrade.Trader.Inventory.Add(itm); + OtherTrade.Trader.Inventory.AddIgnoringFull(itm); } } diff --git a/HorseIsleServer/HorseIsleServer/Server/GameClient.cs b/HorseIsleServer/HorseIsleServer/Server/GameClient.cs index 25ae302..5df89ec 100644 --- a/HorseIsleServer/HorseIsleServer/Server/GameClient.cs +++ b/HorseIsleServer/HorseIsleServer/Server/GameClient.cs @@ -181,7 +181,8 @@ namespace HISP.Server Logger.DebugPrint("Sending keep-alive packet to " + LoggedinUser.Username); byte[] updatePacket = PacketBuilder.CreateKeepAlive(); SendPacket(updatePacket); - keepAliveTimer.Change(oneMinute, oneMinute); + if(keepAliveTimer != null) + keepAliveTimer.Change(oneMinute, oneMinute); } private void minuteTimerTick(object state) {