Thank you very much! I will test it and let you know!

The main goal for now is avoiding server crashes. The rest, later..

At this point a lot of reasons can justify the backpack missing, like: my servuo not completely configured to allow using the enhanced client. You know, Pub57 :cool:

Thanks again!

**EDIT #1**

Ok I just remarked I have a couple of log files in my folder.. at the time of the daily restart and at 2 others I did..

I updated the code in BoxCore.cs..

Starting the server it is ok, restarting it gives this error..


Code:
Server Crash Report
===================

ServUO Version 0.5, Build 8539.8039
Operating System: Microsoft Windows NT 6.2.9200.0
.NET Framework: 4.0.30319.42000
Time: 2023-05-22 11:24:36 AM
Mobiles: 17203
Items: 161373
Exception:
System.NullReferenceException: Object reference not set to an instance of an object.
   at Server.Services.UOBlackBox.BoxCore.EventSink_Shutdown(ShutdownEventArgs e) in C:\GamingSVR\ServUO\Scripts\Services\UOBlackBox\Box\BoxCore.cs:line 142
   at Server.ShutdownEventHandler.Invoke(ShutdownEventArgs e)
   at Server.EventSink.InvokeShutdown(ShutdownEventArgs e) in C:\GamingSVR\ServUO\Server\EventSink.cs:line 2087
   at Server.Core.HandleClosed() in C:\GamingSVR\ServUO\Server\Main.cs:line 351
   at Server.Core.Kill(Boolean restart) in C:\GamingSVR\ServUO\Server\Main.cs:line 325
   at Server.Misc.ServerConsole.ProcessCommand(String input) in C:\GamingSVR\ServUO\Scripts\Misc\ConsoleCommands.cs:line 199
   at Server.Misc.ServerConsole.ProcessCommand() in C:\GamingSVR\ServUO\Scripts\Misc\ConsoleCommands.cs:line 85
   at Server.Timer.DelayCallTimer.OnTick() in C:\GamingSVR\ServUO\Server\Timer.cs:line 700
   at Server.Timer.Slice() in C:\GamingSVR\ServUO\Server\Timer.cs:line 409
   at Server.Core.Main(String[] args) in C:\GamingSVR\ServUO\Server\Main.cs:line 673

Clients:
- Count: 0

I added a backpack validation at line 42 and it seems it fixed the issue..

C#:
        private static void EventSink_Shutdown(ShutdownEventArgs e)
        {
            var players = World.Mobiles.Values.ToList().FindAll(m => m is PlayerMobile);

            for (int i = 0; i < players?.Count; i++)
            {
                if (players[i].Backpack != null) // check for backpack
                    if (players[i].AccessLevel > StaffAccess && players[i].Backpack.FindItemByType(typeof(BlackBox)) is BlackBox box)
                    {
                        box.Session?.EndBox();
                    }
            }

            ArtCore.SaveStaticArtInfo();
        }

NOTE: I am receiving these errors only since the connection attempts with the EC client

Thinking: why is it done when no client connected

Will keep you informed for the first one!

**EDIT #2**

Fix you sent for login: same error, but at line 91 this time.. EventSink_Login().. for the same reason. EC client is true in my client.cf flie and no error on manual shutdown/restart..

--
 
Last edited:
I'll investigate further from information provided, though I will preface this with that if the enhanced client becomes a hassle, I will more than likely exclude it from the project!
 
that is what I was thinking.. disabling it with a client version check and I can probably investigate more later!

Thanks for your time! :)
 
Back