#Lobby Control & Matty's Fixes

1 messages Β· Page 11 of 1

wispy widget
#

No log atm; I'll retrieve one when I have the opportunity to

unreal oriole
#

yeah i'll need a log and hopefully a stacktrace

slow dagger
#

What does it mean when host gets the message along the lines of "client missed 3 checkpoints during connection"?

#

When I was using experimental for a session a few days ago, only 1 person was getting that and was blocked from joining

#

(Which I though was weird, cus their computer was more powerful than another player's, and the connection wasn't that bad)

unreal oriole
#

it means the connection_timeout_ms is too short for him to connect to you

#

you can bump that setting up but be reasonable with it's value

slow dagger
#

It was at 50000 ms

unreal oriole
#

then he had a really slow pc/connection XD

slow dagger
#

Maybe I need to try it again

#

I swear there was someone else with a worse pc/connection than them and they could join

unreal oriole
#

the checks are fully on host side

#

and if he never hit thoose checkpoint he would have been in the wall/fog anyways

#

so LobbyControl kicks them to put them out of their misery πŸ™ƒ

#

the checkpoints are on vanilla RPCs there is no custom networking. if a client misses them he would be broken

slow dagger
#

I guess I will just have to try it again then

silver hound
#

can confirm clients that are not able to load before the timeout number are sent into the void

#

(basically users with potato pcs)

round cave
#

Yeah they have to alt f4

unreal oriole
#

you can disable the Join queue if you want.

#

but honestly the best approach is to bump that value up. if you have a heavely modded game you might have to put the timeout to 60s or even more

silver hound
#

doing tests with my group rn, i had to set it to 60s, client with potato pc took 45 secs to load in

unreal oriole
#

i belive Lunxara has it to a 2 mins or so πŸ™ƒ

silver hound
#

(i personally took 12s, got a popout warning when i loaded since it was set to 10s (dont remember setting that?))

unreal oriole
#

10s is the minimum allowed value, previous stable had the default to 3s but never used it so if you upgraded to old LobbyControl it would stay to 3s ( in v2.5.5 ) or get bumped up to 10s ( in v2.5.6 ). the new default value is 20s

slow dagger
#

also gotta ask, does this still act weird? or was it fixed

unreal oriole
#

wdym "act weird"?

#

it basically auto types lobby open for you

slow dagger
#

i saw something a long time ago abt this setting causing issues with latejoins, and i never saw anyone talk abt it since then

#

oh

#

it was lunx

#

from like 6 months ago

brisk harbor
#

never had issues with this setting

slow dagger
#

i still don't know what the actual problem was

brisk harbor
#

but i dont use it anymore

#

we've just gotten to the point we'd rather avoid using latejoin

#

for stability's sake

#

as far as latejoin goes, though, if you're going to be using it, there's no problem with leaving this setting on

#

it does exactly what it says on the tin and it functions fine

slow dagger
#

ok

#

we mainly just use the lobby open command anyway but thats good to know

hardy steeple
#

Some reason a friend of mine keeps disconnecting

I can't tell it's this mod or something else.

I asked in trouble shoot but got no response

#help-and-troubleshooting message

#help-and-troubleshooting message

unreal oriole
hardy steeple
unreal oriole
#

from his logs it seems his internet just died

#

no errors. or anything suspicious. just a normal disconnection for missing internet

hardy steeple
#

Oh thanks!!

unreal oriole
#

The server host disconnected.

#

either his or yours to be precise

#

there were only 2 people in the lobby so either one could have lost internet

hardy steeple
#

I think it's due to me having that wire thing that connects Internet via power

But I can't use the Internet without it as it's slow or doesn't work.

Espically since I'm a person who needs it for college and gaming

#

Yea an Internet power line adapter

unreal oriole
#

yeah i know them. usally they are reliable but if a lot of people se them on the same powerline they start to get bad really quickly

hardy steeple
#

My brother in law just got one so I guess it might be the cause of that since my sister's family lives with mine currently

unreal oriole
#

i'd suggest you to invest on a long Ethernet cable or maybe try wi-fi. the newest ones are quite good if everybody keeps the ranges to the minimum

hardy steeple
#

router is downstairs and I have two cats and a niece and nephew

unreal oriole
#

yup cable is going to be fun 🐱

hardy steeple
#

Wi-Fi is shit for my PC

#

Like it wouldn't function without the power line cord

#

Or would but just super fucking slow

unreal oriole
#

i'm not a technician so i can't help much on that. you might wanna contact the manufacturer of the power line or find alternatives

hardy steeple
#

Yea like idk what model the adapter is

#

Or brand

unreal oriole
#

it should be written on it

hardy steeple
#

Okay it's TP-uplink

wispy widget
wispy widget
#

It doesn't manifest in Purple's modpack

#

Beyond v2.4.10 doesn't work

#

but v2.4.10 and below works just fine in my modpack

vagrant root
#

You need to change the timeout cus of LLL to around 60s from 20

hardy steeple
#

oh wait what does that do?

As my friend has been disconnecting so I guess the timeout is too short-

or at least help fix it

brisk harbor
#

the timeout should be slightly longer than the time it takes for the person with the slowest computer and/or connection to join your game

#

in your group

hardy steeple
#

Ah okay

slow dagger
#

can lobbycontrol be run clientside? like is there something that makes it server side, and if so can it be turned off?

unreal oriole
#

LobbyControl is entirely host-side it has not benefits for clients

slow dagger
#

does it fix invisible player glitch at least? could host and clients run it to fix that problem?

#

(mainly because one of my friends plays public lobbies, and we experienced invisible player because of latecompany)

unreal oriole
#

it will fix ( or attempt to do so ) the invisible players only if both host and client have the mod

vagrant root
#

Usually it's fixed by having the player that can't see said person rejoin and if that fails having the person that can't be seen leave and rejoin

#

I say I've noticed it doesn't always work but idk if it works at all tbf

unreal oriole
#

that's a separate issue. because the player is not simply invisible but literally does not exist for the other client

#

i've yet to find a consistent way to reproduce it so it have no idea what causes it. bets are on a separate mod

vagrant root
#

I doubt it's anything to do with another mod and is probably just late join jank tbh

worthy garnet
brisk harbor
#

if you have a 3 minute timeout and one player joins your game and fails to finish connecting

#

it will block others from connecting for 3 minutes

worthy garnet
#

Ah good to know, thank you.

#

By the way, I turned sync_radar_names on and had some desynced radars today, with only 4 players and no late joiners. Is there a command to do that, or how does that work? Everyone had the mod and the same configs too.

slow dagger
worthy garnet
slow dagger
#

if it's enough to bother you then yes

#

it's a pretty nice mod anyway, separates the radar on the ship cam from the one in the terminal, so you can be looking at 2 different people at the same time

worthy garnet
#

tyty, I only didn't get it because I didn't want to make the desyncs and confusion worse lol

#

btw do you know if it plays nice with cruiserterminal?

#

and/or darmuhsterminalstuff, GI, I suppose if you know of any incompatibilites lol

brisk harbor
#

sync radar names doesnt seem to work yeah

#

i had it enabled on a game with my friends (all had the same profile and had it enabled too) and it caused 3 players to have their names mixed up

worthy garnet
#

ty for confirmation, it's nice to know it wasn't something else lol, especially since it doubled one person and removed someone else, instead of just jumbling them around like a normal desync

worthy garnet
# brisk harbor i had it enabled on a game with my friends (all had the same profile and had it ...

Sorry for the ping but I was just wondering if you've managed to fix the sync issue for yourself? Did you use tworadarmaps to fix it?

Asking bc I just tried it today and it synced the radars, but I noticed the teleport button was inconsistent. Sometimes it would teleport two people, but different people would see teleport particles on different people. Like, phantom teleports. But also someone disconnected and reconnected before we started, which might have messed it up. We've been dealing with the desync terminal stuff for a long time now though.

brisk harbor
#

i hear tworadarmaps is the closest thing to fixing all the problems

unreal oriole
#

i should remove it to be fair. it works so rarely it might as well be coincidence πŸ˜…

worthy garnet
#

Ok tysm, and yeah Matty it definitely caused some issues in my modpack when I turned it on. I only know because I've never had desync before the game had started. It usually only occurs with late joiners, or maybe weird revive interactions.

unreal oriole
desert herald
#

@unreal oriole found an issue with lobbycontrol
if you savescum after loading a moon, and you did a lobby save on that moon, you cant load the same moon until you open the save two separate times
the first load just breaks the game and nothing happens
this only happens if you are solo

vagrant root
#

Use LLLHotReloadPatch by Dopa

desert herald
#

i am on the latest version of LLL and this was happening long before 1.4 existed

#

i just didnt realize the exact cause

#

and this set of actions is not at all the same thing

#

you have to follow those steps
be in the game solo
lobby save on any moon
load the moon
savescum
attempt loading again

unreal oriole
#

