#Lobby Control & Matty's Fixes
1 messages Β· Page 11 of 1
yeah i'll need a log and hopefully a stacktrace
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)
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
It was at 50000 ms
then he had a really slow pc/connection XD
Maybe I need to try it again
I swear there was someone else with a worse pc/connection than them and they could join
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
I guess I will just have to try it again then
can confirm clients that are not able to load before the timeout number are sent into the void
(basically users with potato pcs)
Yeah they have to alt f4
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
doing tests with my group rn, i had to set it to 60s, client with potato pc took 45 secs to load in
i belive Lunxara has it to a 2 mins or so π
(i personally took 12s, got a popout warning when i loaded since it was set to 10s (dont remember setting that?))
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
also gotta ask, does this still act weird? or was it fixed
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
never had issues with this setting
i still don't know what the actual problem was
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
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
Okay a friend has been disconnecting sometimes midgame-
why do you suspect it's LobbyControl fault?
I read a steam post saying it's caused by a player joining late game
But mainly cause I asked for help and so far got no assistance for it.
So far know I told my friend to restart router or verify LC files
from his logs it seems his internet just died
no errors. or anything suspicious. just a normal disconnection for missing internet
Oh thanks!!
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
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
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
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
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
router is downstairs and I have two cats and a niece and nephew
yup cable is going to be fun π±
Wi-Fi is shit for my PC
Like it wouldn't function without the power line cord
Or would but just super fucking slow
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
it should be written on it
Okay it's TP-uplink
My friend's log (client):
My log (host):
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
You need to change the timeout cus of LLL to around 60s from 20
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
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
Ah okay
can lobbycontrol be run clientside? like is there something that makes it server side, and if so can it be turned off?
LobbyControl is entirely host-side it has not benefits for clients
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)
it will fix ( or attempt to do so ) the invisible players only if both host and client have the mod
I've noticed it doesn't always work, there will always be a late join that heppens where one player can't see someone for some reason or another lol
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
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
Nah what I've usually noticed is most of the time it happens when the player takes the slot of someone who has left, it's like that slot becomes invalid for a client for some reason
I doubt it's anything to do with another mod and is probably just late join jank tbh
Is it a problem to make it wayyyy longer than that to be safe? Or is there a downside to doing that?
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
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.
i think that got deprecated, cus Zaggy's TwoRadarMaps does that
Oh, really? I don't use TwoRadarMaps. Should I to fix the desync? Mind you, other than today I only notice it happen with more than 4 people and late joiners.
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
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
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
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
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.
all the symptoms you describe occur with it on or off
i hear tworadarmaps is the closest thing to fixing all the problems
i should remove it to be fair. it works so rarely it might as well be coincidence π
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.
Additional Networking Experimental Update
- sync shotgun values on grab
- add replacement rpc for syncing grabbable values
- add option to suppress vanilla grabbable sync
π
@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
That's an issue with LLL not Lobby Control
Use LLLHotReloadPatch by Dopa
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
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
also there are soo many exceptions in your profile i have no way of knowing if one of them caused a cascade effect
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
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.
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
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
we found that additional networking experimental was causing this
runnign a test with stable right now and it isn't happening anymore
could you try disabling the ItemState.Animated config in experimental?
tested with it disabled. the audio no longer does the funny thing but its still spamming playoneshot logs
π€
i guess i'd like to get a log with verbose logging on too. just for good measure
I'm ngl it was perfect on April Fools day I thought it was PhysicsAPI doing it
LOL
AdditionalBrrrrrring
from a lan test with verbose
found the issue π
Will you be posting an update soon?
i wont be at pc till Tuesday π
Well we'll be playing Tuesday so maybe you can get the update out and join us that day
lol
update is out.
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).
π
Awwww okay bud I hope everything is gonna be alright 
Entrance Teleport Optimizations is out
mod thread: https://discord.com/channels/1168655651455639582/1360176633847349348
since this does cached entranceteleport as well, will it break main for interiors that don't network it?
uh? wdym main not networked? you cannot spawn an EntranceTeleport w/o netowkrobject
for interior like Tartarus, lethalperformance beta breaks their main entrance because it shows NetworkObject.IsSpawned flag as false
the cached entranceteleport in LP cannot find it (i think)
π if the object is not spawned then the RPCs will not work either...
so the vanilla teleport code does not work
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
that's not "just a flag" that indicates that unity does not know about that object and therefore cannot tell other clients about it.
but anyways this mod does not check anything other than isActiveAndEnabled so should still be fine
well guess i can check it by just turning off LP and trying this
mind moving to the actual mod thread tho π
ok
and thx for testing
@unreal oriole
I know you just uploaded this but is there any known issue with this mod?
https://thunderstore.io/c/lethal-company/p/mattymatty/EntranceTeleportOptimizations/
that's the reason why it's in BETA.
we do not know yet π
theres some error that occasionally gets sent in logs about audio spatialization errors
that config stops it from showing i think
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
@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
ehh not really. you'd need to rewrite the entire weather system
i see
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
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
but im asking mainly because in v70, radar boosters will have built in cameras and i expect it will desync if zeekerss hasnt fixed this in basegame yet
mmm you right
Is there an ETA for v70? I'm curious how long I have before my carefully curated modpack gets blown up
Nothing solid, but within a few weeks probably
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
none of my mods sync the item rotation atm
so is it just obc doing the sync
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
what session?
The weekly sesh
yeah OpenBodyCams fixes the bug that desyncs dropped item rotation
it's caused just because there's a dropped parameter in one of the client RPCs right?
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
Assuming zeekers would fix it
exactly
if zeekerss is making radar boosters have cameras though, I imagine that bug may already be fixed
That would certainly give them more of a use
My groups weekly session
I'm gonna hate that are mods will break too lol
you can always downgrade to a previous version
it's quite easy to do if he doesn't release a patch instantly after
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
was wondering the same thing earlier today
thread is here btw https://discord.com/channels/1168655651455639582/1360176633847349348
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
So lobby control was kicking my friend for some reason
like he join the lobby than pass like 5s he gets kicked
was he actually in or was he just an orange suit floating in 1 spot
Actually in
ok
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
He was getting kicked so i removed LobbyControl and he stopped to get kicked so 90% of chance that was lobby control\ if i remember correctly this was his log
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
One of the patches are failing on v70 btw
[Warning:LobbyControl] SyncShipUnlockablesServerRpc patch failed 1!!
seems like MattyFixes also causes me to softlock when trying to leave a moon
Turn off the radar patches
it's probably that
^will do in a moment
didnt change anything
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
If it's item falling, could be related to the item falling function getting a new param
If that's the case it just needs a recomp with newest functions I suppose
It's probably a method that is now obsolete.
Since Zeekerss fixed it natively
it's not needed
It was mentioned in sciencebird's thread
not out of bounds
The FallToGround function has a new argument
So any mod running on older version, which reads FallToGround, won't work rn
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
but wouldnt GeneralImprovements cause the softlock too then?
Nope
GI is fine
I have it
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
It seems to safely fail so I assume nothing breaks?
well what it's patching would fail (some of the increased save limits)
but yeah it wouldn't completely break everything
also seems like imperium is breaking monster spawns now
Same!!
So if i disable the item falling through toggle uh
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
You have to completely disable the mod
i have to recheck all my mods. but i wont be able to until, at least, monday evening
Some good news bud, FurnitureLock works :3
It was LethalLib that made it explode
lol
oh wow. zeekers removed the 175 unlockables limit
Ooh nice
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?
where did you get that info lunx
It was in 1A3's diff
i can't find anything about that in the code
Hmmm
That's why MattyFixes just breaks rn and soft locks when going into orbit too cus that code was changed
and if the code from matty fixes is triggering means some items are still finding themselves below the ship XD
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
I will say I played Vanilla yesterday and we never had the cupboard bug
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
vanilla with vanilla cupboard position?
Yeah
if you never move the cupboard the game works as intended XD
Oh lol
it breaks when the cupboard is somewhere else other than default π
Lmao
Well I saw you got LobbyControl updated at least
and I was glad FurnitureLock isn't broken
from a look at the code this did not fix any of the issues with falling below the floor. it seems like a reformat of some code with an addition to delay the fall by one frame
i still have to check for the RoundManager part to see if he implemented my suggestion
well yeah the one frame seemed like some kinda of bug fix
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 )
matteus are you free to help me rq in vc π₯Ί
nope he is still padding the spawn. so negative offset items will still fall below floors
sure. not too much time but i can join
it should be quick im definitely doing something stupid
yeah it fixes it for the host. but items receive the updated position for furniture many frames after items spawn
yeah it's really weird
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)
i guess this is what he was aiming for, but it still seems like a bunch of effort for something that still impacts clients just the same
ohh so now they are always the same Vector3.zero?
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.
ad pop-ups?
yeah lol
all of them are seeded with System.Random(0)
Sometimes when playing the game in v70, you get a random ad that appears in your visor, obscuring vision
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)
tbh probably ought to be a separate mod
i wouldnt be surprised if it exists already, on that note
someone already released a mod to rollback the radar changes
Tried looking, couldn't find one sadly.
Where?
ehh i'd just change the vanilla logic to use the start position
Are your mods being updated soon btw?
Well thanks. I hope that crap gets removes eventually by someone
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
because the item is destroyed
yeah, i believe so
then it's already handled as i delete the icon in OnDestroy
perfect
Mods have been recompiled for V70!
For the vanilla purists:
MattyFixes default value is now vanilla default instead of ViviKo's ItemClippingFix
is said mod not out yet?
I have no idea what mod fixes it lol
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 π
@unreal oriole Seems AdditionalNetworking throws errors for clients
There is also this one from Glitch's server
additional networking seems like the kind of mod that absolutely needs a recomp at least
Yeah probably
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
Yeah I wasn't sure if either of them were problematic
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
Interesting
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 π
oof
Global player volume control option please and thank youuuu
cant be arsed to always lower literally EVERYONES volume by 70%
There was a mod for that but it was causing a game breaking bug, so it's deprecated while the dev fixes it
i wonder how hard would be to make a mod that just sets the default volume all connected clinets will show up with π€
probably not very hard, only some save setting on client joining a lobby
QuickMenuManager.AddUserToPlayerList(ulong steamId, string playerName, int playerObjectId)
π€
playerListSlots[playerObjectId].volumeSlider.value
π€π€
ulong steamId
π€π€π€
are steamId's not ulong?
i always max it out on my end
i would be interested in seeing something for it
if anybody is interested in tackling that
i suppose i could too, at some point
https://thunderstore.io/c/lethal-company/p/egg_node/SavePlayerVolume/ Curious how well this works @unreal oriole @brisk harbor
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?
nope
i'm in the thrall of final fantasy right now
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
Rip
Probably was generated with ChatGPT tbh
i just looked at it now
i'm not entirely onboard since it runs in update
Yeah
and the last mod that tried to do this could do it without an update patch
though at the same time
It could be done in a better way probably
that mod completely broke the game for clients
so idk
i should ask confusified if they looked into it
Is the update for additional networking merging changes from experimental?
Yes
I dmed him and told him he never did it lol
Can I use the second option without any problems if everyone has the mod with the same settings?
if everybody has the mod, yes
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?
I don't think Additional Networking has any effect on that
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
Can i use this second option if everyone has this mod, using GI option that enable radar booster be teleported and tworadarmaps?
@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!"))
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
You probably didn't understand what I meant. This mod is only used to display post-landing lobby information (like planet, time, etc.), not to actually allow players to join after landing.
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.
That sounds cool
Ahhhhh
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 π€
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?
use steam tags instead
The lobby will have a "[Landed]" indicator, and since there are very few public lobbies, this situation is unlikely to occur. Could you help me analyze the current compatibility issues? It seems the problem lies with patch priority, but the two pieces of code I added couldn't fix the issue.
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.
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?
what actually is the patch ur trying to do?
Currently, players will attempt to join current lobbies to check the game progress (in-game time). Some players even try joining multiple times.
LobbyControl's patch takes effect after mine, so even when I create the information, it still gets overwritten by LobbyControl. The problem I need to solve now is to make my patch apply last.
ah fair
did you look how lobby control patch is made?
I checked, and based on my understanding, the two new priority methods I added should have fixed this compatibility issueβbut something went wrong.
The two priority codes I added don't seem to be working - LobbyControl's patches are still executing after mine.
Oh, is that how it works? I thought HarmonyFinalizer had a different purpose. I'm not very familiar with Harmony.
isnt finalizer only really useful if the original method errors?
like otherwise doesnt it usually make sense to use a postfix
yeah, postfix would have been better here with priority last
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.
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
@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)
i've done this split. now using Postfix should work as intended for you @languid hound
Thanks, I'll revert the code back to Postfix for testing after I wake up.
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
Do you mean like a queue that would give the status of the lobby so they donβt have to wait until the ship is in orbit to join. They would just be put on a loading screen.
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
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
how does it work w/o the mod?
you load already underwater?
Water level starts really high and rapidly drains as ship lands
I've not had that issue
Odd
huh
That being said
I'll see if I can recreate it
LandFromOrbit is also not needed if you're not using a mod to open the ship doors in orbit
You're right actually, still happens without LandFromOrbit
Might be a bug with the moon after V70 tbh
Yeah I had this happen without LandFromOrbit
it's just a bug w the moon, im p sure i told wes abt it already
was it intended for this to be uploaded as 2.5.10
(highest ver on experimental is 5.6.0)
reee! i keep forgetting the stupid versioning i did for LobbyControl Experimental

