casimir255 / quantumhangar-eol- Goto Github PK
View Code? Open in Web Editor NEWThis is a server hangar and grid market plugin
License: Apache License 2.0
This is a server hangar and grid market plugin
License: Apache License 2.0
Using !hangar save while seating in the grid leads to spectator mode
While granted they can only explore grids within sync distance, it can still be a bit troublesome. is there a way we can ensure they are ejected from the grid (or not allow saving while seated in a grid); or just force kill them if they're in a grid when they save?
Hangar load does not always trigger gridbackup it seems
Player loaded these 4 grids a few minutes before a crash (so they were lost in the world as expected); they had been manually imported several weeks ago with hangar sync
[34] - #06-AngryBee_08.30.2020_13.11.04
[35] - #07-AngryBee_08.30.2020_13.24.57
[36] - #08-AngryBee_08.30.2020_13.35.24
But there's no Gridbackup triggered for them anywhere
Now here's where it gets really fun. I dug into the daily backups and grabbed copies of these grids.
Looking at lots of other blueprints from other peoples garages; they all have this value set:
0
For whatever reason, #5 bee has:
90138397116871689
and 6,7,8 have
90138402485211145
Those aren't even SteamID's...Searching those numbers in the Sandbox gets 0 hits at all. I have no fucking clue where they've come from but I suspect whatever it is is what caused the backups not to work?
All blocks with ownership are properly marked as owned by the players IdentityID...I don't even know what to make of this hah. These grids were only ever saved by Quantum Hangar (never any other garage type system); so I have no clue what to do about this
It's a lot more rare after the changes you made to allow for more room; but every so often there's grids it just won't detect and it loads them on top of each other. Logs don't give anything beyond normal "everything is fine" messages
We have wait time set to 1200 minutes (20 hours); but in game it starts countdown at 1hr:
https://cdn.discordapp.com/attachments/744022608554492034/836268714591518820/2021-04-26_16_27_18-Space_Engineers.jpg
With the 1hr resetting each time you relog; until you get into the final hour
Normal autohangar due to inactivity; server went down
20:42:23.0891 [WARN] Hangar.AutoHangar: AutoHangar: Getting Players!
20:42:23.0891 [WARN] Hangar.AutoHangar: AutoHangar: Total players to check:4258
20:42:23.1047 [INFO] QuantumHangar.Serialization.GridSerializer: 2
20:42:23.1547 [WARN] QuantumHangar.Serialization.GridSerializer: Saving grid @Q:\76561198034175469\[05] Phalanx#00.sbc
20:42:23.1703 [FATAL] Initializer: System.ArgumentException: Destination array was not long enough. Check destIndex and length, and the array's lower bounds.
at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable)
at System.Collections.Generic.List`1.CopyTo(T[] array, Int32 arrayIndex)
at System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection)
at VRage.Game.Entity.MyGameLogic.UpdateBeforeSimulation()
at Sandbox.Game.World.MySector.UpdateBeforeSimulation()
at Patched_Sandbox.Game.World.MySessionUpdateComponents_0(Object )
at Patched_Sandbox.Game.World.MySessionUpdate_0(Object , MyTimeSpan )
at Sandbox.MySandboxGame.Update()
at Patched_Sandbox.Engine.Platform.GameUpdateInternal_0(Object )
at Sandbox.Engine.Platform.Game.RunSingleFrame()
at Sandbox.Engine.Platform.FixedLoop.<>c__DisplayClass11_0.<Run>b__0()
at Sandbox.Engine.Platform.GenericLoop.Run(VoidAction tickCallback)
at Sandbox.Engine.Platform.Game.RunLoop()
at Sandbox.MySandboxGame.Run(Boolean customRenderLoop, Action disposeSplashScreen)
at Torch.VRageGame.DoStart() in C:\build\workspace\Torch_Torch_master\Torch\VRageGame.cs:line 288
at Torch.VRageGame.Run() in C:\build\workspace\Torch_Torch_master\Torch\VRageGame.cs:line 123
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
System.ArgumentException: Destination array was not long enough. Check destIndex and length, and the array's lower bounds.
at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable)
at System.Collections.Generic.List`1.CopyTo(T[] array, Int32 arrayIndex)
at System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection)
at VRage.Game.Entity.MyGameLogic.UpdateBeforeSimulation()
at Sandbox.Game.World.MySector.UpdateBeforeSimulation()
at Patched_Sandbox.Game.World.MySessionUpdateComponents_0(Object )
at Patched_Sandbox.Game.World.MySessionUpdate_0(Object , MyTimeSpan )
at Sandbox.MySandboxGame.Update()
at Patched_Sandbox.Engine.Platform.GameUpdateInternal_0(Object )
at Sandbox.Engine.Platform.Game.RunSingleFrame()
at Sandbox.Engine.Platform.FixedLoop.<>c__DisplayClass11_0.<Run>b__0()
at Sandbox.Engine.Platform.GenericLoop.Run(VoidAction tickCallback)
at Sandbox.Engine.Platform.Game.RunLoop()
at Sandbox.MySandboxGame.Run(Boolean customRenderLoop, Action disposeSplashScreen)
at Torch.VRageGame.DoStart() in C:\build\workspace\Torch_Torch_master\Torch\VRageGame.cs:line 288
at Torch.VRageGame.Run() in C:\build\workspace\Torch_Torch_master\Torch\VRageGame.cs:line 123
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
20:42:23.1703 [INFO] Initializer: Generating minidump at C:\Torch-Servers\SENDS05\Instance\Minidump.dmp
20:42:23.1703 [ERROR] Initializer: Keen broke the minidump, sorry.
20:42:23.7224 [INFO] Hangar.AutoHangar: [05] Phalanx#00 was sent to Hangar due to inactivity!
20:42:23.8474 [INFO] QuantumHangar.Serialization.GridSerializer: 1```
Feature request: Have enemy check ignore Admin level characters
Just annoying sometimes when working with a player on an issue they need to hangar save or load for and they can't because we (in admin mode) are an enemy. Not a big deal/priority of course
Just read a bug report from a player that they loaded a grid on another server, they were expecting the GPS to appear in their GPS list as when loading a grid on the same server, but it didn't.
That seems plausible as we only relay chat messages over nexus and I seem to recall GPS were added in some other part of the code, which we now run on the remote server, no longer locally, so the GPS isn't added to the server the player is currently in.
Filing this bug for tracking.
Goal: change the various CharacterUtilities.SendGps
in this file https://github.com/Casimir255/QuantumHangar/blob/57c0c7743e0d0af64f33a99b6e49afe83e548d35/HangarChecks/PlayerChecks.cs#L441 and relay them over nexus.
Player hangared "Production Facility"
Then later hangared "PRODUCTION FACILITY"
Both were in their hangar list; but only one SBC existed
Either one overwrote the other; or one never actually had the SBC saved
https://i.imgur.com/OeZi9PC.png
In plugin page https://torchapi.com/plugins/view/24fc7724-0740-4a54-8bb3-1191fd3c8db4
I see that
plugin can Auto Dupe/Loss protection between server crashes.
And then I make a test.
First, I paste a Grid for test.
Second, I run command "!save" to save game.
Third I use "!h save" to save the grid into hanger.
Fourth ,I make the server crash with a command I write.
[Command("stackOverFlow", "test")]
[Permission(MyPromoteLevel.Admin)]
public void stackOverFlow()
{
stackOverFlow();
}
and then I kill the server.
This option is mock when a error happen and server can't autosave.
Fifth, I restart the server,and then I had copy a Grid(the one in the hanger,other one in game).
By test seems that Hangar can't promise prevent Clone and Loss of grid.
In the multiplayer online environment with many mods, server crashes are frequent. Players can clone spaceships through this way, or players will lose spaceships.
When using "Forced Original Position"; hangarmod load ignores position
I saved a couple things to my hangar to test, tried to use hangarmod load to test forced position spawning while ignoring the cooldown - they spawned near my player instead of in the forced position they should have
Trying to do hm load from discord console breaks as well
Exception has been thrown by the target of an invocation.
https://i.imgur.com/XNBKXgr.png
low priority to me
Expected Behaviour: When a player uses the !hangar save
command on a grid, any player in a seat should be kicked from that seat when the grid is stored.
Actual Behaviour: When a player uses the !hangar save
command on a grid, any player in a seat is sent to spectator mode and must relog to return to character control.
Behaviour replicated in Flight Seat
, Control Seat
, Passenger Seat
, Toilet Seat
, Fighter Cockpit
, Industrial Cockpit
and Cockpit
.
please set to command !hangarmod load <username> <number>
to assign ownership of the grid to the player given in username. pasting in as owned by nobody results in grids shooting each other upon pasting, which is not conducive to grid recovery operations for staff teams.
12:13:26.6319 [INFO] Torch.Commands.CommandManager: Player mongo_fbs ran command '!h load 2'
12:13:26.6319 [INFO] QuantumHangar.Utilities.HangarChecks: Grid is force load from originial position
12:13:26.6319 [INFO] Chat: Hangar (to mongo_fbs): A GPS has been added to your HUD
12:13:28.4487 [WARN] QuantumHangar.GridMethods: Successfully BackedUp grid!
12:13:28.4487 [INFO] Chat: Hangar (to mongo_fbs): There are potentially other grids in the way. Attempting to spawn around the location to avoid collisions.
12:13:28.4487 [INFO] Chat: Hangar (to mongo_fbs): Load Complete!
It would be nice to have it list the GPS it attempted to load at; as well as the GPS where it actually loaded in at when it attempted to spawn around the location -- just so we have more data when needing to prove to players things are working fine (or for debug to see if things aren't)
19:30:11.7315 [INFO] Torch.Commands.CommandManager: Player Jaxx ran command '!hangar load JaxxMiner'
19:30:11.7315 [INFO] Chat: Hangar (to Jaxx): Grid doesnt exist! Admin should check logs for more information.
19:30:11.7315 [FATAL] QuantumHangar.GridMethods: Grid doesnt exsist @C:\Torch-Servers\GarageSEDS6\76561198822198871\JaxxMiner.sbc.sbc
Looking for JaxxMiner.sbc.sbc for some reason instead of just JaxxMiner.sbc
Loading via index number worked fine
A 3rd level of extra slots that can be either assigned to player or promoted player to a level.
Had a build where it was platform base with a rotor on it; then the subgrid that is the rotor
when autohangar came through; it saved these as two separate items in my hangar, using the rotor head connection as the delimiter.
This was docked to another grid via locked connector, which also got hangared separately (so this is really kind of 2 problems it seems)
We have the "EnableSubGrids" feature on for hangar, so I would have expected everything to go autohangar as a single slot item
It looks like !hangar save triggers and respects the cooldown configured, but we've been able to run !hangar load as quickly as we wish, ignoring the cooldown setting
Had someone run !h list; we got this fatal and the player started getting "your previous command hasn't finished" when trying to run !h list again.
The server definitely ...crashed...but until I went and clicked "ok" on the torch fatal alert; the server was.....running somehow still...which was like 15+minutes later that igot to it
06:22:25.6739 [INFO] Nexus.Utilities.PlayerEventController: SindriLogged off! Clearing Data from NexusSystem!
06:22:25.6739 [INFO] Nexus.Sync.PlayerDataSync: Saving Sindri meta data!
06:22:25.6739 [INFO] Torch.Managers.MultiplayerManagerBase: Sindri (76561198137419151) Disconnected.
06:22:26.9239 [INFO] Chat: Hangar (to [007...151]): You have 11/100 stored grids:
[1] - Atmo Katana 2
[2] - Atmo Katana 1
[3] - Runner
[4] - Projector Drag
[5] - Tech Scrap
[6] - The Jotunn
[7] - Katana Drake
[8] - Mini Hydro Refueler
[9] - Jump stick
[10] - Welder
[11] - DCA Lawn Dart
06:22:26.9239 [FATAL] Initializer: System.NullReferenceException: Object reference not set to an instance of an object.
at QuantumHangar.Commands.HangarCommandSystem.RemoveCompletedTask(CommandContext Context) in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Commands\HangarCommandSystem.cs:line 165
at QuantumHangar.Commands.HangarCommandSystem.<RunTaskAsync>d__5.MoveNext() in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Commands\HangarCommandSystem.cs:line 136
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at QuantumHangar.Commands.HangarSimpCommands.<ListGrids>d__1.MoveNext() in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Commands\HangarCommands.cs:line 114
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
System.NullReferenceException: Object reference not set to an instance of an object.
at QuantumHangar.Commands.HangarCommandSystem.RemoveCompletedTask(CommandContext Context) in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Commands\HangarCommandSystem.cs:line 165
at QuantumHangar.Commands.HangarCommandSystem.<RunTaskAsync>d__5.MoveNext() in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Commands\HangarCommandSystem.cs:line 136
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at QuantumHangar.Commands.HangarSimpCommands.<ListGrids>d__1.MoveNext() in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Commands\HangarCommands.cs:line 114
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
06:22:26.9239 [INFO] Initializer: Generating minidump at C:\Torch-Servers\SENDS06\Instance\Minidump.dmp
06:22:26.9239 [ERROR] Initializer: Keen broke the minidump, sorry.
06:22:31.2520 [INFO] Nexus.Utilities.PlayerEventController: Player Sindri Joined! Requesting MetaData!
06:22:31.2520 [WARN] Nexus.SeamlessClients.WorldRequestClass: Sending joinping to client!
06:22:31.2520 [INFO] Torch.Server.Managers.MultiplayerManagerDedicated: Connection attempt by 76561198137419151 from 24.176.79.37
06:22:31.2520 [INFO] Torch.Managers.MultiplayerManagerBase: Player Sindri joined (76561198137419151)
06:22:31.2989 [INFO] StaticMarker.MarkerPlugin: Connected
06:22:31.2989 [INFO] Essentials.RanksAndPermissionsModule: Binding ranks to Sindri's session (Expires when server restarts)
06:22:31.2989 [INFO] Essentials.RanksAndPermissionsModule: The following ranks have been assiged to Sindri: Default
06:22:31.4708 [INFO] ALE_DeathLocationFix.MySessionPatch: Stripped LastDeathPositions from world for client connect.
06:22:35.6583 [INFO] ServerNetwork.Sync.PlayerSync: Lochemel passed ValidationChecks! SteamID: 76561198137910863, PlayerID: 144115188075861537
06:22:52.5646 [INFO] Nexus.Sync.PlayerDataSync: Saving Vilk meta data!
06:22:52.5646 [INFO] Nexus.Sync.PlayerDataSync: Saving Niner meta data!
06:22:52.5646 [INFO] Nexus.Sync.PlayerDataSync: Saving Orion meta data!
06:22:52.5646 [INFO] Nexus.Sync.PlayerDataSync: Saving JeffMan meta data!
06:22:53.0021 [INFO] Nexus.Sync.ServerStartMessage: Original Sanbox Size: 73026kb Compressed: 2358kb
06:22:53.9709 [INFO] ServerNetwork.Sync.PlayerSync: Kepler J passed ValidationChecks! SteamID: 76561198034507414, PlayerID: 144115188075858033
06:23:06.4240 [INFO] RexFix.Patches.ClusterReorderPatch: Clusters reordering. Prevented 101804 reorder calls.
06:23:07.8928 [INFO] Concealment: 227/255 grids are concealed (89.02 %), 3 new.
06:23:29.0335 [INFO] ServerNetwork.Sync.PlayerSync: Sindri joined! SID: 76561198137419151 Identity: 144115188075856011 RealPlayer: True InitialPlayer: True
06:23:29.0335 [INFO] Nexus.Utilities.PlayerEventController: Sindri successfully connected! Running First Connection Methods!
06:23:32.8460 [INFO] Concealment: Revealed 3 grids near players.
06:23:33.2210 [WARN] Nexus.BoundarySystem.PlayerSectorTransport: Sindri has up-to-date seamless client version: 1.2.20
06:23:42.1116 [INFO] GridSplitNameKeeper: Closing grid Static Grid 1405 after splitting from VSI Maui Constructor
06:23:49.7210 [INFO] Chat: (to Sindri): Your previous command has yet to finish!
06:23:49.7210 [INFO] Torch.Commands.CommandManager: Player Sindri ran command '!h list'
06:24:04.0648 [INFO] ServerNetwork.Sync.PlayerSync: Dino passed ValidationChecks! SteamID: 76561198300097771, PlayerID: 144115188075856895
06:24:06.4242 [INFO] RexFix.Patches.ClusterReorderPatch: Clusters reordering. Prevented 178262 reorder calls.
06:24:14.2993 [INFO] Chat: (to Sindri): Your previous command has yet to finish!
06:24:14.2993 [INFO] Torch.Commands.CommandManager: Player Sindri ran command '!h list'
06:24:37.2368 [INFO] Chat: (to Sindri): Your previous command has yet to finish!
06:24:37.2368 [INFO] Torch.Commands.CommandManager: Player Sindri ran command '!h list'
06:25:01.1744 [INFO] Chat: (to Sindri): Your previous command has yet to finish!
06:25:01.1744 [INFO] Torch.Commands.CommandManager: Player Sindri ran command '!h list'
06:25:06.4244 [INFO] RexFix.Patches.ClusterReorderPatch: Clusters reordering. Prevented 90062 reorder calls.
06:25:26.7526 [INFO] SigmaAF11: Ghosts: Finished command
06:25:39.4089 [INFO] Nexus.Commands.RecievedDiscordCommands: Command uptime finished!
06:26:06.4246 [INFO] RexFix.Patches.ClusterReorderPatch: Clusters reordering. Prevented 26537 reorder calls.
06:26:19.7684 [INFO] ALE_Biggest_Grids_Broadcast.GridsBroadcastPlugin: Removing Biggest Grid GPS from all Players.
06:26:19.7684 [INFO] Torch.Commands.CommandManager: Server ran command '!sendmixgps true true'
06:26:45.3467 [INFO] ServerNetwork.Sync.PlayerSync: Dino passed ValidationChecks! SteamID: 76561198300097771, PlayerID: 144115188075856895
06:26:46.6279 [INFO] Torch.Commands.CommandManager: Player Vilk ran command '!tags'
06:26:54.7842 [INFO] ALE_GridBackup.GridBackupPlugin: Backup took 276036ms (1905ms CPU)
06:26:54.7842 [INFO] ALE_GridBackup.Utilities: Start deleting backups older than 7 days were deleted.
06:26:55.0654 [INFO] ALE_GridBackup.Utilities: Backups older than 7 days were deleted.
06:26:56.2998 [INFO] Chat: [Global:0] JeffMan: i hope the next update they will make a canvas gun to trap disarm other players
06:27:00.7686 [INFO] Chat: (to Vilk): Are you sure you want to continue? Enter the command again within 30 seconds to confirm fixship on SEN - Eagle Mk3.
06:27:00.7686 [INFO] Torch.Commands.CommandManager: Player Vilk ran command '!fixship'
06:27:01.6748 [WARN] ALE_ShipFixer.ShipFixerPlugin: Player Vilk used ShipFixerPlugin on Grid SEN - Eagle Mk3 for cut & paste!
06:27:01.8311 [INFO] Chat: (to Vilk): Ship was fixed!
06:27:01.8311 [INFO] ALE_ShipFixer.Commands: Cooldown for Player Vilk started!
06:27:01.8311 [INFO] Torch.Commands.CommandManager: Player Vilk ran command '!fixship'
06:27:06.4248 [INFO] RexFix.Patches.ClusterReorderPatch: Clusters reordering. Prevented 90490 reorder calls.
Feature Request - Show PCU [Used : Max] when total garage PCU limit enabled
Additionally, listing PCU used per slot would be helpful information as well
When trying to !hangar save or load a grid, the enemy detection radius seems to be including factions you are allied with in game ("Peace") as "enemies" and prevents using the hangar
Saving two grids with identical names sometimes overwrites the already saved copy; resulting in losing a grid
Looks like the server crashed due to a hangar call here. Thanks for looking!
22:07:59.7266 [ERROR] Hangar.AutoHangar: System.AggregateException: One or more errors occurred. ---> System.InvalidOperationException: Sequence contains no elements
at System.Linq.Enumerable.Aggregate[TSource](IEnumerable1 source, Func
3 func)
at QuantumHangar.Utils.GridUtilities.BiggestGrid(IEnumerable1 Grids, MyCubeGrid& BiggestGrid) in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Utils\GridUtilities.cs:line 499 at QuantumHangar.Utils.GridUtilities.IsPlayerIdCorrect(Int64 playerId, List
1 gridList) in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Utils\GridUtilities.cs:line 445
at QuantumHangar.Utils.GridUtilities.<>c__DisplayClass16_0.b__1(Group group) in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Utils\GridUtilities.cs:line 432
at System.Threading.Tasks.Parallel.<>c__DisplayClass42_02.<PartitionerForEachWorker>b__1() at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask) at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object <p0>) --- End of inner exception stack trace --- at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) at System.Threading.Tasks.Parallel.PartitionerForEachWorker[TSource,TLocal](Partitioner
1 source, ParallelOptions parallelOptions, Action1 simpleBody, Action
2 bodyWithState, Action3 bodyWithStateAndIndex, Func
4 bodyWithStateAndLocal, Func5 bodyWithEverything, Func
1 localInit, Action1 localFinally) at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable
1 source, ParallelOptions parallelOptions, Action1 body, Action
2 bodyWithState, Action3 bodyWithStateAndIndex, Func
4 bodyWithStateAndLocal, Func5 bodyWithEverything, Func
1 localInit, Action1 localFinally) at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable
1 source, Action1 body) at QuantumHangar.Utils.GridUtilities.FindGridList(Int64 playerId, Boolean includeConnectedGrids) in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Utils\GridUtilities.cs:line 416 at QuantumHangar.AutoHangar.AutoHangarWorker() in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\AutoHangar\Autohangar.cs:line 103 at QuantumHangar.AutoHangar.RunAutoHangar() in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\AutoHangar\Autohangar.cs:line 46 ---> (Inner Exception #0) System.InvalidOperationException: Sequence contains no elements at System.Linq.Enumerable.Aggregate[TSource](IEnumerable
1 source, Func3 func) at QuantumHangar.Utils.GridUtilities.BiggestGrid(IEnumerable
1 Grids, MyCubeGrid& BiggestGrid) in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Utils\GridUtilities.cs:line 499
at QuantumHangar.Utils.GridUtilities.IsPlayerIdCorrect(Int64 playerId, List1 gridList) in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Utils\GridUtilities.cs:line 445 at QuantumHangar.Utils.GridUtilities.<>c__DisplayClass16_0.<FindGridList>b__1(Group group) in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Utils\GridUtilities.cs:line 432 at System.Threading.Tasks.Parallel.<>c__DisplayClass42_0
2.b__1()
at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
at System.Threading.Tasks.Task.<>c__DisplayClass176_0.b__0(Object )<---
System.AggregateException: One or more errors occurred. ---> System.InvalidOperationException: Sequence contains no elements
at System.Linq.Enumerable.Aggregate[TSource](IEnumerable1 source, Func
3 func)
at QuantumHangar.Utils.GridUtilities.BiggestGrid(IEnumerable1 Grids, MyCubeGrid& BiggestGrid) in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Utils\GridUtilities.cs:line 499 at QuantumHangar.Utils.GridUtilities.IsPlayerIdCorrect(Int64 playerId, List
1 gridList) in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Utils\GridUtilities.cs:line 445
at QuantumHangar.Utils.GridUtilities.<>c__DisplayClass16_0.b__1(Group group) in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Utils\GridUtilities.cs:line 432
at System.Threading.Tasks.Parallel.<>c__DisplayClass42_02.<PartitionerForEachWorker>b__1() at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask) at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object <p0>) --- End of inner exception stack trace --- at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) at System.Threading.Tasks.Parallel.PartitionerForEachWorker[TSource,TLocal](Partitioner
1 source, ParallelOptions parallelOptions, Action1 simpleBody, Action
2 bodyWithState, Action3 bodyWithStateAndIndex, Func
4 bodyWithStateAndLocal, Func5 bodyWithEverything, Func
1 localInit, Action1 localFinally) at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable
1 source, ParallelOptions parallelOptions, Action1 body, Action
2 bodyWithState, Action3 bodyWithStateAndIndex, Func
4 bodyWithStateAndLocal, Func5 bodyWithEverything, Func
1 localInit, Action1 localFinally) at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable
1 source, Action1 body) at QuantumHangar.Utils.GridUtilities.FindGridList(Int64 playerId, Boolean includeConnectedGrids) in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Utils\GridUtilities.cs:line 416 at QuantumHangar.AutoHangar.AutoHangarWorker() in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\AutoHangar\Autohangar.cs:line 103 at QuantumHangar.AutoHangar.RunAutoHangar() in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\AutoHangar\Autohangar.cs:line 46 ---> (Inner Exception #0) System.InvalidOperationException: Sequence contains no elements at System.Linq.Enumerable.Aggregate[TSource](IEnumerable
1 source, Func3 func) at QuantumHangar.Utils.GridUtilities.BiggestGrid(IEnumerable
1 Grids, MyCubeGrid& BiggestGrid) in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Utils\GridUtilities.cs:line 499
at QuantumHangar.Utils.GridUtilities.IsPlayerIdCorrect(Int64 playerId, List1 gridList) in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Utils\GridUtilities.cs:line 445 at QuantumHangar.Utils.GridUtilities.<>c__DisplayClass16_0.<FindGridList>b__1(Group group) in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Utils\GridUtilities.cs:line 432 at System.Threading.Tasks.Parallel.<>c__DisplayClass42_0
2.b__1()
at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
at System.Threading.Tasks.Task.<>c__DisplayClass176_0.b__0(Object )<---
Digging bug report from a user, which actually reveals an issue with the bounding box code:
The bounding box is somehow still centered on that grid origin, when it should in fact be more or less at the center of the grid.
This might be a known keen bug for keeping the grid origin outside of the actual grid, but maybe we can work around it by calculating the real center of blocks.
https://github.com/Casimir255/QuantumHangar/blob/master/Utilities/ParallelSpawner.cs#L244
!hangar load near another grid often loads the grids into each other; resulting in two stacked / merged / abominations
Reproduce: hangar load near some other grids
store the entityID in players.json
Cross-check that when it goes to save and overwrite entityID if it's the same one
[13:50] Kontu: >.> The saved blueprint in hangar has the entityID in it we know this already 'cause of gridbackup on load..so that simple crosscheck should handle those kinds of dupes at least right?
They could still wait for a save, !fixship, then save and crash it but at least it cuts out a bunch of dupes if the server is crashlooping or something
[14:22] Casimir: well, i dont even have to store it
[14:22] Casimir: just keep a running list of all hangar saves and clear them when the server saves
[14:23] Casimir: when a server starts, it checks that list and if it has any, remove them
[14:23] Casimir: Thats what I used to do
All this is intended to do is prevent things like autohangar from saving a duplicate copy of the same entityID. I know it won't stop all dupe situations, but this would cover the majority of "accidental dupes" we see from server crashes unrelated to QH
Hi there. I'd love to be able to load hangar grids by a static ID, rather than their order on the list. My reasoning for this is that I would be able to create hotkeys to load specific grids, or load a grid without having to refer to the list first. Something like "!hangar load BigShip", for example. This would be an awesome feature in order to make grid loading faster and more consistent.
Hey there,
I know this is EOL but just wanted to check if the Admin BP market tab was done away with as It doesn't seem to be appearing on my end and if so was there any other alternative method?
I have a user who originally joined my server and was auto-added to one of the npc factions. I have removed him, but when he tries to save a grid, he gets the error "Unable to get owners SteamID! Are you an NPC?"
we re-used the PlayerHangars file from a previous server that he and I were both on, so I imagine that also may have played a hand here.
Deleting his PlayerHangar folder and remaking it has not assisted in resolving this. I imagine there's a Json somewhere that tracks users and their steamIDs but i'm unsure of where to proceed.
Thank You!
When loading from hangar and force position is enabled; player should still receive a gps point when load is blocked by enemy player/grid check so they know where t o go to kill a motherfucker that's in their way
We're having grids removed from player hangars by the anti-dupe protection that aren't dupes
Fastest way to reproduce:
Print a blueprint with a welder with the name "Sausage"
!hangar save
Print a second copy with the name "Sausage" (so just use the same blueprint)
The player now has a copy in the Hangar and an "identical" copy in the world -- Hangar removes it from the Hangar; but leaves it in the players hangar list. They try to !hangar load it and get told "grid doesn't exist have admin check logs"
Not really sure what led to it; here's logs a few minutes prior and then the biggest stack trace I've seen
11:45:50.1029 [INFO] RexFix.Patches.ClusterReorderPatch: Clusters reordering. Prevented 22985 reorder calls.
11:46:37.6540 [INFO] CrunchUtilities.CrunchUtilitiesPlugin: Updating names
11:46:52.6520 [INFO] ServerGatePlugin.BoundrySystem.BoundaryThread: Transport Grid Recieved!
11:47:30.3168 [INFO] Chat: Sigma Draconis (to ID:0): Server: Use !wiki in chat to open our Wiki in the Steam Browser Overlay!
11:47:35.0298 [INFO] Chat: Theta Draconis (to ID:0): malus_71live: /
11:47:47.5172 [INFO] ServerGatePlugin.BoundrySystem.BoundaryThread: Retry #100 Attack core
11:48:00.4849 [INFO] Chat: Sigma Draconis (to ID:0): Server: Automated cleanup commencing shortly. Please ensure your ships and stations follow the guidance on the Draconis wiki.
11:48:04.9198 [ERROR] Torch: Frozen thread dump Main thread
Common prefix:
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
at VRage.MyXmlSerializerBase`1.Deserialize(XmlReader reader, XmlSerializer serializer, String customRootName)
at VRage.MyAbstractXmlSerializer`1.ReadXml(XmlReader reader)
at System.Xml.Serialization.XmlSerializationReader.ReadSerializable(IXmlSerializable serializable, Boolean wrappedAny)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read1830_MyObjectBuilder_CubeGrid(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read1843_MyObjectBuilder_Projector(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read6295_MyObjectBuilder_Projector()
at Microsoft.Xml.Serialization.GeneratedAssembly.MyObjectBuilder_ProjectorSerializer.Deserialize(XmlSerializationReader reader)
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
at VRage.MyXmlSerializerBase`1.Deserialize(XmlReader reader, XmlSerializer serializer, String customRootName)
at VRage.MyAbstractXmlSerializer`1.ReadXml(XmlReader reader)
at System.Xml.Serialization.XmlSerializationReader.ReadSerializable(IXmlSerializable serializable, Boolean wrappedAny)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read1830_MyObjectBuilder_CubeGrid(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read1843_MyObjectBuilder_Projector(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read6295_MyObjectBuilder_Projector()
at Microsoft.Xml.Serialization.GeneratedAssembly.MyObjectBuilder_ProjectorSerializer.Deserialize(XmlSerializationReader reader)
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
at VRage.MyXmlSerializerBase`1.Deserialize(XmlReader reader, XmlSerializer serializer, String customRootName)
at VRage.MyAbstractXmlSerializer`1.ReadXml(XmlReader reader)
at System.Xml.Serialization.XmlSerializationReader.ReadSerializable(IXmlSerializable serializable, Boolean wrappedAny)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read1830_MyObjectBuilder_CubeGrid(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read1843_MyObjectBuilder_Projector(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read6295_MyObjectBuilder_Projector()
at Microsoft.Xml.Serialization.GeneratedAssembly.MyObjectBuilder_ProjectorSerializer.Deserialize(XmlSerializationReader reader)
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
at VRage.MyXmlSerializerBase`1.Deserialize(XmlReader reader, XmlSerializer serializer, String customRootName)
at VRage.MyAbstractXmlSerializer`1.ReadXml(XmlReader reader)
at System.Xml.Serialization.XmlSerializationReader.ReadSerializable(IXmlSerializable serializable, Boolean wrappedAny)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read1830_MyObjectBuilder_CubeGrid(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read1843_MyObjectBuilder_Projector(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read6295_MyObjectBuilder_Projector()
at Microsoft.Xml.Serialization.GeneratedAssembly.MyObjectBuilder_ProjectorSerializer.Deserialize(XmlSerializationReader reader)
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
at VRage.MyXmlSerializerBase`1.Deserialize(XmlReader reader, XmlSerializer serializer, String customRootName)
at VRage.MyAbstractXmlSerializer`1.ReadXml(XmlReader reader)
at System.Xml.Serialization.XmlSerializationReader.ReadSerializable(IXmlSerializable serializable, Boolean wrappedAny)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read1830_MyObjectBuilder_CubeGrid(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read1843_MyObjectBuilder_Projector(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read6295_MyObjectBuilder_Projector()
at Microsoft.Xml.Serialization.GeneratedAssembly.MyObjectBuilder_ProjectorSerializer.Deserialize(XmlSerializationReader reader)
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
at VRage.MyXmlSerializerBase`1.Deserialize(XmlReader reader, XmlSerializer serializer, String customRootName)
at VRage.MyAbstractXmlSerializer`1.ReadXml(XmlReader reader)
at System.Xml.Serialization.XmlSerializationReader.ReadSerializable(IXmlSerializable serializable, Boolean wrappedAny)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read5400_MyObjectBuilder_CubeGrid(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read5403_Item(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read6307_Item()
at Microsoft.Xml.Serialization.GeneratedAssembly.MyObjectBuilder_ShipBlueprintDefinitionSerializer.Deserialize(XmlSerializationReader reader)
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
at VRage.MyXmlSerializerBase`1.Deserialize(XmlReader reader, XmlSerializer serializer, String customRootName)
at VRage.MyAbstractXmlSerializer`1.ReadXml(XmlReader reader)
at System.Xml.Serialization.XmlSerializationReader.ReadSerializable(IXmlSerializable serializable, Boolean wrappedAny)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read4518_MyObjectBuilder_Definitions(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read6213_Definitions()
at Microsoft.Xml.Serialization.GeneratedAssembly.MyObjectBuilder_DefinitionsSerializer.Deserialize(XmlSerializationReader reader)
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
at VRage.ObjectBuilders.MyObjectBuilderSerializer.DeserializeXML(Stream reader, MyObjectBuilder_Base& objectBuilder, Type builderType, Dictionary`2 typeOverrideMap)
at VRage.ObjectBuilders.MyObjectBuilderSerializer.DeserializeXML[T](Stream reader, T& objectBuilder)
at VRage.ObjectBuilders.MyObjectBuilderSerializer.DeserializeXML[T](String path, T& objectBuilder, UInt64& fileSize)
at VRage.ObjectBuilders.MyObjectBuilderSerializer.DeserializeXML[T](String path, T& objectBuilder)
at QuantumHangar.GridMethods.LoadGrid(String GridName, MyCharacter Player, Int64 TargetPlayerID, Boolean keepOriginalLocation, Chat chat, Hangar Plugin, Boolean force) in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Utilities\Utils.cs:line 167
at QuantumHangar.Utilities.HangarChecks.LoadGridFile(String GridName, PlayerInfo Data, GridStamp Grid, Boolean admin) in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Utilities\HangarChecks.cs:line 2448
at QuantumHangar.Utilities.HangarChecks.LoadGrid(String GridNameOrNumber, Boolean ForceLoadAtSavePosition) in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Utilities\HangarChecks.cs:line 270
at QuantumHangar.ChatCommands.Load(String GridNameOrNumber, Boolean LoadAtSavePosition) in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\ChatCommands.cs:line 51
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at Torch.Commands.Command.TryInvoke(CommandContext context) in C:\jenkins\workspace\Torch_Torch_master\Torch\Commands\Command.cs:line 145
at Torch.Commands.CommandManager.<>c__DisplayClass21_1.<HandleCommand>b__1() in C:\jenkins\workspace\Torch_Torch_master\Torch\Commands\CommandManager.cs:line 159
at Sandbox.MySandboxGame.ProcessInvoke()
at Sandbox.MySandboxGame.Update()
at Sandbox.Engine.Platform.Game.UpdateInternal()
at Patched_Sandbox.Engine.Platform.GameRunSingleFrame_0(Object )
at Sandbox.Engine.Platform.FixedLoop.<>c__DisplayClass11_0.<Run>b__0()
at Sandbox.Engine.Platform.GenericLoop.Run(VoidAction tickCallback)
at Sandbox.Engine.Platform.Game.RunLoop()
at Sandbox.MySandboxGame.Run(Boolean customRenderLoop, Action disposeSplashScreen)
at Torch.VRageGame.DoStart() in C:\jenkins\workspace\Torch_Torch_master\Torch\VRageGame.cs:line 246
at Torch.VRageGame.Run() in C:\jenkins\workspace\Torch_Torch_master\Torch\VRageGame.cs:line 118
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
Suffix 0
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.InitIDs()
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
at VRage.MyXmlSerializerBase`1.Deserialize(XmlReader reader, XmlSerializer serializer, String customRootName)
at VRage.MyAbstractXmlSerializer`1.ReadXml(XmlReader reader)
at System.Xml.Serialization.XmlSerializationReader.ReadSerializable(IXmlSerializable serializable, Boolean wrappedAny)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read1830_MyObjectBuilder_CubeGrid(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read1843_MyObjectBuilder_Projector(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read6295_MyObjectBuilder_Projector()
at Microsoft.Xml.Serialization.GeneratedAssembly.MyObjectBuilder_ProjectorSerializer.Deserialize(XmlSerializationReader reader)
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
at VRage.MyXmlSerializerBase`1.Deserialize(XmlReader reader, XmlSerializer serializer, String customRootName)
at VRage.MyAbstractXmlSerializer`1.ReadXml(XmlReader reader)
at System.Xml.Serialization.XmlSerializationReader.ReadSerializable(IXmlSerializable serializable, Boolean wrappedAny)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read1830_MyObjectBuilder_CubeGrid(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read1843_MyObjectBuilder_Projector(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read6295_MyObjectBuilder_Projector()
at Microsoft.Xml.Serialization.GeneratedAssembly.MyObjectBuilder_ProjectorSerializer.Deserialize(XmlSerializationReader reader)
Suffix 1
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.InitIDs()
Suffix 2
at System.MarvinHash.ComputeHash(Byte* data, Int32 count, UInt64 seed)
at System.Xml.NameTable.Add(String key)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.InitIDs()
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
at VRage.MyXmlSerializerBase`1.Deserialize(XmlReader reader, XmlSerializer serializer, String customRootName)
at VRage.MyAbstractXmlSerializer`1.ReadXml(XmlReader reader)
at System.Xml.Serialization.XmlSerializationReader.ReadSerializable(IXmlSerializable serializable, Boolean wrappedAny)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read5731_ComponentData(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read5732_Item(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read5750_MyObjectBuilder_TextPanel(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read6298_MyObjectBuilder_TextPanel()
at Microsoft.Xml.Serialization.GeneratedAssembly.MyObjectBuilder_TextPanelSerializer.Deserialize(XmlSerializationReader reader)
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
at VRage.MyXmlSerializerBase`1.Deserialize(XmlReader reader, XmlSerializer serializer, String customRootName)
at VRage.MyAbstractXmlSerializer`1.ReadXml(XmlReader reader)
at System.Xml.Serialization.XmlSerializationReader.ReadSerializable(IXmlSerializable serializable, Boolean wrappedAny)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read1830_MyObjectBuilder_CubeGrid(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read1843_MyObjectBuilder_Projector(Boolean isNullable, Boolean checkType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read6295_MyObjectBuilder_Projector()
at Microsoft.Xml.Serialization.GeneratedAssembly.MyObjectBuilder_ProjectorSerializer.Deserialize(XmlSerializationReader reader)
11:48:04.9198 [FATAL] Initializer: System.TimeoutException: Server watchdog detected that the server was frozen for at least 60 seconds.
at Torch.Server.TorchServer.CheckServerResponding(Object state) in C:\jenkins\workspace\Torch_Torch_master\Torch.Server\TorchServer.cs:line 287
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.TimerQueueTimer.CallCallback()
at System.Threading.TimerQueueTimer.Fire()
at System.Threading.TimerQueue.FireNextTimers()
System.TimeoutException: Server watchdog detected that the server was frozen for at least 60 seconds.
at Torch.Server.TorchServer.CheckServerResponding(Object state) in C:\jenkins\workspace\Torch_Torch_master\Torch.Server\TorchServer.cs:line 287
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.TimerQueueTimer.CallCallback()
at System.Threading.TimerQueueTimer.Fire()
at System.Threading.TimerQueue.FireNextTimers()
11:48:04.9198 [INFO] Initializer: Generating minidump at C:\Torch-Servers\SEDS9\Instance\Minidump.dmp
11:48:04.9198 [ERROR] Initializer: Keen broke the minidump, sorry.
11:48:10.1557 [INFO] SteamCMD: Checking for DS updates.```
We restored Brickstrosity than tried to !hm save it from discord console and the server instantly crashed with the below
https://i.imgur.com/yZQxC7s.png
05:14:46.9213 [INFO] ALE_GridBackup.BackupCommands: Server restored backup from path: C:\Torch-Servers\TDRAC04\Instance\GridBackups\144115188075856188\Brickstrosity_108997553508478067\2021_05_26_21_51_00.sbc
05:14:46.9213 [INFO] Nexus.Commands.RecievedDiscordCommands: Command restore finished!
05:14:47.7494 [WARN] ServerNetwork.Sync.ProgressionSync: Progression Update!
05:14:51.3275 [INFO] ServerNetwork.Sync.PlayerSync: Silvermade joined! SID: 76561198052869524 Identity: 144115188075856046 RealPlayer: True InitialPlayer: True
05:14:51.3275 [INFO] Nexus.Utilities.PlayerEventController: Silvermade successfully connected! Running First Connection Methods!
05:14:52.7338 [INFO] ServerNetwork.Sync.PlayerSync: TestTestTest
05:14:52.7494 [INFO] ServerNetwork.Sync.PlayerSync: Aussie Rev passed ValidationChecks! SteamID: 76561198003614231, PlayerID: 144115188075855982
05:14:58.7651 [INFO] ServerNetwork.Sync.PlayerSync: TestTestTest
05:14:58.7807 [INFO] ServerNetwork.Sync.PlayerSync: Ashbane passed ValidationChecks! SteamID: 76561198138013290, PlayerID: 144115188075855979
05:15:00.0307 [INFO] Concealment: 487/732 grids are concealed (66.53 %), 5 new.
05:15:02.5463 [INFO] Nexus.Commands.RecievedDiscordCommands: Command save finished!
05:15:02.5463 [FATAL] Initializer: System.NullReferenceException: Object reference not set to an instance of an object.
at QuantumHangar.Utils.GridUtilities.FindGridList(String gridNameOrEntityId, MyCharacter character, List`1& Grids) in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Utils\GridUtilities.cs:line 270
at QuantumHangar.GridResult.GetGrids(Chat Response, MyCharacter character, String GridNameOREntityID) in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Utilities\SerializableData.cs:line 492
at QuantumHangar.HangarChecks.AdminChecks.SaveGrid(String NameOrIdentity) in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\HangarChecks\AdminChecks.cs:line 63
at QuantumHangar.Commands.HangarSimpAdminCommands.<>c__DisplayClass0_0.<SaveGrid>b__0() in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Commands\HangarAdminCommands.cs:line 86
at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at QuantumHangar.Commands.HangarCommandSystem.<RunAdminTaskAsync>d__6.MoveNext() in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Commands\HangarCommandSystem.cs:line 143
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at QuantumHangar.Commands.HangarSimpAdminCommands.<SaveGrid>d__0.MoveNext() in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Commands\HangarAdminCommands.cs:line 86
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
System.NullReferenceException: Object reference not set to an instance of an object.
at QuantumHangar.Utils.GridUtilities.FindGridList(String gridNameOrEntityId, MyCharacter character, List`1& Grids) in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Utils\GridUtilities.cs:line 270
at QuantumHangar.GridResult.GetGrids(Chat Response, MyCharacter character, String GridNameOREntityID) in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Utilities\SerializableData.cs:line 492
at QuantumHangar.HangarChecks.AdminChecks.SaveGrid(String NameOrIdentity) in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\HangarChecks\AdminChecks.cs:line 63
at QuantumHangar.Commands.HangarSimpAdminCommands.<>c__DisplayClass0_0.<SaveGrid>b__0() in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Commands\HangarAdminCommands.cs:line 86
at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at QuantumHangar.Commands.HangarCommandSystem.<RunAdminTaskAsync>d__6.MoveNext() in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Commands\HangarCommandSystem.cs:line 143
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at QuantumHangar.Commands.HangarSimpAdminCommands.<SaveGrid>d__0.MoveNext() in C:\Users\Garrett Fulghum\source\repos\QuantumHangar\Commands\HangarAdminCommands.cs:line 86
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
05:15:02.5463 [INFO] Initializer: Generating minidump at C:\Torch-Servers\TDRAC04\Instance\Minidump.dmp
05:15:02.5463 [ERROR] Initializer: Keen broke the minidump, sorry.
05:15:10.8901 [INFO] Torch.Managers.PatchManager.PatchManager: Patching begins...
05:15:10.9682 [INFO] Torch.Managers.PatchManager.PatchManager: Patched 2/12. (16%)
Been seeing a few times now that when someone uses hangar save (or h save, doesn't matter); the sbc gets created properly, the grid gets removed from the world; but the grid doesn't show up in their hangar list until we run !hangar sync on them.
23:58:29.3995 [INFO] Torch.Commands.CommandManager: Player alucard0909 ran command '!h save'
23:58:29.4216 [WARN] QuantumHangar.Utilities.HangarChecks: Checking for exsisting grids in hangar!
23:58:29.4216 [WARN] QuantumHangar.Utilities.HangarChecks: Checking Grid Name
23:58:29.4216 [WARN] QuantumHangar.Utils: Running GridName Checks: {Fenris D4 (Printer)} :False
23:58:29.5222 [WARN] QuantumHangar.GridMethods: Successfully BackedUp grid!
23:58:29.5222 [WARN] QuantumHangar.GridMethods: C:\Torch-Servers\GarageSEDS5\76561197998339440\Fenris D4 (Printer).sbc
23:58:31.4370 [INFO] Chat: [Private:199687944342863981] jjkflittie: can you hangar bases?
23:58:33.5613 [INFO] Torch.Commands.CommandManager: Player alucard0909 ran command '!h list'
23:58:33.5613 [WARN] QuantumHangar.Utilities.HangarChecks: 34
23:58:33.5613 [INFO] Chat: Hangar (to alucard0909): You have 34/50 stored grids:
[1] - 11117_523_smlw2_08.14.2020_16.04.13
[2] - 12013_545_S-Missile 24 8.31 (fired)_09.01.2020_15.31.52
[3] - 43014_1241_Land-Missile 26_08.30.2020_18.22.30
[4] - 43014_1241_Land-Missile 30_08.31.2020_00.19.09
[5] - 9237_669_Garm Al6_08.31.2020_12.09.01
[6] - Land-Missile 30
[7] - Sml8 (LV)
[8] - Small tower (LV)
[9] - Centurion (LV)
[10] - Sml2 (Printer)
[11] - Sml13 (Printer)
[12] - Sml15 (Printer)
[13] - Anti bombing platform 6 (LV)
[14] - Anti bomb platform 3 (LV)
[15] - Anti bombing platform 5 (LV)
[16] - Cerberus + 17 (Printer)
[17] - Valkyrie (59.8k, 183km KOTH)
[18] - Hoplite K (Printer)
[19] - Hoplite J (700KM KOTH)
[20] - Tower D (Printer)
[21] - Tower L (Printer)[1]
[22] - Tower P (Printer)
[23] - Hoplite B (Printer)
[24] - Hoplite DO (Printer)
[25] - Hoplite Y1 (Printer)
[26] - Fighter 5 (120km KOTH)
[27] - Fighter 3 (120km KOTH)
[28] - Hoplite Y (Printer, damaged)
[29] - Mary Delta (Printer)
[30] - Fighter 2 (120km KOTH)
[31] - Tower I (Printer)
[32] - Fenris B3 (Printer)[1]
[33] - Fenris H3 (Printer)
[34] - Type B Fighter 2 (Printer)
Had the plugin installed but the main "Hangar Config" had "Enable Plugin" unchecked
https://i.imgur.com/qITTTPB.png
That made me think nothing from QH would be accessible / run
Buuut I had left Autohangar configured to nab things >30% below surface
https://i.imgur.com/NYLocy6.png
and a grid got snatched up by QH and confused the hell out of me
Encountering issues live on production for The Expanse Vanilla which runs a few plugins.
Players are using !hangar save on grids that are over the servers allowed keen block limits(ex, grid with 20 grinders from 2 players, player keen block limit is 15). These players are then unable to !hangar load the grid back into the world.
This has cost us a huge labor cost on staff having to manually load these grids back into the world. Is this a known bug where !hangar save does not perform a keen block limits check but !hangar load does?
We are unable to use the work around of not checking limits for !hangar load, as many players use it to bypass keen block limits restrictions.
Thank you so much in advance, QuantumHangar has been an amazing quality of life improvement.
57c0c77 effectively disabled nexus support for grid load by introducing a new Config.NexusAPI
setting by default disabled (false
).
Using this as a tracking bug for what needs to happen so we can restore nexus support for grid load.
Players requesting a way to do like; !hangar gps 1
to get the gps point 1 would load at if it has a forced position (just return "will spawn enar player, no forced gps" or something if it's not)
Hi there, I use Server Blend for hosting my SE server specifically but i think its the same for all rented servers where you don't get access to the torch panel. I have to edit the actual config file itself. Not too bad but the documentation for the plugin doesnt include what the written options in the config are. For example in ForceLoadMearPlayer I want to set it to the option of having grids spawn where they were saved but I don't know what the written code for that is and thus can't edit this. If you could provide the written options for the config that would be awesome.
Thanks
When ingame on 3.1.02 running hm save while looking at a grid or hm save "gridname" dont seem to work at all.
12:50:52.3412 [INFO] Hangar.CommandSystem: Running Admin command!
12:50:57.3418 [INFO] Chat: Hangar (to TwistedGrim): Saved Failed!
12:50:57.3418 [INFO] Torch.Commands.CommandManager: Player TwistedGrim ran command '!hm save "Twisted Solar Cluster Spawn"'
https://i.imgur.com/L2Ah5lN.png
https://i.imgur.com/lcXpJCt.png
Saved 5 copies of "DirksFavoriteHat"; all past the first got appended with [1]. I would have expected [1], [2], [3], etc to avoid dupe names
11:24:32.8893 [WARN] QuantumHangar.Commands.HangarCommandSystem: 76561197982600699 Action completed!
11:24:37.8581 [INFO] Torch.Commands.CommandManager: Player Kontu ran command '!h save'
11:24:49.8581 [INFO] RexFix.Patches.ClusterReorderPatch: Clusters reordering. Prevented 12182 reorder calls.
11:24:59.8425 [INFO] Chat: (to Kontu): Invalid Syntax: !facinfo <String tag> [Boolean members]
11:25:02.7487 [INFO] Torch.Commands.CommandManager: Player Kontu ran command '!facinfo Kontu'
11:25:22.0457 [INFO] Torch.Commands.CommandManager: Player Kontu ran command '!facinfo Storm'
11:25:41.2645 [INFO] CrunchUtilities.CrunchUtilitiesPlugin: Updating names
11:25:42.0770 [INFO] ALE_Biggest_Grids_Broadcast.GridsBroadcastPlugin: Removing Biggest Grid GPS from all Players.
11:25:42.0926 [INFO] Torch.Commands.CommandManager: Server ran command '!sendmixgps true true'
11:25:43.8895 [ERROR] QuantumHangar.Commands.HangarCommandSystem: Task is being removed! Status: Faulted Errors: One or more errors occurred.
11:25:43.8895 [INFO] Torch.Commands.CommandManager: Player Kontu ran command '!h list'
!h save did nothing in game, !h list and !h load also dont
!hm commands work fine
11:26:39.1878 [INFO] QuantumHangar.Serialization.GridSerializer: 1
11:26:39.2034 [WARN] QuantumHangar.Serialization.GridSerializer: Saving grid @C:\Torch-Servers\PATCAT02\Instance\QuantumHangar\76561197982600699\Large Grid 5034.sbc
11:26:39.2503 [INFO] Chat: Hangar (to Kontu): Save Complete!
11:26:42.2972 [INFO] Chat: (to Kontu): Invalid Syntax: !hm list <String NameOrSteamID>
11:26:44.4222 [INFO] Chat: Hangar (to Kontu): Players has 1/60 stored grids:
[1] - Large Grid 5034
11:26:44.4222 [INFO] Torch.Commands.CommandManager: Player Kontu ran command '!hm list Kontu'
11:26:46.0628 [INFO] Torch.Commands.CommandManager: Player Kontu ran command '!h list'
11:26:46.0628 [INFO] Chat: Hangar (to Kontu): You have 1/60 stored grids:
[1] - Large Grid 5034
11:26:46.0628 [WARN] QuantumHangar.Commands.HangarCommandSystem: 76561197982600699 Action completed!
11:26:49.0003 [INFO] Torch.Commands.CommandManager: Player Kontu ran command '!h load 1'
11:26:49.0003 [WARN] Hangar.PlayerHangar: Attempting to load grid @C:\Torch-Servers\PATCAT02\Instance\QuantumHangar\76561197982600699\Large Grid 5034.sbc
11:26:49.8909 [INFO] RexFix.Patches.ClusterReorderPatch: Clusters reordering. Prevented 11074 reorder calls.
11:26:51.5159 [INFO] Torch.Commands.CommandManager: Player Kontu ran command '!hm load Kontu 1'
11:26:51.5159 [WARN] Hangar.PlayerHangar: Attempting to load grid @C:\Torch-Servers\PATCAT02\Instance\QuantumHangar\76561197982600699\Large Grid 5034.sbc
11:26:51.5316 [INFO] Chat: Hangar (to Kontu): Spawning Complete!
SE v1.198.24
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.