#Lobby Control & Matty's Fixes
1 messages Β· Page 8 of 1
Is the non-experimental version of fixes not working in v55?
i've been reported it has some issues with cruiser
plus the already existing issues in some apparently frequent edge cases
so i took v56 opportunity and did a full rewrite
Nice! Can't wait for both of these to be fully stableπ
I'll definitely be testing out Fixes later today
i apreciate you guys testing as i am not able to play anything for the time beeing ( RDP is decent for coding but definitely impossible for gaming )
How's lobby control coming along? I haven't really been able to test that since I don't have another person to test with
lobby control stable, was working fine in v50, the only reported issues where:
- cruiser not disappearing/spawning with
lobby loadcommand - lateJoiners that took the place of a player that disconnected while in the cruiser would have a broken animator ( same as the invisible issue when player disconnected when dead )
- somehow
lobby clearnot working
car is a zeekers issue as he never deletes it if you get fired π€¦
i added a temp fix in experimental but hope he fixes it on his side
the animator i just applied the same solution i do for dead players.. i just kill them again as soon as they join π
Oh niceπ I use it in my modpack, and was wondering about it for v55 mainly. So which build would you recommend using? I tend to forget about the lobby commands most of the time, so them not working rn isn't that big a dealπ
experimental simply has some attempted patches for the problems i listed but is essentially the exact same as stable. so either of them should work
obvs experimental could lead to some issues but so far nobody reported any
also since zeekers changed the values for ItemsSaved and Synced . the "Moreitems" patches in stable do not work in v50
I'll probably switch out the live version for the experimental then π
still with the savelimit to 200 ( 1A3 correct me if i'm wrong ) and sync limit to 500.. i doubt anybody is going to notice
hi, A1C here, i think its 400?
decompiler actually still says 45 π€
it's still 45 in code but this value is serialized to inspector
so the inspector value is what's actually used
it was increased to 400 sometime during v50
that makes sense. i still yeet the checks entierely anyways π€£
int.MaxValue 
i litterally remove the IL lines where it checks... so mine is greater than int.Max i guess π

also i totally just got this from copy pasting what 1A3 said to matty before, lol
just to clarify
does mattyfixes experimental fix the cruiser manual falling out of bounds when you order it
in theory yes
Would be nice to have a SaveFile list command in Lobby Control and the option to delete saves
Just for convenience, that I don't need to open the folder
currently it's not really possible. LC save files do not have an extension thagt can be used to easly recognize and are kinda just thorwn randomly inside the LC save folder together with a bunch of other files or varying degrees of importance
i could limit the names to only the files starting with "LCSaveFile" but that would come with a bunch of other issues
i'm going to drop here a "more than Experimental" version
with a rewrite for the vertical_offset system
it is so experimental that i made a new branch in my github for it π€£
also has a bunch of logspam during the calculation to help iron out issues
i'm mostly interested in how it interacts with modded scrap
^ also if using this version please set the config ItemClipping.verticalOffset to 0.01 or higher ( new default is 0.01 )
using mattyfixes experimental spammed the log with errors about not being able eto find the cupboard
the thunderstore release, not the one posted here
it seemed this would happen like 8-10 times each time i rehosted
and eventually items started to fall through the cupboard on reload
Yeah the Cubpoard stuff in MattyFixes rn is broken
Everything else with Experimental seems to work though
yeah TS release is broken i've been reported so and am trying to fix it
will probably release soon today something to target that.. still will probably not solve the items falling through the cupborad
if you want do you mind testing this? new default ItemClipping.verticalOffset is now negative -0.01f
i kept closing and reopening the same save w/o touching anything
why tf items are "drifting" in Z direction?
Pushed the Alpha to Experimental.. please remember to reset the ItemClipping.verticalOffset value to the new default
for the record this is all you need to fix items falling though furniture on Load on the host!
[HarmonyPostfix]
[HarmonyPatch(typeof(StartOfRound), nameof(StartOfRound.LoadUnlockables))]
private static void CorrectlyPlaceAllUnlockables(StartOfRound __instance)
{
foreach (var placeableObject in Object.FindObjectsOfType<AutoParentToShip>())
{
placeableObject.MoveToOffset();
}
Physics.SyncTransforms();
}
basically the postion of furniture is only updated after 1 frame. and only at the end of the frame, so basically 2 frames
this forces it to update immediatly
Will any of the manual offsets that I've done need to be redone?π
not really if you feel they are good as they are just keep them
verticalOffset is a single float. that is applied to all computed values
manalOffsets are a different setting
Oh nice, good to know π
I see you also have the plushie in yours XD
the only one that needs to be updated ( if you have not tweaked it before obvs ) is vertical
grabbed the pic from Lunxara pack
also Experimental allows you to tweak rotation of any item
I saw that, but so far I haven't found anything I want to use it onπ
i belive Lunxara used it to align the rotations of the GoldScrap
The gold scrap? From LCGoldScrap? Or the bar of gold?
I don't use the golden scrap modπ
golden scrap mod
I had to look it up, I couldn't remember what it was calledπ
oh hol up
is the regular lobby control available to use now?
it got updated like 20 mins ago, but the only thing in the changelog i see is that it keeps the cruiser after closing the lobby
well yeah that was the only real change in v56 π
and no it correctly deletes/loads the cruiser
there are quite a few versions since last stable
nah i just never relased 2.4.3.1 not even in experimental
OH i didn't even see 2.4.3 down there
So a hotfix?
okay that's just my bad then
NOTE: MattyFixes cupboard patch
the patch turns out to be inherently incompatible with LethalPipeRemoval due to the way the other mod moves furniture
if you have LethalPipeRemoval there is a high chance of CupboardFix not working
Cupboard fixed the collision glitch right?
items falling though the storage on load
and them not parenting to the storage when inside it
just for clarity i dont use lethalpiperemoval
havent had a chance to test the new versions though
so my cupboard issue might've been fixed already
a lot of issues have been fixed in the last two Experimental releases
ye
still having issues with the cruiser immediately dropping its manual out of the map when landing
this is on latest mattyfixes experimental with vertical offset set to -0.01
items also get placed incorrectly on the truck shelves when it's tilted
latest is v1.1.5 sadly TS is taking it's sweet time to release :/
the manual is a MattyFixes issue or is vanilla?
if you're in 1.1.5 can i ask for your logs?
i have never seen it occur without using mattyfixes and i havent seen anybody else reporting it *in vanilla
but i suppose it is possible
i have logging mostly disabled on this profile but i will go generate some logs in a test profile
interestingly, it was fine the first time i tried it on a profile with nothing but mattyfixes experimental
i took a peek at the default config and it is completely different from the one on my other profile which seems weird
... wait nvm im just an idiot
for some reason i toggled off experimental and toggled normal mattyfixes on (on my other profile, with the bug)
so i think im actually just full of shit
using mattyfixes experimental 1.1.4 causes weed killer to be clipped into the ground on default settings though
yeah v1.1.4 uses a multiplication instead of a division for verticalOffsets
it's fixed in v1.1.5
but TS for some reason is holding it back since 2h
i think it was just a case of me using the wrong version, in this case
but i will let you know when i get some time to try 1.1.5
thx for your time
speaking of which, 1.1.5 shows for me now
86 minutes gotta be the longest TS delay i've seen
oh well there definitely seem to be problems
all of these keys should be sitting on the table with the batteries
and it appears my jetpack (and what might be my flashlights and walkies?) have gone to heaven
π. can i have some logs?
just a sec
... well
i was going to order weed killer and a pro flashlight
so i could test placing the weed killer on the shelves
but immediately after they dropped out of the ship they just started endlessly floating into the sky
here's the log
Β―_(γ)_/Β―
just bepinex and matty fixes so hopefully it's easy to pore through
thanks... i have no idea where stuff is going wrong
or better i know where.. just not why
for what it's worth, 1.1.4 is pretty functional
some items have ugly offsets but it's not a big deal
i assume you could also just temporarily turn off item clipping in 1.1.5
perhaps
but yeah this floaty item thing is definitely a major bug
how stable is the experimental release?
last few updates seems good except ItemClipping
I'd stick to stable for now
now that's flush π
apparently i was mis-interpreting a Unity API
does dropping items in the CC use a different method??? the vertical position seems to randomize every time i try to drop the lamp π
Most likely
Zeekerss probably has the CC setup differently
I dont think so
It still uses DiscardItemFromPlayer
Or whatever the method is called
Well it does branch off differently
Since it parents to the truck
There's a debug log about the item getting parented, that's the branch it ends up to
Since it just drops, finds the transform of the truck, gets its network object and parents to that
@brisk sierra can i ask you to do a profiler run on this MattyFixes build?
can you manually
i'd be intrested in knowing how expensive the functions in MattyFixes.Utils.VerticesExtensions are
i cannot sorry
#1259442214921175082
it's fine. that's why i asked
π
sadly i do not use unity. only Rider
maybe this one could work π€
https://github.com/BepInEx/BepInEx.Debug/blob/master/README.md#simple-mono-profiler
i can profile it after 30mins
but please add profiler markers so i don't need to enable deep profiling
#define ENABLE_PROFILER
namespace ...
private static readonly ProfilerMarker s_UpdateShaderVariablesXRCB = new("DiFFoZ.HDCamera.UpdateShaderVariablesXRCB");
s_UpdateShaderVariablesXRCB.Begin();
// ...
s_UpdateShaderVariablesXRCB.End();
oh ok i'll add it to the points i'd like profiled
does it stack or overwrite if run multiple times?
probably should stack
cause the code i'd like info on runs:
- once for each item type ( when said item is first spawned in world )
- once every time an object is selected to be hit by lightning
they are two different methods
i'll put markers around the calls and we'll see
like this?
obvs i put the Begin/End in the right places in the code
no hurry do it whenever you can/want
and thx for the help
^
first is in prefix of GrabbableObject.Start
second is in postfix of StormyWeather.SetStaticElectricityWarning
i excpect a function called GetChildVertexes to be the most expensive one.. but i have no idea how much
oh intresting. applying matrixes / doing aggregation work on lists of vectors is not that heavy...
and the only issue is meshes not being readable therefore it using the hack way of querying the vertices from GPU instead π€
could you try to spawn an LGU item? i remember WhiteSpike marked them all as readable last time i requested it π€
i don't have LGU in my modpack π₯Ή
i do not know if other scrap/item mods have readable meshes. π
how's the lightning one instead?
how do you even mark a mesh as readable lol
^
Nom.
this is also what the game requires to properly show lightning particles in compiled builds
and why when run in editor shows them properly ( all meshes are readable while in editor )
π
π
what's taking time there? the request seems to be just a small part of the call π€
also thanks for the help π
π .
you can try to wrap more thing with markers
that's the problem most of it is a big recursive call ( going recursive inside each child of the GameObject i'm "reading" )
here is logging
GC.Alloc
0.008ms
Current frame accumulated time:
7.95ms for 1220 instances on thread 'Main Thread'
16.93ms for 2851 instances over 2 threads
Size: 128
Call Stack:
MattyFixes.dll!MattyFixes.Utils::VerticesExtensions.TryGetCentroid() <a href="./src/Utils/VerticesExtensions.cs" line="1">./src/Utils/VerticesExtensions.cs</a>
MattyFixes.dll!MattyFixes.Utils::VerticesExtensions.<TryGetRadius>g__Logfunc|4_0() <a href="./src/Utils/VerticesExtensions.cs" line="62">./src/Utils/VerticesExtensions.cs:62</a>
MattyFixes.dll!MattyFixes.Utils::VerticesExtensions.GetChildVertexes() <a href="./src/Utils/VerticesExtensions.cs" line="81">./src/Utils/VerticesExtensions.cs:81</a>
MattyFixes.dll!MattyFixes.Utils::VerticesExtensions.TryGetRadius() <a href="./src/Utils/VerticesExtensions.cs" line="69">./src/Utils/VerticesExtensions.cs:69</a>
MattyFixes.dll!::StormyWeatherPatch.ChangeParticleShape() <a href="./src/Patches/ItemPatches.cs" line="538">./src/Patches/ItemPatches.cs:538</a>
DMDASM.3B5E25D8.Cecil.dll!::DMD<SetStaticElectricityWarning>?2013449850._StormyWeather::SetStaticElectricityWarning()
Assembly-CSharp.dll!::RoundManager.ShowStaticElectricityWarningClientRpc()
Assembly-CSharp.dll!::RoundManager.__rpc_handler_3840203489()
π€¦ it's still running the log function even if verbose logging is disabled
wait
let me add some more markers
ok
uhh i probably messed up something with the markers there
radius is the expensive one
radius is the wrapper XD
radius calls the other π
the stack is:
- TryRadius:
- getVertex ( recursive )
true i never check how many vertices it finds π€
wow what has so many vertices?
and even 3 times
oh it iterates over them each recursion when applying the localMatrix to them
large axle
i'm evaluating for the lightning if to keep it , cache it or yeet it and go back to the renderer bounds π€
use array and list pool please
list pool?
yeah it's unity thing
π€ how do i make this with the ListPool tho?
:/ sure
i mean foreach once instead of 3 times
this is inside in the recursion
i've yet to recode the Radius method
you meant like this?
code is in profiler branch
i can't tell did it make a difference?
here it was 0.73 π€
thanks for testing it btw
i know i'm repeating but i'm really thankfull π
i knew this approach was going to be heavy. so any help optimizing it is apreciated
as the previous one was not working most of the times
I can pr to make it allocate less gc if you need
that will surely help, from what i see the biggest time is now actually the semaphore waiting for mesh data right?
yeah
i'll probably make a cache for the mesh vertices, but will no be too helpful when it runs only once most of the time π
i've put some kind of caching for the mesh vertices.. hopefully this will improve performance
(at the cost of a small stutter when joining the lobby StartOfRound.Awake)
sh t
π sry
https://github.com/mattymatty97/LTC_MattyFixes/pull/18
Sorry that I submitted it in 1 commit
Also, I used unity modules package, so probably it may not build on your side
Will test the performance rn
you'll have the second commit to fix the conflicts π€£
no allocation in the profiler
well probably some in the "cache..." methods thoose are still using my old logic π
but nice
btw i changed my sums to adding the 3 components because i read this:
https://www.reddit.com/r/Unity3D/comments/7w0dvm/dear_unity_why_vector3_isnt_optimized/
that 7 years old reddit thread
fixed some more stuff
what package are you using? if it is bundled with the normal installation of LC i can easily reference it π€
so far only one line is complaining :
vertices.ToNativeArray(AllocatorManager.Temp)
found it:
Unity.Collections.dll
how bad is the call now with all thoose tweaks?
is better to only run it once or i can, for example, recalculate the offset each time an object is dropped?
@still stirrup i'm checking why the cruiser manual always clips through with MattyFixes... but from what i can see it is categorized as ClipboardItem ( so same as the normal Clipboard ) therefore all my patches should ignore it π€
you're the one that changed the detection for clipboard and stickynote
well my fix definitely worked on TooManyItems cuz i tested it
so I'm guessing there's something in MattyFixes that isn't in TooManyItems that causes it?
oh is it fixed in current TMI release?
i guess the issue i received was about stable MattyFixes then π€
last time i used mattyfixes experimental the clipboard wasnt falling out of the truck yeah
well i checked it before i submitted the PR so it should be
@brisk sierra Is there no way for Matty to fix compat with LethalPipeRemoval? I like my storage cabinet starting off moved and I'm tired of Matty's fix for the cupboard not working with it lol
so, there is a issue with lobby control, when people join after the game starts, for the host the player that joined is not invisible, but for other players that already joined the player who joined after the game started is invisible
the only version that i dont have that issue is v2.3.6
yeah this happened to me today too
i've been reported it a couple of times, but never managed to find what was causing the issue in the code π€
typically making the invisible player relog fixed the issues
mhm, it fixed it which was good
I thought of displaying all files without extension, except LCGeneralSaveData (and maybe LCChallengeFile).
Filter out files that have a . in filename
I think most mods use extensions, if they put files in the games folder
until it gets fixed, im gonna stay with v2.3.6
v2.3.6 will not handle any of the new stuff from v50 and v56
also the dead invisible player fix also wont work as zeekers changed the kill method
pretty sure the invisible player thing happened to me before v2.4.0
still works for me
(btw try to fix it fr)
i am, just i wasn't able to reliably reproduce it
@unreal oriole idk if u have a thread for ur position and rotation mod for unlockables and stuff
but it brokey
or smthn
mrov pinged u in luni's server about it, have fun there
already received a prior report of it XD. will fix tomorrow
oki
sending my log files works?
im gonna try to reproduce it later
hi, i'm making a pack that's oriented around pure perfomance with absolutely minimal qol, how much of a performance impact does this mod have?
my only performance mod is #1217111718224728165
while i always try to code stuff with as low performance impact as possible all my other mods are not focused on that
MattyFixes/LobbyControl are QOL
AdditionalNetworking is for desyncs
QuickSandColor/DoNoEatItems/ImmmovablePlayers are all in their own category as change vanilla gameplay
FurnitureLock is the newest addition ad can probably be categorized as QOL
Still waiting for that mod that properly removes the level and VIP Employee badge from you
lol
why
Because we use BetterEXP now so the badge doesn't sync
XD
It's for QOL lol
oooo, wait does that work together with coroner 
i might consider using that 
It does
sweet, thanks for bringing it up lol
at that point shouldn't it be a request to BetterEXP?
either to sync the badge or be able to toggle them off
I tried making a request on their github once and the dev never responded to me
So I won't even attempt to request anything else
to quote somebody you know:
skill issue
π€£ jk, i'll see what i can do once i have time
XD
had stuff fall through the cupboard onto a lower shelf
not all the way through
but just the wrong shlef
using latest
Yeah I told Matty
The 2nd shelf is broken and Items on it fall to the 3rd
Other ones work fine
happened for all shelves except the bottom for me
top fell to 2nd, 2nd to 3rd, most of 3rd to 4th
that is probably affected by items with a negative vertical_offset.. as their position is saved lower than they are π€
Well for us it happened with Flashlights and Weedkiller
Soooo
I think the cabinet fix is just janky
should i work the other way, and instead of moving stuff up on load, shift them on save instead π€
weed killer, like fancy lamp indeed has a negative offset
So how do you plan to fix this?
i'm evaluating the options
You got this ^^
the easiest one would be to shift the stuff before saving it to file instead of after loading it
it seems to be working and now as a plus stuff that was on top of the storage will stay up there π
Nice π
this also has the side effect that. the OutOfBounds fixes of the mod will also apply the first time you load the save in vanilla π€£ but only once π€£x2
could this mod be causing desync between players interiors? Is there a mod known to be conflicting with this mod in the profile, I can't figure out what is causing the issues 0190c591-cd75-eae2-eac8-5fc4d21e4ee3
any interior desync comes from mods that are modifing moons/dungen
this mod only allows people to join in orbit.
i've been re-reported of masks floating to heaven when dropped by clients with Experimental.
does any of you have a Verbose log ( config -> Debug -> Verbose -> true ) of this happening?
and apparently specifically by clients and not by the host β
masks are special?
they have always been weird.. that's why stable had them in the default vertical offset list
Damn, I didnt know masks have never sinned.
What features from Matty_Fixes are working without clients having to install the mod?
Does it make sense to use the mod as a client in public lobbies?
matty fixes is entirely client-side
just to check if anybody might have a similar issue
is it a known bug that having additional networking prevents the apparatus from muting itself for all clients when picked up
because i dont remember ever having this issue in vanilla but i feel like it's been occurring recently
even after i fixed the thing causing it in butteryfixes (oopsie)
not 100% certain it's additionalnetworking but it's at least my best guess, at this point in time
Do you have lethal resonance? I know the soundapi breaks it and causes it to not mute itself unless you have mrov's "mute apparatus on ship" mod
dont have lethal resonance or the soundapi
AD shouldn't be causing that kind of issue as all the vanilla code still runs
as the name implies AD adds more RPCs after the vanilla code to fix various kind of desyncs
cool
i said "shouldn't" so if you can reliabily make it happen and can pinpoint AD beening the cause i'll def look into it
it seems like it must be something interfering with EquipItem being called on the apparatus for all clients, just not sure what that would be
ik having an apparatus in ship and reloading the lobby, will make the apparatus reset to its plugged in state
so humming sound and all the cinema when you grab it
sometimes freshly unplugged apparatus are still making noise which definitely shouldnt be happening
i'm working on adding a fix for that in Matty Fixes
ah
the reload one
not sure what might be causing your issue, but mrov had to make a patch to stop it humming once you drop it
yeah
It seems the cruiser still doesn't get deleted after ejecting
I know it's a zeekers problem, but I was under the impression there was a fix for this
at least it loads when it should
Ok, so, I sold every scrap I had...
Manually saved
(This is all with autosave disabled)
Then I went to a paid moon, changed my mind, reloaded the save
there's a random bell in my ship now
that bell might've been glitched somewhere out of your sight and was just placed back here lol
Maybe, I definitely never placed a bell that deep in the ship
extension ladders are being dropped rotated 90 degrees from the direction they are meant to
seemingly because of the mattyfixes experimental update
which makes deploying them completely different
you need to regen your config
That's why
yeah new version uses the 2nd value of itemRotation ( the y value )
you need to check the defaults again for them
next version will have default be the string "default" so it will not be affected in newer updates
Clients still seem to see new players invisible when I reopen the lobby pretty consistently
This is the mods I have, dunno if there's a conflict or what 0190fc0b-9d9e-9b16-80b7-d8304338886f
it is still an attempt
but still better than just using latecompany in my case
but yea i hope someone can figure out the invisible/not being listed in the crewmate list part
I feel like this started happening on V55
So if I use like ShipLobby, it would still be a problem? Is it even compatible?
would be even worse i think
AFAIK if the new player rejoins the lobby it shoooould fix it? But its still annoying and why i dont use late join mods
nope, still invisible
but if the old players do rejoin they see them again
Might as well just reload the lobby at the point then anyways. Really wish late joining wasnt so finnicky OTL
lobbycontrol is by far your best bet for it
but yeah latejoin is always going to be finicky
vanilla makes so many assumptions that just dont work with latejoin
hey so a friend of mine whenever they host their lobby has an issue where people can't pick up specific items, they turned off force drop but now it happens for items that get dropped by mobs or players at random, is this cause of the ghost items setting?
yea i turned off force drop and ghost items,
had problems with them in the past
one question, did you have to turn on sync on use or sync on interact?
both set to false(default)
aight
ty
god damnit it's still happening
just that there's no message now
player died and their items are not grabbable
must be something else then?
i barely have any problem left after turning those 2 off
what mods u have
????
why they only have 23 when u use 73mods modpack
that should be the main concern no lol
they're all client sided
other players report the same problems as me
not everyone
so it's clear it's some ghost items
what about yours
never happened on my servers
no one ever reported issues of item desyncs
and it was randoms
im not sure then
could be one the admin/anticheat mods
i never used them before tho, cant help much
damn
all the settings under ItemSync section are there to prevent some really bad desyncs.
if any of them trigger it means that w/o the setting you would have some really bad situations:
- GhostItems and ForceDrop are tied and work together to exactly prevent
player died and their items are not grabbable
this happens because one of your friends has a mod that edits the inventory ( typically reserved slots/extra slots 9
. Ghostitems only prevents them from picking up too many items, ForceDrop uses the only vanilla way of re-syncing the inventories between clients by dumping all items to the floor
- ShotgunReload, SyncOnUse, SyncOnInteract all are related to eachother and attempt to fix a different, less dangerous desync that typically happens when people have different GI settings between each otherhttps://cdn.discordapp.com/attachments/1211989201793449994/1227685531505135729/image.png?ex=66adcd00&is=66ac7b80&hm=844b28e0769ff19ec3922d585624a351940156c7d09e3220dbd7a2aa800a18ee&
when client and server have desynced active slot and the client tries to reload a shotgun there is a 1/4th chance of it deleting itself completly bricking the lobby. and a 1/2th of it deleting something else instead of the ammo
TL;DR: if your friends trigger the "drop-all" message then there is a bigger issue in the modpack and toggling it off from LobbyControl will only hide it without solving the root cause
i could put them under a "Verbose" config but they are visible for a reason π€
they should only appear once per action ( well twice if you're the host )
if you see many of them then you probably have a mod doing weird stuff with the inventory
i guess so but thank you 
i've complied anyways and the new release has most of the debug logs under the Verbose config toggle
I've not had any issues with your mod in a long time anyways so if we ever have problems I'll be sure to reenable the loging lol
@vagrant root have you had time to check the scan mod? i'd really appreciate some feedback from someone who might actually use it π
I haven't, I've been helping Starlancer test an update for AiFix but I suppose I could add it to my testing pack
I have an issue with my friends will have shovels in their hand, but we cant see them
I have all the fixes mod btw
lethal fixes
buttery
matty
test account
noone of this mods can fix desyncs , some can mitigate them but there is only so much that can be done while maintaining vanilla compatibility
if you don't care about vanilla compatibility then you can try and have everyone install AdditionalNetworking
bet thanks!
20:27:48.9256715] [Warning:Matty's Fixes] Requesting vertices for Hazeel (UnityEngine.Mesh)
[20:27:48.9256715] [Error :Matty's Fixes] LethalLevelLoader|Hazeel'smark.Hazeel's mark crashed badly ! System.ArgumentException: Cannot use any of the following characters in section and key names: = \n \t \ " ' [ ]
Parameter name: section
at BepInEx.Configuration.ConfigDefinition.CheckInvalidConfigChars (System.String val, System.String name) [0x0004b] in <fe49c90fe8e24102b42489c11910c71c>:IL_004B
at BepInEx.Configuration.ConfigDefinition..ctor (System.String section, System.String key) [0x00006] in <fe49c90fe8e24102b42489c11910c71c>:IL_0006
at BepInEx.Configuration.ConfigFile.Bind[T] (System.String section, System.String key, T defaultValue, System.String description) [0x00000] in <fe49c90fe8e24102b42489c11910c71c>:IL_0000
at MattyFixes.Patches.ItemPatches.UpdateItemRotation (System.String modName, Item item) [0x000a4] in ./src/Patches/ItemPatches.cs:273
at MattyFixes.Patches.ItemPatches.AwakePatch (StartOfRound __instance, System.Boolean __runOriginal) [0x00156] in ./src/Patches/ItemPatches.cs:343
Any idea what this could be? Trying to figure out whats causing this so I can weed out the broken stuff from my mod pack. Got one also on another item but that item still spawns and functions like it should.
"hazeel's mark" contains an apostraphe which can't be properly parsed
for some reason or another
Is this gonna cause issues? I ended just removing Mithzans scrap cause of these errors. Which makes me sad cause I love those ones.
My inventory freezes sometimes whne putting stuff on the sell counter
This mod is one of the mods that mentions changing items
Unfortunately the log was too cluttered with
[03:21:14.7807947] [Info : Unity Log] grabInvalidated: False
for me to find anything
this mod does not change item grabbing and even adds some server side checks to try and prevent you from softlocking..
as far as i'm aware that is still a vanilla issue and AutoGrabFix before now TestaccounfFixes should solve
it happens rarely in vanilla and more often on modded when there is mod that make item swapping/scrolling/dropping/picking up faster. maybe an improperly set up scraps too
but yea testaccountfixes mod have a fix for that
Gonna test, test account fixes next time
@unreal oriole
I have noticed a lot of mods were removing LobbyCompatibility as a dependancy and I was wondering if you planned to remove it from "DoNotEatItems". It seems to be the only addon in my pack still using it and players have had problems with Lobby Compatibility not allowing lobby join as it does not detect the mods properly between players. π
technically i've implemented it as a soft-dependency ( meaning you can safely remove/disable it ) in DoNotEatItems too.
but the mod breaks really bad if it's not installed by everyone
so while you can disable/delete LobbyCompat i Highly suggest you to ensure everyone has exactly the same pack
Does this work with v61?
Yes, the only error you'll see is when MattyFixes touches the Apparatus offset but nothing breaks
Alrighty
wrong!
the reported error is unrelated to MattyFixes
as far as it's been tested all my mods seem to work fine in v61
FurnitureLock sliglty broke the cupboard in v60 but zeekers solved the issue on it's own in v61
still waiting for some more tests before marking the threads
all of the mods have worked ok for me
that being lobbycontrol, mattyfixes experimental, additionalnetworking, and asyncloggers
i'm like almost 200% sure this lobbycontrol mod is causing me to have permanent weight
ever since we installed this mod our party has consistently been getting randomly hit with permanent weight
or invisible weight froim no items
either at random or when we're at the company and we're selling and mashing E on the sell portal and it just adds weight there
which sucks because im pretty sure this is the exact problem this was supposed to solve (?)
It's not LobbyControl
you have a scrap mod that adds negative weight
It's probably not on purpose, they just messed up when adding the scrap
Normally this issue is caused by a negative weight scrap
i can't think of any mod we've added that adds scrap thats of any significance really
wesleys moons scrap should be good
.....thats it really
i doubt wesleys scrap values have changed within the past 6 months as well and i rarely experienced this before
Could be a shop item. Whatever the item is, it'll be something that's supposed to be 0 weight. So while your holding it it weighs nothing, it's when you drop it that you gain the weight
im pretty sure it happened on a cash register actually
i noticed that sometimes when i try to sell at the company window
i press E
the item disappears and then reappears into my hand
(didn't go into the window)
and then i prss e again and it works as normal
but sometimes when that happens i'll get invisible scrap weight
do any of these have incompatibilities with eachother??
no
because these were the only recent mods ive ever added to an otherwise normally working modpack
the only thing i can think of is whatever that item sync feature is
if you're using testaccountfixes disable the item grab fix
it causes you to immediately pick up scrap after placing it on the counter
Suitsterminal + furniture lock + ship inventory + moresuits causes suitsterminal to not be able to fetch or display any suits other than vanilla.
Removing furniture lock fixes the issue, and going back a version for ship inventory to version 1.0.2.
The ship inventory dev could not figure out how/what caused this incompatibility, hopefully you know
we know ship inventory is having some issues with furniture lock. i'm getting back from vacation tonight so i was planing on answering the ping in #1269100547147829298 thread later today
i belive it's some misconfiguration on their side but we'll see
Oh, I had though you had missed the ping or turned off some notifications and felt it would be rude to ping again mb
no problem. you're genuinely struggling with your pack
It's only this one issue left after the update, and the update didn't even have anything to do with it 
negative item weights only started causing that issue after a change in v55, which is why nobody really noticed that any mods had them for most of the past 6 months
is matty fixes depracated permanently?
Experimental is the one currently supported but not yet fully Stable
i deprecated the stable one because i stopped giving support for it as Experimental now is a rewrite

out of curiosity is there anything particularly unstable or needing testing
been using experimental ever since v56 without issues
outside of those item positioning glitches that seem to be straightened out now
primarly me not beein here to ensure everything works is the reson why it's still in experimental π
ic
this is a weird error
the drop item code triggered but the player is not holding any item
yeah, I was holding a cursed item from CursedScraps with the captive curse and it still let me drop the item after a while (it should not)
if i was not patching it it would have crased normal game function too
yeah, I expect that this is on CursedScraps
just disable CruiserFixes.Enabled and you'll see
I do not want to crash lmao
Cursed Scraps has a lot issues right now. I'd recommend not using it until they update. I believe they were planning on doing a big update to it.
yeah, there's been numerous bugs with it lately, still even though the config for it doesn't change stuff a lot of the curses work, so I disable the ones who throw errors
okay, will it not be named experimental once its stable?
yes once it is stable i will upload it to the MattyFixes main page and un-deprecate it
oki cool
also im assuming ur other stuff doesnt just magically work on v62
just confirming incase i can chuck it in a temp modpack for 10 mins from now
as far as i'm aware all my mods are currently working fine in v62
bepic
i was curious
did you ever implement a fix in lobbycontrol for the cruiser carrying over when you're fired
i think i remember someone mentioning it but i feel like i still encountered that bug after reading that
not for firing. but for lobby load and clear commands
ok i see
i was thinking about fixing this bug myself but just wanted to make sure it was even still a problem
before i get in the way of other mods
i was expecting zeekers to fix it in this update cycle.. but apparently it's intended for it to remain??
or so one of the moderators reported in the official bugtracker as far as i remember
Can I use TooManyItems and Matty Fixes Experimental together?
Just not interested in the Lobby Control stuff
TooManyItems litterally contains fixes with the exact code from either MattyFixes and LobbyControl. i coded it so if it detects one of my main mods it disables the corresponding part.
tl;dr:
it will work but it will be as not having the mod
Players joining late still seem to be invisible for other players in the lobby.
apparently zeekers added a weird check on the RPC i'm using and the fix will only work if the players are friends with the host
the method latecompany is using still works correctly. Wouldn't it be better to just use their method/add compatibility with their mod?
they do not have a method.. they just fix the issue for whoever has the mod. but if a vanilla player joins he's going to see the invisible players
that's why LateCompany has to be installed by everybody to work
weird. It worked when I played with randos π€
while LobbyControl is host only
maybe they also had the mod, idk
I was curious is lobby control able to fix a lobby that soft locked on landing? I haven't messed with the load feature from the terminal commands.
the commands are only available in orbit
so if you have pulled the lever you'll not be able to run any command till you go back
Hmm...didn't think about that. Any chance you can add something to help reset soft locks with it?
Like a command that forces the ship back into Orbit state?
sadly there is nothing that can be done because at that point some of your connected players ( or even the host ) threw an unrecoverable error.. and the only way to fix it w/o knowing what the error skipped is to go back to the menu (and sometimes the menu is not enough and you need a full reboot of the game )
you can use mods like QuickQuitToMenu if you are softlocked so bad you cannot go to the escape menu
Ah gotcha. Thanks for the info.
So does that mean Matty Fixes has the item limit removed? That's the one thing I use TooManyItems for
yeah
I think you still need TooManyItems for the item limit removal if you're not using Lobby Control, Im not a coder and Im probably looking at this incorrectly but it seems like TooManyItems is only patching specific parts, all 3 mods together would be pointless but if you're not using Lobby Control and Matty's Fixes together then TooManyItems will still have some functionality
ArgumentException: NetworkObjectReference can only be created from spawned NetworkObjects.
at Unity.Netcode.NetworkObjectReference..ctor (Unity.Netcode.NetworkObject networkObject) [0x0001c] in <895801699cfc4b4ab52267f31e2a4998>:IL_001C
at Unity.Netcode.NetworkObjectReference.op_Implicit (Unity.Netcode.NetworkObject networkObject) [0x00000] in <895801699cfc4b4ab52267f31e2a4998>:IL_0000
at AdditionalNetworking.Patches.State.GrabbableObjectPatch.CheckScrapHasValue (GrabbableObject __instance) [0x00053] in ./src/Patches/State/GrabbableObjectPatch.cs:32
at GrabbableObject.LateUpdate () [0x00141] in <066a7b7eb8c24d4facd1e255e669803f>:IL_0141
at DMD<>?-463887962.Trampoline<GrabbableObject::LateUpdate>?-1719388982 (GrabbableObject ) [0x00025] in <2e6795a2b5814ecd976c5fe20f9ff7cb>:IL_0025
at EmotesAPI.CustomEmotesAPI.GrabbableObjectLateUpdate (System.Action`1[T] orig, GrabbableObject self) [0x0008a] in /home/runner/work/LethalEmotesAPI/LethalEmotesAPI/CustomEmotesAPI/CustomEmotesAPI.cs:394
at DMD<>?-1807189256.Hook<GrabbableObject::LateUpdate>?291692320 (GrabbableObject ) [0x00019] in <97dfa673d21f4d5fb15c26bf3dba1c90>:IL_0019
erm
why tf is lethalemotes spawning a scrap
and double wtf are they doing so in the f** MAIN MENU?
or am i reading the trace wrong?
yes you reading trace wrong
anyways the error is quite simple on my side:
somehow a scrap item is beeing instantiated w/o being network spawned ( and has scrap value 0 )
which should never happen so i wonder what mod does that
hmm
and my code runs in Late Update so it even survived one entire frame from it's instantiation w/o getting network spawned
...
well yeah. it runs every frame... it's in Late Update
it stops running once it successfully syncs the values but it will never happen if the scrap is not network spawned
i can put a try catch and print the scrap name if you need but that's not going to help you much debugging that modpack :/
this is probably more within the bounds of additional networking
or possibly just a mod conflict to begin with
but are you aware of desyncs that can occur with the radar
i've had a couple of sessions now where a friend has used the teleporter and it shows the particles on the wrong player before teleporting the correct one
or worse, using the teleporter causes the wrong person to be teleported, which can be quite disruptive
on occasion we've even had it teleport 2 targets at once (a dead body and a player)
and it seems like that happens because different people are seeing different people on the radar at the same time
not sure if it's related to boosters cuz i know there's another bug with boosters (at least in vanilla, i thought one of your mods fixed it?)
I remember having this error spam once for me a while back, it eventually stopped and I'm still unsure of whatever caused it tbh
@brisk harbor are you using TwoRadarMaps? there's a lot of bug fixes for the radar targeting in there, so it's possible that would either fix it or be part of the problem
if you figure out a way to reproduce the issue regardless of whether that mod is installed, I'd be interested to take a look too because it's probably something I want to fix on my side as well
it's not likely something that additional packets are needed for as well, I would hope
the radar does send a packet with the current target, but the code around that is kinda screwy
the radar desync is a "vanilla" bug.
i put it in quotes because it only happens in case of latejoin or if you have a mod that allows you to grab all items before landing
it's caused by the Radar Booster as it reorders the radar list when activated
and newly joining clients are not able to reallign the list
yeah, with regard to that particular bug, TwoRadarMaps just sorts it immediately upon taking control of the character
I believe that should prevent any issues with late joining causing desync, but that's not what I tested the fix against
the symptom I noticed was that switching targets would select the same target twice after activating a radar booster, or otherwise have an unexpected order
no we arent
we are using latejoin yeah but i think one time it occurred even when everyone joined in first orbit
but that might be wrong
would be interesting to see if using it fixes that then
I think Lunxara has mentioned it happening though, and I think she runs it
(the fix that would affect late joins is only one of a few)
Is Matty's Fixes deprecated? I know it says such on the Thunderstore page but I just wanted to double check / inquire about it
matty's fixes is deprecated because it was rewritten and is not maintained
matty's fixes experimental is the rewrite and will eventually be pushed back to the main upload
but for now you should use it instead
deprecating the stable one is causing more chaos than i was expecting π€£
The fishing economy will never recover from this
yeah deprecating it definitely seems confusing unless it wasn't recommended anymore because of serious instability lol
well yeah bugs kept popping up and i already did a full rewrite so it was not worth maintain two separate versions
hmm gotcha
i like how some of the mods that got deprecate purge went back to not deprecated cuz of all the complain lol
Items are shifting down 1 level in the cupboard for clients with Mattys Fixes
One of the paintings in SDM is laying flat with the defaults instead of being on the wall hanging like normal, but only one of them (I think the red one, I know it wasn't the green one)
With Matty Fixes ^^^
It happens with both of them
I thought I saw one on the wall normal, maybe it wasn't the green. Isn't there three?
[ItemClipping.Rotations|LethalLib|ScarletMansion]
## Comma separated Vector3 rotation
## vanilla default = '-90,0,0'
# Setting type: String
# Default value: default
Demonic painting = default
MattyFixes is not touching it at least not in Lunx pack
i too noticed it spawns flat
My only guess here would be is maybe Raphtalia is using custom values and your mod is recognizing the defaults wrong
If it only happens with MattyFixes
actually this proves nothing as MattyFixes does not touch rotations at all after joining!
That would be for @winged hedge to tell us though
Yeah the only thing I could imagine is if there is some weird Edge Case here
Wouldn't make sense for your mod to break them otherwise
this value is set in the 2nd frame of a lobby
and if it was null so much stuff would be broken not even in my mod π€£
My portrait item spawn rotation is based on what SpawnSyncedObject says. It then uses the resting rotation when it's grabbed and dropped like any other item.
I can only guess that LoadItemSaveData() is called by some other mod. That function causes the rotation to reset itself back to the resting rotation
AdditionalNetworking calls that function if the item has no scrap value π€
are you setting the value w/o using the SetScrapValue method?
my painting certainly has a value. it follows the same design as the apparatus
I do use functions to set the scrap value but i do them very differently, and it's not related to the painting
cause if you never call that function then the game belives it's still not initialized
and AdditionalNetowrking intecepts that and requests the values from the host
[ClientRpc]
private void SyncValuesClientRpc(NetworkObjectReference grabbableReference, int scrapValue, int dataValue, ClientRpcParams clientRpcParams = default)
{
var grabbableObject = ((GameObject)grabbableReference).GetComponent<GrabbableObject>();
if(AdditionalNetworking.PluginConfig.Debug.Verbose.Value)
AdditionalNetworking.Log.LogDebug($"{nameof(GrabbableNetworking)}.SyncValuesClientRpc was called for {grabbableReference.NetworkObjectId}! scrap: {scrapValue}, data: {dataValue}");
if (grabbableObject.itemProperties.saveItemVariable)
{
grabbableObject.LoadItemSaveData(dataValue);
}
grabbableObject.SetScrapValue(scrapValue);
grabbableObject.AdditionalNetworking_hasRequestedSync = false;
}
I see that I see that, hmmst. I don't think it's AdditionalNetworking but I'm gonna try some testing on my end to find the culprit.
oh i see you set the value in the Start() of the painting
while vanilla pushes the value with the method instead
it should be 100 by default, it's then updated correctly on Start() based on the configs
yeah you do set a value but not by usign the vanilla method but by manually setting the field
public override void Start() {
base.Start();
if (isAttached){
bedroom = AngerManager.Instance.GetBedroomWithPainting(transform.position);
scrapValue = PluginConfig.Instance.paintingValueValue;
grabbedByEvent = false;
}
}
yuhyuh, but are you saying that causes an issue with your end?
unless im forgetful, the apparatus also wouldn't set its value with SetScrapValue
and that item is probs fine with your mod
it's a different way of vanilla and AdditionalNetworking instead expects items to get a value though the SetScrapValue method
π€
to be clear on what you are saying. you overload SetScrapValue() as a way to know that the item was initialized properly?
i intecept calls to both SetScrapValue and/or LoadItemSaveData and if neither get's called i request the values from host with the rpc i posted above
ahh i see i see, and my painting doesn't do either so it effectively eats shit
and as it indeed has SaveData the rpc calls the LoadItemSaveData and somehow resets your rotation?
why do you reset the rotation on LoadItemSaveData?
// why zeekers
``` you even put this in π
a hacky solution to fix the painting's rotation to its resting rotation upon entering the ship
the rotation isn't fixed to its resting rotation when spawned by the ship (When you load in)
oh that's because the itemProperties is set to no gravity
so it would be at its default rotation, in my case the painting would be straight up
so it will not attempt to fall on ship load
ya i get that, so i simply created a hacked solution since LoadItemSaveData() is only ever called on ship startup, the one place that I need to fix the rotation
never expecting someone else to call it, until YOU
i can make a better solution though
π .
however my point here was that, both my painting and the appartus doesn't call SetScrapValue() or LoadItemSaveData(). My painting got caught in the crossfire of your fixes, but I'm not sure if you intend for the apparatus too as well
hacky solution 2 for you would be:
public override void Start() {
//make the item fall if we're loading the ship
this.itemProperties.itemSpawnsOnGround = !isAttached;
base.Start();
//reset it for other items to work normally ( potentially not even needed )
this.itemProperties.itemSpawnsOnGround = false;
if (isAttached){
bedroom = AngerManager.Instance.GetBedroomWithPainting(transform.position);
scrapValue = PluginConfig.Instance.paintingValueValue;
grabbedByEvent = false;
}
}
not really but it refreshing it's values should not break it in theory
that's why i was confused to why your paining was updating the rotation on DataLoad π
zeekers jank requires janky solutions
if want an actual line to test if were in the ship load stage ( first two frames of a lobby ) then this is the code:
var loadPhase = StartOfRound.Instance.localPlayerController == null;
I should be able to fix it with just
if (isAttached){
bedroom = AngerManager.Instance.GetBedroomWithPainting(transform.position);
scrapValue = PluginConfig.Instance.paintingValueValue;
grabbedByEvent = false;
}
else {
transform.rotation = Quaternion.Euler(itemProperties.restingRotation);
}
since isAttached is only active for paintings spawned by the map, and it should be disabled once grabbed
oh well yeah you have controll over the isAttached field
may we never meet for such a reason π€
i mean i think we'll meet again the ( now quite far away ) day i'll publish with Xu the Animator Override API π
Actually I'm safe since I changed my snowglobe animation to use the new clock item's animation
For once I'm mega safe
you still replace the animatorcontroller no?
not anymore, touching that gives me the hibbie jibbies. too many modders can touch that and that gives me a heart attack as a modder
i need to look at the code for the new clock item then... did zeekers add a builtin way to do overridden animations?
oh no, it's just that the clock animation is the player holding their hands out.
which fits perfectly for my snowglobe
hey is this normal i was hosting a lobby and after i cleared the lobby someone left and a person joined but the lobby closed instantly with an error message
ok actually this is probably the same issue so i am gonna use the solution that you provided
it just came to my mind but the isAttached field is not a NetworkVariable so it will be set only for host while clients will see it as false π€
isAttached is set on the initial prefab, so networked or not it will be initially correct
π€ is it set to true always?
Paintings spawned by the map, the value is set to true. Paintings spawned by the ship, the value is set to false
Simply by how prefabs work
Ya, it's how the apparatus works too
host can, but for clients it will always be as if they are spawned by map
that's why vanilla apparatusses always float on ship reload
On ship reload, do you mean like reloading the save file again?
yeah
Maybe for the apparatus, but the map prefab is not the same as the item prefab
host will have all the values but clients wont so they belive all scrap is map spawned scrap ( its a vanilla bug )
They both link to the same item scriptableobject, but the prefabs are different
and MattyFixes does it best at fixing it but still
ohh you have the item in the room prefab?
wait how can you have a prefab with two network objects?
or you fully have two prefabs for the painting one you use to spawn in map and one when the ship loads?
with different prefab IDs but same object id, so the save code will save them as the "ship" one
The map prefab has the item scriptableobject. That item's spawn prefab is a different prefab to the map prefab. The only difference is the isAttached variable. But since both prefabs link to the same item scriptableobject, when the game saves they both have the same item ID. The spawn prefab is the one that the ship uses to reload the ship loot.
So the last thing you said, it's that one.
got it, so it's a non issue in this case, good
@unreal oriole would you mind having a look at "rotate_on_spawn" setting for ItemClipping? I believe its still rotating items on spawn if false, V8 engines are on their side and Tattered Metal Sheets are not scannable until ive picked them up and dropped them
I'm using the UnityDebuggerAssistant mod to help create more verbose error messages with better explanations, and I just recieved a number of error messages that popped up in relation to a few of your mods. I'm guessing it's really just one trigger that caused the rest of the error messages. The errors are at the very bottom of this log file.
Tested again and again with the same result. Seems to be when the main menu finishes first-time initiation.
They're ignorable
@fathom notch It's due to this
Well yeah, the Rotate on Spawn is doing exactly what it says, rotate the items the moment they spawn.
when the items fall to the ground they will apply the restingRotations.
if you want MattyFixes to stop handling rotations then disable ItemClipping entirely
UDA likes to blame every mod that even remotely looks at a method when an error happens.
and ( like in this case ) will also report Exceptions that were expected and have been handled silently inside the throwing mod
if you do not see a StackTrace then it's probably not an issue, and even if it was the UDA report w/o a stacktrace is completly useless to a dev sadly π
okay thanks, i wasnt aware there was 2 sets of rotations, i just wanted items to not be rotated on spawn since i thought it would fix an issue of not being able to scan some scrap before i picked them up
I was playing the beta and noticed that the lightining wasn't striking conductive items, went to the logs and found this, just posting here to let you know, don't mind it too much because it's not official release yet
[21:25:00.5708465] [Error : Unity Log] NullReferenceException: Object reference not set to an instance of an object.
Stack trace:
StormyWeather.Update () (at <0a162ac9a7f648d5b278a9662b6f7638>:IL_0168)
[21:25:00.6058468] [Error :UnityDebuggerAssistant]
--- Exception Handler ---
Exception Caught: System.NullReferenceException
Assembly: Assembly-CSharp
Message: Object reference not set to an instance of an object.
Source: Assembly-CSharp
--- Begin Frames ---
--FRAME 1:
In Assembly: Assembly-CSharp
Target Method: StormyWeather.Update
Patched By:
HotbarPlus
Plugin Info
GUID: FlipMods.HotbarPlus
NAME/VER: [email protected]
LOCATION: \plugins\FlipMods-HotbarPlus\HotbarPlus.dll
MattyFixes
Plugin Info
GUID: mattymatty.MattyFixes
NAME/VER: Matty's [email protected]
LOCATION: \plugins\mattymatty-Matty_Fixes_Experimental\MattyFixes.dll
--- End Frames ---
--- End Exception Handler ---
(Ignore this for the current time, it can be a false alarm and a bug from v64.4)
do you have lethalfixes
Yes
ic
the AdditionalNetworking still work? or have conflict?
additionalnetworking is fine
v64 "Fixed position of dropped items," which sounds like it could possibly conflict with MattyFixes ItemClipping settings. Might be something to take a peek at
Also disable the shotgun fix in Lobby Control
that was fixed natively too
Yeah shotguns no longer vanish on reload, he fixed that
I don't see it being noted anywhere that position of dropped items was fixed btw
Oh nvm I see
V64.2
ye
π€ the Shotgun code is still completely untuched
no idea why 1A3 reported it as fixed but the issue is still there and can still happen
it's in v64.7
but still there is no code for it in that version and the latest v64.9 still has the bugged code
all items in the player inventory are owned by the player...
I'm just looking at the code diffs rn
you can still have a desync and have the player tell the host to delete the wrong slot
Ye so if the issue was happening to other players, then doesn't it fix it disappearing for all players lol
all that does is prevent other cheat clients from requesting the deletion of items in the hands of somebody else π
the reason why the shotgun is disapperaing is because the RPC used to delete the ammo on reload specifies a numeric value for the slot to be deleted
Icic
but host and client can have different item order in the inventory as all the other inventory related RPCs only rely on "forward"/"backwards" and not an actual number
where is this from?
or better which version?
V64.2
found it
yeah MattyFixes CruiserFixes is potentially not needed anymore
Have you tested?
not yet
from the look at the code it probably still has the issue of items sticking to the ceiling from inside π€£
@lucid forum please can you make UDA stop blaming mods when the stacktrace is clearly in the basegame?
already spam Q for add the shovel still not enter
try change the mode to Single ( under General section )
ahh work now
yeah i've put the two modes in there to see wich own would work better
about ItemClipping better still enabled or disabled?
?
nothing has changed in the code. the only thing that might be unneeded is the CruiserFixes
The only thing UDA does is tell you what mods patched a method when the frame is in that method
sadly people think that whatever UDA says is the culprit
we had a similar situation with early AsyncLoggers as it was always at the top of the Stack
I dunno what you want me to do about it. UDA just outputs what patches the method in the frame. If you're patching something that is throwing you could be the reason
I could just delete UDA cuz harmony fucks up the stack anyway and its kind of useless
π€· it was worth to ask i guess
I could help you if I knew both what the problem was and what you want me to do about it but "UDA says my mod patched a method when it did" is not a problem its a valid output
i'll have to just keep refusing errors when they are not related to my mods.
Eg: this issue is because a on object in StormyWeather.metalObjects is null or destroyed and Zeekers has no checks
i tought UDA was intercepting the stacktraces and only outputting the mods that were listed in the trace
does it also check for any other mod that might patch something in the trace even if it's never called?
It gets the exception and walks back one frame at a time outputting what mods patched the method in the frame each time to help figure out where to start working
People treating it as 100% the actual answer aren't paying attention to the huge warning I output at the top of the log that says not to bother modders with the output unless you are having trouble with their mod
you might want to repeat the warning on each print... π
The problem is that harmony turns the final step into a dynamic method because harmony things so UDA doesn't even catch most harmony patched methods, and obviously it won't catch anything inlined or optimized away either
does it detect monomod hooks?
Pretty much exclusively
π€·. i guess i'm going to prepare a Sticker to print when people throw me a UDA report w/o a clear cause :/
Treat it like any other stack trace because that's all it is
that's the issue, at least when a stacktrace mentions my mod i have something to look at
when the trace is litterally just
[21:25:00.5708465] [Error : Unity Log] NullReferenceException: Object reference not set to an instance of an object.
Stack trace:
StormyWeather.Update () (at <0a162ac9a7f648d5b278a9662b6f7638>:IL_0168)
and people send it to me because UDA says so it's quite ambiguous on how i should respond
UDA says MattyFixes modifies this method that is throwing and could be the cause of it
And then you say "Its not me its base game"
i'm going to use mattyfixes as an example but this applies to other cases too:
UDA says MattyFixes could be the cause but MattyFixes only has a Postfix ( or Finalizer ) on the method so how can it be MattyFixes if it has never run?
good that UDA doesn't show my patches
because it would cause a lot of users reporting to me errors
list of Diffoz Patches: yes
ik i'm nitcpicking, so don't take it a personal attack it's just i'm anooyed by it π
There's nothing stopping a postfix from setting a null value on __instance or something. I don't feel that skipping the report on 2/3 of the harmony patches makes sense
I kind of hate UDA and how popular it became despite literally not working for the majority of it's existence
It still barely functions as is and people keep using it because it sounds like it does something
The stupid #treasure-hunt channel is now the most active channel on the server and all you do in there is click a button to watch a number go up. Its totally off topic but I feel like a lot of the time I only get rewarded when I appeal to the worst qualities in people and its making me want to stop coding
now i feel sorry for it π
i dont get how the worst quality is meowing but 
Don't get me started on my old man rant
zeekerss fixed the icon disappearing for all players when someone on the server reloads a shotgun
thats what 1a3 is referring to in the changelog
It's been like this since the beginning of time. Do not worry.
Wait that's what caused item slot icons to sometimes turn invisible?
Lol
yes
UDA is a really good mod, the issue is that it was listed as one of those essential fix mods when it simply isn't quite yet and is still getting improvements
Can the price of the belt bag be configurable with the BagConfig mod?
I personally want an option to not see it when looking down, not a fan of seeing the floating waist bag
it's an intentional feature ( from zeekers ) tho, so you can access it w/o having to hold it
ik lol but it looks so odd
main issue with hiding it is that the interaction prompt/area would still be there
not from BagConfig, you'll have to use one of the mods for editing the shop
@unreal oriole can we get an option to change the drop all button from E. You know how many times I've gone to interact with something and instead dump my bag everywhere π π€£ π I have added it to reserved slots at least.
Something was wrong with the soccer ball, I was able to store them in the bag and sometimes I cant and when I did the soccer ball was still there for the host and he couldnt pick it up
And I have the two handed storing disabled
it's using the basegame system, just remap item tertiary use
I would like an option that if you look down where the beltbag is with an item/scrap in your hand and press a button like Q or E, you automatically save the item.
that's not possible within the bound of the vanilla code.
for how the backend is made you cannot put an item unless it's on the ground ( not held by neither players nor enemies )
I also dislike how you added a scrap feature too it π it took all my power to not turn on that config after discovering the ability to store bag within bag within bag.
it would require new RPCs and would not be a "client-only" mod
In all honesty though. Thank you Matty because this was exactly what I was hoping someone would do (the drop all button) and it was you of all devs to do it so I did not hesitate to download it.
i agree it's OP, but it is possible and there were already other mods doing it in more janky ways.
so i decided to step in and make a proper config, and now with v0.0.3 also added server-side checks to enforce the limits the host decides
I've actually removed the janky ones awhile back. I have sort of missed them though. I had them balanced out so they weren't easy to obtain like the bag.
I wonder would it be possible to use the bags code to make a second version for scrap? I would love a tool bag and a scrap bag so I could config it for balance purposes.
i meant other mod editing the beltbag to be completly unbounded
mine is actually the 3rd beltbag mod if you check thunderstore
Oh well yours was the first I saw.
that's possible, exactly how modders extended showels or the noisemaker props
Plus it's you so I trust it to work.
glad to be in the list of trusted developers π
Np. Thank you for the great mods and fixes. Awhile back I was purging some to figure out issues and upon removing yours I was getting annoyed at some little bugs happening and then realized oh shit Mattys mods were working so well I didn't notice anymore until I removed it.
You Buttery and Shaosil, you three have some of the best fixes that make it hard to play the game without now π
Also can I request you make a belt bag mod that adds a separate config setup?
You can call it
Mattys Pack!
Make it a different color too and have it be a rare spawn chance as scrap so it's a rare find that can hold scrap. π
i dont even have unity installedπ , i'd have to ask for the collaboration of one of the other scrap devs
lazy levels = 100
it's a choice , and i'm gonna hold it as long as i can π
Well damn I liked the name Matty Pack but how about you WhiteSpike π wanna make a better version of your box? The Sci Fi bag? π
π
idk what happened, but i was in a run with friends and the belt bag glitched and all the items inside was invisible and couldn't pick up, later i went to the logs and found this:
[Error : Unity Log] NullReferenceException: Object reference not set to an instance of an object
Stack trace:
BagConfig.Patches.BeltBagPatch.FixVerticalOffset (UnityEngine.Vector3 position, BeltBagItem beltBagItem, Unity.Netcode.NetworkObject targetObject) (at ./Plugin/src/Patches/BeltBagPatch.cs:300)
BeltBagItem.RemoveObjectFromBag (System.Int32 objectId) (at <d0d093e9162748b6a00ca8938a14b439>:IL_003C)
BagConfig.Patches.BeltBagPatch+<EmptyBagCoroutine>d__3.MoveNext () (at ./Plugin/src/Patches/BeltBagPatch.cs:45)
UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at <e27997765c1848b09d8073e5d642717a>:IL_0026)
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
BagConfig.Patches.BeltBagPatch:OverrideGrab(Action`2, BeltBagItem, Boolean) (at ./Plugin/src/Patches/BeltBagPatch.cs:59)
DMD<>?1971766198:HookBeltBagItem::ItemInteractLeftRight?-1221664804(BeltBagItem, Boolean)
GrabbableObject:ItemInteractLeftRightOnClient(Boolean)
GameNetcodeStuff.PlayerControllerB:ItemTertiaryUse_performed(CallbackContext)
UnityEngine.InputSystem.LowLevel.<>c__DisplayClass7_0:<set_onUpdate>b__0(NativeInputUpdateType, NativeInputEventBuffer*)
UnityEngineInternal.Input.NativeInputSystem:NotifyUpdate(NativeInputUpdateType, IntPtr)
I actually had the same thing happen too.
Also can't remember which fix did it but had a Shotgun bug out and vanish again too. Thought that was fixed in vanilla.
^
^
Hello!
I have a small question, How does the position and rotation system work in furniture lock?
I can't find the thread of that mod btw
- place where you want
- press Copy
- tweak the values if needed
yeah the actual value are whatever zeekers uses internally. and there isn't a good way of knowing them from outside the game as each furniture has a different zero
so instead you have the handy LethalConfig buttons to edit them
also all edits will apply at runtime, so you can lock/unlock/move stuff while playing and it will propagate to the other clients too
and this is entirely Host-only so vanilla compat ecc...
yeah, I have that menu disabled, I already activated it to make the change
Is bag config going to have a whitelist option again at some point? I just want the ammo from piggys variety mod to be able to be put in the bag
It does
just add Bullet: Utils or whatever the revolver ammo is called in "Item Categories" under "Limits"
or another one of the limit categories you have turned on
I thought that's how it worked, thanks for the confirmationπ
i need to make a better readme for the system but for now i'm focussing on making the mod work ( and not allow it be used as a cheat mod )
you can define any Category you want ( my examples are not the best as they are "Blocklist" and "Utils" ) and both are still disallowed by default
whatever new category name you put in the Limits.Item Categories will appear as a new section in the config for you to tweak
if an item does not have a category it will fallback to one of the 3 default ones:
Tools ( anything that is not scrap )
One handed scrap
Two handed scrap
Maneater is an exception as ( to prevent softlocks ) it's hardcoded as not allowed
I might use it, I haven't decided what I want the bags primary function to be in my pack yet
i'm trying to find a decent example to put in the README
I added some things to tools, when I did it I didn't know I could make my own category π
yeah the idea is that you can have eg. apparatusses in their own category and allow only one of them to be in the bag
Oh that's a cool idea π
i've got an example from @tacit lynx , where he put:
- weapons in a category and limited them to 2
- ammo in another category and limited it to 5
which seems like a really good example to use for the Readme
now it has it's own channel: https://discord.com/channels/1168655651455639582/1282443016723894352
hey Matty, since you've committed unreadable mesh heists already, I'm wondering, what's the simplest way for me to grab a submesh from the monitors in the ship? I'm in a conundrum as far as adding an overlay to any old monitor in there
would I just want to copy the data into a readable mesh like in MakeReadableMeshCopy?
and then split out the submesh after that?
do you need to compute the mesh at runtime? if not you're better using the assetripper to get it tbh
I do, because I have support for changing the monitor when GeneralImprovements is present
I have a working method for doing it using the function to make it readable first, but if I was able to skip that and read directly from the buffers that would save a little work
obviously that can be tricky since I don't know if Unity exposes that much information about the buffer formats, although it clearly knows how to read them itself
the main issue is that what i'm doing is requesting the buffers from the GPU and i can only access some ( vertexes, indexes and normals )
and asking the GPU is incredibly slow
if you need to access a basegame mesh maybe you can try getting it from resources but i doubt π€
what do you need from the mesh?
just the vertices and uvs, it's unlit when I render it
I guess if requesting the buffers is the slowest part then anything else I'm doing will probably be negligible
ik using this i was not getting an exact copy and when i was using it to fix the lightning people were complaining it was in B/w
do some models use vertex colors?
jetpack i belive
how does it turn out b/w otherwise?
oh interesting
so then that option is off by default?
it's curious that that's not in the vertex buffer, but I guess it might be per tri instead
yeah i've put as default the use of my Spherical particles instead of vanilla mesh ones
so i do not have to deal with meshes anymore. tho i still do grab the vertices from GPU for my other calculations
using the same method to make them readable? or another way?
sliglthly different by making direct requests to GPU buffers
ah, but still similar in concept I guess, in that it sends the data to a new mesh
I think the only improvement I could make is to read directly instead of giving it to a mesh, but if the mesh class doesn't immediately upload data when you assign it then it doesn't matter
AdditionalNetworking Experimental v2.1.0
finally found the time to rewrite it the Unity intended way.
so now we should have Vanilla compatibility π
It's not gonna explode on Thursday right? Riiiight? π
If you did it the intended way it better behave
As funny as the bugs we got with Experimental the last time were XD
answer is always "shouldn't" but still might
i'm not trying to avoid Unity Server/Client Rpc system anymore so it should ba 1:1 to Stable
Hell yeah
but still allow Vanilla players to join
but well, stable is still Stable π so you can always fallback to that
Hey! Was playing with friends and noticed some scrap are uh.... very offset after 1.1.20
Only some of the skinnedmesh scrap are off, while some aren't.
Left is 1.1.19, right is 1.1.20
uh? π€£
if fixed some and broke some others i guess π
do you mind sendig me a log when you load a lobby with the item and verbose logs ?
Yup just a sec
Not exactly sure what I'm meant to be sending here
Ah found it
Lines 2127-2298. It's long enough to not be able to screenshot it well
But it ends up with an offset of 7.251334
I can confirm you broke something
I'm also seeing cases of scraps randomly floating
You may be better off reverting your changes
Because to put it bluntly
V1.1.19 worked fine and I don't wanna deal with this broken ass build on Thursday π€
Not to be mean or throw any shade or anything
Lol
Previous version was just a build I'd consider stable
I respect you for trying to fix issues 
at least he looks happy out there
@unreal oriole if you wanna know the ones that floated for me to make it easier
Eva
She floats now for some reason ascending plant girl XD
And Rodrigo from Surfaced
Idk if any others in my pack might those are the 2 I found that I know do
π
@unreal oriole The latest update of Matty's Fixes made it so you can't place items on top of the cruiser anymore they just fall through, you can't place them in the back either unless you store them on the shelves.
Good find, another bug for Matty to fix before I stream tomorrow
matty fixes got depcrated so I got the experimentatl version instead
bros hyping up the streeam crazy
It's gonna be a big one π€
i did not change the cruiser stuff tbh... and zeekers seemingly fixed it in vanilla so you probably should disable CuriserFixes π€
I'll test this

