Pipes are disappearing after server restarts
Pipes are disappearing after server restartsBug
Still happens to me occasionally.
This is a bug that has plagued this plugin since the beginning. I could never consistently reproduce it and I thought I fixed it like 3 different times but apparently this is still a problem.
If someone is able find a way to make the pipes to disappear consistently when the server is restarted, please post your finding in this thread.
If there is a consitent way to summon this bug, then we could hopefully find what is causing it.
If someone is able find a way to make the pipes to disappear consistently when the server is restarted, please post your finding in this thread.
If there is a consitent way to summon this bug, then we could hopefully find what is causing it.
Happy to dig in further.
Merged post
I suppose the OnNewSave() call could be where they get wiped inadvertently? I will add some debug to see what I can see.
Merged post
I missed getting the debug in in time for this to hit me again. Fortunately, I was able to restore several pipes by copying parts of the data file (several players rebuilt their pipes so copying the whole file wasn't an option.
I am experimenting with moving the pipe loading to Loaded() vs. OnServerInitialized(). It appears that if a server.save is not called that the file is ultimately wiped at the next server start - still checking.
Merged post
I suppose the OnNewSave() call could be where they get wiped inadvertently? I will add some debug to see what I can see.
Merged post
I missed getting the debug in in time for this to hit me again. Fortunately, I was able to restore several pipes by copying parts of the data file (several players rebuilt their pipes so copying the whole file wasn't an option.
I am experimenting with moving the pipe loading to Loaded() vs. OnServerInitialized(). It appears that if a server.save is not called that the file is ultimately wiped at the next server start - still checking.
In Unload(), I moved SavePipes(); after UnloadPipes(); - not 100% on that being a fix.
I noticed for one thing that actions taken on reload (now) differ from unload/load. I have added debug to the following functions and will continue to monitor:
Loaded (inside foreach p in storedData.p)
OnNewSave
RegisterPipe
RemovePipe
UnloadPipe
SavePipes
Merged post
At reboot, I see the following:
... (67 instances of UnloadPipe())
03:00 [Info] [JPipes] UnloadPipe() called on 7505486.
03:00 [Info] Unloaded plugin JPipes v0.6.4 by TheGreatJ
...
03:01 [Warning] [JPipes] ErrorFindFirst
... (67 more copies of the above line)
03:01 [Info] [JPipes] 0 Pipes Loaded
03:01 [Info] Loaded plugin JPipes v0.6.4 by TheGreatJ
...
So, all was well and it unloaded 68 pipes on shutdown at 3AM. at 3:01AM, during server startup, it tried and failed to find the first container 68 times - once for each pipe. The containers probably weren't there yet as the server had barely started and probably had another 5-7 minutes of loading (slow server). This may be due to the fact that I moved the loading of pipes to Loaded(). I moved the loading to its own function and added a couple of checks for loadcomplete and serverinit as bool. Will let you know...
Merged post
Working so far...
I noticed for one thing that actions taken on reload (now) differ from unload/load. I have added debug to the following functions and will continue to monitor:
Loaded (inside foreach p in storedData.p)
OnNewSave
RegisterPipe
RemovePipe
UnloadPipe
SavePipes
Merged post
At reboot, I see the following:
... (67 instances of UnloadPipe())
03:00 [Info] [JPipes] UnloadPipe() called on 7505486.
03:00 [Info] Unloaded plugin JPipes v0.6.4 by TheGreatJ
...
03:01 [Warning] [JPipes] ErrorFindFirst
... (67 more copies of the above line)
03:01 [Info] [JPipes] 0 Pipes Loaded
03:01 [Info] Loaded plugin JPipes v0.6.4 by TheGreatJ
...
So, all was well and it unloaded 68 pipes on shutdown at 3AM. at 3:01AM, during server startup, it tried and failed to find the first container 68 times - once for each pipe. The containers probably weren't there yet as the server had barely started and probably had another 5-7 minutes of loading (slow server). This may be due to the fact that I moved the loading of pipes to Loaded(). I moved the loading to its own function and added a couple of checks for loadcomplete and serverinit as bool. Will let you know...
Merged post
Working so far...
any update to this? im having same issue
Any update on this. I am wondering if we should consider this mod dead? No updates for 2 years
Man is this mod dead? Seems like it is just not going to get any TLC on it or fixed up. I might have to look at dropping it on my server
The same issue mentioned prior in this support category is still occurring.
The pipes are removing themselves at restart, we casually get a hook error which will be posted below. I do not know if that would be the cause, though.
The pipes are removing themselves at restart, we casually get a hook error which will be posted below. I do not know if that would be the cause, though.
(14:28:18) | Failed to call hook 'cmdpipestats' on plugin 'JPipes v0.6.6' (NullReferenceException: Object reference not set to an instance of an object)
at Oxide.Plugins.JPipes.commandperm (BasePlayer player) [0x00000] in <e4df2481d572452fb77a7de97178ea38>:0
at Oxide.Plugins.JPipes.pipestats (BasePlayer player, System.String cmd, System.String[] args) [0x00000] in <e4df2481d572452fb77a7de97178ea38>:0
at Oxide.Plugins.JPipes.cmdpipestats (Oxide.Core.Libraries.Covalence.IPlayer cmdplayer, System.String cmd, System.String[] args) [0x0000c] in <e4df2481d572452fb77a7de97178ea38>:0
at Oxide.Plugins.JPipes.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00d04] in <e4df2481d572452fb77a7de97178ea38>:0
at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00079] in <1e2d7ad0801a4037ab6a24578c814b54>:0
at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x000d8] in <1fe782f4b27a43ae85d29ebb2d56c007>:0
at Oxide.Core.Plugins.Plugin.CallHook (System.String hook, System.Object[] args) [0x00060] in <1fe782f4b27a43ae85d29ebb2d56c007>:0I hope we can find a fix, this plugin is a really big part of my server and all my players love it.