#Lobby Control & Matty's Fixes

1 messages · Page 10 of 1

unreal oriole
#

i get that there is an issue

vagrant root
#

Broken clock too

unreal oriole
#

i'm just not convinced blackilisting stuff is the solution

vagrant root
#

and the first land we did a client had some of the terrain not show up

vagrant root
#

lol

unreal oriole
#

that's why you contact the other party ( wesley ) and cross check why it's happening 😅

vagrant root
#

Yeah there's something it does that tells the scene to trigger that's getting bypassed from LandFromOrbit it's just hard to say what exactly. Cosmocos is a very unique and ambitious moon lol

solar monolith
#

is the cutscene supposed to play and then the ship lands? or is the cutscene covering the ship landing animation where it's clipping through the scene?

unreal oriole
#

by looking at the clip ( where she got pushed to the upper floor by the clipping ) i'd say that the cutscene changes the level geometry preventing the clipping. so probably the cutscene is supposed to play before the landing sequence

vagrant root
#

It's an easy repro, you just need Cosmocos and LandFromOrbit, maybe you can get a gather of what's going on by landing with it disabled then enabled

#

and something like LGU or SimpleCommands to give yourself enough money to land on it

#

lol

crisp sundial
#

how is the visor handled we tried resizing them on the clients as host and wound up having a persistent effect on them after reloading the whole game

#

they reload the game and the visor still big

#

that ai code broke steam tos on accident

#

lost the code sadly but why is it so hard to correct a players point of view or visor host only

#

resizing players screws up visor

vagrant root
#

@unreal oriole When you updated Matty Fixes you didn't implement the new rotation changes did you? Cus some of my settings got reset

unreal oriole
#

uh? it's supposedly the same file as Experimental

#

i confirmed with manual download. files are identical

vagrant root
#

Ah so I need to fix the rotation then, guessing some mod adds more than one Bronze Bar

brisk harbor
#

my rotations have been reset a couple times

#

not entirely sure what the deal is

#

it's been uncommon and very sporadic

#

but i've had to change my config two or three times total despite never adding any new items

#

a bit weird

vagrant root
#

Ah nope I just missed it somehow

#

lol

crisp sundial
#

one of my mods conflicts with mattyfixes item fixes cause i still see floating scrap in strange places on startup

#

is there anything in here known to cause issues in mattyfixes/lobby control?

#

0194be23-1605-ed07-a190-80d9d208063d

#

its probably that i have multiple mods trying to fix this but im not sure witch ones do

#

whats weird is only some players see stuff stuck in the ground others see things in totaly different spots

unreal oriole
unreal oriole
empty nest
#

With just using LobbyControl, yes.

#

Plus we are assuming that the save being deleted is disappearing from the menu.

#

Unless quit game means exiting the game fully?

#

I doubt you would have something at that point.

unreal oriole
#

i mean even if the issue was when doing alt+f4 the mod is not touching the old save

unreal oriole
# empty nest

forgot to write it explicitly, but thanks for testing it 😅

crisp sundial
empty nest
#

Nom nom

#

It should still only find the one.

crisp sundial
#

try lobby rename and see if any bugs come

#

okok

empty nest
#

Plus there's no real reason to delete something while moving lobbies.

crisp sundial
#

there is a way to rename the lobby and make new save and start a new save from the terminal i expect a little strangeness when using all of those plus multiple saves

empty nest
#

I tried that aswell, no change.

crisp sundial
#

epic

#

i use it all the time

empty nest
#

So it's some step they missed when reporting.

brisk harbor
#

i have used lobby control and better saves for months now, it works ok for me

crisp sundial
#

same

#

will lobby control change the name of the save even if you already named the save with lcbettersaves

empty nest
#

Plus no logs makes it difficult to know if it's actually LobbyControl's fault.

crisp sundial
#

like if i have multiple saves named weed.morecompany from lcbettersaves and do a lobby rename will it mess with anything?

#

or a lobby load

#

or save

#

idk how it reacts many saves with the same name

chrome ingot
#

I come bearing AdditionalNetworking errors

#

As client
[01:22:04.7663735] [Fatal :AdditionalNetworking] Exception syncing inventory of Alecksword(63):

#

As host (this session had a LOT of problems going on and was an absolute nightmare by the end)
[05:42:50.3128321] [Fatal :AdditionalNetworking] Exception syncing inventory of Alecksword(22):

chrome ingot
solar monolith
#

@unreal oriole is the out of bounds items patch in TooManyItems perhaps out of date vs the Matty's Fixes version, to where it could be teleporting bagged items into the ship when it takes off?

#

been watching someone using the HQ fixes pack and bagged items keep appearing at the item spawn point on the ship

unreal oriole
solar monolith
#

ah, I see I see

#

is that actually true tho? aren't the item count patches still necessary?

#

maybe this was someone who doesn't regularly do runs on v60+?

unreal oriole
#

zeekers boosted the item count to something like 500 i belive in vanilla

#

the one for syncing all the values is still needed but that csn be mitigated by placing the shotguns closer to the origin so they get saved first

solar monolith
#

ah right yeah

unreal oriole
#

the name that LCBetterSaves shows is ssved as a field inside the save file

#

LobbyControl command accepts only file names and a lobby rename will not rename a file

unreal oriole
#

something in #thunderstore-moderation reminded me of a decently important difference between LobbyControl and ShipLobby/LateCompany:

with their design using a postfix both mods will bypass the check for game version and more importantly the "ban list"

LobbyControl instead uses a transplier to edit out the gameHasStarted check maintaining all the other filters!

#

