#Lobby Control & Matty's Fixes

1 messages ยท Page 6 of 1

naive smelt
#

ye they are in ther

unreal oriole
#

please disable the Db logging in AsyncLoggers

naive smelt
#

on it

unreal oriole
#

or use AsyncLoggers_Experimental but i will push it to release really soon so not really needed

naive smelt
#

yep i can see them now after disabling dbloggin in asyncloggers

#

thank you!

unreal oriole
#

no problem, it's a bug i've already fixed but as the version has some other changes i'm still testing

unreal oriole
#

@fallen talon soo i'm not using vscode but Rider from JetBrains and neither the nuget package nor the dotnet terminal command works fror downloading it ๐Ÿ˜…
thx for the help in advance

fallen talon
#

So that might not be an option

unreal oriole
#

oh... yeah i'd like to keep vanilla comp if possible

fallen talon
#

I have an idea of how to fix it but haven't had time to implement that yet

unreal oriole
#

not really necessary but would be nice if possible

fallen talon
unreal oriole
#

dotnet tool install -g Evaisa.NetcodePatcher.Cli this just returns that no dotnet is present, which i belive is an issue with CMD not using the project dotnet installation probably

#

while nuget says:

unreal oriole
nocturne rock
#

auto correct brother is expierimental still okay to use or should i move to original

unreal oriole
#

at the moment they are aligned

#

i will always keep experimental at least in line with the release branch

fallen talon
unreal oriole
#
netcodeValidator.BindToPreExistingObjectByBehaviour<PlayerNetworking, PlayerControllerB>();
netcodeValidator.BindToPreExistingObjectByBehaviour<ShotgunNetworking, ShotgunItem>();                

it allowed me to do this and not have to create the *Networking objects as it would create them himself ๐Ÿค”

verbal zenith
#

that also would likely break vanilla compatibility

fallen talon
unreal oriole
fallen talon
#

you copy pasted from the readme

unreal oriole
#

yup as is

fallen talon
#

Wat

#

Oh

#

Oh god

#

Is your code on GitHub

#

I see the issue ๐Ÿ˜ญ๐Ÿ˜ญ

#

bestie have you heard of 'SDK-style' projects

unreal oriole
#

i havent pushed this changes to github yet. but yeah the PostBuildTarget has to be rewritten at one point

#

i just retrofitted the one from ShipLobby

fallen talon
#

that's not causing this

#

You're using an old csproj format

#

Well, 'style'

unreal oriole
#

as i said all this files come from ShipLobby origianlly.. i need to take my time and redo the project files

fallen talon
#

Then change the Project line to read

unreal oriole
#

i've had so many issues

fallen talon
#

<Project Sdk="Microsoft.NET.Sdk">

#

You can keep the xmlns attribute if you like

unreal oriole
#

Duplicate 'Compile' items were included
๐Ÿค”

fallen talon
#

They are implicit now

unreal oriole
#

The "ResolvePackageAssets" task was not given a value

#

hahaha so many problems

fallen talon
unreal oriole
fallen talon
#

Convert packages.json to <PackageReference> tags inside an ItemGroup in the csproj

#

Then delete packages.json

unreal oriole
#

i do not have the packages.json

fallen talon
#

Good

#

Delete all the property groups at the top of your csproj

#

Add a single one in their place

unreal oriole
#

nop

fallen talon
#

Set

  • AssemblyName (you know)
  • Product (mod name, can have spaces)
  • Version (whatever)
  • do not set output type
  • set TargetFramework to netstandard2.1
  • set LangVersion latest
fallen talon
unreal oriole
#

do i need to write the netstandard part?

fallen talon
unreal oriole
fallen talon
# unreal oriole

TargetFrameworkVersion specifies a version of '.Net Framework' to use with your project

#

but we want to use Netstandard, not net framework

fallen talon
#

show the project tag real quick?

unreal oriole
#

thanks for the help btw... one day i would have had to do all this, but i was procastinating ๐Ÿ˜…

#
<?xml version="1.0" encoding="utf-8"?>
<Project Sdk="Microsoft.NET.Sdk" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <PropertyGroup>
        <RootNamespace>AdditionalNetworking</RootNamespace>
        <AssemblyName>AdditionalNetworking</AssemblyName>
        <Product>Additional Networking</Product>
        <Version>0.1</Version>
        <TargetFramework>netstandard2.1</TargetFramework>
        <LangVersion>Letest</LangVersion>
    </PropertyGroup>
    <ItemGroup>
        <Content Include="GameDirectory.targets"/>
        <Content Include="PostBuildEvents.targets"/>
    </ItemGroup>
    <ItemGroup>
      <PackageReference Include="System.Runtime" Version="4.3.1" />
    </ItemGroup>
    <ItemGroup>
      <PackageReference Include="TeamBMX.LobbyCompatibility" Version="1.0.1" />
    </ItemGroup>
    <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets"/>
    <Import Project="PostBuildEvents.targets"/>
    <!-- Embedded Debug -->
    <PropertyGroup>
        <DebugSymbols>true</DebugSymbols>
        <DebugType>embedded</DebugType>
        <PathMap>$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)'))=./</PathMap>
    </PropertyGroup>
</Project>
fallen talon
fallen talon
unreal oriole
#

now complains in the AssemblyInfo

fallen talon
#

Delete the whole properties folder

unreal oriole
#

i mean it's my fault for not starting from the template but forking from a decently old mod

unreal oriole
#

now to see if it worked time to dnspy

fallen talon
unreal oriole
#

doesn't seem so ๐Ÿค”

#

Rpcs do not have any netcode attached

fallen talon
unreal oriole
#

dnSpy

fallen talon
#

Did you definitely refresh the caches

unreal oriole
#

i never had the file open in DnSpy till now

fallen talon
#

Is there an _original.dll in your output folder

#

which should be bin/netstandard2.1

unreal oriole
#

nvm was reading from obj

fallen talon
#

:)

unreal oriole
#

yeah the one in bin has the patch

fallen talon
#

obj is intermediate files

#

bin output

#

both should be excluded from version control

unreal oriole
#

yeah they are excluded

#

ok and it correctly used the patched one for the zip file

#

yeah adding the component with AddComponent does not sync it with the NetworkObject ๐Ÿค”

#

i guess i should make somehow static Rpcs and passing the networkObject they refer to as the first parameter ๐Ÿค”

fallen talon
#

Make your own network prefab

#

instantiate it when the session starts

#

and you can use NetworkObjectReference params to refer to other network objects if you need to

unreal oriole
#

yeah that's what i'm doing now i belive ๐Ÿค”

fallen talon
unreal oriole
#

with now i mean now that i'm rewriting

fallen talon
#

Aye

#

When you setup the new prefab, there's a big gotcha

#

which is assigning the globalObjectIdHash on the network object

#

It isn't done for you when you AddComponent at runtime

unreal oriole
#

yeah i do not know how to do that so, once i finish this part i was going to ask how to do it

fallen talon
#

one sec

unreal oriole
#

no i mean even making the prefab itself

fallen talon
fallen talon
#

You can new GameObject at runtime

#

Unity says it's ill advised but Shruge

unreal oriole
#

i do already use the assembly publicizer. made things so easy to reference instead of having to use Reflection

fallen talon
#

basically

  • make a new GameObject (your container) with hide flags 'hide and don't save'; Object.DDOL it; disable it
  • make a new GameObject (your prefab) with a recognisable name, and set its parent transform to the container transform
  • add a network object component to the prefab and set its object id
  • add your behaviour to your prefab