It's the fix for Join Queue stuff I told him about where it will always void players if they time out, it implements a much more simple system basically so be sure to reset some config settings for Queue if needed
He fixed the versioning btw
lol
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
Ahhhh
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
It will always cause the fog if a player times out in the current version due to the player never making it into the id list
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
I put 3 minutes and the broken HUD screen didn't appear anymore.
I had to increase mine cuz literally no one could join me loll
yea
yup, it's a new setting i added with range from -1 to 10 and 3 as default
-1 and 0 will result in no limit
got it
would implementing a fix into matty's fixes for this make sense?
I think test account fixes already fixes this
ah interesting. this is a new bug in vanilla v70 so i thought maybe a new fix was necessary
It's not a new bug.
This specific instance of it I have never seen in my 3000 hours until v70.
I don't know how. That issue has been always present. And fixes for it are year+ old.
It's especially problematic in doorways.
i know the issue has existed for ever just not this specific instance of it
Nothing specific about it. You're dropping an item close to InteractTriggers, which are ladders in this case.
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:
- Create a lobby and have Player A join.
- The host and Player A die
- Wait for the next round to begin.
- As Player A respawns, let he to disconnect.
- Once the lobby reopens, have Player B join.
- Start a new game session.
- The host and Player B die again.
- Expected Result: The host should see the correct death box (player name/avatar).
- Actual Result: The host observes an incorrect player box (cached data from Player A instead of Player B).
Clearing spectatingPlayerBoxes resolves this issue.
@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
I'm ngl
hi ngl
I feel like the mod being host only is why there's so many late join issues the mod doesn't properly resolve
hi ngl
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
people joining when the ship is landing sounds like a them problem
just close the lobby before landing?
Unfortunately if someone is already joining that doesn't work
then wait for them?
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
in what scenario do they become invisible
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
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
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
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
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
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
at the end of some sessions we end up at slot 14 even though we only ever had 5 people playing
what?
But due to that I replaced it with KickWithoutBan, cus I primarily used LI for that
since when
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
You probably have people dc and rejoin less often
it mostly comes from that
if someone leaves during a round then rejoins in orbit
It's probably just due to the dcing and rejoining in orbit stuff tbf
I'm lowkey surprised you haven't run into it since you play with a much larger pack
thats the thing
realistically i should have more problems than you
but the current incarnation is surprisingly stable
Yeah if you have players dcing and rejoining less that's probably why you haven't reprod it
you have the green notifs abt someone joining right
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
connection notification would be separate i thought
anyway, does it regularly go over 32 connections
I will say since it's only been an issue with Experimental I could try reenabling that alongside downgrading LobbyControl back to stable
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.
π
Ahhh fair, tbh LobbyControl is a great mod and I hope I didn't come off as harsh at all or make it sound like it wasn't
and while some of the issues bug me the issues aren't deal breakers or anything tbh
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
I'm so sorry Matty :(
I hope you're holding up alright man, I hope you're eventually able to get back some of your free time, not to work on anything particularly, just so you can enjoy some more freedom
Agreed
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.
That's probably an issue from another mod cus we've never had this
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
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.
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.
[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
Do you have the full log as well? Might be helpful to post
ah the good old client-side Item.
something in that player inventory only exists on it's client
you have a bad mod somewhere
Maybe is ReservedBeltBagSlot?
i was playing solo. but i was still a client?
yeah host is both client and server
it's a mod that creates items not an inventory mod
Creates like spawns in the item or the dev of the item set it up wrong?
the only mod that add scraps i have its generic scraps
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
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 π
Icic
could be scrap, could be tools, anything that can be grabbed
So not LLL then okay
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
CR is clientrpc?
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
Mod called CodeRebirth
i dont use this mod
I can't reproduce this fatal log.
Mods that added tools: HandheldMap. Added scraps: Generic Scraps. Change scraps and tools from vanilla game: UpturnedVariety, EnhancedRadarBooster, AccurateClockItem.
It's not mods that add stuff, it's mods that spawn stuff
Whatever spawned in the item didn't spawn it right
@unreal oriole do you have any idea why this would be the case?
I get a session ticket on GameNetworkManager.SetConnectionDataBeforeConnecting and the session ticket is cancelled on GameNetworkManager.StartDisconnect and/or StartOfRound.OnPlayerDC
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?) π€
do you invalidate the ticket if the server refuses the connection?
hmm that's a valid point tbf
cuz it'd probably do GameNetworkManager.OnLocalClientConnectionDisapproved instead of StartOfRound.OnClientDisconnect
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
π 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 π€
You also might wanna do a check ig for if people quit using Taffyko's Quick Quit To Menu mod as well lol
Since people void rarely and use that to be able to quit out and join back
I already use that mod
Got ya
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?
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
and is that more benefical or what?
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 π€·
Ahh okok. So normal version it is for now! Thank you
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 π
Could you add an option to not be able to route the ship while someone is connecting?
that's already what's supposed to happen...
you might have a mod overriding the lever
lever? its not about landing but route the ship.
the little animation going to another moon
Trying to land the ship is working. I'm talking about changing the moon in the terminal.
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
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.
routing the ship can be done during vanilla join room too no? does it have the same problem?
@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
Matty doesn't have much free time right now due to work so it could be worth uploading the fix seperately and having it depend on LobbyControl for now
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
do all ItemSlots indices for all connected players sync across the network, either with additionalnetworking or just in vanilla?
i'd like to make a patch but it assumes that this is true and might cause buggy behavior if it's not
i figured it'd have to be in order for players to collect items in multiplayer, yeah?
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
in this case, it's ok if slot order is wrong (i know vanilla desyncs on that front a lot)
to be precise it uses relative indexes based on the currently selected slot
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
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
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)
oh for the prompts because i remember items in your pockets still being counted as on ship if you leave the planet
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
yeah all items get "collected" as soon as you step on the ship
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);
}
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 π€£
friends trying to join, whenever they try to it kicks me out of the lobby
@bright hamlet

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
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
you mean enable this in the bepinex config?
yes
[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)
it was my fucking posters replacing the occupancy sign
god...
thanks diffoz, you're the best man