bypassing means if you have either ShipLobby or LateCompany and are on your second+ orbit:

  • vanilla players will be able to try join your MoreCompany lobby and/or vice-versa ( obvs will fail with the unknown error )
  • kicked players will be able to rejoin your lobby as much as they want ( once kicked they're supposed to be prevented from joining )
solar monolith
#

nice, thanks!

crisp sundial
#

oh damn

#

the og reason i grabbed lethal admin is caused by shiplobby/latecompany concern

vagrant root
#

@next ledge if you still got that SQLite send it in here

next ledge
#

oh, sure

#

lemme

#

Should contain that time my game froze + every time i got hit by the classic Skitts Issue™️ after

vagrant root
next ledge
#

what on earth is this

vagrant root
#

@unreal oriole Btw, just wanted to let you know that issue we brought up like a month ago where Skitts' inventory would randomly desync and her items would all drop we finally resolved by adding in High Quota Fixes, I suspect it's because she was one of the very few people in our group that play with a High Ping and the Interact and QELock fixes in High Quota Fixes fixed that, it also fixes some bugs with the cruiser that other mods don't cover such as the lag when having a magneted cruiser on the ship when going back into orbit. All around it was a great addition tbh

unreal oriole
vagrant root
brisk harbor
#

when they spawn, their RNG is seeded by the map seed

#

but if the number of times EquipItem() gets called desyncs between clients, it will start giving different results for those clients

vagrant root
#

Ah interesting

vagrant root
#

@unreal oriole Which of your mods is supposed to synchronize Shotguns again? Cus we had a shotgun that had ammo in it for me but for a client it was empty

#

So I think it isn't working properly

#

😦

unreal oriole
#

additional networking is supposed to

vagrant root
#

It might be related to the same issue as the toy robot and teeth for whatever reaso

#

@chrome ingot do you know how many times you picked up that Shotgun?

#

Also @chrome ingot maybe try sending your log if you have it, so we can see if there were any syncing errors

chrome ingot
#

Shoot me an @ in like 15 minutes or so and I’ll prob be good to send ‘er over

#

It’s late and I gotta take my meds n grab a lil bedtime snack first lol

unreal oriole
unreal oriole
#

and no exceptions in the logs?

vagrant root
#

Not that I can see, that's why I suspect it happened in Alecks' log

unreal oriole
#

i'm noticing that i'm not updating the shells visually in the shotgun atm just the internal count

vagrant root
#

then after he put 1 shell in it and handed it back to me it indeed only had 1 shell

#

I can grab the clip

#

Was so weird

#

You could see how absurdly confused I was when he stuck a shell into it

#

XD

#

It was full for me

unreal oriole
#

the HUD is from a mod

vagrant root
#

Yeah that is uh

#

This

unreal oriole
#

you were the one with the desynced hud. as i cannot add support for all the possible mods

vagrant root
#

it didn't click

#

if only the hud was desynced it should have made the sound of there being no ammo

unreal oriole
#

depends on what the mod changes

vagrant root
#

Source is readily available

#

This also had logs in the SQLite

vagrant root
#

But maybe you might catch something

#

I'm sure if Atomic is doing something wrong he'll gladly fix it

#

Also @unreal oriole If it is one of these 2 mods they luckily both have threads in the Discord lunxara_love_with_tail

unreal oriole
#

i'm not sure

#

and w/o verbose logs i can't even see if the messages were transmitted or not

#

it did correctly resync as soon as @chrome ingot performed an action on the shotgun. so at least the configs were on for both of you

vagrant root
#

Yeah

vast estuary
#

can the late-join part of this mod cause desyncs ?

i'm pretty sure that when i enabled this option and someone joined when the game already started but we were in orbit, it causes desync every time

brisk harbor
#

you will pretty much always run into desync of some sort if you utilize it

vast estuary
#

understood, just making sure that i was not the only one experiencing this

brisk harbor
#

using lobbycontrol + additional networking is going to be your best bet for avoiding desync but the only perfect solution is to quit the game, rehost, and let players join

unreal oriole
#

i agree with Buttery the game was not intended to allow late join and most mods also are not designed to support it.

#

while i might be biased as the dev. LobbyControl accounts for most if not all the issues from latejoin with vanilla game

vast estuary
#

i had issues in the past with late joins

#

i dont have any logs to prove it tho

unreal oriole
#

AdditionalNetworking will help fix some of the desync from normal gameplay. but moon/interior and in general modded stuff support is not guaranteed and should be reported to the other mod instead

brisk harbor
#

even with lobbycontrol we get invisible players and ghost items any time we use latejoin

#

worst problem we've had is ship radar + teleporter desync, which we've never had happen without late join

#

i suppose it's possible it is a mod conflict but in my experience latejoin is just never perfect

#

and the bugs caused by latejoin are usually so bad it needs rehosting to fix anyway

unreal oriole
#

tbh the things you're reporiting are solvable... just not in a host-only way sadly

brisk harbor
#

that's fair, yeah, but i still think it is inaccurate to say this

LobbyControl accounts for most if not all the issues from latejoin with vanilla game
unless all of what i just reported can be 100% attributed to mod conflicts

unreal oriole
#

radar bug for example is caused by radar-boosters

#

i should reword it. you're right

brisk harbor
#

i recall seeing you mention that and we stopped buying radar boosters for that reason, but unless I'm mistaken on the timeline, we've had it happen once even with no radar boosters on the ship

#

that might be a case of faulty memory though

#

the invisible player thing has to do with steam friends, or something? i think i saw you mention that once before

#

sometimes we just get an issue where clients (never the host) will hear other player's voices outside the ship and won't be able to see them, and it's only been fixed by having one (or potentially both) of those players rejoin

unreal oriole
#

the invisible player issue itself is because vanilla never resets the state of disconnected players. so if a player disconnects while dead it's body will be dead when another person joins in it's place.
there is a host-only fix but zeekers locked it behind steam friendship for some reason 🙃

brisk harbor
#

ghost items aren't so bad because usually it is fixed just by having somebody pick up and drop the item again

#

to clarify, i mean players will see items on the floor that are actually in a player's inventory

#

like one time my friend was trying to grab shotgun shells off the ship and she couldnt

#

and that's because the shell was in my inventory, and she saw it disappear when i reloaded my shotgun

unreal oriole
brisk harbor
unreal oriole
#

btw. i'm not taking this as an attack i'm just answering what i can to see if you have issues i do not know/i should try to work on

brisk harbor
#

oh yeah i understand

#

i dont intend it as an attack either

#

your mod is definitely the best solution available and we have had so much better results ever since using both LC and AN

#

i just think that the best is still not good enough to seriously recommend using latejoin unless you are okay with troubleshooting the issues it is likely to cause

#

i'd much rather just rehost (even if it is annoying) so the game is less likely to present issues once we're mid-match

brisk harbor
unreal oriole
#

as i had success using NamedMessages in AN i might try to use them in LobbyControl too to stay vanilla compat while solving the bugs for clients with LC installed 🤔

brisk harbor
#

my friend group is pretty spread out geographically, and one of them has trouble connecting without increasing the window size (i bumped timeout from 3000 to 10000 and it made her a lot less likely to DC on join, but she is the one that most frequently experiences sync issues)

#

as i understand it, you'd need to shrink the window to prevent the bug from 2 people joining together, right? so it's basically a tradeoff of which issue you'd rather deal with

unreal oriole
#

to prevent 2 people to join together you'd increase the connection_delay_ms which is the time LC will wait before trying to connect another person after the previous one "completed". ( i say completed in quotes because i can only assume the completion after the server receives two specific Rpcs while in reality the client still has a couple of offline things to do )

#

while connection_timeout_ms controls the "window" you're talking about and is how much time a client has to connect before it is considered failed

brisk harbor
#

i see

#

i suppose increasing the connection delay too much would cause the opposite issue to happen

#

where players will get rejected even after the previous client has finished joining

#

so it shouldn't be increased too much

unreal oriole
#

not really it will simply slow down a lot the connections

#

during the delay litterally nobody will be connecting and new requests will just be put in queue

brisk harbor
#

i see

#

in that case i might try bumping it up a little bit and see if it helps

unreal oriole
#

while the timeout starts from when the client is polled from the queue and starts the connection process

brisk harbor
#

slow is ok, especially if it saves time on players quitting and rejoining anyway

brisk harbor
#

depending on how much could be accomplished without removing vanilla compat

#

all of my friends use lobbycontrol on our profile, so i'd definitely say there is demand for clientside syncing if it's not too much a hassle to implement

unreal oriole
#

the JoinQueue system works like this:

  • Unity join request -> queue
  • poll request -> timeout or connection complete -> delay -> poll request
brisk harbor
#

but i do like being able to use it with vanilla clients still

brisk harbor
#

and the problem would occur if the connection is complete, but the client can't finish connecting before the delay is up? because then the host would be allowing a second player to connect at the same time

unreal oriole
#

yep

#

so the delay depends more on how slow a client machine is than the latency of the connection

brisk harbor
#

ok that helps a lot to know

unreal oriole
#

sadly all LC can do is guesstimate so it's up to the end-users to tweak the values until they work 😅

violet pewter
#

So the join queue delay setting should be set pretty high if you have a client that is not only high latency but also has a slow PC? Do you think setting it to 20000 would cover the worst case scenarios? Or would there be side effects from that? (Other than the client just waiting longer to join)

brisk harbor
#

setting it to 20,000ms would mean that after a player joins your lobby, it would delay any other connections for at least 20 seconds

#

so it would take at minimum 1 minute for 3 players to join

violet pewter
#

Oh okay, and I guess that "stacks" as in if 3 people join roughly at the same time, the 3rd person could be waiting 60 seconds lol

#

Right

brisk harbor
#

by the looks of things, it looks like animateditems aren't supposed to make noise when they are scrolled over in the hotbar

#

toy robot, teeth, etc.

#

unless im misunderstanding how it all works

empty nest
#

EquipItem is called when pulled from hotbar.

brisk harbor
unreal oriole
#

which indicates if it was not the selected slot before

#

as you can see it beeing set in PocketItem that is called when you switch off the item

brisk harbor
#

yeah

#

it calls the random chance to stop the animation only if you pick it up

#

but it seems like when you scroll over it, it always starts playing the sound

#

which is the part im confused about the intention of

unreal oriole
#

the issue is that there is no RPC for scrolling two slots

#

you only scroll one slot at a time

#

so when you scroll two you call Equip and Pocket in quick succession

brisk harbor
#

is that what leads to desync between clients?

unreal oriole
#

the scrolling causes desync on what slot a client is currently on yeah

#

AN might cause desyncs for the sounds as it jumps the selected slot if it finds it's not correct.
but i'd argue that the cause is still a prior desync

client has desynced slot -> AN forces the correct slot -> an animated item might have been skipped in the process causing audio desync

violet pewter
brisk harbor
#

i've noticed a bug occurring semi-recently where my friends will sometimes have different usernames

#

it seems dependent on the order and timing of when they join, maybe? it's not 100% consistent

#

i renamed all of them on steam so that i have a consistent string of text to enter on the terminal

#

(using switch )

#

but sometimes they use their normal steam username

#

is that the sort of thing that could be easily fixed by one of these mods

#

seemed like it was the best place for something like that

worthy garnet
#

idk if this is an incompatibility or a bug with the mod but I've noticed while using bagconfig this pops up on leaving a moon and certain items get deleted from the bag. Also, despite being deleted I think they still count as taking up a slot in the bag permanently.

worthy garnet
#

figured this out (I think) and it's quotaoverhaul causing it

unreal oriole
#

i could but not many people would be willing to wait on the connecting... screen for 10+ minutes

empty nest
#

Depends on the technical debt of allowing joining midgame.
Not to mention the hot loading feature of LLL.

unreal oriole
#

the connecting message cannot be modified Host-side

#

and i do not plan to allow moon-joins

empty nest
unreal oriole
empty nest
#

You would have to hold the connection attempt which I don't know if the steam API allows.

unreal oriole
#

it is possible to hold people on the joining/connecting screen as long as the host wants. but most people will assume something went wrong after ~30 seconds of waiting. let alone wait 10+ minutes for a round to end

unreal oriole
empty nest
#

Hm ok ok.

#

I haven't seen its docs so I wasn't sure about its limitation.

unreal oriole
#

problem is that happens before any message could be sent between client and host. so there is nothing that could be done even client-side

#

no way to know if your connection is just hanging in the void or the host is intentionally letting you wait. nor for host to send you info unless it rejects your connection

empty nest
#

From what I read, you can.
You just couldn't know why til the next step.

unreal oriole
#

that might also be the cause of the Radar desync as the order of the radar is based on the names( nvm it has an overridded comparator and uses the NetworkObjectId instead )

chrome ingot
#

I have almost every person on my friends list set to have a nickname giggle

crisp sundial
#

yeah i gave some of my freinds some weird nicknames on steam found that some mods get weird over that

#

like if i host an anticheat lobby the [{player}] part of the join message will show your friends nickname to everyone when they join

unreal oriole
brisk harbor
#

i feel like it would be yeah

#

forest giants are like, the worst outdoor enemy to avoid made worse by the fact that the mechanics don't even completely work as intended

#

and not being able to crouch to hide from old birds makes a drastic difference in how approachable Embrion and Artifice are

vagrant root
#

@unreal oriole This line spammed for Glitch a few times the other day on lobby join

#

Maybe you might know why

unreal oriole
#

it means that some of you have a smaller inventory size than the others... maybe some mods not loading. or vice-versa some one cheating with extra inventory

vagrant root
#

I think I know what it is now

#

It's something with AdditionalNetworking not liking this setting I bet in ReservedItemSlotCore

#

I wonder if when that's hidden it's considering the size to be different

#

Either that or it's behaving weirdly with ReservedJsonSlots possibly since some of my slots are handled through that

#

But I think we finally have isolated this issue

unreal oriole
vagrant root
#

@knotty badger any ideas on how you can fix this?

vagrant root
#

Where my reserved slot items forcefully dropped

#

couldn't be picked back up

#

At least that error helped finally isolate this

#

Hopefully Flip can fix this

vagrant root
unreal oriole
knotty badger
# vagrant root <@139243578504249344> any ideas on how you can fix this?

Hold on. I will try to give you a more proper answer when I finish driving to work. But the short answer is yes, my mod likely has something to do with this, but if I'm understanding the issue correctly, then the solution is a little complicated. I will give you another response in like 30 minutes or so

knotty badger
#

@vagrant root

So here is the long answer.

First off, adding a mod that edits and manages the player’s inventory size is one of my biggest regrets, because of the number of issues it can cause with either the base game and with other mods lol, and then I decided to do this with a second mod, hotbarplus lol

Anyways, it sounds like this happened to Glitch when he joined? My response is, how dare you access your reserved item slots while a player is joining the lobby 😂 jkjk

I’m kinda just assuming what I think is going on, so as I write this next part, I apologize if none of this is relevant.

I’m going to skip over a lot in this part, but in a perfect world, players would join the host with the same exact reserved item slot mods, and those item slots will be already added to their player in the beginning. This is how my mod originally worked, but has since changed to prevent issues when players join another play who has different reserved item slot mods, thus preventing desyncs. Now, if a player joins a random player (who may or may not have differing reserved item slots), they will request a sync from the host first, and then they will receive back a list of reserved item slots that they should use. This way, clients will usually be synced with each other no matter what, preventing a lot of future desync issues.

So what I’m assuming, is that the issue that Glitch had occurred when he was joining, and there’s a small window where his reserved item slots haven’t been synced with the host yet, so he likely received information about a player swapping to a slot that his client didn’t know about yet, such as slot 5, even though he only has 4 slots. My mod (nor HotbarPlus) will usually not cause this, as it will refrain from referring or acknowledging these slots until they have synced with the host, so it was likely Matty’s mod that was trying to sync a player’s currently selected item slot before the player fully synced their reserved item slots with the host. Btw, I’m not saying this is the fault of Matty’s mod. Kinda a combination, but really just how my mod is set to sync.

I likely won’t change how I’m syncing the item slots, but I could probably optimize the timing. Apparently I’m not adding the reserved item slots to the player immediately after they sync with the host, but rather, waiting until they have fully spawned, which basically waits until the spawn animation finishes (about 3 seconds long) I feel like there was a reason for this, but I can't remember exactly. I can maybe see if I can change this so it adds the slots sooner. I’ll have to look at this when I get home, though.

Sorry for the long post!

vagrant root
next ledge
vagrant root
knotty badger
knotty badger
#

I also added the reserved slots immediately after syncing. I'll include it in my next update. I just hope there wasn't a reason that I delayed it and I break something because I'm doing this lol

vagrant root
#

the reserved items they had become stuck inside of their body for other players, but for them they see them on the ground unable to be picked back up

vagrant root
knotty badger
#

So any time they're holding a reserved item, it forces it to drop? You said it doesn't happen to everyone, right?

vagrant root
next ledge
#

Typically it happens when I'm trying to put something on a shelf or smth

#

if it helps at all

#

as one of the people who gets the bug

#

I'll have to clip it next time it happens just in case

unreal oriole
#

for the record when that happens again you can try using the lobby dropall as that should reset all the held objects for everybody

vagrant root
unreal oriole
#

if the player can't pick them up means the host still belives they are in the player inventory

#

and that command forces everybody to fully drop the items and forcefully overrides the variables to look like the inventories are empty and all existing objects are not held

vagrant root
#

Ah okay

next ledge
#

Yeah, I'm hoping that helps recover lost gear next it happens

vagrant root
#

Ideally Reserved Item Slots really needs fixed though

next ledge
#

yeah, that'd be best

vagrant root
#

@unreal oriole Dropall doesn't work

next ledge
#

sqlite as always

#

I clipped the initial skitts issue as well in case it helps further than descriptions have

#

The items remained stubbornly on the ground the way they were in the clip when she ran dropall

vagrant root
#

@knotty badger Btw maybe this might help too, verbose logs show nothing at all

knotty badger
# vagrant root Ideally Reserved Item Slots really needs fixed though

It's weird because you are the first that I have heard about this. No one has mentioned this on the GitHub yet, at least not that I'm aware of. Is this only in combination with mattie's mod? It's Friday now, so I do have some time to look at it today, but I will have more time to look at it tomorrow as well. And if you have any tips on how I can best replicate this, that would be appreciated!

next ledge
#

I doubt it'd be feasible to repro as a host given it's a high ping bug

#

It typically happens seemingly at random when trying to put smth on a storage item/shelf etc.

#

You'd need to idk throttle the everloving crap out of your router/find someone halfway across the world from you/both

vagrant root
#

Well it happens specifically to clients

next ledge
#

well

#

yeah

#

Host isn't gonna have a high ping because it's like

#

You're connecting to localhost how tf do you get latency there

#
  • you control everything so
knotty badger
#

Okay, this is in reference to @next ledge' specific clip. In this scenario, I was able to easily replicate this. All you gotta do it place something in a container, and pick it up before the host knows you even dropped it.

The best part is, is that this recording is completely vanilla. I ran a second host and simulated 200 ping. (maybe it was 300)

What's funny, is that if you try doing this by dropping an item on the ground, the game actually prevents you from picking up items until the drop action has registered with the host. Also, if you drop an item, it will prevent you from grabbing items from a container until the host has registered the drop action.
When placing items in a storage container, the game will let you grab items from the storage container as well as pick up items off the ground immediately. This tells me that the issue seems to be the game allowing you to pick up items immediately after storing something into a container, and if you grab that same item before the host registered that you put it in there, the bug will occur.

Like I said, this was in reference to Skitts' video. @vagrant root You stated that this happened to you occasionally. Was it this kinda scenario every time when players try placing items in a storage container, or did it happen at other times? Because I haven't been able to replicate this issue in any other way so far.

vagrant root
#

So for me for example the flashlight and walkie would get stuck inside of Skitts' body, trying to do lobby dropall would make the items drop in front of her but they still wouldn't reappear for me or anyone else and they couldn't be picked up

#

This is why the other items don't break and only the ones in the reserved slots do, cus there's fixes in place

#

@unreal oriole Maybe the fix for this just needs to be implemented into Reserved Item Slots if you remember the stuff you did

knotty badger
vagrant root
#

01952c33-89ec-50b8-a321-fd91e56e6c8b If it helps this is the pack we were playing with

knotty badger
#

But you can see in the video if you slow it down that she places the item in the container, and them immediately picks it up which caused the issue. Wasn't that the same issue I was showing in my video.

#

Idk, it's hard to tell I guess

vagrant root
#

Well she placed 2 items then swapped to the reserved hotbar it looks like then the reserved items and shovel dropped

#

Shovel didn't break but reserved items did

#

If I had to guess

#

She was swapping to the reserved hotbar to drop and pick the walkie back up

#

I kinda wish you didn't have to do that with walkies after having another one in your hotbar, they like to bug out if you don't and other people can't hear you and you can't hear them til you drop them and pick them back up

#

Cus I would guess the issue here is that the Reserved hotbar just breaks for clients if they swap to it too quickly after dropping an item

#

Cus it can't sync as you said

knotty badger
#

It's hard to see, but when I was replicating this, if you picked up an item that you just dropped, and the host hasn't registered that you dropped it yet, then when the host does register it, that's when you drop everything, and afterwards, you finish picking up the item.
So for her, it looks like she drops the flashlight, somehow picks it up immediately, then everything dropped, and after they dropped, the picked up flashlight went into her inventory, and similar to my tests, the flashlight would have went into her inventory after her items dropped, which is why it went back into the flashlight slot.
I can't be certain that she did swap to her reserved slots, though.

#

I probably didn't describe that very well lol

#

brb. gonna test a few things

vagrant root
#

NODDERS Yeah it looks like she went to swap to the reserved hotbar to me after dropping them, but it's hard to tell

knotty badger
#

So when you drop an item, it sets the throwingObject flag to true, and while this flag is true, the game won't let you grab item off the ground, or from containers.

When you place an item in a container, it does not set the throwingObject flag to true. BUT, after the host tells you that they acknowledged you placing the item in the container, your client will still reset this flag back to false, even though the game didn't set this flag to true in the first place. It kinda feels like the game meant to set this flag to true when you place items in a storage container, but forgot. I really don't know for sure. blobshrug

Anyways, I threw a quick one liner patch just to test this, by setting the throwingObject flag to true when you place an item in a container, and it worked beautifully. Once I placed an item in a storage container, the game wouldn't even let me pick it up until the host acknowledged it, basically preventing you from encountering that error.
The only annoying thing that I can see with this, is that you won't be able to spam place items into a container if you have high latency. It will basically be as slow as dropping items, but this part might not even be that big of a deal. It feels fine, even with 200 latency.

I know this doesn't address the exact issue with the reserved items not being able to be picked up while other items can be picked up, but I don't think this even matters since I believe this is the root cause of the items dropping in the first place. Maybe that's just my opinion, but I'm fairly confident that's what caused the items to drop.

Also, this fix doesn't really fit in my mod, though. This is just a general fix and has nothing to do with reserved item slots. It would kinda make sense to include it in hotbarplus since that mod is more about general QoL mod than the reserved mods, so it might not hurt to add that in.

Idk, you have any thoughts? @vagrant root
Anyways, I'mma head to bed now

vagrant root
knotty badger
#

It's basically just setting this flag at the beginning of this function.

Here's the example patch. (Not technically a one-liner, but I'm still counting it as one lol)