#

I think that's it

unreal oriole
#

when you suggest to do so?

#

like MoreCompany does in [HarmonyPatch(typeof(NetworkSceneManager), "PopulateScenePlacedObjects")] ?

fallen talon
#

I create my prfab in the plugin Awake

#

Register it in GameNetworkManager.Awake, then spawn it at... StartOfRound.Start

#

I think

unreal oriole
#

@fallen talon something like this?

fallen talon
unreal oriole
#

mmk

fallen talon
#

other than that, yeah looks ok

unreal oriole
#

then how do i spawn it in the StartOfRound Start?
i instantiate the prefab as is?

#

also i do acces the components with a static Instance property it should work right?

#

do not mind the comment i have to change it

hexed loom
#

Latest version of lobby control isn't loading. I can provide logs if you need more info.

unreal oriole
#

AsyncLoggers is failing to move the DB and that is cascading to other mods

hexed loom
#

Getting the same error for matty's fixes

unreal oriole
#

user AsyncLoggers Experimental or disable DBLogging till i push it to release

hexed loom
#

Copy that, thank you!

unreal oriole
#

np

hexed loom
#

Experimental seems to be working. No errors in the log and mod is functioning as expected.

unreal oriole
fallen talon
#

with (something) AddPrefab

#

on all clients

unreal oriole
#

๐Ÿค” no way ( even using the publicizer ) to mark the NetworkObject as spawned w/o actually running the Spawn? ( like MoreCompany does for the extra players)

fallen talon
#

the object would not exist on the clients' machines so there would be nothing to receive RPCs

unreal oriole
#

trying vanilla comp ๐Ÿ˜… if not i'll go the prefab way

#

yeah i'm trying to have it as clientOptional

fallen talon
#

imagine you were spawning 1000 of these at the same time

#

how is NetCode supposed to know which instances should represent the same network object across the network

unreal oriole
#

nvm going the perab way... sadly i still cant find how to register the prefab ๐Ÿค”

unreal oriole
#

ok got it with a postfix in NetworkManager :/

#

@fallen talon really thanks for the help and the moral support ๐Ÿ˜‚
now it's all on me and my ability to code decently ๐Ÿ˜…

fallen talon
#

but it's same kinda thing

unreal oriole
fallen talon
#

Aye

unreal oriole
#

ping me if you'll ever find a way to avoid that ๐Ÿ˜…

fallen talon
#

I've an idea for a library that allows registering 'mod-specific' prefabs

#

which would get around it

#

But I don't have time presently

unreal oriole
#

[Netcode] NetworkConfig mismatch. The configuration between the server and client does not match

fallen talon
#

Correct

#

Would you like me to explain why it says that

unreal oriole
#

no i do understand why. and it makes sense

#

it would be nice if i had a way to add my components w/o making prefabs but while i could do it for the ShotgunItem i cannot add it to the Player Object as it does not have a prefab

fallen talon
#

and there is a prefab somewhere, it's just not used all the time

unreal oriole
#

if i do that in the PopulateScenePlacedObjects will it correctly attach the components to the networkObject?

fallen talon
unreal oriole
#

uh? does unity complain if a client receives an Rpc for a non existing component?

fallen talon
#

I think it's breadth first

#

So if you add a network behaviour to the root GameObject, it's possible that you offset the indexes of some of the vanilla behaviours

unreal oriole
#
    public ushort NetworkBehaviourIdCache;

this one?

fallen talon
#

which means that RPCs intended for another behaviour, get received by your behaviour instead

fallen talon
unreal oriole
#

mmm ๐Ÿค”

fallen talon
#

(when playing with a vanilla client)

#

so although it appears to work, it actually fucks a lot of shit up potentially

unreal oriole
#

yeah, just trying to find it in code

#

ik i'm trying to do stuff i'm not supposed to

#

but isn't that 90% of what modding is ๐Ÿคฃ

fallen talon
unreal oriole
#

thanks ๐Ÿ˜ฌ

fallen talon
unreal oriole
#

i'll have to wait for your library then i guess ๐Ÿค”

#

will work as a Everyone mod for now

grim terrace
#

@unreal oriole

Matty Fixes: Error report when trying to read the Pentagram from Scarlet Devil Mansion.
A non-interactive texture used to spawn enemies.