you sure it's LobbyControl fault?

#

if this stacktrace is what makes you think so:

NullReferenceException: Object reference not set to an instance of an object
  at Unity.Netcode.SceneEventProgress.SetAsyncOperation (UnityEngine.AsyncOperation asyncOperation) [0x00007] in <895801699cfc4b4ab52267f31e2a4998>:IL_0007 
  at Unity.Netcode.DefaultSceneManagerHandler.LoadSceneAsync (System.String sceneName, UnityEngine.SceneManagement.LoadSceneMode loadSceneMode, Unity.Netcode.SceneEventProgress sceneEventProgress) [0x00008] in <895801699cfc4b4ab52267f31e2a4998>:IL_0008 
  at Unity.Netcode.NetworkSceneManager.LoadScene (System.String sceneName, UnityEngine.SceneManagement.LoadSceneMode loadSceneMode) [0x000d5] in <895801699cfc4b4ab52267f31e2a4998>:IL_00D5 
  at (wrapper dynamic-method) StartOfRound.DMD<StartOfRound::StartGame>(StartOfRound)
  at (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Trampoline<StartOfRound::StartGame>?1517820128(StartOfRound)
  at LobbyControl.Patches.JoinQueuePatches.CheckValidStart (System.Action`1[T] orig, StartOfRound this) [0x00099] in ./Plugin/src/Patches/JoinQueuePatches.cs:642 
  at (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Hook<StartOfRound::StartGame>?-304066480(StartOfRound)
  at StartMatchLever.StartGame () [0x00068] in <bdf6a080e98a49fd84b92b24894f768c>:IL_0068 
  at StartMatchLever.PullLever () [0x00008] in <bdf6a080e98a49fd84b92b24894f768c>:IL_0008 
  at UnityEngine.Events.InvokableCall.Invoke () [0x00010] in <e27997765c1848b09d8073e5d642717a>:IL_0010 
  at UnityEngine.Events.UnityEvent`1[T0].Invoke (T0 arg0) [0x00049] in <e27997765c1848b09d8073e5d642717a>:IL_0049 
  at InteractTrigger.StopSpecialAnimation () [0x001a9] in <bdf6a080e98a49fd84b92b24894f768c>:IL_01A9 
  at InteractTrigger+<specialInteractAnimation>d__69.MoveNext () [0x001ae] in <bdf6a080e98a49fd84b92b24894f768c>:IL_01AE 
  at UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) [0x00026] in <e27997765c1848b09d8073e5d642717a>:IL_0026 

(Filename: ./Plugin/src/Patches/JoinQueuePatches.cs Line: 642)

the line 642 is where i call the vanilla code. and the error is indeed happening in zeekers code

unreal oriole
#

also there are soo many exceptions in your profile i have no way of knowing if one of them caused a cascade effect

desert herald
#

i see

#

well not a big deal anyways

#

i just report obscure things

unreal oriole
#

i appreciate you attaching a logfile. as that helps the analysis, but also when there are so many exceptions it's hard to find the issue

agile plume
#

It seems like they are falling more and more every time hahahahaha

#

I don't know if you can help me with this.

#

There I went through general improvements and configurations from mattyfixes.

unreal oriole
#

all i can think of is that you have another mod that is doing the same thing as GI FixItemFallingTrhoug that is incompatible with MattyFixes OutOfBounds

#

if you cannot pinpoint the mod it might be better for you to disable OutOfBouns.Enalbed in MattyFixes in favor of GI one. even if the GI one is less accurate

agile plume
#

0195f453-6a29-945d-7e69-923acc792c41

#

This is my mod pack. I don't know if you can take a quick look at the optimization mods or see if you can identify the one that causes the failure. I'm not sure if any of them cause problems.

#

These are all the mods that come to mind as such

slow dagger
#

we found that additional networking experimental was causing this

#

runnign a test with stable right now and it isn't happening anymore

unreal oriole
#

could you try disabling the ItemState.Animated config in experimental?

slow dagger
#

uh yeah 1 sec

#

this one right

slow dagger
unreal oriole
#

πŸ€”

unreal oriole
#

i guess i'd like to get a log with verbose logging on too. just for good measure

vagrant root
#

LOL

#

AdditionalBrrrrrring

unreal oriole
#

found the issue πŸ˜…

vagrant root
unreal oriole
#

i wont be at pc till Tuesday πŸ˜…

vagrant root
#

lol

unreal oriole
#

but i wont be available for this entire week.
shit happened IRL and hospital is involved ( this is all the details i'll give on the matter).

#

πŸ‘‹

vague talon
#

give me one more detail, i am selfish

#

but also hope all goes well

solar monolith
#

ohno hope all will be well

#

thank you for the update!

vagrant root
unreal oriole
slow dagger
#

since this does cached entranceteleport as well, will it break main for interiors that don't network it?

unreal oriole
#

uh? wdym main not networked? you cannot spawn an EntranceTeleport w/o netowkrobject

slow dagger
#

the cached entranceteleport in LP cannot find it (i think)

unreal oriole
#

πŸ‘€ if the object is not spawned then the RPCs will not work either...

#

so the vanilla teleport code does not work

slow dagger
#

well

#

those interiors work fine without entranceteleport caching

#

vanilla interiors and most modded ones already have the flag set anyway its just a few stragglers like tartarus and sector alpha

unreal oriole
#

that's not "just a flag" that indicates that unity does not know about that object and therefore cannot tell other clients about it.

unreal oriole
slow dagger
#

well guess i can check it by just turning off LP and trying this

unreal oriole
#

mind moving to the actual mod thread tho πŸ˜…

slow dagger
#

ok

unreal oriole
#

and thx for testing

plush hemlock
unreal oriole
#

that's the reason why it's in BETA.
we do not know yet πŸ˜…

lethal badge
#

whats this

slow dagger
# lethal badge

theres some error that occasionally gets sent in logs about audio spatialization errors

#

that config stops it from showing i think

unreal oriole
#

correct: there is a warning that get's spammed when AudioSources have a boolean called spatialize set.
that config tries to solve them by forcing the value to off when possible

desert herald
#

@unreal oriole a bit of a niche suggestion
is it possible to make lobbycontrol save the current weathers of moons
right now, if you try to use lobby save after changing the weather with a mod like imperium or weatherprobe, the save file doesnt keep that change

unreal oriole
#

ehh not really. you'd need to rewrite the entire weather system

desert herald
#

i see

unreal oriole
#

there is weather tweaks that already does a full rewrite

#

you might ask there

brisk harbor
#

is it possible to make lobbycontrol save the current weathers of moons
the main problem with this is that weather is calculated clientside based on the seed and lobbycontrol is a serverside mod

#

also means that if the seed changes (by landing at the company and taking off) you can reroll the weather by rehosting the save

#

leaving company doesnt re-run the weather randomizer but it is forced to run any time a save is loaded because there is no weather information saved on any client

#

weather randomization is also not tied to an RPC iirc so there is no way for the host to force clients to re-run it

#

and you'll never have control over a single moon's weather with vanilla's code

#

they are all set at the same time sequentially

brisk harbor
#

i forget, is it LC, MF, or AN that synchronizes items being dropped at the same rotation for all players

#

or am i extra confused and it's none of them

#

i know OBC includes a fix for it because of the radar boosters

brisk harbor
slow dagger
#

was that posted on his patreon

#

about the radar boosters

errant furnace
#

yeah

#

or patreon chat I think

worthy garnet
#

Is there an ETA for v70? I'm curious how long I have before my carefully curated modpack gets blown up

granite dove
#

Nothing solid, but within a few weeks probably

slow dagger
#

oh god dude

#

its not gonna be fun if it comes out next week and ruins the session

#

hopefully it doesn't break too much like v50 did

unreal oriole
slow dagger
#

so is it just obc doing the sync

brisk harbor
#

guess so

#

i think i remember some other mod including it

#

but i dont know which if it's not any of matty's

#

i forget

round cave
#

The weekly sesh

solar monolith
#

yeah OpenBodyCams fixes the bug that desyncs dropped item rotation

brisk harbor
#

like it has the rotation value there, it just doesn't get used

#

it's probably worth reporting this as a bug assuming zeekerss will be seeing it before v70 releases

round cave
#

Assuming zeekers would fix it

solar monolith
#

if zeekerss is making radar boosters have cameras though, I imagine that bug may already be fixed

round cave
#

That would certainly give them more of a use

slow dagger
round cave
#

I'm gonna hate that are mods will break too lol

errant furnace
#

you can always downgrade to a previous version

#

it's quite easy to do if he doesn't release a patch instantly after

lilac crane
#

im not sure if there is a thread for EntranceTeleportOptimizations so im just going to report this in here.

is ETO supposed to not be marked as client-sided on LobbyCompatibility ? since it is tagged as such on Thunderstore

brisk harbor
#

was wondering the same thing earlier today

slow dagger
#

It's lobbycompat level is set to Everyone

#

Which if the tag on TS is accurate then it just needs to be changed to ClientOnly

#

Similar thing with rexuvination earlier today

vernal crest
#

So lobby control was kicking my friend for some reason

#

like he join the lobby than pass like 5s he gets kicked

slow dagger
slow dagger
#

ok

unreal oriole
#

when LobbyControl kicks someone it gives you a, quite explicit, reason for why. if it did not i doubt it's LobbyControl's fault, but keeping the benefit of the doubt i'll ask for your logs to check if anything went wrong

vernal crest
unreal oriole
#

i need both the host's and the clients logs to do any troubleshooting

#

if LobbyControl was kicking your friend you as host would be seeing a popup and few log lines

still stirrup
rose condor
#

seems like MattyFixes also causes me to softlock when trying to leave a moon

vagrant root
#

it's probably that

rose condor
#

^will do in a moment

rose condor
#

didnt change anything

vagrant root
#

I didn't get a soft lock from Matty Fixes but I got a stack trace in orbit

#

missing field exception

#

Yeah MattyFixes is broken

#

It might be the cupboard patch

#

it seems like Zeekerss fixed the item falling stuff natively

#

Oh wait

#

it would be item clipping that is broken

#

that or out of bounds

#

might be OOB

slow dagger
vagrant root
#

Yeah

#

He fixed it natively

#

gonna try turning off out of bounds

slow dagger
#

If that's the case it just needs a recomp with newest functions I suppose

vagrant root
#

It's probably a method that is now obsolete.

#

Since Zeekerss fixed it natively

#

it's not needed

slow dagger
#

It was mentioned in sciencebird's thread

vagrant root
#

not out of bounds

slow dagger
#

The FallToGround function has a new argument

#

So any mod running on older version, which reads FallToGround, won't work rn

vagrant root
#

yeah I'm testing with item clipping and OOB off

#

it's a patch that runs when going back into orbit

#

Yeah

#

Matty Fixes is just broken

rose condor
vagrant root
#

GI is fine

#

I have it

rose condor
#

cuz GI doesnt cause any issues rn

#

yea

#

but GI also has this through ground fix

vagrant root
#

just don't enable that

#

the difference here I think

#

is the stuff in Matty's can be actively toggled ingame

#

so it looks for the function

#

GI requires a restart

vagrant root
still stirrup
#

well what it's patching would fail (some of the increased save limits)

#

but yeah it wouldn't completely break everything

rose condor
#

also seems like imperium is breaking monster spawns now

zealous robin
#

I mean i doubt it fixes the issue with not progressing a day after leaving a moon

#

I got work rn so i can’t check but i was attempting to figure something out before i had to go lmao

vagrant root
#

You have to completely disable the mod

zealous robin
#

Yea i figured

#

Oh well πŸ₯€

#

I already disabled it to begin with so yea

unreal oriole
#

i have to recheck all my mods. but i wont be able to until, at least, monday evening

vagrant root
#

It was LethalLib that made it explode

#

lol

unreal oriole
vagrant root
#

Btw how is MattyFixes gonna be updated since he fixed the falling to ground stuff natively? It's not perfect but it does work

#

Guessing you'll switch your code up to modify the vanilla logic?

unreal oriole
#

where did you get that info lunx

vagrant root
#

It was in 1A3's diff

unreal oriole
#

i can't find anything about that in the code

vagrant root
#

Hmmm

vagrant root
#

That's why MattyFixes just breaks rn and soft locks when going into orbit too cus that code was changed

unreal oriole
#

and if the code from matty fixes is triggering means some items are still finding themselves below the ship XD

vagrant root
#

Apparently it also errors when you try to place something in the cupboard

#

lol

still stirrup
#

well he did changes to FallToGround

#

so i kinda guessed that would probably be a fix for items falling through the ground cuz there wouldnt be much other reason for him to touch it

vagrant root
#

I will say I played Vanilla yesterday and we never had the cupboard bug

unreal oriole
#

he did change the function , and that's why MattyFixes crashes but he does not seem to have fixed the specific issue MattyFixes is targeting

vagrant root
#

Got you

#

I guess we got lucky

#

lol

unreal oriole
#

vanilla with vanilla cupboard position?

vagrant root
#

Yeah

unreal oriole
#

if you never move the cupboard the game works as intended XD

vagrant root
#

Oh lol

unreal oriole
#

it breaks when the cupboard is somewhere else other than default πŸ™ƒ

vagrant root
#

Lmao

#

Well I saw you got LobbyControl updated at least

#

and I was glad FurnitureLock isn't broken

unreal oriole
#

i still have to check for the RoundManager part to see if he implemented my suggestion

still stirrup
#

well yeah the one frame seemed like some kinda of bug fix

unreal oriole
#

maybe something he encountered with the new items. def does not solve the item clipping in the ship on load nor the items clipping to the lower floors on the interiors

#

might fix the cupboard ecc but not 100% sure

#

if i remember right it needed more than 1 frame of delay normally ( or the immediate call to the function to sync physic positions )

vague talon
#

matteus are you free to help me rq in vc πŸ₯Ί

unreal oriole
unreal oriole
vague talon
#

it should be quick im definitely doing something stupid

unreal oriole
brisk harbor
#

im not totally sure why the changes exist

#

i do know that it broke gift boxes, because their item is seeded based on targetFloorPosition (which now gets set after the gift box initializes)

brisk harbor
unreal oriole
fallow crypt
#

Hey, would it be possible to add a feature that removes the annoying ad pop-ups? Feels like it would be an amazing fix.

#

Just a thought.

unreal oriole
#

ad pop-ups?

brisk harbor
#

all of them are seeded with System.Random(0)

fallow crypt
brisk harbor
#

which means each planet has a specific item at a specific price in every box

#

i have a fix for it in butteryfixes i need to test, but it's kind of a dumb workaround (i basically just replicate the vanilla logic in a prefix and then reset targetfloorposition in a postfix)

brisk harbor
#

i wouldnt be surprised if it exists already, on that note

#

someone already released a mod to rollback the radar changes

fallow crypt
#

Tried looking, couldn't find one sadly.

brisk harbor
#

RadarEdits i believe

#

was what it was called

unreal oriole
vagrant root
fallow crypt
#

Well thanks. I hope that crap gets removes eventually by someone

brisk harbor
#

regarding mattyfixes, an issue you might want to resolve (assuming your existing logic wouldnt already get it by coincidence)

#

keys have their own unique icon on the radar now, but they display forever (frozen in place) when you use them to unlock a door

#

similar to how the scrap icons get stuck forever if you're eaten or sell them

unreal oriole
#

because the item is destroyed

brisk harbor
#

yeah, i believe so

unreal oriole
#

then it's already handled as i delete the icon in OnDestroy

brisk harbor
#

perfect

unreal oriole
#

Mods have been recompiled for V70!

For the vanilla purists:
MattyFixes default value is now vanilla default instead of ViviKo's ItemClippingFix

lilac crane
#

is said mod not out yet?

vagrant root
unreal oriole
#

it never worked in LobbyControl as i never noticed i was repeating vanilla code so i still had the same issue. i'm trying to find a better way to fix it and that will be in it's own mod eventually.

TL;DR: that comment was made months ago when i last touched the mod and i kinda forgot about it πŸ™ƒ

vagrant root
slow dagger
#

additional networking seems like the kind of mod that absolutely needs a recomp at least

vagrant root
#

Yeah probably

unreal oriole
#

i mean thoose two are errors that have nothing to do with v70

#

1st one is a problem of extra inventory

#

we had the same discussion a long ago for reserved item slots

#

2nd one is one of many instances of mods creating items w/o .Spawn-ing them
which creates a lot of issues already normally ( namely desyncs as only the client that created the item knows about it ) but breaks mods like mine that try to forcefully sync things

vagrant root
#

Yeah I wasn't sure if either of them were problematic

unreal oriole
#

the "not spawned" thing has been a problem in the modding community for a long time
people only test in single player and forget to do the multiplayer steps

#

diffoz has the same issue with the fire exists for example

#

many enemies / scrap too cause issues because are spawned manually instead of using LLL/LL

#

and the dev forgets to notify the other clients/host about the object

vagrant root
#

Interesting

unreal oriole
#

one of this days i'll make a mod that just deletes all non-spawned network objects

#

i wonder how many profiles will survive it πŸ˜…

brisk sierra
#

oof

royal barn
#

Global player volume control option please and thank youuuu

cant be arsed to always lower literally EVERYONES volume by 70%

slow dagger
unreal oriole
#

i wonder how hard would be to make a mod that just sets the default volume all connected clinets will show up with πŸ€”

vague talon
#

probably not very hard, only some save setting on client joining a lobby

unreal oriole
#

QuickMenuManager.AddUserToPlayerList(ulong steamId, string playerName, int playerObjectId)
πŸ€”
playerListSlots[playerObjectId].volumeSlider.value
πŸ€”πŸ€”
ulong steamId
πŸ€”πŸ€”πŸ€”

vague talon
#

are steamId's not ulong?

brisk harbor
#

i would be interested in seeing something for it

#

if anybody is interested in tackling that

#

i suppose i could too, at some point

vagrant root
#

I saw this released after the stream we had the day Jacu was talking about this

#

@slow dagger Got anyone you could test it with?

slow dagger
#

i'm in the thrall of final fantasy right now

unreal oriole
#

i'm not sure why but the decompilation makes me feel like it's AI generated..

aside from it repeating the checks in Update and the fact that it uses reflection instead of publicizer, it should work.
it most likely conflicts with Buttery "always 100% on join" patch tho

vagrant root
#

Rip

vagrant root
slow dagger
#

i'm not entirely onboard since it runs in update

vagrant root
#

Yeah

slow dagger
#

and the last mod that tried to do this could do it without an update patch

#

though at the same time

vagrant root
#

It could be done in a better way probably

slow dagger
#

that mod completely broke the game for clients

#

so idk

#

i should ask confusified if they looked into it

slow dagger
#

Is the update for additional networking merging changes from experimental?

vagrant root
#

I dmed him and told him he never did it lol

forest flame
#

Can I use the second option without any problems if everyone has the mod with the same settings?

unreal oriole
#

if everybody has the mod, yes

heavy garden
#

If someone with a very bad connection is playing as client does additionalnetworking help to reduce the amount of times said client becomes "bugged" (stops moving on everyone elses screen) or does it make worse?

vagrant root
heavy garden
#

thought so

#

it is just weird that at the start it is fine then the longer we play the worse it gets

#

its not an issue with the modpack because other clients with decent connections are fine

#

better internet is probably the only solution

forest flame
#

Can i use this second option if everyone has this mod, using GI option that enable radar booster be teleported and tworadarmaps?

languid hound
#

@unreal oriole
Hello, I'm working on a mod that allows the lobby to remain visible in the list after landing, but when players try to join, it displays the current room's gameplay info (planet, time, surviving players, etc.). However, the mod currently conflicts with LobbyControl, while LateCompany works fine. I've tried using:

[HarmonyAfter("mattymatty.LobbyControl")]```
But it still doesn't resolve the issue.

This is the complete code

[HarmonyPostfix]
[HarmonyWrapSafe]
[HarmonyPatch(typeof(GameNetworkManager), "ConnectionApproval")]
[HarmonyPriority(Priority.Last)]
[HarmonyAfter("mattymatty.LobbyControl")]
private static void Postfix(ref ConnectionApprovalRequest request, ref ConnectionApprovalResponse response)
{
if (request.ClientNetworkId != NetworkManager.Singleton.LocalClientId && (response.Reason == "Ship has already landed!" || response.Reason == "Game has already started!"))

vagrant root
#

Players joining when the ship is landed really isn't good anyways, it breaks so much and leads to so many desyncs

#

It probably works with Late Company since that has an option for it

#

LobbyControl wasn't built to support that

#

This game breaks easily from late joining all the time I've found, to the point I border on just disabling the feature lol

languid hound
#

Since there aren't many players right now, the purpose of this mod is to make sure players don't quit the game to play something else when they see there are active lobbies running.

slow dagger
#

That sounds cool

still stirrup
#

but then the lobby list would just be full of lobbies that are mid-run and that you can't join? so it seems kinda pointless πŸ€”

slow dagger
#

From the sound of it I'd assume it only shows with a latejoin mod active? And might show time so you know if they're almost open again?

languid hound
languid hound
# slow dagger That sounds cool

Since using this mod, my public lobbies regularly get about 20 players each night. But when I’m not hosting, there are usually only a few lobbies with less than 5 people.

still stirrup
#

since there are very few public lobbies, this situation is unlikely to occur
until people start playing again next time zeek releases an update πŸ€”

Seeing active lobbies but being unable to join them would still make people quit anyway?

still stirrup
languid hound
languid hound
brisk sierra
languid hound
#

The two priority codes I added don't seem to be working - LobbyControl's patches are still executing after mine.

brisk sierra
#

it's because not postfix

#

finalizer runs after postfix

languid hound
#

Oh, is that how it works? I thought HarmonyFinalizer had a different purpose. I'm not very familiar with Harmony.

still stirrup
#

isnt finalizer only really useful if the original method errors?

#

like otherwise doesnt it usually make sense to use a postfix

brisk sierra
languid hound
#

Thanks for your help. It's quite late now (it's already early morning in China), so I can't find anyone to test whether the fix actually works.

unreal oriole
#

i'm not sure what you're trying to accomplish, as lunx said, i too am agains allowing players joining mid-round as there are simply too many things you'd have to tell the client to allow it to join

#

also the lobby visibility is not handled in the ConnectionApproval. that method only handles players that already clicked on the lobby

#

i'm using a Finalizer because i need to be the last in the chain for my Queue system to work

#

i could split the queue and the latejoin checks into a postfix and a finalizer tho

languid hound
#

@brisk sierra
With your help, I used this approach and successfully fixed the issue. Thank you everyone!

        [HarmonyPatch(typeof(GameNetworkManager), "ConnectionApproval")]
        [HarmonyPriority(Priority.Last)]
        [HarmonyAfter("mattymatty.LobbyControl")]
        private static Exception Finalizer(GameNetworkManager __instance,NetworkManager.ConnectionApprovalRequest request,NetworkManager.ConnectionApprovalResponse response,Exception __exception)
unreal oriole
languid hound
unreal oriole
#

btw. lobby control removes the vanilla Game has already started and instead provides the two error statuses of
Ship has already landed! and Lobby has been closed! where the last is shown when the host manually closes the lobby from the terminal

plush hemlock
unreal oriole
#

he's just changing the error screen to print the message like this #1211989201793449994 message

#

still vanilla handling and them having to select the lobby again in the server list

buoyant orbit
#

Any chance for config to allow for moon whitelisting / blacklisting for LandFromOrbit?
Specifically for Thalasso, it puts the ship next to the extremely loud non-yet-draining water level

#

Putting it here since I couldn't find a thread for that particular mod

unreal oriole
#

how does it work w/o the mod?
you load already underwater?

buoyant orbit
#

Water level starts really high and rapidly drains as ship lands

vagrant root
#

Odd

buoyant orbit
#

huh

vagrant root
#

That being said

buoyant orbit
#

I'll see if I can recreate it

vagrant root
#

LandFromOrbit is also not needed if you're not using a mod to open the ship doors in orbit

buoyant orbit
vagrant root
#

Might be a bug with the moon after V70 tbh

errant furnace
#

Yeah I had this happen without LandFromOrbit

#

it's just a bug w the moon, im p sure i told wes abt it already

slow dagger
#

was it intended for this to be uploaded as 2.5.10

#

(highest ver on experimental is 5.6.0)

unreal oriole
#

reee! i keep forgetting the stupid versioning i did for LobbyControl Experimental

rose condor
vagrant root
#

He fixed the versioning btw

#

lol

unreal oriole
#

it's not a "fix" and it's not resetting anything. i limit how many players can be in the queue and any extra connection gets refused till there is an empty slot

if your players are fine with clicking multiple times then try setting the limit to 1

#

1 means only one connecting player can join and the others are told to retry in a bit

vagrant root
#

Ahhhh

slow dagger
#

I see

#

Is the # of players in queue configurable

#

Because honestly the queue has worked flawlessly for my group so far

#

The only time it did cause the fog was because something else failed to load

vagrant root
#

It's mostly an issue for people with slower pc's/internet

#

I ended up disabling the Queue because I kept trying to increase the timeout and it didn't help

slow dagger
#

Ah

#

My timeout is so long that it'll basically only timeout for potato pcs

forest flame
#

I put 3 minutes and the broken HUD screen didn't appear anymore.

errant furnace
unreal oriole
#

-1 and 0 will result in no limit

slow dagger
#

got it

placid citrus
#

would implementing a fix into matty's fixes for this make sense?

vague talon
#

I think test account fixes already fixes this

placid citrus
#

ah interesting. this is a new bug in vanilla v70 so i thought maybe a new fix was necessary

nimble gulch
#

It's not a new bug.

placid citrus
nimble gulch
#

I don't know how. That issue has been always present. And fixes for it are year+ old.

#

It's especially problematic in doorways.

placid citrus
#

i know the issue has existed for ever just not this specific instance of it

nimble gulch
#

Nothing specific about it. You're dropping an item close to InteractTriggers, which are ladders in this case.

languid hound
#

I discovered that under specific circumstances, the death box (player name/avatar) would become out of sync. Based on my analysis, the issue was caused by this.spectatingPlayerBoxes.Values.Contains(playerScript) in HUDManager.UpdateBoxesSpectateUI, which was displaying incorrect cached data. To fix this, I cleared the cache of spectatingPlayerBoxes when the ship returns to orbit. I believe this fix should be appropriately implemented in LobbyControl.

        [HarmonyPriority(Priority.Last)]
        [HarmonyPostfix]
        [HarmonyPatch(typeof(StartOfRound), "SetShipReadyToLand")]
        private static void EndGamefix()
        {
            AccessTools.DeclaredField(typeof(HUDManager), "spectatingPlayerBoxes").SetValue(HUDManager.Instance,new Dictionary<Animator, PlayerControllerB>());
            AccessTools.DeclaredField(typeof(HUDManager), "boxesAdded").SetValue(HUDManager.Instance, 0);
        }
#

@unreal oriole

#

Reproduction Steps:

  1. Create a lobby and have Player A join.
  2. The host and Player A die
  3. Wait for the next round to begin.
  4. As Player A respawns, let he to disconnect.
  5. Once the lobby reopens, have Player B join.
  6. Start a new game session.
  7. The host and Player B die again.
  8. Expected Result: The host should see the correct death box (player name/avatar).
  9. Actual Result: The host observes an incorrect player box (cached data from Player A instead of Player B).
#

Clearing spectatingPlayerBoxes resolves this issue.

vagrant root
#

@unreal oriole plink

unreal oriole
#

reminder that LobbyControl is host only. so unless the issue happens onky for the host another fix mod might be more indicated for this fix

#

in any case i'll soon look at the code and see what happens

vagrant root
#

I'm ngl

rose condor
#

hi ngl

vagrant root
#

I feel like the mod being host only is why there's so many late join issues the mod doesn't properly resolve

vague talon
#

hi ngl

vagrant root
#

A mod like this should probably be something that everyone needs to have installed

#

Cus it could allow for a more proper fix for the invisible player issue

#

amongst other things

#

Cus I really feel like the Join Queue is such a hacked together solution, sometimes the lever fix doesn't kick in and a player joins while the ship is landing which then causes item id corruption etc

#

Late Joining is suuper buggy, I had to just disable the Lobby auto reopening feature

slow dagger
#

just close the lobby before landing?

vagrant root
#

Unfortunately if someone is already joining that doesn't work

slow dagger
#

then wait for them?

vagrant root
#

The problem is they don't say anything

#

they just join

#

and I've told them repeatedly to say something

#

But yeah that issue is fairly minor, I really wanna see a proper fix for players being invisible tbh

slow dagger
#

in what scenario do they become invisible

vagrant root
#

Cus my group really dislikes the Join Queue system and I understand why

#

Tbh that's another thing, the issue I reported to Matty with the Join Queue system could also be resolved if the mod wasn't Host Only

#

cus Vanilla networking will basically say "This person can't be kicked" if they timeout so they void

#

I think the idea behind Join Queue is good, the idea of making each connection have a delay so that way people can't join at the same time is great

#

But I've found it sometimes causes more issues as a side effect than not having it at all

#

Cus people sometimes get trapped for an extremely long time in the Queue

slow dagger
#

as a compromise, i think having a mode switch between host-only and server-side would be good, to run server side for people who distribute modpack codes but run host only to work with vanilla players

vagrant root
#

Yeah

#

I agree

slow dagger
#

but at the same time i've basically had no issue with the queue so far so idk where you're coming from on that

#

the only time people get stuck in it for long is by one of my players having a slow pc

vagrant root
#

Hmmmm

#

Maybe Experimental fixes it with the new cap of 3 at a time

#

It used to be if 2 people joined at the same time, one person would make it in and the other would be stuck and complain

slow dagger
#

at least in my case, since i invite everyone at once, it works the intended way of just accepting 1 and queueing the others

#

the only thing i wonder about is that it keeps incrementing which slot the players join in if they dc or i have to reload

vagrant root
#

Also I've noticed recently that LobbyImprovements has it's own slew of issues when paired with this mod, sometimes when people late join suddenly every client has a 1 at the end of their names or someone will join and their name will appear twice

#

But that's not Matty's fault

slow dagger
#

at the end of some sessions we end up at slot 14 even though we only ever had 5 people playing

vagrant root
#

But due to that I replaced it with KickWithoutBan, cus I primarily used LI for that

slow dagger
#

since when

vagrant root
#

Since like every session I play recently

#

ever since I plopped LI back in my pack

slow dagger
#

ok

#

this clearly isn't going anywhere

#

cus every problem you have with LI and LC i don't have

#

and afaik you're the only one reporting these issues

vagrant root
#

You probably have people dc and rejoin less often

#

it mostly comes from that

#

if someone leaves during a round then rejoins in orbit

vagrant root
#

I'm lowkey surprised you haven't run into it since you play with a much larger pack

slow dagger
#

thats the thing

#

realistically i should have more problems than you

#

but the current incarnation is surprisingly stable

vagrant root
#

Yeah if you have players dcing and rejoining less that's probably why you haven't reprod it

slow dagger
#

you have the green notifs abt someone joining right

vagrant root
#

No I had to turn Validate Connections off

#

Cus it was incompatible with LobbyControl Experimental, if someone couldn't enter the queue then they could never try to connect again cus it would say they had a dupliate request

#

Same would happen if a player voided and did the keybind to backout to the menu and tried to join again

slow dagger
#

connection notification would be separate i thought

#

anyway, does it regularly go over 32 connections

vagrant root
#

I will say since it's only been an issue with Experimental I could try reenabling that alongside downgrading LobbyControl back to stable

vagrant root
#

I doubt it

unreal oriole
#

i'm going to be blunt: LobbyControl will stay Host-Only and it will stay with it's limitations.

#

i had a lot of ideas for a proper Everyone mod that would check all the boxes:

  • Late Join
  • Expanded lobby
  • Networking Fixes
  • Ecc..

but it would require a big amount of effort
and would break compatibility with litterally any other mod due to the required backend changes.

i recently changed jobs and now i barely get 3h of free time each day.
i'm not in a position to work on any big projects sadly.

i probably won't even add features to my existing mods.

πŸ˜”

vagrant root
vagrant root
#

I want to be clear when I say I'm grateful for all the work you've put into this mod and I want you to know that I love this mod and my criticisms were just issues I wanted to see fixed that really made sense when you mentioned the mod was Host Only, but you're in no pressure to work on a better mod or get it out when this one functions really well and while the Join Queue system isn't perfect it is a solid implementation to help fix some issues it just sucks that Vanilla networking hates it in ways and will always void players if they timeout however it is what it is. You do a lot of great work for this community with your mods and I'm sorry to hear that you don't have much free time anymore. I do hope at least that your new job is treating you well and you're enjoying it ^^ You deserve the best tbh

errant furnace
forest flame
#

I died on third day and lost all scraps, second day i died again and quit. AdditionalNetworking gives a fatal log and when i enter the save again the scrap i lost on the third day was back again.

vagrant root
#

That's probably an issue from another mod cus we've never had this

forest flame
#

Do you use belt bags?

#

Normal belt bags of course nonscrap

vagrant root
#

Sometimes but I never keep items in them, I use them to bulk carry tools from the dropship to the ship and we put them in the SSS after

forest flame
#

Normally even if i lost belt bags items and quit, the items will appear again. Its a vanilla issue.

#

But i never saw with scraps.

unreal oriole
#

if you don't post the error i have no way of knowing what it is

#

but if the error was from AdditionalNetworking logger
not a unity error with AdditionalNetworking in it, then i doubt it was the cause.

forest flame
# unreal oriole if you don't post the error i have no way of knowing what it is

[Fatal :AdditionalNetworking] Exception during networking of Leubes(26):
System.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.Inventory.PlayerControllerBPatch.OnLateUpdate (GameNetcodeStuff.PlayerControllerB __instance) [0x0012b] in ./Plugin/src/Patches/Inventory/PlayerControllerBPatch.cs:203

vague talon
unreal oriole
forest flame
#

Maybe is ReservedBeltBagSlot?

forest flame
unreal oriole
#

yeah host is both client and server

#

it's a mod that creates items not an inventory mod

vague talon
#

Creates like spawns in the item or the dev of the item set it up wrong?

forest flame
#

the only mod that add scraps i have its generic scraps

vague talon
#

Is it possible it's an LLL issue @unreal oriole, I know there's a lot of problems with it when reloading the lobby, I.e. shop items desync and disappear when reloading the lobby

unreal oriole
#

item is created ( Object.Instantiate ) and never spawned
( NetworkObject.Spawn )

so it most likely is a dev that only tested in singleplayer and called it good enough πŸ˜…

vague talon
#

Icic

unreal oriole
vague talon
#

So not LLL then okay

unreal oriole
#

anything that could somehow end in your inventory

#

to be precise it's not necessarily the dev of the item. mods like CR that can spawn extra items could also be the cause

i doubt it's CR as Xu fixed that issue with the safe a while ago

forest flame
#

CR is clientrpc?

vague talon
#

I used to instantiate items and not spawn em? I don't think I do that anymore but kinda funny I don't remember lol

vague talon
forest flame
#

i dont use this mod

forest flame
#

I can't reproduce this fatal log.

forest flame
#

Mods that added tools: HandheldMap. Added scraps: Generic Scraps. Change scraps and tools from vanilla game: UpturnedVariety, EnhancedRadarBooster, AccurateClockItem.

vague talon
#

It's not mods that add stuff, it's mods that spawn stuff

vague talon
forest flame
#

the error occured when I quitted the game.

#

fatal i mean

still stirrup
#

the error Lunxara was getting was "DuplicateRequest" which is described by steam as "A ticket has already been submitted for this Steam ID." which would probably mean that SetConnectionDataBeforeConnecting is being ran again whilst the player already has an active session ticket (which would logically only be the case if the disconnect events never ran?) πŸ€”

unreal oriole
#

do you invalidate the ticket if the server refuses the connection?

still stirrup
#

cuz it'd probably do GameNetworkManager.OnLocalClientConnectionDisapproved instead of StartOfRound.OnClientDisconnect

unreal oriole
#

all i do is have the server delay the response for a bit and/or deny it outright if the queue is full
but i just use the same system as when the game refuses the connection for wrong version/game started ecc

still stirrup
#

ah

#

im confused how i never noticed that when testing tbh 🀣

unreal oriole
#

πŸ™ƒ maybe you just never tested failing to join

#

there is also the case of connection timeout, that i doubt will trigger any of the endpoints πŸ€”

vagrant root
#

Since people void rarely and use that to be able to quit out and join back

vagrant root
jaunty mural
#

I have a question regarding lobbycontrol. Which one is better 😭 I try to understand the queu thing and like that feature the experimental version has but I'm clueless

#

Basically if my modpack is played with by 1-6 players and occasional maybe 8-10 or higher. Which do I need?

unreal oriole
#

both stable and experimental have the queue sytem in place

#

experimental additionally has the ability to limit how many can be waiting in said queue

jaunty mural
#

and is that more benefical or what?

unreal oriole
#

some people reported that waiting for too long in the queue would cause the limbo bug..

i doubted but still complied and added a limit 🀷

jaunty mural
#

Ahh okok. So normal version it is for now! Thank you

unreal oriole
#

they are 99% identical.
experimental will become stable as soon as i'll have the time to do the upload πŸ˜…

#

if you want to be safe, stay in stable and update once i upload the new version πŸ˜„

forest flame
#

Could you add an option to not be able to route the ship while someone is connecting?

unreal oriole
#

that's already what's supposed to happen...

#

you might have a mod overriding the lever

forest flame
#

lever? its not about landing but route the ship.

#

the little animation going to another moon

forest flame
unreal oriole
#

ooooohhh... mmm... not sure how possible it would be. as players can also change moons and they do not know the status of the queue πŸ€” i'll investigate

forest flame
#

I was playing with 3 friends and one of them joined while the ship was in the middle of the animation. His character was a little bugged on the ground, but after starting he seemed normal, but he fell through the ground in Assurance and the Company.

unreal oriole
#

routing the ship can be done during vanilla join room too no? does it have the same problem?

languid hound
#

@unreal oriole
I found a solution to fix the "an error occurred".

I guess LobbyControl might need to add this feature.

This fix enables the reasons provided by the host to the client to be displayed normally

#dev-general message

vagrant root
#

I would also PR the changes on the LobbyControl github if you can to make it easier on him for when he is able to update the mod

brisk harbor
#

do all ItemSlots indices for all connected players sync across the network, either with additionalnetworking or just in vanilla?

brisk harbor
#

i figured it'd have to be in order for players to collect items in multiplayer, yeah?

unreal oriole
#

AdditionalNetworking forcefully syncs solt number and items inside the slots yeah

#

vanilla only relies on a slot being located before/after another without caring about it's absolute index

brisk harbor
#

in this case, it's ok if slot order is wrong (i know vanilla desyncs on that front a lot)

unreal oriole
brisk harbor
#

but what im doing is probably going to be problematic if, say, the host recognizes a player is holding an item that they aren't holding on their own client

#

in any slot

#

i wasn't sure how reliable vanilla was in that regard

unreal oriole
#

but client mods like GI can alter that order. so unless everyone has the mod installed huge desyncs can happen

#

there are some mods that create ghost items that only a specific client can see πŸ€”

#

that's usually where AN throws the not-spawned errors

brisk harbor
#

hm

#

maybe best i just add a setting to turn this off then

#

for full context, im trying to patch the ship behavior so that when you enter, it collects all the scrap in your inventory instantly

#

whereas vanilla only collects the item you are holding (so you have to scroll through your entire inventory for the collect prompts to appear)

unreal oriole
#

oh for the prompts because i remember items in your pockets still being counted as on ship if you leave the planet

brisk harbor
#

but i was thinking it'd cause issues if your inventory doesn't match what the host sees, since the host is responsible for despawning items that aren't on the ship

unreal oriole
#

yeah all items get "collected" as soon as you step on the ship

brisk harbor
#

well, it is supposed to, at least

#

but SetItemInElevator only does the collect prompt when inShipRoom is true and there are no calls to SetAllItemsInElevator where inShipRoom is not false

#

and the audio reverb triggers only call it on the held item

if (this.elevatorTriggerForProps && (!this.setInElevatorTrigger || StartOfRound.Instance.shipBounds.bounds.Contains(this.playerScript.transform.position)))
{
    if (this.playerScript.currentlyHeldObjectServer != null && this.playerScript.isHoldingObject)
    {
        this.playerScript.SetItemInElevator(this.isShipRoom, this.setInElevatorTrigger, this.playerScript.currentlyHeldObjectServer);
    }
unreal oriole
#

uh. i never had items disappear from my inventory... weird

#

bruh there is also a call on UpdatePlayerPositionClientRpc

#

for the held slot

#

wait no isHeld only marks that is it effectively part of the inventory

#

also the end of the day sequence calls GetValueOfAllScrap that too marks items that are in the bounding box of the ship as in Ship

#

lol GetValueOfAllScrap is also called by SetDiscordStatusDetails 🀣

errant furnace
#

friends trying to join, whenever they try to it kicks me out of the lobby

#

@bright hamlet

bright hamlet
errant furnace
#

019867af-9b65-78bb-8ebf-225d40dbb388

#

We tried disabling some stuff (new code to reflect that) but we're still getting the same error

#

019867b6-ac3c-d90e-c8db-87d5a1769efc

bright hamlet
brisk sierra
#

There is probably exception happens, but bepinex logger doesn't log unity messages

#

so send player log, or add unity messager sink to the bepinex logger

errant furnace
brisk sierra
#

yes

errant furnace
#

alright, wll do

brisk sierra
#
[22:24:37.7607963] [Error  : Unity Log] NullReferenceException: Object reference not set to an instance of an object
Stack trace:
ScienceBirdTweaks.Patches.OccupancyPatch.UpdatePoster (StartOfRound round) (at ./Patches/OccupancyPatch.cs:38)
ScienceBirdTweaks.Patches.OccupancyPatch.OnConnectionClients (StartOfRound __instance) (at ./Patches/OccupancyPatch.cs:84)
errant furnace
#

it was my fucking posters replacing the occupancy sign

#

god...

#

thanks diffoz, you're the best man

brisk sierra
forest flame
#

HotBarPlus works with additional networking?

slow dagger
#

Yes

forest flame
half elm
#

I can’t connect to the lobby (although it is unlikely that these are problems of fashion or assembly ...

unreal oriole
#

local client connection denied

#

some of your mods is preventing you from joining. and is not giving any reason for why

half elm
#

Yes, yes, before it didn't happen

unreal oriole
#

you should head to #help-and-troubleshooting and try disabling half the mods ecc..

half elm
#

ECC?

unreal oriole
#

if you still feel it's lobbyControl then try disabling it to be sure

half elm
#

He was turned off before, but this is not because of him

unreal oriole
# half elm ECC?

eccetera.

troubleshooting a profile has a lot of steps. the one i mentioned is the first one

half elm
#

As if the player has a problem that he has, although acquaintances are connected to him, and catch a mistake in the logs at home

unreal oriole
#

turn off half the mods, boot the game and check if you can reproduce the issue.
if yes then the problem is in the remaining mods, if not then it's in the ones you disabled

half elm
#

Lobby Control is the best mod to open an auto-lobby, although there were so many updates that it was already scary to imagine that had changed

half elm
#

and even without fashion moons, dungeons and other things

vagrant root
#

Running packs of over 200 mods is so painful to troubleshoot, I used to have a pack with that many mods and I don't really plan to go back

#

it's too much

half elm
#

Well, you constantly turned off the cd there, played and the norms were, I returned after a long time and now the problem

unreal oriole
#

you should try in the #help-and-troubleshooting channel. there is not much i can do to help you in this case.

if there was an exception that would have been a start but the only hint is that unity log about you connection being denied meaning the host refused your connection

#

also if you are trying to port a modpack from few LC versions ago it's going to be a lot of work. as 80% ( or more ) of mods are now obsolete and broken ( if not already deprecated )

half elm
#

Well, I think something with it

#

Although this is little likely

#

Okay, thanks for the help, I'll try to figure it out myself, then I will contact that chat

unreal oriole
#

1st step is removing any deprecated mods and any other that was depending on a deprecated one

half elm
#

Just so many mods with corrections, some are intertwined, I'm not even sure - they somehow do not conflict, especially those - which the type of network is optimized

half elm
unreal oriole
#

if a mod is deprecated there is a reason for it, even if it seems to still work fine.

either it's no longer maintaied, a better alternative exists or it has proven reports of causing issues/breaking.

half elm
#

I'll try to get the host logs now and compare it, maybe there will be an answer there

#

Host logs, there I tried to connect at the end - while I was in orbit (there was an auto -lobby in the config turned on)

#

[18: 38: 20.9914819] [Warning: Unity Log] [Netcode] NetworkConfig Mismatch. The Configuration Between The Server and Client Dees Not Match @unreal oriole

I don't like that

brisk sierra
#

and host & client have different mods count loading

#

host have more mods than client

forest flame
granite dove
#

if this hasnt been reported before: with AdditionalNetworking, picking up an active radar booster causes it to deactivate on other clients (or it's a LAN issue, but that hasn't been the case with any of the networking stuff I've worked with).

vagrant root
vague talon
#

"LAN issues" arent a thing 99% of the time, but idk about additional networking

granite dove
#

I thought it seemed suspiciously obvious of an issue, but yeah like xu said I've never heard of a LAN issue so I figured it's worth pointing out just in case

#

if there's a mod to have lan issues additionalnetworking does seem like it though lol

unreal oriole
#

not sure how AN would trigger it tbh

#

i onky touch noisenaker, boombox and shotgun for their internal values

forest flame
brisk harbor
#

radar boosters get disabled when they are pocketed

#

in vanilla

forest flame
unreal oriole
forest flame
#

Yes. Vanilla you need to change radar slot to turn off

unreal oriole
forest flame
#

I open a public lobby with only bepinex and lobby control

#

my friend will try

#

yes my friend can enter the lobby

forest flame
#

The toy robot wouldn't sync with the other players. I dropped it a few times until it stopped making noise, but the other players and the eyelessdog could still hear it.

unreal oriole
unreal oriole
forest flame
#

Thx 🫑

unreal oriole
slow dagger
vagrant root
#

I have v2.3.2 in my pack just fine

#

Your Thunderstore is Thunderstoring

slow dagger
#

thats really weird

vagrant root
#

on your end

unreal oriole
#

i might have found a more nuclear option to forcefully disconnect player that reach the Connection Timeouts

forest flame
#

So no more being lock in that broken HUD screen?

unreal oriole
#

hopefully

#

i'll litterally close the socket. for the client it will be as if the host completely went offline

#

i'm still surprised users dont notice the big yellow box when someone times out

median thicket
#

So my bet is that this message is maybe not working at all

unreal oriole
#

it's supposed to show up the first time a player times out

#

then a flag is set in the playerSaveFile and never shows up again

#

i'll raise the default value for timeoutMs to 40s while i'm here

brisk harbor
#

i will buffer my opinion by saying i dont use latejoin

#

but since players connecting usually only happens at the start of a session (barring extrenuous circumstances) and never happens during actual matches (just in orbit), i think it wouldn't even be that much of a problem if it showed up every time this problem occurs

#

and not just the first time

#

or you could just make a config setting for "do not display the timeout warning"

#

but πŸ€·β€β™€οΈ

unreal oriole
#

there are two popups when a player Times Out, one is the config suggestion the other is Who timed out

#

the who timed out is enabled by default and has a config to turn it off

median thicket
unreal oriole
#

the config warning is tied to the player save file ( not the lobby save file )

unreal oriole
forest flame
#

Tworadarmaps fix desync problem with radar and maybe ragdolldesyncfix fix invisible players. Well i never saw anymore invisible players.

median thicket
unreal oriole
#

you disable the connection queue?

#

i dont remember having a setting for the timeout specifically

median thicket
#

Yeah

#

Ah yeah i mixed up the two mb

#

let me check

unreal oriole
#

if you never had issues, good for you. you have some coordinated friends that do not join all at the same time πŸ˜„

median thicket
median thicket
unreal oriole
#

as long as two of them don't connect at the same exact time then you're fine

#

streamers with open lobbies typically run into issues where the Queue is needed

median thicket
#

What happens if they connect at the same time? 🧐

unreal oriole
#

one of them does the other is going to end up in the Fog

#

some times both go in the Fog

#

sadly LC connection is not Atomic and the game expects a grace period of back and forth RPCs before the next player can safely join

median thicket
#

wait really?

#

I dont think i experienced that, Fog issues is usually when people dont have the same mods or configs etc

#

Im just too lucky i guess?

unreal oriole
#

Fog can be caused by sooo many reasons, but behind all of them is simply and exception occurring during this grace period

#

90% of times is mod conflicts but vanilla also has it's own Fog causes

median thicket
#

Interesting

#

well then thanks for that, i think ill have it enabled now

#

But something needs to be done about this message

unreal oriole
#

if you want to get rid of the timeout i allow values up to IntMax 🀣 so you can just put an irresponsibly high value there πŸ™ƒ

median thicket
#

oh i think we can already do that in fact

#

at least in the config i can go to a very high value

errant furnace
#

otherwise some of my friends can't join at all

unreal oriole
errant furnace
#

not intmax but I do like x20 the base value

#

i kaioken the shit out of it

unreal oriole
#

i personally suggest you to dial up an actually reasonable value for it. if a player takes 30min to join then your pack has some issues imo

errant furnace
#

oh nah they take likee 20 seconds or smth

#

max

unreal oriole
#

then use that XD 40/50s ( 1 min max ) should be reasonable

errant furnace
#

ye I probably do

#

I was def exaggerating by saying it's 20x but I do add like an extra zero or two I think

unreal oriole
#

worst pack i saw was 1:20 and the issue was not the pack but the sheer amount of items in the ship πŸ™ƒ

errant furnace
#

omfl LOL

vagrant root
forest flame
#

I'm not 100% sure, but I believe that if you open the lobby while the autosave symbol is showing, the player trying to join will get an error about the lobby being offline and the lobby data.

unreal oriole
#

if LobbyControl does something to a connecting player it will print a warning in the logs. if there is no warning from LC then i doubt it's LobbyControl's fault

unreal oriole
forest flame
#
Stack trace:
System.Collections.Generic.Dictionary`2[TKey,TValue].TryInsert (TKey key, TValue value, System.Collections.Generic.InsertionBehavior behavior) (at <787acc3c9a4c471ba7d971300105af24>:IL_00DD)
System.Collections.Generic.Dictionary`2[TKey,TValue].Add (TKey key, TValue value) (at <787acc3c9a4c471ba7d971300105af24>:IL_0000)
WeatherRegistry.Startup.Init (Terminal __instance) (at ./Startup.cs:253)
WeatherRegistry.Patches.TerminalStartPatch.Postfix (Terminal __instance) (at ./Patches/Terminal-Start.cs:13)
(wrapper dynamic-method) Terminal.DMD<Terminal::Start>(Terminal)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Trampoline<Terminal::Start>?1986997820(Terminal)
LethalLib.Modules.Enemies.Terminal_Start (On.Terminal+orig_Start orig, Terminal self) (at ./Modules/Enemies.cs:149)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Hook<Terminal::Start>?-361684060(Terminal)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Trampoline<Terminal::Start>?-864916358(Terminal)
Dawn.UnlockableRegistrationHandler.RegisterShipUnlockables (On.Terminal+orig_Start orig, Terminal self) (at ./src/API/Unlockables/.UnlockableItemRegistrationHandler.cs:81)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Hook<Terminal::Start>?-1963147376(Terminal)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Trampoline<Terminal::Start>?-1738439742(Terminal)
Dawn.WeatherRegistrationHandler.RegisterWeathers (On.Terminal+orig_Start orig, Terminal self) (at ./src/API/Weathers/.WeatherRegistrationHandler.cs:14)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Hook<Terminal::Start>?1578835988(Terminal)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Trampoline<Terminal::Start>?-1432978248(Terminal)
[email protected] (On.Terminal+orig_Start orig, Terminal self) (at ./Mirage/Hook/Config.fs:40)
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.Hook<Terminal::Start>?-79630976(Terminal)
LobbyControl.TerminalCommands.LobbyCommand+<LoadLobbyCoroutine>d__19.MoveNext () (at ./Plugin/src/TerminalCommands/LobbyCommand.cs:689)
UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at <e27997765c1848b09d8073e5d642717a>:IL_0026)```
#

it looks like lobby load command isn't compatible with weather registry

vague talon
#

I'd report that in the WR thread too

unreal oriole
#

that seems an incompatibility with weather registry tbh

unreal oriole
#

how has the experimental version done after a week of being out?

tawdry gyro
#

Awesome

forest flame
#

all your main mods are working fine? Additionalnetwork, lobbycontrol and mattyfixes?

unreal oriole
#

i havent heard abut any of them beeing broken

#

and sadly i have a full-time job so i don't jave time to test them much more than just booting up the game πŸ˜…

forest flame
#

ah

languid hound
#

A strange error occurred. I'm not sure if it's caused by LobbyControl or if it exists in the original game.

unreal oriole
#

that doesn't seem to be a LobbyControl problem tbh

#

sure it triggers after LobbyControl runs but that's exactly what lobby control does. delay unity connections. and does it using intended unity APIs

forest flame
#

@unreal oriole Additional Networking is making the gift boxes spawn binoculars

#

at least the experimental one

#

If i turn off this option fix the problem

unreal oriole
#

uh. did zeekers change the gift boxes again?

forest flame
#

idk maybe something about the netcode

vagrant root
#

You prolly need to recomp Additional Networking

#

honestly you should prolly recomp Lobby Control too

unreal oriole
#

Noone of them uses rpcs tbh

#

i coded additional networking with named messages
and LobbyControl control intentionally uses Cecil to grab the ids of the few rpcs i'm listening to

forest flame
#

this is from butteryfixes changelog maybe its something about that?

unreal oriole
#

i'll see what i can find tomorrow 😴

brisk harbor
#

for the v69 jolly patch, zeekerss made gift boxes more common

#

the way that is done is RoundManager.SpawnScrapInLevel() iterates through all the possible items that can spawn (this is the same place where it applies boosted item spawn rates for challenge moons, or SIDs)

#

and then if the current item is a gift box, it adds 30 to its normal spawn weight, caps it at 99, and uses that instead of whatever the moon defines

#

after the "normal" v69 patch (where he reduced snowmen spawn rates) he removed that code, but he accidentally added it back in v70

#

BF just reverses that single change

#

this problem with gift boxes spawning binoculars is specifically happening because after the gift box spawns, something is preventing it from setting (or preserving) the objectInPresent field on the gift box item itself

#

the code that handles that is separate from the random scrap spawning

unreal oriole
#

nothing in the code seems to be a trigger for that

#

@solar monolith sry for the ping, but can you confirm LateUpdate runs after Start?

vague talon
#

doesnt Update itself run after Start, i assume LateUpdate would also run after Start

solar monolith
#

yeah, LateUpdate runs after Update, and Update always after Start

brisk harbor
#

more specifically LateUpdate() runs after all objects run Update(), i believe

#

since it's for code ordering

unreal oriole
#

giftBox items are set in InitializeAfterPositioning which is called by FallToGround wich is called by Start. i then wait for LateUpdate check if the item has a scrap value and if not ask the host what it's the value it has ( it also includes the SaveData which GiftBox uses to encode the object inside ) πŸ€”

#

by the time i ask the host the giftBox should definitely already be initalized and even then the item spawned is handled by the host anyways

errant furnace
#

sorry if this has been asked before but does Lobby Control need an update for v73 or does it work just fine?

unreal oriole
#

i have not heard of anything breaking yet

plush hemlock
unreal oriole
#

nope. no netcode at all as it's fully server-side

plush hemlock
unreal oriole
#

some time ago i had the weird urge to made AdditionalNetworking vanilla compatible for some reason.

that meant to drop all RPCs and use custom network messages instead.

that choice in the end made it a lot more resilient to unity changes πŸ™ƒ

#

still people report that AN makes all gift boxes always drop binoculars for some reason. i'm still investigating that but i'm really confused πŸ˜•

plush hemlock
vagrant root
#

@unreal oriole Lobby control no longer works properly with More Company on v73, when a 6th tried to join via late join the game freaked out and erroed out

#

rehosting the lobby fixed the problem

brisk harbor
#

i was replicating this today

#

first time playing a real session since v73 dropped

#

this was on stable, not experimental

#

disabling the setting works, like leubes said

vagrant root
#

@unreal oriole I'd assume the networking stuff in Lobby Control is what's broken, that or the invis player fix

#

@still stirrup Gonna ping you rq cus based on what this does I assume the error was probably cus More Company now already does this check, and when LobbyControl also did it it errored out

#

So I would guess just turning this patch off might fix this

#

I kept having a feeling the error looked a lot like what got fixed with MoreCompany, and I wonder if it's either that or if Lobby Control is doing what More Company was doing previously

vagrant root
#

Another example btw, this was when a 11th player tried to late join

unreal oriole
#

i have a feeling the new Unity version really does not like reusing netowrk objects

languid hound
#

I didn't have morecompany installed when the error occurred.

vagrant root
unreal oriole
stiff nymph
unreal oriole
#

⁉️

stiff nymph
#

It's just a compressed file (actually it's still a gift box)

#

AdditionalNetworking Eperimental v2.3.3

slow dagger
forest flame
forest flame
#

So latejoin isn't working or is that an incompatibility issue?

unreal oriole
#

we do not know. that error is related to a player joining but does not have any evident connection to latejoin in itself

#

i'd expect a lot more people complaining if that was the case

languid hound
#

i think this problem may only occur when a large number of players enter or leave the lobby.

vagrant root
#

But I never have issues if I rehost the lobby, so it’s def just late join is broken

vagrant root
#

@languid hound Btw does it happen with both Stable and Experimental?

#

I haven't tested Stable to see if it happens with that version

vagrant root
unreal oriole
#

the only change between stable and experimental is how i handle timeouts
and you definitely was not in a timeout situation

vagrant root
#

Yeah idk then

#

I do know for me it always just errors every frame when a player tries to late join

#

and I posted the errors I get

unreal oriole
#

the problem is that i as well as many others can't reproduce the issue. so i have no idea where to look for a fix

vagrant root
#

You think it's some conflict with some other mod somewhere?

#

Maybe Dawnlib or smth perhaps?

unreal oriole
#

as always the errors every frame do not matter they are caused by the first error leaving the game in a broken state

vagrant root
unreal oriole
#

that error doesn't show any code outside unity sadly. andbi doubt it's a unity bug

vagrant root
#

I suspect it could be some mod with old rpc's doing something weird

#

but those rpc's also don't break anything in normal play

unreal oriole
#

if you can find ( like you did for PathfindingLib ) the minimum subset of mods and conditions to trigger the error that would help

vagrant root
#

0199fb63-1cd7-2bac-22bb-8e3d37165c35 I'll post my code, maybe you might find something

#

Actually uhhh @unreal oriole What are the chances it might be due to Furniture Lock? Remember the suit errors I reported that happen after 1.4.2? plink

#

Pretty sure the errors happen cus of Suits Terminal but yeah

unreal oriole
#

if something breaks it's going to be reported as Unity Error
99% of errors reported by a mod will be handled correctly and won't break the game

#

the furniture lock ones are me checking if the suits are in the spawned list while zeekers ( specifically for suits ) never puts them in said list

vagrant root
#

Ah

languid hound
vagrant root
#

Have you managed to repro it in a small profile?

languid hound
#

I encountered this problem before morecompany was fixed.

#

I forgot how many mods I installed at that time.

languid hound
unreal oriole
#

LobbyControl is already verbose for connections. and you can see the last message is the connection has been resumed

#

when that is printed LobbyControl has effectively gave back control to Unity for the connection process

#

until another log is printed LobbyControl has nothing to do with the connection and unity is solely responsible

and before that all LobbyControl does is set a .Pending property that tells unity to wait before accepting the connection

#

all of this is fully intended unity API usage

#

it would be interesting if you could reproduce the issue using ship-lobby

#

as the latejoin part of LobbyControl comes from ship lobby

forest flame
#

Although, I only play this new version with six other players. Up until now, latejoining hadn't given me any trouble.

languid hound
#

During the previous play session, there were a total of more than 50 client connections.

#

@vagrant rootIf you still have this problem, uploading the entire Player.log might be very helpful for identifying the issue.

vagrant root
#

It might be an incompat between LobbyControl Experimental and MoreCompany if this is the case

#

I will swap to Stable

#

Or it was QuickQuitToMenu

#

I was also wondering if it could be Science Bird Tweaks so I swapped the parenting stuff to be client sided

languid hound
#

There seems to be no abnormal situation in the logs. Can this problem occur stably in your mod pack?

vagrant root
#

It occurs pretty frequently yeah

#

It reprod yesterday when someone tried to rejoin

#

It's fine if people leave and rejoin however many times they want before the lever is ever pulled

#

it's solely late joins that break