[HarmonyPatch(typeof(PlayerControllerB), "DiscardHeldObject")]
[HarmonyPrefix]
private static void FixPlaceItemContainerFlags(PlayerControllerB __instance, ref bool ___throwingObject, bool placeObject = false, NetworkObject parentObjectTo = null)
{
    if (placeObject && parentObjectTo != null) // or just 'if (placeObject)' will work
        ___throwingObject = true;
}

This is the original code:

if (placeObject)
{
    // dropping items on the ground goes to this block
    if (parentObjectTo == null)
    {
        throwingObject = true;
        placePosition = ((!isInElevator) ? StartOfRound.Instance.propsContainer.InverseTransformPoint(placePosition) : StartOfRound.Instance.elevatorTransform.InverseTransformPoint(placePosition));
        int floorYRot = (int)base.transform.localEulerAngles.y;
        SetObjectAsNoLongerHeld(isInElevator, isInHangarShipRoom, placePosition, currentlyHeldObjectServer, floorYRot);
        currentlyHeldObjectServer.DiscardItemOnClient();
        ThrowObjectServerRpc(currentlyHeldObjectServer.gameObject.GetComponent<NetworkObject>(), isInElevator, isInHangarShipRoom, placePosition, floorYRot);
    }
    // placing items in a container goes to this block (doesn't set throwingObject to true)
    else
    {
        PlaceGrabbableObject(parentObjectTo.transform, placePosition, matchRotationOfParent, currentlyHeldObjectServer);
        currentlyHeldObjectServer.DiscardItemOnClient();
        PlaceObjectServerRpc(currentlyHeldObjectServer.gameObject.GetComponent<NetworkObject>(), parentObjectTo, placePosition, matchRotationOfParent);
    }

    return;
}
vagrant root
knotty badger
#