[18:21:54.6282042] [Error :Matty's Fixes] Pentagram crashed! System.InvalidOperationException: Nullable object must have a value.
at System.Nullable1[T].get_Value () [0x00008] in <787acc3c9a4c471ba7d971300105af24>:IL_0008 at MattyFixes.Patches.ItemPatches.CalculateColliderBounds (UnityEngine.GameObject go) [0x00272] in <0546a62864534675ab1f246fbe6d32dd>:IL_0272 at MattyFixes.Patches.ItemPatches.StartPrefix (GrabbableObject __instance) [0x001be] in <0546a62864534675ab1f246fbe6d32dd>:IL_01BE [18:21:54.6493922] [Error :Matty's Fixes] Bomb Failed to mark prefab Mesh Readable! System.ArgumentException: Mesh 'BlueWirePath' index buffer is null at (wrapper managed-to-native) UnityEngine.Mesh.GetIndexBufferImpl(UnityEngine.Mesh) at UnityEngine.Mesh.GetIndexBuffer () [0x00012] in <e27997765c1848b09d8073e5d642717a>:IL_0012 at MattyFixes.Patches.ItemPatches.MakeReadableMeshCopy (UnityEngine.Mesh nonReadableMesh) [0x00088] in <0546a62864534675ab1f246fbe6d32dd>:IL_0088 at MattyFixes.Patches.ItemPatches.MakeMeshReadable (UnityEngine.GameObject go, System.Boolean updateOriginal, System.Collections.Generic.Dictionary2[TKey,TValue] reverseMap) [0x0004b] in <0546a62864534675ab1f246fbe6d32dd>:IL_004B
at MattyFixes.Patches.ItemPatches.StartPrefix (GrabbableObject __instance) [0x00125] in <0546a62864534675ab1f246fbe6d32dd>:IL_0125

#

Lobby Control: Error report, disliked Weather Tweaks. End of round break, unable to pull the lever. Lobby Control v2.3.5/WeatherTweaks 0.4.6

unreal oriole
#

oh wait no pentagram is failing.. let me chec

#

bomb is handled

#

๐Ÿ˜‚ it's an exception while logging another exception... all fine you can ignore it. problem is somewhere else

#

probably on WeatherTweaks

solar monolith
#

another option that should completely avoid adding a new NetworkBehaviour would be to just manually add the messages to the vanilla ones like I did in NutcrackerFixes

#

it's a lot more work than using a code generator though of course

#

it would be cool if those patchers supported generating messages and attaching them to existing behaviors

unreal oriole
#

yeah i'm deciding if it is worth going the full manual way or not ๐Ÿค”

#

on another note @fallen talon any idea why after your changes to the csprj i get this errors compiling?

Error CS7069 : Reference to type 'Label' claims it is defined in 'mscorlib', but it could not be found

fallen talon
unreal oriole
#

but i need the publicized dll for AsyncLoggers ๐Ÿค”

#

or can i publicize a nuget?

fallen talon
#

you can publicize a package reference

#

add that file to your project root (with the .sln)

#

Then remove the BepInEx, harmony references and package reference BepInEx.Core , version 5.4.21

unreal oriole
# fallen talon use nuget package references to reference BepInEx instead of local .dll referenc...

now it's complaining about the AssemblyInfo Attribute and MonoMod crashes on boot ๐Ÿค”

Warning CS0436 : The type 'IgnoresAccessChecksToAttribute' in 'C:\Users\frnmt.nuget\packages\bepinex.assemblypublicizer.msbuild\0.4.1\contentFiles\cs\any\IgnoresAccessChecksToAttribute.cs' conflicts with the imported type 'IgnoresAccessChecksToAttribute' in 'MonoMod.Utils, Version=25.0.3.0, Culture=neutral, PublicKeyToken=null'. Using the type defined in 'C:\Users\frnmt.nuget\packages\bepinex.assemblypublicizer.msbuild\0.4.1\contentFiles\cs\any\IgnoresAccessChecksToAttribute.cs'.

unreal oriole
#

i do not have monomod references

fallen talon
#

show me your whole csproj

unreal oriole
fallen talon
#

Plaintext please

#

I'm on my phone

unreal oriole
fallen talon
#

thanks

unreal oriole
#

hahaha thx for the support

fallen talon
#

Remove the Import line at the top of the csproj

#

I don't think you need the system.runtime reference

#

I don't think you need the ReferencePath thing

#

Don't think you need the PathMap thing either

unreal oriole
#

the refernce was put by rider apparently XD

#

still complaining about the attribute

fallen talon
#

you have References in your post build event file ๐Ÿ˜ญ๐Ÿ˜ญ

#

Move all the references to csproj

unreal oriole
#

nothing changed

fallen talon
#

Correct

#

Send me the new iteration of the csproj, preferably with a .txt extension

#

(mobile OS when magic header: ๐Ÿ™ˆ๐Ÿ™ˆ)

unreal oriole
fallen talon
#

sorry, I thought it was a compile error

unreal oriole
#

it's breaking the boot tho

fallen talon
#

MonoMod crashes on boot?

fallen talon
unreal oriole
#

once i try to load the mod ingame

fallen talon
#

Something is

#

But it's not that lol

unreal oriole
#

hahaha

fallen talon
#

do you have any logs at all

#

or is it a really bad one

unreal oriole
#

i remvoed the other mods so ( about LobbyControl ) only a Parameter __runOriginal does not contain a valid index from Harmony appears ๐Ÿค”

#

once i fix this i'll try and report the monomod error from async

fallen talon
unreal oriole
#

โ“

fallen talon
#

What on earth have you done

unreal oriole
#

yeah from harmony... i'm doing one mod at a time

fallen talon
#

can you ctrl F for __runOriginal in your code

unreal oriole
#

and was working before so ๐Ÿคท

fallen talon
fallen talon
unreal oriole
#

nope a normal bool

fallen talon
#

nvm it doesn't need to be

#

I'm confusion about what you've done lmao

unreal oriole
#

oh well i removed it and it works now... but kinda would like to still have it ( it was a nice redundancy check if another mod was suppressing the call )

fallen talon
#

aye

unreal oriole
#

back to Async... BepInEx is not publicized even with the Nuget.config

fallen talon
unreal oriole
fallen talon
#

like you had on the other references

#

hang on

unreal oriole
#

๐Ÿ˜… ๐Ÿ˜ญ

#

everything is broken

fallen talon
#

I know why it is but is tricky to explain

#

BepInEx.baselib

#

Add that package reference and publicize it

unreal oriole
#

that compiled ๐ŸŽ‰

#

and no monomod errors

#

ok monomod errors come from @brisk sierra MonoMod_Debug_Pattcher ๐Ÿค”

fallen talon
#

Lol

brisk sierra
#

yeah, see the message that I posted #1220288559760805988 message

unreal oriole
#

why did i even had LethalLib in my debug profile... nothing was uisng it ๐Ÿ˜‚

#

problem solved... it was not a problem ๐Ÿ˜…

#

really thanks @fallen talon ๐Ÿ™

#

now i would be happy to remove the Attribute warning but evrything is working so i can just ignore my OCD and leave it be ๐Ÿ˜‚

kindred cove
unreal oriole
devout nacelle
#

Pst

#

what is uh

hidden solstice
#

ah blue wire is sus again

unreal oriole
#

i've got it working using a mixed approach

#

i do create the prefab "GlobalObject" but i do not register it as a NetworkPrefab, instead i add it with a postfix in PopulateScenePlacedObjects

#

this means that if the host has the mod the Object gains a NetworkObjectID otherwise it stays with id 0

#

id 0 is invalid so no broken rpc is sent to a vanilla host. and i keep track on the host side of which clients report having the mod so i do not send Rpcs to clients that do not have it

#

so far it seems to be working as expected ๐Ÿค”

fallen talon
#

Perhaps I can do that for csync as a stopgap

unreal oriole
#

it does throw the "cannot find prefab" error on vanilla clients but they proceed without issues so it seems to be all fine

unreal oriole
#

for the sake of modpack makers and hopefully vanilla speedrunners, i've released:

#

TooManyItems

small mod containing a standalone version of Lobby Control Item Limit remover ( both saved and synced items ) and Matty's Fixes OutOfBoundsFix ( prevent items from falling below ship )

vagrant root
#

first like let's go

kindred cove
#

i'm doing my part ๐Ÿซก

unreal oriole
#

it's not even on r2 yet ๐Ÿ˜‚

vagrant root
unreal oriole
#

also MIT license if anybody ,in a future where i'm not modding anymore, wants to keep it alive

vagrant root
#

@unreal oriole Did you break something?

#

Cus lobbies are being hard capped at 4 right now

#

When a 5th joins they instantly get kicked

#

What have you done sir?

vagrant root
#

@unreal oriole Downgrading Lobby Control to 2.3.5 fixed it

#

Bls fix

vagrant root
#

@unreal oriole I should also state the new update made TwoRadarMaps throw some pretty big stack traces too, I think your new radar patch might have been conflicting with it

solar monolith
#

when does it print those errors and do you have an example log?

vagrant root
solar monolith
#

I do quite a lot of patches to things relating to the radar map, but I didn't recognize what issue LobbyControl is fixing with the recently added patch yet

vagrant root
#

On startup

#

This error under it

#

Idk why 2.3.6 is breaking more than 4 people from joining though that's a big issue too

solar monolith
#

does an error not coincide with that too? seems like there probably would be one

vagrant root
#

I never got one earlier when a 5th person tried to join

#

I looked

#

They would just join and then instantly get dced

solar monolith
#

oh curious

vagrant root
#

It's weird that it's breaking your mod like that though

vagrant root
#

You may be able to see what got brokey

#

XD

solar monolith
#

I touch just about every single function related to radar targets to fix the vanilla bugs with it

vagrant root
#

Haha

#

Yeah and sadly there's no config option to disable the radar patch in Lobby Control rn either for compat

#

@unreal oriole You may wanna add the option to disable Lobby Control's radar fix so it doesn't break TwoRadarMaps

solar monolith
#

I'll take a look first and see if we're duplicating patches here

unreal oriole
#

we might be, i'll add a config swich for it

#

what i do is in PlayerControllerB.SendNewPlayerValuesClientRpc i remove

#

and replace it with

#

@solar monolith ๐Ÿค”

#

about the player count i have not changed anything from the previous Experimental release ( well other than the csprj files, but thoose should not cause this kind of issue )

#

@fallen talon right?

unreal oriole
vagrant root
#

It would just insta kick the 5th player that tried to join

unreal oriole
#

no i need the normal info/debug lines around the time the 5th joined

vagrant root
#

Well I don't have the logs anymore unfortunately v.v

solar monolith
#

mine uses a function I wrote to find the index of the transform, but honestly your solution using the existing function is nicer and I should've thought of doing that lol

#

not sure what the best way to make the second patch that runs fail silently if the other already did it

unreal oriole
#

yeah because i Nop the shit out of the original call
๐Ÿคฃ

solar monolith
#

why not just delete the instructions though?

#

I guess it's a bit more of a pain and doesn't really matter though

unreal oriole
#

i prefer to keep the index values.. i know of some mods that patch using specific instuction numbers instead of iterating ๐Ÿ’€

solar monolith
solar monolith
#

I didn't know that was a thing and I will promptly forget that I heard you say that

#

but yeah, I should definitely make my patch work the way yours does, there's no reason for me not to I think

#

as far as the function called anyway

unreal oriole
#

it took me a while to figure out too.. originally i was iterating over all the radar targets and re-assigning the names based on the components of the transform ( in Matty Fixes ) but that somehow was still not working ๐Ÿค”

solar monolith
#

huh, that's odd

#

also did you figure out why the names become mismatched? it (or one of the causes at least) is a pretty fun one

unreal oriole
#

yeah it's the damned radar boosters

#

(also got flagged by automod for that message ๐Ÿ˜ญ)

#

what a stupid way of ensuring the boosters are at the end of the list

solar monolith
#

I don't think it's so much ensuring they're at the end of the list as it is ensuring that they have a consistent order across clients

#

but yeah it's a bit of a silly mistake

#

I was a bit confused reading your changelog though since I think it mentioned late joining?

unreal oriole
#

yeah the name mismatch only happens if late joining

solar monolith
#

oh no that's not true

unreal oriole
#

as before the first land there is no way to enable a booster ๐Ÿ˜

solar monolith
#

wait huh?

unreal oriole
#

you cannot grab a booster before landing

solar monolith
#

the players' network IDs don't depend on the order in which they join

unreal oriole
#

unless another mod allows it

solar monolith
#

so I'm not sure what landing has to do with it

#

you can repro the issue by just having two players join a lobby in orbit and then spawning a radar booster and activating it

unreal oriole
#

it sorts them based on the GameObject NetworkID that is based on the host ๐Ÿค”

solar monolith
#

can even go to the test map with dev tools to pick it up so you can do it in orbit

unreal oriole
#

and activating it

#

that's the point you cannot in vanilla before landing

#

you cannot even grab it

solar monolith
#

sure, but what does that have to do with late joining? the players can already be in the lobby and it'll do it

#

oh wait you mean because the names don't get replaced I suppose

#

it's odd because I'm pretty sure I saw it happen without joining after the sorting happened, but maybe that was due to some code I had in TwoRadarMaps

unreal oriole
#

the bug happens only if you join a lobby with a radar booster active... that is only possible when late joinig ( or if a mod like GI allows you to pick up the booster before landing )

solar monolith
#

the radar booster doesn't have to be active, it just has to have been activated in the past

unreal oriole
#

instead of "you" is better to say "a player"

solar monolith
#

but yeah

#

in vanilla, I suppose I see what you mean

#

iirc the reason why it happened more often for me was because of another vanilla bug fix, where I would sort the transform list immediately on load to keep the order consistent

#

since otherwise you can switch and it'll keep the same target

#

I had forgotten that part

#

I think what I can do to make it soft fail in TwoRadarMaps is check if there's still an assignment to TransformAndName.name in the function, and if not, I can print nothing if your mod is present and print an error if not

#

and perhaps same on your end?

unreal oriole
#

i mean i just plan on putting a config toggle and allow users to just toggle it off if they have TwoRadarMaps

solar monolith
#

hmm I see

#

I'd rather it require no user input so maybe I'll soft depend so that I can always load after and check that

#

a config option will just lead to more questions from users

#

either "do i leave this option on?", "what does this option do?" or "why am I getting this error in TwoRadarMaps??"

unreal oriole
#

yeah without soft depending there is no way to ensure either of us load before the other ๐Ÿ˜…

solar monolith
#

right, but if we both check the same thing then it's the same effect

#

I'm fine with either solution

#

it's easy enough on my side since I have a lot of utilities for transpilers

#

if I just

  1. soft depend on LobbyControl
  2. check if there is no stfld TransformAndName.name
  3. check if there is a call to ManualCameraRenderer.ChangeNameOfTargetTransform()
    then it should be fine, and I can add checks for any other mods adding a similar patch easily
#

and I'll also know if an update breaks either patch

unreal oriole
#

up to you, i'll add my config toggle anyways

#

the other thing i still need to find how to fix is the spectator boxes and the "Unknown" names :/

solar monolith
#

I've only ever seen Unknown perhaps one time where a player actually successfully joined (not even sure about that instance), idk how that happens

#

didn't you try to make a patch for that already? or was that in the unreleased networking mod?

unreal oriole
#

yeah i did try to wait for steam to respond with the new player name ( NameFix patch in Matty Fixes ) but many people reported that was not working

#

and as i do not know of a reliable way of replicating the issue + only happens in online mode

solar monolith
#

do you know where the "Unknown" string is coming from? I would've expected it to default to the unset name of "Player #[0-9]"

unreal oriole
#

it's quite tricky to debug

solar monolith
#

is it associated with any mods or does it happen on vanilla? it's bizarre that I've never seen it really

unreal oriole
#

it comes from steam api, steam has not received thr player values yet ( as the request is async but zeekers does not wait )

#

so the default strting is "Unknown"

#

i'll send you the code line in a few min

solar monolith
#

the new Friend(ulong).Name getter doesn't wait for a response?

unreal oriole
#

the string itself is in the native code of Facepunch so i had to dig in the documentation to find it ๐Ÿ˜…

solar monolith
#

huh...

#

maybe you could somehow artificially throttle your connection to steam

unreal oriole
#

if steam has the friend in cache it just returns the cache otherwise it send a request and returns "Unknown" until it has a proper value

solar monolith
#

but I suppose it might use some sort of cache for the logged-in player on Steam?

#

oh

#

I see

#

that would make sense why I don't see it then, I never play with randoms lol

#

I wonder, have you sniffed for the packet it sends to request the username? if it's on its own domain, maybe you could just block it in hosts

#

...if that would still let you launch the game lol

unreal oriole
#

the request is a task you can wait for and once it completes in theory the original Frined object has all the values

solar monolith
#

how did you use the task? using Unity's async functionality?

unreal oriole
#

๐Ÿ˜… .

#

i poll it in StartOfRound.LateUpdate ๐Ÿ˜…

#

it's quite the bad system ik

#

but was there as Experimental

#

i'm an idiot.... i'm supposed to .Start the task ( or schedule it as a Corutine ) right?

solar monolith
#

hmmm

#

honestly I'm not experienced with using async, so I'm not sure

#

I think that would make sense, though, I would assume the await keyword would call that itself

#

it is syntactic sugar after all (afaik)

#

I wonder if you can call StartCoroutine(Task) and have it automatically wrap that in an Enumerable

unreal oriole
#

goggling a bit it seems to be ConfigureAwait instead ๐Ÿค”

solar monolith
#

wait, what is that supposed to do in this case?

#

that sounds like it applies when awaiting it, to keep the continuation on the thread that the task was run on? but maybe I'm misreading

#

all this just makes me wish they'd used the promises model instead lol

#

async is cool when you can just propagate the asynchronicity all over the place

unreal oriole
#

somewhere else they said to use

solar monolith
#

hmm

vagrant root
#

@unreal oriole Hopefully you can reproduce the issue where players get insta kicked with more than 4 players

unreal oriole
vagrant root
#

I'm gonna guess you accidentally changed something when you did the new radar patch

vagrant root
#

Or does it have to be online?

unreal oriole
#

lan uses a different system and normally bypasses all checks

solar monolith
#

async is confusing as hell to me

vagrant root
unreal oriole
#

i like to explicitly tell if stuff needs to run on another thread

#

and be able to start/stop the thread/executor myself

solar monolith
#

I just find promises to make much more sense to me

vagrant root
#

For all we know it could be due to 2.3.6 breaking TwoRadarMaps somehow

solar monolith
#

you call a function, it starts running off the main thread, then you can immediately chain some action to run after that function finishes

#

simple

unreal oriole
solar monolith
#

reading the code can be kinda ugly with all the indented chained function calls, but logically it makes sense and as long as you have an event loop you shouldn't end up with all this async virus crap

vagrant root
#

Since both mods are attempting to patch the radar

solar monolith
#

it shouldn't be, that error should be harmless

#

well

#

actually I suppose the patches stop in TwoRadarMaps where that one fails, but I'm not sure how that could cause issues when I don't touch anything related to the lobby size

#

(barring errors when joining on either the host or the client)

vagrant root
#

It could be the method Matty is using is failing to register more than 4 people on the radar, and when a 5th person joins they get kicked due to it

#

I'll have to test if it's fixed later after Matty pushes the update that allows me to disable his radar patch

unreal oriole
#

were you using Exprimental before or stable?

vagrant root
#

2.3.6

unreal oriole
#

oh

#

then i need to check the diff even before

vagrant root
#

I had to roll back to 2.3.5 to fix the issue

#

So you broke something I just dunno what

#

Lol

unreal oriole
#

no i mean before checking the 2.3.6 were you using stable 2.3.5 or Expreimental 3.6.0?

vagrant root
#

Stable 2.3.5

#

I stopped using Experimental after you deprecated it

#

Lol

#

So are you saying the breaking change might have been in Experimental first?

unreal oriole
#

it might but i can't find where

vagrant root
#

Cross check your code differences, there is some code on your github you changed 5 days ago

solar monolith
#

@unreal oriole what about calling directly into Steamworks.SteamFriends.RequestUserInformation() in a coroutine until it returns false, then getting Friend.Name?

vagrant root
solar monolith
#

looks like that's what RequestInfoAsync() does anyway, so it running as a task is pretty much pointless except it makes it harder for you to wait for it

vagrant root
#

But it was changed 5 days ago as well

#

It's most likely something in JoinPatches or LobbyPatcher

solar monolith
#

@vagrant root did you check if the players having trouble joining were getting errors on their ends?

#

I should've asked specifically about that before but I didn't think of it

vagrant root
solar monolith
#

humm

vagrant root
#

Something is broken and doesn't wanna toss an error

solar monolith
#

if it was anything to do with missing radar targets, I wouldn't really expect it to cause the player to disconnect, but it also should print an error if it did

unreal oriole
#

i'd need to see the logs... the only thing i removed from v2.3.5 was actually the code that was casuing the lobbies to be half the size ๐Ÿ˜…

#

but i completly removed all the code about it so it is as it was abck in v 2.1.x

vagrant root
#

#1184362437550555176 message this one

#

Maybe you'll find something

#

But I know it never sent anything in my logs

#

I checked

#

Let me see if loading up in a lobby solo says anything, cus it wouldn't log anything earlier I checked the log literally right after someone joined and got kicked too

#

and nothing was logged

unreal oriole
#

as fas as i can see there is an exception from Weather Tweaks but then the disconnection is because the host closed the game ๐Ÿค”

#
[00:29:30.2103413] [Info   : Unity Log] disconnecting client id: 0
[00:29:30.2103413] [Info   : Unity Log] Host disconnected!
[00:29:30.2103413] [Info   : Unity Log] False
[00:29:30.2103413] [Info   : Unity Log] Host quit! Ending game for client.
vagrant root
#

Is it due to your rename thing?

#

Nice btw

unreal oriole
#

there are so many NREs in your logs... it's incredible you can still play ๐Ÿ˜…

vagrant root
#

Yeah TooManyEmotes breaks when someone rejoins a lobby

#

idk why

unreal oriole
#

i mean in this log the client joins correcntly playes and disconnects once the host disconnects...

vagrant root
#

Flip has been trying to fix it

#

Yeah I ended up disconnecting it

unreal oriole
#

this does not show any of the 5th player failing to join

vagrant root
#

Cus someone kept dcing

#

I told you

#

it doesn't log the 5th

#

Idk why

#

๐Ÿคทโ€โ™€๏ธ

#

Hold on one sec

unreal oriole
#

was this from your pov? no as this seems from Player (3)

vagrant root
#

Yeah that wasn't my pov

#

Like I said I don't have the logs anymore

#

XD

#

I should have saved them but it never logged anything

#

Unless you got 4 people that feel like popping into a lobby rn

#

Gonna be hard to maybe get anything

#

Lmfao

unreal oriole
#

coughDbLoggingcough

vagrant root
#

Well excuse me for disabling it cus it kept leaving partially written files behind on top of the full log

#

Lol

unreal oriole
#

๐Ÿ˜‚ jokes aside, well see

tacit lynx
unreal oriole
#

you can tweak the size ( i agree 100Mb is a bit too much ) and it will only keep two files.. same as the normal LogOutput ๐Ÿค”

#

just a bit more compact and easy to navigate

vagrant root
#

@steady gulch do you still have your player-prev.log? You were the 5th that tried to join that game and you kept getting kicked maybe you have something

unreal oriole
#

was it v49 or v50 btw?

vagrant root
#

v49

unreal oriole
#

double weird

vagrant root
#

Don't break your mods

#

c;

#

XD

unreal oriole
#
if (going to break)
 dont;
vagrant root
#

Skill Issue

vagrant root
#

The errors she got

#

The 2nd one was when kicked

#

So

#

What did you do sir?

#

XD

unreal oriole
#

that feels like a MoreCompany issue tbh

#

and i haven't touched MC at all...

vagrant root
#

Yeah but why is it happening only after the 2.3.6 update?

#

and only with 2.3.6

#

๐Ÿ‘€

tacit lynx
#

I get that second error

#

simply for just leaving a save

#

and I think i've had it for a while and just haven't thought anything of it

vagrant root
#

So maybe Lobby Control made MoreCompany throw an exception and cus Lobby Control supresses them

#

....

#

Gdi Matty

#

XD

unreal oriole
#

nah i suppress only one specific exception in AddPlayerChatMessageClientRpc

vagrant root
#

Hmmmm

unreal oriole
tacit lynx
unreal oriole
vagrant root
#

XD

#

If it does I'mma be like

#

"Matty how?"

unreal oriole
#

i'd be super confused too

solar monolith
#

just pushed out an update for TwoRadarMaps that adds that soft dependency and skips the patch silently if LobbyControl is present

#

that should hopefully allow TwoRadarMaps to fully function alongside LobbyControl again

unreal oriole
#

i'm waiting to locate the player limit problem before pushing mine to stable

solar monolith
#

no worries, the config option shouldn't really be necessary now

#

still good to have it obviously

#

also not sure if you saw this message, but perhaps it could solve your "Unknown" player problem? #1211989201793449994 message

#

it being set up as a task is kinda funny because all the task does is poll that off the main thread

unreal oriole
#

maybe? i've pushed the Task.Run one to Matty Fixes and will wait a bit for reports if it is working or not

solar monolith
#

there's no point in polling it off the main thread if you still have to poll on the main thread lmao

#

how are you setting the name after Task.Run()?

#

i.e. how do you synchronize back to the main thread?

unreal oriole
#

i poll it on the main thread because i do not want to get in a race condition with another player joining and both of them trying to write the same things

#

so i just have it run in the lateUpdate in sync with the rest of the unity calls

solar monolith
#

wait, I'm confused, that's basically what I'm suggesting, but without cutting out the middleman (task thread)

unreal oriole
#

on the main thread i check if the task is completed and if it is then run the code for changing the name

solar monolith
unreal oriole
#

๐Ÿคฃ wow Steam

solar monolith
#

I'd also suggest starting a coroutine on the PlayerControllerB, then you don't have to keep a dictionary and all that boilerplate

#
Enumerable UpdateName(PlayerControllerB player, SteamId steamID)
{
  yield return new WaitUntil(() => !RequestUserInformation(steamID, true));
  drawTheRestOfThePlayerName();
}
#

it looks like on the Steam API side, there actually is a callback, so I'm not sure why Facepunch doesn't use that

#

probably just because it's easier to poll it, which is kinda fair, but it would be nice if it exposed that callback so you could just react to that

#

(if Unity had a way to synchronize to the main thread anyway)

unreal oriole
#

there is indeed an event

solar monolith
#

oh weird

#

I wonder why I can't find that type defined anywhere

unreal oriole
#

because things don't really map from native c to the library XD... as this is not using a type at all

solar monolith
#

the headers are C++, I would've expected to see a typedef or something thonk

unreal oriole
solar monolith
#

oh nice

unreal oriole
#

yeah they just never start the request ๐Ÿ˜‚

#

so they only receive updates for the actual friends you have on steam and not the other players in the lobby

solar monolith
#

oh I see

unreal oriole
#

as we're already in an async context waiting a bit more is not an issue

solar monolith
#

would probably be good to check whether that callback runs on the main thread before using it though, I'm guessing that it doesn't since the Facepunch.Steamworks library doesn't look like it has Unity-specific functionality

#

ah I see

#

fair enough

unreal oriole
#

i'm not going to use the callback and have to try and figure out which player the Friend object blelongs to tbh

solar monolith
#

yeah

#

I wouldn't either really

#

polling it is fine, it'll only run for a short time after a join

unreal oriole
#

should i add some kind of delay between polling?

solar monolith
#

I personally wouldn't unless the function call really takes a while

#

you could profile it to make sure it's quick, but I would imagine it just has to read some thread-shared bool and return it

#

it'll be kinda rough if it is slow, though, because that'll mean that if you poll and wait x seconds and poll again, it'll have a really ugly effect on frametimes

#

I think Zeekers and a lot of modders have a bad habit of thinking that just because they make something run less often it's fine for it to take a while

#

I see my frametime spike to double its normal value periodically way more often than I'd like

#

the way the AI does its calculations once every 200ms for example

unreal oriole
solar monolith
#

just toss it in a manual loop with yield return null and then StopWatch it

#

oh wait

#

I forgot you can't test it waiting

#

in that case I would just leave it as you wrote it and hope for the best lol

#

maybe if you know someone that commonly has that issue though, you could print out an average runtime for the function when it finishes and get that from them

#

anywho though I need to stop rambling so much and get off of here lol

unreal oriole
#

i mean 90% of the cases it is going to return immediatly as all players will have each other as friends... some random latejoining might slightly slow down on join but it will not be called that frequently anyways ๐Ÿค”

solar monolith
#

yeah, hopefully even if it is somehow a long-running function it'll still end the coroutine fairly quickly

#

I'm sure it's fine

unreal oriole
#

i just had a bunch of steam errors while booting and was so worried... turns out i started my debug instance with Steam closed ๐Ÿคฃ

#

[10:54:23.6859710] [Warning:Matty's Fixes] Late Friend update Completed Player 0 (||xxxxxxxxxxxxxxxxx||) has name The__Matty
at least for the localhost it seems to be working w/o any slowdowns

wooden hamlet
#

So was this an issue anyone else is having? #1211989201793449994 message I was holding off on updating to 2.3.6, but I haven't seen anyone else mention anything about that

vagrant root
#

@unreal oriole esperimental build is super brokey

#

So something is fucked with your radar patch for sure

#

Cus I had it disabled

#

and noone could join

#

Good job

#

XD

vagrant root
# vagrant root

Wait @solar monolith I just saw your TwoRadarMaps update go live was this cus of you? XD

solar monolith
#

oh I..guess so

#

it shouldn't patch if you have LobbyControl though thonk

#

that is the error I was fixing though, yeah

#

it didn't stop my friends from joining, though, they just didn't have names

vagrant root
#

So LobbyControl is preventing joins then

#

FFS Matty

timid atlas
#

So I have Lobby Control installed and the fix to prevent multiple players from connecting at once enabled, but some of my friends still end up joining into the black screen, even if they were apparently the only person joining at that time?

#

I was under the impression the join queue is intended to fix that

vagrant root
unreal oriole
# vagrant root

that's not lobby control, it's matty fixes NameFix patch throwing a fit with More Company

vagrant root
#

But still

#

Why with the radar patch disabled do people get insta kicked when trying to join?

#

You majorly broke something with your radar patch

#

fr

unreal oriole
#

no idea why yet tho, i've just woken up and am from mobile in bed ๐Ÿ˜‚๐Ÿ˜…

vagrant root
#

Yeah cus with 2.3.6 at least 4 people could join then the 5th got insta kicked

unreal oriole
#

i need logs for that. still

vagrant root
#

with Experimental and the radar patch disabled

#

insta kick

#

Again it logged nothing

#

What I sent you

#

Is what it logged

#

LOL

#

Something is mad brokey sir.

unreal oriole
#

i need the info lines! not the missing errors ๐Ÿ˜…

vagrant root
#

Well

#

Easy solution

unreal oriole
#

i need to see what went well and check where it stops sending the info lines

vagrant root
#

I add the Experimental build to my pack

#

and you hop on with me

#

XD

#

Cus you should get the logs pretty easily since it'll insta kick you

#

XD

unreal oriole
#

but well, things have to break for me to be able to fix them no? ๐Ÿ˜

vagrant root
#

Yeah this is why you just attempt to join my lobby lol

#

018ec6bb-a46e-2361-cad6-7258dc274f5b

#

XD

unreal oriole
#

let me get out of bed ๐Ÿ™ƒ๐Ÿ˜ด

vagrant root
#

Haha

#

We gonna fix your brokey mod

unreal oriole
vagrant root
#

v49

unreal oriole
#

swapping back

vagrant root
#

Got it

#

Idk why but TooManySuits somehow got disabled

#

๐Ÿค”

#

So reenable that if it's disabled on your end

#

XD

unreal oriole
#

oh sure

#

i'm up

vagrant root
#

Yeah I noticed the suit rack was going brrr

#

Lmfao

unreal oriole
#

do you need to invite me?

vagrant root
#

Nah I have it as friends-only

#

You should be good to just try and join

unreal oriole
#

need to see host logs then.. on client side it just says that the host refused the connection

vagrant root
#

I added LobbyInviteOnly cus I can't seem to ever configure the lobby delay properly and people overlap constantly

#

It doesn't even say you tried to join

#

Hmmmm

#

You reenabled TooManySuits right?

unreal oriole
#

yeah

vagrant root
#

I can't see you online

#

Maybe that's why Steam is declining your connection

unreal oriole
#

what i find wierd is that if RadarPatch is disable it litterally does not touch the code ๐Ÿค”

#

@solar monolith can you confirm this would not do anything if the config is false ๐Ÿค”

solar monolith
#

yeah that should do it

unreal oriole
#

it was like this already tho

vagrant root
#

I'm gonna guess the issue with people getting kicked earlier

#

was a mix of MattyFixes Name Patch and the NRE from TwoRadarMaps

#

5th player issue though still unsure about

#

But the person who got kicked instantly when they tried to join as the only person was @tidal shadow

unreal oriole
#

i'm moving the Queue code from Postfixes to Finalizers so even if another mod breaks the Rpc i'm waiting for Lobby Control should still be able to detect it has run and not kick players ๐Ÿค”

rich trail
#

I had some funky stuff going on when opening the lobby for the new fifth player when the other fifth left, every other person joining kicked another one beevil

unreal oriole
#

zeekers put code to prevent backfilling

rich trail
#

thanks zeekeers

unreal oriole
#

so i'll have to patch it once v50 releases

vagrant root
#

The code is actually useful

#

Because if someone joins when the ship is landing it closes out the lobby

#

Rather than getting all the networking issues and desyncs

#

I found that out when someone joined once after I pulled the lever

#

then when it landed

#

the Lobby closed

#

sent us all back to main menu

unreal oriole
#

it's not the join while landing fix tho.. this is littrally about players in orbit even before starting the game

vagrant root
#

Yeah I get you

rich trail
#

also correct me if I'm wrong but is it lobby control that's making desynced players drop their inventory?

unreal oriole
#

yes

#

thats the force_drop config

rich trail
#

ty

vagrant root
#

@unreal oriole fix for shovels turning invisible when?

rich trail
#

an eyeless dog killed my friend cause of this oncegreed

unreal oriole
#

it's better on as it prevents worse issues tbh but you can disable it and the bugged player will not be able to pick up anything untill you type lobby forcedrop in the terminal ( or he relogs )

vagrant root
#

It's always weird seeing someone randomly holding an invisible shovel, or worse they have nothing in their hand and you just hear the sound of the shovel

rich trail
unreal oriole
vagrant root
#

would sync on use fix the invisible shovel thing?

#

Or no?

unreal oriole
#

showels do not use the use rpc sadly so not

vagrant root
unreal oriole
#

the new AdditionalNetworking in theory will fix any desync issues

#

but it is highly experimental atm... still would love feedback on it ๐Ÿ˜‚

unreal oriole
solar monolith
vagrant root
solar monolith
#

weird, wish I knew how it did that with no errors being logged

#

very bizarre

unreal oriole
#

MattyFixes namefix stuff was failing to create corutines on the playerobject because MoreCompany disables them btw @solar monolith ๐Ÿคฆ , i had to create the corutines on the StartOfRound instead

solar monolith
#

it wat

#

why

#

how

vagrant root
#

I think the Name Fix in MattyFixes caused the dc when TwoRadarMaps threw the NRE earlier

#

cus you said it would cause names to not work

unreal oriole
#

it's the same issue as the wall player bug... MoreCompany for "performance" reasons sets the playerobjects to Inactive

solar monolith
#

well it causes the patch in TwoRadarMaps not to work, but it shouldn't prevent Matty's mods from working

vagrant root
#

Idek anymore

#

it could have been that cus the code was throwing a NRE some patch in Matty's mods kicked the player

solar monolith
unreal oriole
#

apparently no. they activate the object way later

solar monolith
#

wowee

#

that's some interesting behavior indeed

#

I guess it doesn't really matter where the coroutine runs though

#

any idea what happens if a player joins, DCs and then is immediately replaced by another before the first name request finishes?

#

will the name be guaranteed to be correct?

unreal oriole
#

the second corutine should be scheduled and complete after the first ๐Ÿค”

#

maybe i shuld cancel the corutine if user DCs

solar monolith
#

yeah, if the second is cached it presumably completes first

unreal oriole
#

not a pressing matter but i will make sure to handle it in the next iteration

unreal oriole
#

there you go ๐Ÿ˜„

vagrant root
#

Okay what did you change?

vagrant root
#

Ahhh

unreal oriole
#

Lunxara would you mind testing the Networking mod too today?

vagrant root
unreal oriole
#

oh i never posted it here

#

it's the mod i was having lordfire helping set up

#

it even allows people to not desync while having this settings from GI

#

set to different values from each other

kindred cove
#

let's gooo ๐Ÿ”ฅ

#

another matty W

unreal oriole
#

it is in higly experimental state tbh... i'm 70% sure it will break somehow XD

unreal oriole
versed bramble
vagrant root
#

Matty's mods already breaking my game

#

Matty: "Break it more!!!"

#

XD

unreal oriole
#

normally you can't as the position of items in the inventory is only guessed by the clients so, having the values not aligned will 100% cause desyncs

vagrant root
#

I'll see if it works okay though

unreal oriole
vagrant root
#

At least if it breaks you'll hopefully be there to catch the error

versed bramble
#

I mean I never got it to work even for myself

#

It would just place the item in my held slot instead

#

Maybe an incompatibilty with Hotbar Plus

unreal oriole
vagrant root
#

It's already almost <t:1712773800:t> XD

unreal oriole
#

shh...

#

i forgot i need to account for my timezone in the site i use to get timestamps

vagrant root
#

It's all good lol

vagrant root
unreal oriole
#

yeah shotguns have a specific rpc for ammo and safety

vagrant root
#

If anything I just dislike how cracked Nutcrackers are sometimes cus of NutcrackerFixes lol

#

Yesterday I had a Nutcracker shoot 3 times before reloading

#

XD

unreal oriole
#

tho opposite of NutcrackerFixes, which is server-authoritative, this is owner-authoritative. meaning a potential cheating client could spoof infinite ammo ๐Ÿ˜…

vagrant root
#

Lol

unreal oriole
#

but i mean, cheating is a whole other topic. and i do not plan on making any anti-cheat mod for a while ๐Ÿ™ƒ

unreal oriole
vagrant root
#

Pls no

#

Nutcrackers would be death

unreal oriole
#

also no delay between shots like the turrets

#

jk obiuvsly.

kindred cove
#

please do

vagrant root
#

With how cracked the Nutcracker already is in V50 mrov?

#

mrov wants to die

#

XD

vagrant root
unreal oriole
#

nope

#

if AdditionalNetworking works as intended noone of LobbyControls InventorySync patches should trigger

unreal oriole
vagrant root
#

The nutcracker's ai can't even properly react to this

unreal oriole
#

i can crank it up even more ๐Ÿ˜

#

sadly nvidia does not record audio for some reason ๐Ÿคท

#

yeah no that's as fast as they can shoot

analog eagle
solar monolith
#

it doesn't do anything with ammo until someone picks it up

polar briar
#

So is the fifth player joining issue fixed on the current versions of MattysFixes and Lobby Control?

unreal oriole
#

we've not been able to reproduce it yet so,it's unknown if it is even an issue or not

vagrant root
#

XD

#

He seems to not be sure why it happened

#

But it did, and it was bad.

#

I since made the decision to remove it and go back to BadAssCompany

#

I'll have to link you the part of the vod later where it happened

vagrant root
#

@unreal oriole weird bug

#

But it seems enemies like Coils can't target other players when outside, any idea what might cause that?

humble mural
#

invisible shovel is not a mod problem??

#

cuz sometimes my shovel is invisible

#

and i cant use it

#

until i drop it and randomly shows up a few seconds later

vast estuary
#

sup, isnt this mod supposed to fix the "spawn in a wall" issue when players join at the same time ? because i had it with friends, with this mod enabled

unreal oriole
#

it has some code to mitigate it, but we've never been able to fully fix it as it's not a bug from the game itself but comes from MoreCompany

#

Lobby Control JoinQueue system is the one responsible to ensure only one player at a time can join. but depending on the ping and hardware of the connecting client they might not complete the connection in time before another player is allowed to join.

#

try increase the connection_delay_ms value until you find a good value

#

too high values will have your players wait a lot in the loading screen

vast estuary
#

i'll try to do that, thanks

earnest plank
#

lobby control was causing people to not hear each other talking and making people invisible I disabled it

ocean cape
#

I've also had an issue where I couldn't hear another player (others in the game could hear that player). I didn't check to see if it was Lobby Control causing it, though.

earnest plank
#

Yes @unreal oriole Lobby Control is causing major error

earnest plank
unreal oriole
#

if you don't have a log for me to debug i can't do much, but me and many others have been playing without any issues using Lobby Control so i actually doubt it's caused by the mod

#

i will still try to find the issue but you need to give me something to start with

#

@vagrant root i rememebr you had something similar happen a long time ago, but was caused by the SCP mod and dying again from the SCP fixed it ๐Ÿค”

vagrant root
valid prawn
#

i seem to be only be able to reload one shell in the shotgun

vagrant root
valid prawn
#

I get this in the log

vagrant root
#

Pretty sure that's related to LGU is it not?

#

๐Ÿ˜‚

unreal oriole
#

yeah thoose are bugs from their side. there would be no errrors of people just marked the meshes are readable in editior ๐Ÿ˜‚

vagrant root
#

Btw @solar monolith TwoRadarMaps seems to throw this if you disconnect and rejoin a lobby

unreal oriole
#

line below that should say Bomb added to broken meshes

unreal oriole
#

i mean even base game should do it ๐Ÿ˜‚
i'm just using a "hack" to read an unreadable mesh and create a new readable one to replace the first...
but it does not work everywhere

solar monolith
vagrant root
#

lol

solar monolith
#

yeah.... that is probably not my problem then lol

#

I can't do anything about it if Terminal.Start() never finishes

vagrant root
#

and true

solar monolith
#

it didn't like the fact that the entire game was broken in fact

vagrant root
#

Haha

#

Why does the game break a lot when you rejoin a lobby anyways?

solar monolith
#

could be any number of things

#

some value lingering from a previous game most likely

vagrant root
#

Probably

vagrant root
#

@unreal oriole So what all did you fix with AdditionalNetworking? lol

unreal oriole
#

problems with reserved items, and added boombox track sync ๐Ÿ˜

empty nest
vagrant root
empty nest
#

Okay.

#

How?

#

Because I wasn't around when the bomb was made.

vagrant root
#

@unreal oriole tell this man how to fix

#

c;

empty nest
#

So I have no idea what to change.

vagrant root
#

Yeah I'm sure Matty could tell you what needs changed

unreal oriole
#

well i do not really know how the editor works.. i know that you need to mark the mesh as readable ๐Ÿค” should be a tickbox somewhere in the mesh editor

empty nest
#

And is it just the blue wire thing?

#

Or the whole thing?

#

Or the blue wire is just the first thing it finds?

unreal oriole
#

if you do the whole thing my mod will be able to avoid touching it

#

i only knwo it fails on the blue wire but other things after the blue wire might break too

empty nest
#

Oki, will look at the whole thing

unreal oriole
empty nest
#

Don't even know why it's not readable.

vagrant root
empty nest
#

So this thing over here?

unreal oriole
#

yeah

#

should be that

empty nest
#

And it's only the bomb or you can't tell?

unreal oriole
#

pentagram too but that's not yours right?

empty nest
#

Pentagram is.

#

Because exorcism contract things

unreal oriole
empty nest
#

Yeah, that's what I am doing right now.

unreal oriole
#

if any of the items are metallic ( can get lighting ) that will also fix the particles

#

and the zero surface area spam when they are targeted

empty nest
#

Okay, I think got all of them if not most.

#

Gonna have dinner soon so I don't know if you wanna test it or if you can wait til I come back.

vagrant root
#

You fixed it

#

c;

#

So time for you to push it to Thunderstore when you get back it seems

unreal oriole
#

as i was saying it's such a simple fix on their ( modders/zeekers ) side. while it's super complicated on mine

vagrant root
#

@solar monolith Got some good news, TwoRadarMaps no longer throws that error after the new update WhiteSpike pushed for LGU, so I guess it was a bug from LGU lol

vagrant root
#

@unreal oriole so can confirm it was TwoRadarMaps that prevented a 5th player from joining before, using 2.3.6 rn with the latest version of TwoRadarMaps and we got a group of 5 with no issues

#

@solar monolith so I guess the radar patches just hated each other before you fixed compat XD

solar monolith
#

weird

unreal oriole
#

just for the sake of the records:
All my mods work in v50

#

in the next few days i'll post a new version of LobbyControl as there is now a better way to handle the Transparent Player

devout nacelle
#

@unreal oriole

#

pst

tacit lynx
#

it's LethalMatt's

devout nacelle
#

ooooooooooh

tacit lynx
#

ty discord

devout nacelle
#

wrong matt

#

yea they are vandalizing the doc :(

tacit lynx
#

rip

#

can always revert to a previous version

hallow lantern
#

I have been summoned

tacit lynx
#

vandalism of your doc is happening a bit methinks

hallow lantern
#

Moderating the doc has been nightmarish, the doc has taken on a life of its own

tacit lynx
#

Unluck

timid atlas
#

Hey there, I had an issue occur while playing with Lobby Control (among other mods) enabled on v50. I'm not positive that it's actually caused by Lobby Control (I'm thinking it was actually TooManyEmotes, but I disabled four mods, those being TooManyEmotes, TooManyEmotes Scrap, Lobby Control, and Matty_Fixes), but it was among the mods I disabled and never ran into the issue again. Info on the issue is here, to avoid repeating it: #1184362437550555176 message

#

In my uneducated opinion given the nature of the warnings being spammed it was most likely TME's doing but I just wanted to drop it in here just in case

hallow lantern
#

What kind of vandalism

#

Just did a glance over and things are fine for the most part

tacit lynx
#

Had 2 cases one just completely deleted everything, other was just more mild

timid atlas
tacit lynx
#

Both were reverted to a previous version

hallow lantern
#

Someone keeps marking my unreleased mod as working which is hilarious

timid atlas
#

Saw some instances of people replacing mod names with nonsense

tacit lynx
#

love to see the double CelestialTint

hallow lantern
#

It is at this point

#

If the document implodes

#

I am no longer responsible

tacit lynx
#

I mean there's always the option of just locking it and having some select people edit it or something ig

#

At the point where the bulk of mods are probably on there and most work (but that's also a reason to just let it implode)

hallow lantern
#

V50 doesn't change a whole awful lot that most mods work so I'm fine continuing to let the community freely edit it

#

Kinda amazing it has lasted this long tbh

tacit lynx
#

Version history and revert function does wonders

unreal oriole
#

in this specific instance it definitely seems to be caused by TooManyEmotes while stopping an emote

vagrant root
#

๐Ÿ˜›

unreal oriole
#

dropped v49 support