HotBarPlus works with additional networking?
Yes
It looks like it was reserveditemcore that has a feature where masked will mimic the player with the tool from reserved slot
I canβt connect to the lobby (although it is unlikely that these are problems of fashion or assembly ...
local client connection denied
some of your mods is preventing you from joining. and is not giving any reason for why
Yes, yes, before it didn't happen
you should head to #help-and-troubleshooting and try disabling half the mods ecc..
ECC?
if you still feel it's lobbyControl then try disabling it to be sure
He was turned off before, but this is not because of him
eccetera.
troubleshooting a profile has a lot of steps. the one i mentioned is the first one
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
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
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
This will be difficult enough, given that Mengya has 252 mods, half of which are fixed xDs
and even without fashion moons, dungeons and other things
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
Well, you constantly turned off the cd there, played and the norms were, I returned after a long time and now the problem
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 )
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
1st step is removing any deprecated mods and any other that was depending on a deprecated one
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
Yes, there is a binding to emotions outdated, and it seems like they work and are considered even local
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.
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)
Well, my logs that will give little
[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
mods mismatch
and host & client have different mods count loading
host have more mods than client
It seems like it will always generate this log when you quit with items in your inventory. I tested with only bepinex and additionalnetworking (Skip vanilla grabbables sync: enabled)
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).
Might be a lan issue I don't think I've seen this in Multi
"LAN issues" arent a thing 99% of the time, but idk about additional networking
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
not sure how AN would trigger it tbh
i onky touch noisenaker, boombox and shotgun for their internal values
Do you know if this is a problem with lc office scrap?
is there no chance it's related to any of the slot sync stuff?
radar boosters get disabled when they are pocketed
in vanilla
Even if you use tworadarmaps?
i dug in the code and the only way for that to happen is if the player inventory changed while having the radar in hand π€
here is a version with a "patch" for that π
Yes. Vanilla you need to change radar slot to turn off
someone reported that LobbyControl is not vanilla compatible anymore
i'm quite sure people would have already said something here if that was the case but can anyone test it?
I open a public lobby with only bepinex and lobby control
my friend will try
yes my friend can enter the lobby
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.
Additional Networking Experimental Update ( v2.3.2 )
- do not pocket & un-pocket held item if it is already the correct one
forgot/did not have time to upload this experimental version to TS, so here it is. hopefully fixes the radar booster issues and noismaker props
Thx π«‘
@granite dove this might fix your issue ( or might not π )
uuuuh idk what happened but i don't think it ever got uploaded to ts
It did
I have v2.3.2 in my pack just fine
Your Thunderstore is Thunderstoring
thats really weird
Maybe the site has a small outage atm and it's loading an older version of the site that is cached
on your end
i might have found a more nuclear option to forcefully disconnect player that reach the Connection Timeouts
So no more being lock in that broken HUD screen?
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
Oh, that reminds me
I helped a streamer a few months ago about all their players getting timed out, they didnt do what was the caused and I explained to them about the timeout in the config, they changed it and then it was working fine
But they never saw such message, and if i was not there they were about to quit and change the game, which is sad
So my bet is that this message is maybe not working at all
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
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 π€·ββοΈ
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
Yeah i know this way of showing messages, but maybe it's not a good idea to have it only show once ? idk just saying
the config warning is tied to the player save file ( not the lobby save file )
i'm wondering about that at this point π
Tworadarmaps fix desync problem with radar and maybe ragdolldesyncfix fix invisible players. Well i never saw anymore invisible players.
I personally never used timeout, so i always leave it disable with late join enable, but since timeout is activated by default in the config, then yeah you should do that
you disable the connection queue?
i dont remember having a setting for the timeout specifically
if you never had issues, good for you. you have some coordinated friends that do not join all at the same time π
yeah i have join queue always disable
Wait, there is issues for that? No my friends are never joining in a coordinated way, they all spawn at randoms
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
What happens if they connect at the same time? π§
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
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?
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
Interesting
well then thanks for that, i think ill have it enabled now
But something needs to be done about this message
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 π
oh i think we can already do that in fact
at least in the config i can go to a very high value
that's what I do basically loll
otherwise some of my friends can't join at all
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
then use that XD 40/50s ( 1 min max ) should be reasonable
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
worst pack i saw was 1:20 and the issue was not the pack but the sheer amount of items in the ship π
omfl LOL
Hell yeah, nice to see you're trying to officially fix it 
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.
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
any feedback on the changes?
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
I'd report that in the WR thread too
that seems an incompatibility with weather registry tbh
how has the experimental version done after a week of being out?
all your main mods are working fine? Additionalnetwork, lobbycontrol and mattyfixes?
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 π
ah
A strange error occurred. I'm not sure if it's caused by LobbyControl or if it exists in the original game.
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
@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
uh. did zeekers change the gift boxes again?
idk maybe something about the netcode
Prolly the netcode change
You prolly need to recomp Additional Networking
honestly you should prolly recomp Lobby Control too
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
this is from butteryfixes changelog maybe its something about that?
i'll see what i can find tomorrow π΄
no this is completely unrelated
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
i'm very confused about this
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?
doesnt Update itself run after Start, i assume LateUpdate would also run after Start
yeah, LateUpdate runs after Update, and Update always after Start
more specifically LateUpdate() runs after all objects run Update(), i believe
since it's for code ordering
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
sorry if this has been asked before but does Lobby Control need an update for v73 or does it work just fine?
i have not heard of anything breaking yet
Doesnβt lobby control use the netcode patcher?
nope. no netcode at all as it's fully server-side
What about additional networking?
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 π
You really did future proof your mods. Nice job! π
@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
just to add some fuel to this fire
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
@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
well it's always done that
@vagrant root you error seems exactly like this one. so it probably is not caused by MoreCompany
i have a feeling the new Unity version really does not like reusing netowrk objects
This error is definitely not caused by morecompany
I didn't have morecompany installed when the error occurred.
Yeah I have a feeling it wasnβt MoreCompany and it has to do with the Networking stuff in Lobby Control
please try AdditionalNetworking Eperimental v2.3.3 and see if the binocular problem is fixed
Yes
βοΈ
It's just a compressed file (actually it's still a gift box)
AdditionalNetworking Eperimental v2.3.3
i am looking with great intrigue
Thanks very much, it's working now.
So latejoin isn't working or is that an incompatibility issue?
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
i think this problem may only occur when a large number of players enter or leave the lobby.
Iβve had it happen just from a player leaving and trying to reconnect via late join
But I never have issues if I rehost the lobby, so itβs def just late join is broken
@languid hound Btw does it happen with both Stable and Experimental?
I haven't tested Stable to see if it happens with that version
Maybe it's just Experimental that is broken, I will have to try Stable LobbyControl later when I play
the only change between stable and experimental is how i handle timeouts
and you definitely was not in a timeout situation
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
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
You think it's some conflict with some other mod somewhere?
Maybe Dawnlib or smth perhaps?
as always the errors every frame do not matter they are caused by the first error leaving the game in a broken state
perhaps looking at the IL for this might reveal smth
that error doesn't show any code outside unity sadly. andbi doubt it's a unity bug
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
if you can find ( like you did for PathfindingLib ) the minimum subset of mods and conditions to trigger the error that would help
0199fb63-1cd7-2bac-22bb-8e3d37165c35 I'll post my code, maybe you might find something
https://thunderstore.io/c/lethal-company/p/taffyko/QuickQuitToMenu/ Honestly I might be able to get rid of this, it is quite old and I haven't had someone void in a bit
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? 
Pretty sure the errors happen cus of Suits Terminal but yeah
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
Ah
My error occurred in the stable version.
Have you managed to repro it in a small profile?
I encountered this problem before morecompany was fixed.
I forgot how many mods I installed at that time.
Release a debug version with logs, so that when problems occur, we can locate where the error might be caused based on the logs?
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
Although, I only play this new version with six other players. Up until now, latejoining hadn't given me any trouble.
I haven't encountered this problem since using morecompany.
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.
@languid hound Log from a session where it happened
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
There seems to be no abnormal situation in the logs. Can this problem occur stably in your mod pack?
hope all will be well