Honestly, I'm still confused about Skitts' clip. It's either just very wild timing that she somehow accidentally pressed e after dropping it, or something weird caused her to pick it up at that exact moment. There's like one frame where you can see it say [Nothing to store], and I don't actually see a message to press to to pick it up.

@vagrant root It probably wouldn't hurt to add this to HotbarPlus as a config for now, but turn it off by default so it doesn't affect anyone right now, but you could just have everyone in your party enable it for testing if you want.
I'mma head to bed, but maybe do that tomorrow morning.

vagrant root
next ledge
#

Yeah I was just trying to put the flashlight on the shelf

#

I must've accidentally picked it up again when trying

#

Typically what I'm trying to put onto a shelf ends up back in my inventory so that makes a lot of sense

#

Some of my keys chatter a bit on my keyboard so i wouldn't be surprised if that included e, but idr if that's one of the keys that does that

next ledge
#

Really weird

vagrant root
knotty badger
# vagrant root We still gonna get that Hotbarplus update bud?

Yeah, I had to leave for a bit. Got back kinda late, but I'll be uploading it in a sec. Just make sure you enable the config for the fix, or at least tell the non-host clients to enable it. I forgot what it's called, but it's in the "other" section.

vagrant root
#

Will do

terse warren
#

if lobby control only needs the host to have it installed, what would happen if someone else has it? would it break anything?

tacit lynx
#

...nothing would happen?

terse warren
#

spent an hour troubleshooting it

brisk harbor
#

i am nearly certain lobby control + more company is fine

#

even if the host does not have lobby control

#

lobby control on its own does not cause problems if the host does not have it

#

i know that for certain

terse warren
#

the 5th to join keeps getting this bug, very weird

vast estuary
#

welcome to the mold room

#

my friends also have this issue sometimes

slow dagger
#

If you have their log when it happens, please send it

terse warren
#

got overwritten, friend saved this instead

#

[07:32:25.3196546] [Error : Unity Log] NullReferenceException: Object reference not set to an instance of an object
Stack trace:
GameNetworkManager.StartClient (Steamworks.SteamId id) (at <bdf6a080e98a49fd84b92b24894f768c>:IL_0021)
GameNetworkManager.JoinLobby (Steamworks.Data.Lobby lobby, Steamworks.SteamId id) (at <bdf6a080e98a49fd84b92b24894f768c>:IL_0167)
System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__7_0 (System.Object state) (at <787acc3c9a4c471ba7d971300105af24>:IL_0000)
UnityEngine.UnitySynchronizationContext+WorkRequest.Invoke () (at <e27997765c1848b09d8073e5d642717a>:IL_0002)
UnityEngine.UnitySynchronizationContext.Exec () (at <e27997765c1848b09d8073e5d642717a>:IL_005D)
UnityEngine.UnitySynchronizationContext.ExecuteTasks () (at <e27997765c1848b09d8073e5d642717a>:IL_0014)

swift kelp
#

That doesn't help very much

#

My guess is probably some mod that changes the HUD

#

What mods do you have

terse warren
#

019532df-0528-0912-6c91-17300b715ec3

vagrant root
#

@knotty badger Seems like the fix doesn't work lol

next ledge
#

Yeah, I was able to repro the issue with what you found and it still ate my stuff

knotty badger
next ledge
#

We had the option on

#

Probs some form of mod conflict

knotty badger
next ledge
#

No I was specifically trying to test the bug there

#

to see if the fix worked

knotty badger
#

@next ledge Just double checking, but do you personally have this setting enabled in the HotbarPlus config? Or does only Lunx?
It doesn't matter if Lunx enables it, but you should have it enabled. If it's already enabled, then it must be something else.

I'm currently testing with this issue with ControlCompany and AdditionalNetworking, but when I place any items into a container, it's definitely not letting me pick up any items (from either ground or containers) until the item is placed into the container on the host's client, which takes about 200ms with my testing latency. I'll keep trying some more, though.

next ledge
#

I do

#

I turned it on when she did

knotty badger
#

Btw, not important, but are you using hotbarplus quick dropping? In your video from the other day, you placed the walkie, and then swapped to the flashlight. My client keeps swapping to the shovel, so I was just wondering if you swapped manually to the flashlight in the video, or if that was the hotbarplus swapping to it automatically after placing the walkie.

next ledge
#

I don't think I am

#

Yeah that's turned off in luni's pack I think

brisk harbor
#

just curious

next ledge
brisk harbor
#

since this was brought up in my thread

#

are you and lunx using this

next ledge
#

Nope

brisk harbor
#

because it sets all interact triggers to have 0 cooldown, which would include the shelves of the storage cupboard (which normally has a 0.25s cooldown)

#

i see, ok

#

i don't think it'd be a problem here anyway, since the problem seems to be interacting with the item, not the cupboard itself

#

but was worth a shot

knotty badger
#

@vagrant root @next ledge Idk what mod you guys got that's doing this, but you're somehow bypassing the throwingObject flag. Whatever is going on is letting you drop items and immediately pick them up. Like dropping items on the ground. This is the one that sets this flag in the vanilla game, and prevents you from picking up items until the host acknowledges that you dropped an item, and something is bypassing this. So I guess it's not specific to placing items in a container, but this is also why my fix doesn't do anything, because it's also getting bypassed.

I'll keep looking through some of your mods to help figure out what might be causing this, though.

vagrant root
brisk harbor
#

throwingObject is one of the things that causes the interact bug

#

as well as isGrabbingObjectAnimation

#

i know that i have a patch that resets throwingObject if it gets stuck set to true for more than 2s

#

testaccountfixes and high quota fixes might do something similar, since they both also have fixes for the interact bug

slow dagger
brisk harbor
#

i will double check and make sure that it's not triggering when it shouldn't be, since i need to push another hotfix anyway

#

but if you need to narrow it down to other possibilities you could try disabling butteryfixes as well to see

#

i did have to disable my interact bug fix when touchscreen is installed since it does special behavior with isGrabbingObjectAnimation

brisk harbor
#

if you need me to do the same for reserveditemslots and throwingObject let me know, but that should only be an issue if you anticipate the flag being true for more than 2 seconds straight on one client

#

@vagrant root actually looking at this, it looks like i have a typo in my code that might be overriding throwingObject more aggressively than intended

#

so it's very well possible tihs is my fault, and if it is, it should disappear after i post the next hotfix

vagrant root
#

Not just Hotbarplus

brisk harbor
#

well

knotty badger
# brisk harbor so it's very well possible tihs is my fault, and if it is, it should disappear a...

It does look like it's your mod. I went back to my small mod pack to test in a smaller environment, and it seems to let me pick up items immediately after I drop something before host registered that it was dropped. I've added and removed your mod a few times just to be triple sure, and it seems like it's your mod.

Interestingly enough, if you drop and item onto the ground (not container) and pick it up immediately, it actually doesn't seem to break anything, or cause you to drop your items, UNLESS you have GeneralImprovements. It seems like they have some code that will force this if it detects de-sync, maybe? So those two mod combinations kinda make it worse in this unique scenario.

brisk harbor
#

i just mean i think im probably the culprit of the flag being reset to false early

#

if i've been keeping up right, hotbarplus is still the only mod that sets the flag to true when storing items?

#

since zeekerss forgot in vanilla

brisk harbor
knotty badger
#

I have no idea if other mods are doing this. (setting the flag to true when storing items) It's strange that it's not in the original game, because after you store something into a container, the game will reset this flag, which makes no sense if it never intended on setting it

brisk harbor
#

yeah

#

i suppose i could implement a patch for this on my end as well

#

since it seems like a general vanilla issue

knotty badger
brisk harbor
#

so the problem is that there's no throwingObject = true before PlaceObjectServerRpc?

knotty badger
#

This was my patch.

I'm just checking placeObject, and not parentObjectTo != null since that doesn't really matter. Just makes it a little shorter

[HarmonyPatch(typeof(PlayerControllerB), "DiscardHeldObject")]
[HarmonyPrefix]
private static void FixPlaceItemContainerFlags(PlayerControllerB __instance, ref bool ___throwingObject, bool placeObject = false)
{
    if (placeObject)
        ___throwingObject = true;
}
vagrant root
#

@brisk harbor Lmk when the update goes live

unreal oriole
#

@vagrant root next LobbyControl update should finally fix the lever 😅

violet pewter
#

lever?

vagrant root
analog eagle
vagrant root
#

you should be using 1.4.11

terse warren
#

We have the same problem
LC + updated lll
So hopefully next update would work

unreal oriole
#

let me clear this up. because there are many different issues with the ship lever from many different mods 😅

#

LobbyControl has the JoinQueue system that also prevents you from pulling the lever if somebody is still joining.
"prevents" is incorrect it will let you pull the lever then print a warning and reset the lever back.

this is currently semi-broken because even if the lever get's reset the players cannot use it anymore

#

this i discovered is actually a zeekers bug 😅

#

LLL has also an issue with the lever where . no matter what only host can use it. and that is separate from this 🙃

analog eagle
#

oooh its vanilla plink

#

yeah im missing most of the context thanks for clearing that up

unreal oriole
#

LobbyControl_Experimental v2.5.0

  • Rewrite Transpliers to be more readable thanks to Zaggy
  • Removed old code that is not needed anymore:
    • removed RadarName ( superseded by Zaggy's TwoRadarMaps )
    • removed ItemSync ( superseded by AdditionalNetworking )
  • replaced TransparentPlayerFix with client-side version
  • added ConnectionCheckpoint API
  • modified JoinQueue system to use the ConnectionCheckpoint API
  • added ConnectionEvents API
#

this is a highly experimental version as i've done a substantial rewrite for both the transpliers and the JoinQueue system. hopefully this will solve most of the issues from letejoining

vagrant root
unreal oriole
#

for developers there is a new API namespace that allows other mods to react to latejoins and to detect/delay detection of when a client completed the connection

#

once this version is confirmed not-borked i'll start asking around for inputs/propose soft-dependencies on my API to other devs

slow dagger
#

What are the known issues of late joining? I haven't really been keeping up with this

vagrant root
unreal oriole
vagrant root
unreal oriole
#

oh woups i forgot that config there 😅 it's litterally doing nothing atm

vagrant root
#

Got ya lol

unreal oriole
#

i planned on adding extra RPCs to correctly detect things but lukly found a better vanilla one that should do the trick

vagrant root
#

I was able to host a lobby okay, that's the first thing I wanted to test lol

#

Ooh

next ledge
unreal oriole
#

what is the issue?

next ledge
#

sqlite because fog of death with experimental

#

Dunno if conflict or what, sending for luni to look at it

vagrant root
# unreal oriole what is the issue?

Clients are getting fog of death with Experimental, interestingly the errors clients are getting on join are from Dice and PlayerHudTweaks

next ledge
#

yeah

unreal oriole
#

ShipWindows beta has errored out way earlier

vagrant root
#

Just reverted to stable LobbyControl and a client could join

unreal oriole
#

you sure?

vagrant root
#

Yeah

unreal oriole
#

there are no errors 😭

vagrant root
# unreal oriole you sure?

Something with LobbyControl Experimental is causing the join issues, it looks like some incompat with Dice or PlayerHudTweaks cus PlayerHudTweaks was spamming errors

#

It doesn't happen with Stable

unreal oriole
#

from lobbycontrol

vagrant root
#

Yeah I would assume it's hooking into whatever PlayerHudTweaks is

#

and it causes the error spam

#

@lofty bough any idea what might be happening here?

unreal oriole
#

nah that is erroring out during the client shutdown

vagrant root
#

Ah odd

unreal oriole
#

Unity.Netcode.NetworkManager:ShutdownInternal()

vagrant root
#

I wonder why it's not logging anything

next ledge
unreal oriole
#

@vagrant root your pack cannot be run in LAN 👀

vagrant root
#

Can you test if disabling StreamOverlays solves it?

unreal oriole
#

idk it does not let clients join for Mismatched Network configuration

vagrant root
#

🤔

#

01954944-9c65-96e0-f4a3-a417075725a8 Test with this version of the pack and lmk if it still repros

#

I wonder if it's Diversity

unreal oriole
#

it takes a while to boot the instances

vagrant root
#

Yeah well whatever mod is breaking lan I wanna pull, and this would be a recent thing

#

It should say which mod is causing the problem though through logs 99.9% of the time

unreal oriole
#

this is that 0.01% sadly

vagrant root
#

Oof

unreal oriole
#

network mismatch is unity native and has no info at all

vagrant root
#

Fun

#

Well I've seen cases of people having game version mismatches with Diversity

#

so I would try disabling that first

#

I'll do testing off of stream later to go through some other recently added mods to see if they break smth

unreal oriole
vagrant root
#

So it was Something

unreal oriole
#

nvm this had experimental disabled 🤦

vagrant root
#

OH

vagrant root
#

It's not dice right? Cus Dice was the first thing throwing an error

unreal oriole
#

nah dice is mad that the client is in the "fog"

vagrant root
#

Very fair lol

#

The only reason I said try Diversity first is cus I've seen reports about version mismatches with it in rare occasions that tell people they're on V5 and stuff

#

But I haven't personally had it

#

Lan breaking is super odd cus I tested it rather recently and it worked with my pack, so it broke sometime after the addition of Diversity

#

Dunno if either version of ShipWindows might do it

#

I'll send a list of mods that might touch Networking

#
#
#

But there's also these that updated recently

#

though Crit is great about testing his stuff

#

I'd love to properly go through and test right now and disable things 1 by 1 til I find it ;c

#

But I'm live lol

#

I'm noticing though right now that everyone that joins is spawning by the ShipInventory

#

LOL

#

with LobbyControl Stable

#

so that might be a link

unreal oriole
#

soo issue which seems to have been happening before too but never caused issues somehow tilted_head was that i was using the clockCycles instead of millseconds for the timeout 🤣

#

and damn thoose are fast

#

what did you remove in the second code btw? whatever you removed was the issue for LAN
@vagrant root

unreal oriole
#

aand nvm the mismatch happend again

#

something is really unreliable in your pack @vagrant root

vagrant root
#

Hmmmm

#

Again my best guess is Diversity

#

But I can't find out for sure til I end stream and have time to come help you test stuff

hidden solstice
unreal oriole
#

yee sry for ghost ping

solar monolith
# unreal oriole you sure?

does this failed transpiler happen when one of the ship windows copies is disabled too? I wonder if us changing some of the transpilers caused that to break

#

due to some instruction being removed that it relied on

unreal oriole
random flame
#

is there a fix for item sinking downwards into the floor inside the ship if you reload a lobby while in orbit?

#

havent tested the mod yet im wondering if this mod fixes this issue

vast estuary
#

matty's fixes does

random flame
#

thank god i hate losing items under the ship

unreal oriole
#

be aware that the fix for that will conflict with other mods that do the same ( mainly GI or SmartItemSaving ) so if you have them disable the relative settings

#

if you have multiple enabled the problem gets worse 😅

brisk harbor
#

regarding Sync Radar Names, does that setting need to be enabled on all clients or is it ok if the host has it enabled + all clients have lobby control installed

unreal oriole
#

everybody needs to have it enabled. i intentionally made so clients can decide to not listen to said requests from the host.
but if they do so, desyncs will happen

vagrant root
unreal oriole
#

it's a beta and things might break like they just did with 1.5.0 😅
any help testing is appreciated.

vagrant root
#

The only one I can't figure out is the trace for this one

vagrant root
#

@unreal oriole Ran a test

#

Looks like ButteryBalance breaks for the second game client that launches for lan, I hosted a lobby on the second instance and it gave me the fog of death

#

@brisk harbor Might be useful info for you

brisk harbor
#

i will have a look

vagrant root
# brisk harbor i will have a look

Yeah it just dies if you run 2 game clients it appears, the first instance booted was fine but the 2nd got fog of death even when just hosting a lobby on it which was interesting

brisk harbor
#

doesnt really make sense to me but i will try to figure it out

vagrant root
#

Yeah same to me

#

Actually relooking through the log I see this as the very first error 🤔

brisk harbor
#

ok that makes more sense to me now

#

rebalanced moons is possibly patching before i am and crashing startofround.awake

#

which prevents my networker from instantiating itself

#

so it runs into a null reference when trying to access it

vagrant root
#

Yeah it seems like RebelancedMoons and lan don't play together well

brisk harbor
#

my guess, anyway

vagrant root
#

Or at least launching multiple clients doesn't

#

Idk why Matty said he never got any errors while testing my pack though lol

#

2nd client still fog of deathed, said client 2 missed 2 checkpoints

vagrant root
#

@unreal oriole I don't know how much I trust the new Join Queue system.

#

I reset the values to the new one and the 2nd lan client would consistently get timed out causing the fog of death

#

It appears if they take too long to join it's failing to boot the player to the lobby

#

and instead they get sent into the black fog

static breach
#

idk whats causing this

vagrant root
#

Maybe Faster Load?

static breach
#

its erroring out trying to spawn the network handler for the mod

#

which isnt something ive ever been able to reproduce

vagrant root
#

Yeah that happened when trying to host a lobby on the 2nd lan client

#

Lol

#

Dunno why

#

@unreal oriole It was Diversity breaking lan connections

#

Also I had to increase your join queue timer cus it doesn't seem to properly be counting 20 seconds as 20 seconds and fails before the 2nd client can make it in shadow realming them. Clients take a bit to join cus there is a small stall when it gets to Wesley's Data for Wesley's Moons

#

I changed it to 50 so I could properly get lan to work

#

With Diversity enabled I couldn't get lan to load a 2nd client in

#

Just constant an error occured

#

I also noticed the speaker lines never played which indicated it was Diversity

#

But yeah the issue of it not booting players and sending them into the wall definitely needs fixed

unreal oriole
#

this specific instance of the fog of death is a mysteryDice issue.

mystery dice crashes if the client disconnects before getting a playerobject and that can happen in multiple cases even w/o LobbyControl

unreal oriole
vagrant root
#

It stalls a bit when it gets to the message about Wesley's Data

#

Doubt that's Wesley's fault ofc his content addition is just huge and it probably has to load a few things

#

I did at least confirm Diversity is what breaks lan though

vagrant root
#

The fog screen issue is what concerns me

unreal oriole
#

as i said that's on mysterydice not on lobby control

vagrant root
#

Ah

unreal oriole
#

stable lc almost never goes in timeout became i was using the wrong math 😅

#
[20:20:50.9895247] [Error  : Unity Log] NullReferenceException: Object reference not set to an instance of an object
Stack trace:
MysteryDice.Effects.NeckBreak.FixNeck () (at <dfd41e8c3f75449a97140a112a7bc8b7>:IL_000C)
MysteryDice.Patches.StartOfRoundPatch.ResetSettingsShared () (at <dfd41e8c3f75449a97140a112a7bc8b7>:IL_00A5)
MysteryDice.Networker.OnNetworkDespawn () (at <dfd41e8c3f75449a97140a112a7bc8b7>:IL_0001)
Unity.Netcode.NetworkBehaviour.InternalOnNetworkDespawn () (at <895801699cfc4b4ab52267f31e2a4998>:IL_000D)
UnityEngine.Debug:LogException(Exception)
Unity.Netcode.NetworkBehaviour:InternalOnNetworkDespawn()
Unity.Netcode.NetworkObject:InvokeBehaviourNetworkDespawn()
Unity.Netcode.NetworkSpawnManager:OnDespawnObject(NetworkObject, Boolean)
Unity.Netcode.NetworkSpawnManager:DespawnAndDestroyNetworkObjects()
Unity.Netcode.NetworkManager:ShutdownInternal()
Unity.Netcode.NetworkManager:NetworkUpdate(NetworkUpdateStage)
Unity.Netcode.NetworkUpdateLoop:RunNetworkUpdateStage(NetworkUpdateStage)
Unity.Netcode.<>c:<CreateLoopSystem>b__0_0()
#

this is what triggers the fog. as the game was trying to return to main menu but crashed

vagrant root
#

Ye I found that out lol

#

I saw that go off everytime

unreal oriole
#

on the timeout: you do not have to reboot the game/lobby to change the timeout. LethalConfig works immediately ( well for the next connecting client )

vagrant root
#

Ye that much I remember

vagrant root
#

@unreal oriole New version of Experimental is the wrong version number

#

lol

#

2.5.2 won't work

#

It will need to be 5.2.0

#

Figured I would say something cus I saw the new one get pushed lol

unreal oriole
#

😭 i hate myself for doing that in the past

vagrant root
#

Honestly if you wanted to fix the version numbering you could deprecate experimental and do a LobbyControl Unstable build or smth probably

#

It gets the same premise across essentially lol

unreal oriole
#

i dont want to create yet another listing for LobbyControl

vagrant root
#

Yeah that's entirely fair and understandable lol

tacit lynx
#

just keep the wonky numbers for experimental than just have a more normal one for stable?

slim grotto
#

Unsure if you're aware of this, but in the readme for LobbyControl and LobbyControl Experimental, they both have the typo "sub-Commnads:"

unreal oriole
#

🙃

violet pewter
#

5.2.0 experimental isnt generating a config for me, i see 5.3.0 is out tho, im just waiting for it to reach mod managers 🙂

unreal oriole
#

2.5.2 was missing the dll 😅

violet pewter
solar monolith
#

surely a janitor can fix the versioning if that would be ideal

unreal oriole
#

doubt. at best they can delete all versions

solar monolith
#

yeah I was thinking just deleting the misversioned packages

unreal oriole
#

~50 versions KEKW

solar monolith
#

oh

#

nvm lmao

#

can't wait till I make a goof like that with PathfindingLagFix beta

unreal oriole
#

it's not even a goof .
past me thought it would be smart to shift the version forward by one to use the minor as patch for experimental.
and now i've had to deal with that stupid decision for the past year 😅

solar monolith
#

oh shift it forward by one when? just one time?

#

hopefully I don't regret my decision to make the beta use minor version as revision and then reset to zero when bringing it to stable

#

at least that scheme allows me to change schemes at any point I think

unreal oriole
#

the first experimental version was 2.3.0 so i uploaded it as 3.0.0 then made 3.0.1 ecc

vagrant root
#

@unreal oriole Guessing the new change should prevent timeouts at the default values before 20 seconds have actually passed?

#

I'll try setting it to 30s

unreal oriole
#

v2.5.3 is just a more clean write of v2.5.1 😅 theorically no noticeable difference between the two versions

#

but yeah you'll need 30 or more seconds for your modpack

#

maybe go to 40

unreal oriole
#

@neat raft i've been told you do not like adding soft-compatibility so i'll try and do it from LobbyControl side.
but i still need you to point what methods i should tap into for it 😅

#

i'm adding a system in LC to detect when a client has finished connecting so i'd like you to tell me what methods i could use to detect that.
bonus points if you have multiple that need to be hit so i can place more checkpoints and have a better detection

#

this is about LLL

#

would be preferable if they are ServerRpcs but if not i can just add my named messages to them

neat raft
#

Could you elaborate on what exactly you’re looking for here?

Yeah I do unfortunately prefer to avoid soft dependencies when possible, kinda selfishly the biggest reason is that it causes me massive problems in editor

unreal oriole
#

easiest example is the MoreCompany checkpoint that i put on when client sends it's cosmetics to the server

#

or vanilla one i put when client completes the VoiceChat initialization

neat raft
#

Just network related lobby initialisation?

#

Or non network too

unreal oriole
#

basically i need to detect when client is ready to play

#

so any kind of initialization that would prevent client from, for example, loading the moon if server tries to land

#

but related to connection so not really when somebody changes moon via terminal

neat raft
#

Does hotreloading matter or will my lever safeguard handle that

unreal oriole
#

🤔 this system is for the lobby joining so i'm not sure

vagrant root
#

Sometimes it will say a player is loading the moon so it will prevent it being pulled though

neat raft
#

You won’t know the answer to my question so please do not speak for Matty

vagrant root
#

I play with Lobby Control all the time though

#

I knew what you were asking about here which is why I said something lol

neat raft
#

@unreal oriole ill get back to you when i can

unreal oriole
#

sure the system is in Experimental atm

#

but it seems to be working very well for vanilla detection

neat raft
#

on my way to uni rn (waking up at 4:30 so long days for me aha)

unreal oriole
unreal oriole
#

if you instead mean LobbyControl lobby load system then no. i do not plan on supporting it for modded lobbies

still stirrup
#

cuz if yes then i wouldnt suggest checking cosmetics on morecompany since it'll be vanilla compatible for 4 (or less) players at some point which'll mean not everyone will necessarily have cosmetics

unreal oriole
#

yeah all checkpoints have to succeed to mark a client as fully connected. if a client fails to mark all checkpoints before the timeout runs out then it is kicked and a new connection is resumed from the queue.

unreal oriole
#

do you think there is something else worth putting a checkpoint on in MoreCompany then?

#

ideally this checkpoint system is an API for other mods to soft-implement, but, for a first release, i'm fine adding the logic for some major mods on LobbyControl side

next ledge
#

I send a lot of these here 💀

vagrant root
#

@unreal oriole Seeing this happen before Infinity or NaN errors happen

#

Something with AN is borked

vast estuary
vagrant root
#

Also noticing the Infinity or NaN errors all relate to Scan Nodes

vast estuary
#

my lobby clients also have this issue

vagrant root
#

So I think your scan node stuff is breaking

next ledge
#

Just that I got done falling through the floor a sec ago myself

vast estuary
#

i'll send the logs of one of my friends who clipped through the floor on gordion

#

they sent the logs shortly after they clipped

unreal oriole
unreal oriole
vagrant root
vagrant root
#

Is that it's also happened mid-game

#

When you joined us Sunday at some point after you left

#

a couple players randomly started getting Infinity or NaN spam

#

no idea why

#

But they started randomly falling through the ship and stuff

#

It probably all relates to something with ReservedItemSlots but it was really weird

#

and I saw that same error from AN too

unreal oriole
#

def not my mods fault. also all exceptions on the receiving end of AN messages are safe. in the sense that they will not break anything when they are thrown because they run isolated form the rest

vagrant root
#

Yeah it makes sense

#

I just dunno why all the errors are referencing scan nodes

#

Like this one

#

it's always some random item

#

CruiserImproved again.

#

Why the fuck does CruiserImproved keep touching this shit?

#

When we don't have a cruiser

#

@slow dagger Can you look into seeing why it's doing this? Since you were pushing that pr

#

Cus I genuinely think I might just need to pull CruiserImproved

unreal oriole
vagrant root
#

Just I noticed in the past few SQLite's I've checked it feels like there's a link there

#

But if ReservedItemSlots is setting it off then it might originate from it

unreal oriole
#

in skitts sqlite it def printed the error first during join

vagrant root
#

Yeah

unreal oriole
#

because reserved slots waits a lot before changing the inventory size there is a big window for AN to receive a message about a slot the client doesn't know about yet

vagrant root
#

I just dunno why ReservedItemSlots is setting off a whole chain reaction that is definitely what is so concerning

slow dagger
#

are you able to recreate it consistently? and if so, does it occur with cruiserimproved disabled?

vagrant root
#

I've noticed it generally happens if someone is holding a scrap when someone is joining

#

they then can't see said scrap, the person places it they fall to the void and get error spam

slow dagger
#

my best guess is that it doesn't retroactively apply the rigidbody to latejoins

#

which could cause some fuckery

vagrant root
#

Probably

slow dagger
#

i could maybe see about having it remove rigidbodies on scraps with latejoins, but i'm not sure how involved that would get, and i am unable to test the builds myself

vagrant root
#

Yeah, @unreal oriole I actually wonder if you could look at the code and see if you have suggestions on how to fix it

#

Since you know more than anyone else here about late join

#

Not to call you out of course it's just you have the most experience cus you've developed Lobby Control 😅

slow dagger
#

i'll throw something at the wall here, not sure if this is correct in any way
i could mark LobbyControl as a softdependency, if it's present, could work in a prefix for its latejoin function that finds every scrap in the lobby with a rigidbody, and removes the component
i could probably do it without lobbycontrol softdep even, and use lethal's basegame player join function as the basis to prefix (assuming latejoins use that as well)

#

that being said

#

i'd like to confirm it is cruiserimproved before i put in the work

#

to make sure it isn't a conflict you have

vagrant root
#

I'm unsure what could cause a conflict like that

slow dagger
#

if you can find a reliable way to replicate it, and can confirm disabling cruiserimproved doesn't cause it, i'll do my best to fix it

unreal oriole
#

yeah LobbyControl does not have a dedicated latejoin method

slow dagger
#

in that case it would be easier to just use vanilla method

unreal oriole
#

just prevents vanilla from closing the steam lobby. the rest is handled by vanilla code

slow dagger
#

gotcha, thanks for clarifying

slow dagger
#

Actually hold on

#

I just reread the report

#

You mentioned you didn't have a cruiser when it happened @vagrant root

#

Did you have a cruiser at any point during that session?

vagrant root
#

nope

slow dagger
#

I'll have to take a closer look tmrw

#

The issue seems to originate from playercontroller.cs

#

But the code in question shouldn't run unless there are items being parented to a cruiser

#

So if the cruiser didn't exist yet either I'm misreading the code or it's touching when it shouldnt

vagrant root
#

Yeah

brisk harbor
#

it gives all GrabbableObjects which have ScanNodeProperties a kinematic rigidbody to their scan node collider

#

because otherwise, when the object is dropped in the back of (or on top of) the cruiser, it becomes unscannable

#

in this case im like 99% sure unity is at fault

#

Infinity or NaN floating point numbers appear when calculating the transform matrix for a Collider. is an error being thrown by an internal unity method

#

all that digg is doing is AddComponent<Rigidbody>()

#

i mentioned it last time you brought up this issue but it might be caused by scan nodes having a scale of 0,0,0

#

but in that case im not sure that it would even be possible to scan

#

so im not 100% sure that is the case

slow dagger
#

Thanks for the explanation btw

#

I figured I wasn't interpreting the code correctly, I was very tired

unreal oriole
knotty badger
vagrant root
#

It was MoreCupboards

#

@granite dove You may wanna look into this, it affects clients badly

#

And it always affects some random furniture

knotty badger
#

Ooooh, good to know haha

granite dove
jaunty mural
#

With Lobby Control installed, I get this Low SomethingQueue Timeout 40s message everytime I load up the game. It says it's in LLL and I need to change it but there isn't anywhere in LLL where I can change that. All it is, is moon configs

#

This is the experimental version btw

unreal oriole
#

the setting is in LobbyControl not LLL

jaunty mural
#

Oh

#

Do I only change the connection timeout ms? Or that and the delay ms?

unreal oriole
#

only the connection timeout. you should make it about equal to the time it takes for you to load a lobby

jaunty mural
#

ahh okok thank you. I say ms and that says seconds so I was confused but I got it now, thank you again

unreal oriole
#

1s = 1000ms

solar monolith
#

yeah that doesn't read too well, it's not clear to me that it's saying a LethalLevelLoader join sync requirement failed

#

could probably use two paragraphs really, if possible

#

one to say that the requirement failed within the timeout, another to say to increase the timeout

unreal oriole
#

it's not a failing connection. it's a notification that is shown at startup like the LAN warning ( it's litterally a cloned object from that )

brisk harbor
#

sorry to derail, was the setting to enforce all clients use lobbycontrol removed?

#

i noticed it in i think 5.2 and then it disappeared

unreal oriole
#

it was never supposed to be there to begin with 😅 it was some unused code

brisk harbor
#

i see, i see

unreal oriole
solar monolith
#

seems awkward for it to require manual modification if this is a known issue

#

what does the LethalLevelLoader checkpoint wait for?

unreal oriole
#

there is no LLL checkpoint yet

#

it's just that the more moons you have the longer it takes for you to load in

solar monolith
#

oh hmm I see

unreal oriole
#

and 99% of people will just timeout and probably come here to just be told to increase the timeout in config.
this is intended to send a preventive warning to let people know they have to edit that setting if they play with LLL moons

solar monolith
#

I have a feeling that it's not only LethalLevelLoader that would increase that loading time tbh, I've seen lots of other content take a good bit of time at startup

#

wondering if maybe it should be based on mod count too, or exclusively

unreal oriole
#

startup or lobby join?

solar monolith
#

but phrasing could definitely be clearer regardless

#

lobby loading

#

I see a lot of spam from not only LLL

#

with big packs

unreal oriole
#

yeah. but LLL is a safe bet for requiring extended timeout

#

def needs better wording

solar monolith
#

is it a one-time notification?

unreal oriole
#

at boot if LLL and timeout < 40000

solar monolith
#

perhaps a better thing to do would be to use some multiple of the time it took the host to go from clicking the start game button to passing all checkpoints locally

#

by one-time I meant like not saying it every time you launch

unreal oriole
#

sadly host skips all the checkpoints 😅 the host joining sequence is different from clients

solar monolith
#

then at least time from start game to player connection could work probably

unreal oriole
solar monolith
#

* 1.25 or something

#

formula could be like hostLoadingTime * loadingTimeoutMultiplier + timeout or something

#

reason I suggest this being that I don't use that many content mods, so I wouldn't really want to increase my timeout, but I would get this pop-up every launch regardless

unreal oriole
#

i could also just remove the popup and deal with people asking why they are getting timedOut

solar monolith
#

I would hope that shouldn't be necessary

#

but up to you I suppose

unreal oriole
#

how would i know if the user set a custom timeout or if it still default and i need to compute it...

solar monolith
#

why should you need that? just expose both values as options

brisk harbor
solar monolith
#

I suppose that's an option too yeah

jaunty mural
#

01956965-15d2-0301-4eea-ce38c8865005
Didn't know who to report this to so I'm doing both. A guy I was playing with had the personal phones upgrade from lethalphones and he left and rejoined (I had lobby control experimental) and his hand was stuck out like he had his phone out 24/7. I provided the log and the modpack code.

autumn shadow
#

Hello Mr. Matty, if I use your lobby mod will I ever need LateCompany?

unreal oriole
#

LobbyControl will stop itself if it detects any other LateJoin mod.

#

LobbyControl has late-join capabilities and you cannot install multiple late-join mods

autumn shadow
#

Cool beans, one less mod I need to care about. Thank you and have a delightful day greetings

unreal oriole
#

wish you a good quota 😄

desert herald
#

great fix!

jaunty mural
#

Was using lobby control experimental. Honestly it could have been something else but I had problems with people joining late. Anyone that joined late had weird bone physics on their limbs and another person joined and couldn't see or hear another person that was on the ship. There was also some kind of invisible person near one part of the ship that seemed to push is when we run into it but that could have been a different mod. I explained all the problems I had in the help and troubleshooting but the animation bone phsyic thing has happened before.

vagrant root
#

I had a lot of cases of late joiners seeing items and stuff floating with the new build for some reason that no one else could see, so some desync shenanigans were going on

quasi pendant
#

u fixed that?

vagrant root
quasi pendant
vagrant root
#

🤔 no

quasi pendant
#

now u unblocked me lol

#

no worries anyway

#

was just curious

vagrant root
#

I never had you blocked lol

quasi pendant
vagrant root
#

Also you not being able to send me a friend request was probably cus of my privacy settings 😅 I set up some restrictions a while ago so I wouldn't freak out too much about that ^^

#

That was changed cus I had an influx of bots and stuff trying to add me at one point

quasi pendant
unreal oriole
jaunty mural
#

I didn't have stable, I've used experimental only

unreal oriole
#

modded animations can break and whoever makes them should address the late-join issues.
the audio issues are supposed to be fixed by the joinQueue so they might be caused by another mod instead 🤔

#

if you can consitently reproduce the issue i will investigate it

jaunty mural
#

That's the thing, one of the animations weren't modded. Idk how to explain it but the person's legs where janky looking. And it wasn't necessarily the audio. The person that joined late couldn't see anything related to the other person, couldn't see them, couldn't hear them, on their lobby thing it said the other person wasn't even there.

#

So ig yeah it was a bit audio but since it happened I'd figure I'd report it. It was all super weird

unreal oriole
#

oh the leg thing happens sometimes even in vanilla

#

nobody investigated it yet tho

jaunty mural
#

Oh, I didn't know that mb

unreal oriole
#

you're fine. the "phone" animation should be that mod job to reset it on death/diconnection

jaunty mural
#

Your right on that, I have reported it on their end already. Not saying it was the lobby mod but so many weird stuff was happening. I'm going to try without it and then tn try it with it and see what I can find.

unreal oriole
#

the collision thing i highly doubt is caused by LobbyControl

#

and the "missing" player is something i haven't been able to reproduce yet. tho i did already know it was happening in rare cases

jaunty mural
#

Oh okok. Well I'll see what happens soon and tn. Thank you for responding and helping so far 🙏

unreal oriole
#

well it's been a bit. has anybody had troubles with the LobbyControl Experimental?

vagrant root
wispy widget
# desert herald great fix!

Just to add to this, do you plan on properly making it so this thing's config option completely disables anything and everything related to it? It still affects items in the cupboard at the moment, even when off

#

I like everything else in Matty's Fixes, but not this. This doesn't fix anything, and just makes the problem worse. Yes, I've tried it in a fresh modpack to see if it still manifests there, and it still does

unreal oriole
#

with that you are referring to the auto-parenting to the cupboard right?

wispy widget
#

Whatever it is, it still makes items in the cupboard float, and sometimes flips them onto an axis they wasn't saved on upon reload.

#

It has to do with the object clipping settings in general, though I'm not sure which one

unreal oriole
#

do you have GI? or other mods trying to fix items falling below the ground?

#

i do not update rotations if they have been set by GI/SMI and ( for example ) GI fixItemFalling through is incompatible with Matty's Fixes OutOfBounds so you have to disable either one of them

wispy widget
#

Yes, I've tried it in a fresh modpack to see if it still manifests there, and it still does
But to answer your question: GI, yes, but their settings relating to clipping items are off. SmartItemSaving on the other hand, no, however considering Matty's Fixes settings relating to clipping items are off as well, there shouldn't be any confliction. That means there's still something on within Matty's Fixes relating to its item clipping fixes

#

I can't exactly just get rid of SmartItemSaving either due to the major issue it fixes with custom item IDs, and it overall doing a better job at fixing items falling through the cupboard over GI and MF

unreal oriole
#

OutOfBounds is resposible for item clipping into the ground . the ItemClipping settings are eredited from ItemClippingFix mod from Viviko and is only about the offsets item have when dropped

wispy widget
#

I will reinstall MF rn to see if the issue still persists to this day

unreal oriole
#

custom id fix has been embedded in LLL recently and SMI only remaining feature is to keep item rotation on re-host

wispy widget
#

This would be an issue for my client-side modpack then, as LLL isn't client-side

#

Floating

#

All log levels in MF are on

#

All settings relating to item clipping are off

#

Unless there was one I missed

unreal oriole
#

disable this

#

and mattyFixes will not touch items anymore

wispy widget
#

That was disabled

unreal oriole
#

🤔

wispy widget
#

Is it enabled on your end?

unreal oriole
#

if you have that disabled MattyFixes is not touching items during spawn anymore

#

same thing goes for

wispy widget
#

It's off, so I'm not sure why it's still doing what it is doing

unreal oriole
#

i'm not sure. all my patches are intentionally toggleable. and if you have removed the itemClipping one then some items will float because they do so in vanilla too

unreal oriole
wispy widget
#

Removed SmartItemSaving because I realized I don't need them in my neither server-side nor client-side modpacks
Reenable GI's item rotate & location fix
Set every value that relates to item clipping to 0 just in case
Still manifests

???

wispy widget
#

Lockpickers, belt bags, etc

wispy widget
unreal oriole
#

yeah w/o MattyFixes showel floats XD

#

with all is fine

wispy widget
#

What did you do to fix it

unreal oriole
#

so all enabled

#

itemclipping will update the offsets so items properly rest on surfaces

wispy widget
#

I

#

I'll try

unreal oriole
#

w/o they will either float or sink as per vanilla settings

#

can you send a profile code for me to test btw?

unreal oriole
#

well i'll give more help tomorrow i'm off to bed now 😴

wispy widget
#

Alright

wispy widget
brisk harbor
#

is there something else that allows items to follow the cupboard being moved after loading a save?

wispy widget
#

The worse thing is that I believe Matty's Fixes is forcefully shutting down GI and BIS' item falling fixes, even when MF's item falling fix is off, so I still can't use MF properly

#

😭

#

There is nothing I can do

#

Falls down, and is still slightly floating

#

Okay, I found a bandaid fix in the meantime

#

Keep everything in ItemClipping on

wispy widget
wispy widget
#

Nvm :/

unreal oriole
unreal oriole
autumn shadow
#

Howdy Matty, I have two questions for you today.
What would cause an item to show no debug logs (x,y,z adjustments) while the rest do?

Is the item verbosity setting really about the cupboard or was this a copypasta error?


Print A LOT more logs about Cupboard detection```
unreal oriole
#

yeah that's a copy-paste error in the description. i forgot to update it.
that setting will print extra logs about OutOfBounds & about the fallOnGround state of newly spawned objects

slow dagger
#

What's the changelog for 2.5.5?

unreal oriole
#

nothing major from 2.5.4 changed a popup to a ingame tip.

the important part is that we moved from stable 2.4.10 to 2.5.5 so check changelog for 2.5.0 -> 2.5.4

polar tulip
#

Is this purely a host required mod?

unreal oriole
#

the base functionalities yeah

#

if you want to solve the two latejoin issues that might happen ( some players joining invisible or some radar names beeing in the wrong order ) then clients need the host too

solar monolith
#

Hmm I'm getting an error every time a client tries to connect to my lobby with profile code 0195a175-85e8-06ff-3394-33ea80b7b547

[Warning:LobbyControl] Connection request Enqueued! count:1
[Warning:LobbyControl] Connection request Resumed! remaining: 0
[Warning:LobbyControl] missing checkpoints for 1: [{SyncAlreadyHeldObjects from LobbyControl},{SyncAllPlayerLevels from LobbyControl},{SendNewPlayerValues from LobbyControl}]
[Error  :LobbyControl] Connection to 1 expired, Disconnecting!

Full logs are attached, host first then client

#

gonna test downgrading one version to see if this still happens, but I believe we only upgraded one version and it stopped working

#

we haven't been using experimental though, so I suppose there are a fair number of changes between versions that are separated in the changelog Hmm

round cave
#

Yep same issue here

grand tendon
#

Also same issue

#

Client can join if I disable the joinqueue

warm hatch
#

same here, happened immediately after last update

unreal oriole
#

said config value is the maximum time a client has to join before beeing kicked

solar monolith
#

what would cause those checkpoints to take so long to be reached? the profile is very close to vanilla and the save wasn't a super cluttered one afaik, so I'm unsure what the issue would be

#

is this possibly a steam only issue?

#

(also we had no issues after downgrading to the previous stable version immediately after those logs were saved)

unreal oriole
#

as i was saying the previous stable never had a timeout in the first place so clients can take as long as they want to join.

#

tho previous stable was still using the same checkpoints to decide when the next client could start

unreal oriole
solar monolith
#

hmm, it seems very odd for it to take more than 20s in this scenario though

unreal oriole
#

3s is not a lot if you account for ping and a slow pc

#

your profile has it at 3s tho

solar monolith
#

oh, you mean you changed default without migrating it?

#

I see

unreal oriole
solar monolith
#

I'll try cranking it up then I suppose

unreal oriole
#

if you want to VC i can do a quick test with you on that

solar monolith
#

3s still seems surprisingly long, but I suppose that includes some artificial delays in the loading process?

#

I can't at the moment, I'm about to be in bed :(

#

after I get up though I'm down

unreal oriole
#

it starts counting when the server accepts the connection from the client so

solar monolith
#

what would be the expected time be between that and transmitting held items over the network?

#

I think we've looked at that before but I forget

#

regardless though, it might be worth checking if the config value is set to the previous default and changing it to the new default, seems like it might cause issues for others as well

#

if our test later reveals that that fixes it, anyway

unreal oriole
#

i'd need to do an online test to give you exhaustive values. if you have asyncloggers timestamps and debug logs from LobbyControl you can easily calculate how long it takes to reach each checkpoint

solar monolith
#

my question was more in regards to coroutine delays, since I'm assuming that's the issue here

#

network delays definitely shouldn't be an issue

#

ping to the client joining would be quite low

#

but of course if you don't know off the top of your head we can just look into that later

unreal oriole
#

problem is they are not really deterministic

solar monolith
#

oh huh

unreal oriole
#

2 of them have some WaitUntil while another depends on Unity async loading stuff

solar monolith
#

ah, if it's waiting for asset loading perhaps that could explain it

unreal oriole
#

that's why i had to make the checkpoint system work no matter the order they are reached

#

the longest one normally waits for:
yield return new WaitUntil(() => this.localClientHasControl && GameNetworkManager.Instance.localPlayerController != null);
and
yield return new WaitUntil(() => HUDManager.Instance.hasSetSavedValues || Time.realtimeSinceStartup - startTime > 5f);

solar monolith
#

gotcha, I would have to have a look at where those fields are set, but it makes sense that could vary

#

I'll DM when I'm up so we can have a look at it

vague talon
#

im too lazy to go to dms but i can confirm zaggy is up and you can look at it now

#

dont verify

#

you dont need to

#

just wait for him in vc, he'll be there too

round cave
#

We had to uninstall sadly as it was causing connection issues. But we had the same occurrence as zagster did. Previous version was fine. So if I'm understanding this, the reason this is happening is because a slow internet connection?

unreal oriole
#

it's the value of "connection_timeout_ms" that has changed value from 3000 to 20000. but if you had the mod installed previously it does not update

#

3s is too short for people to join a lobby

#

in the previous version that value was unused so it never affected anything

brisk sierra
#

you probably should force set min value

unreal oriole
#

yeah my min value is too small 😅 it's 1s

#

i'll bump the min to 10s

unreal oriole
#

this is why i ask people to test my experimentals 😭. i'll have an update by this evening

civic cobalt
unreal oriole
#

LobbyControl v2.5.6

  • change min timeout from 1s to 10s
  • add game tips about late-join
  • add opt-in connection notifications
#

🤞

wispy widget
#

0195a5b9-9920-f61e-5315-b9e6e2f22387

#

LobbyControl consistently gives clients the TZP overlay bug