Chat log from the meeting on 2024-03-19

From OpenSimulator

Jump to: navigation, search
[11:05] Joe Magarac: Over at SL, they've decided to go with WebRTC for voice. Bye bye Vivox.
[11:05] Joe Magarac: Ubit was at that meeting.
[11:05] Cuga.Rajal :O
[11:06] Vincent.Sylvester Mention of peer to peer makes me worried
[11:06] Vincent.Sylvester Doxxing go brr if they mess it up
[11:06] Joe Magarac: They're not supporting peer to peer voice.
[11:06] Cuga.Rajal So SL will do their own audio streaming?
[11:06] Joe Magarac: Yes. SL audio servers.
[11:06] Vincent.Sylvester Will be fun on our end to come up with a solution
[11:06] Cuga.Rajal I mean for voice?
[11:06] Cuga.Rajal jeez
[11:06] Joe Magarac: Why not, the code is available for free.
[11:07] Joe Magarac: From a viewer dev perspective, this is a big win. No need to support Vivox.
[11:07] Vincent.Sylvester Yeah, but stuffing it into OpenSim as a module... not sure that's going to work well
[11:07] Cuga.Rajal I know many who just use Discord for voice chat while they are in OS
[11:08] Lyr Lobo: Hello! *waves*
[11:08] Cuga.Rajal not really a solution but practical during interim
[11:08] Joe Magarac: Right.
[11:08] Cuga.Rajal Hi Lyr
[11:09] Joe Magarac: I'm looking forward to supporting this. There is a 100% Rust implementatiion.
[11:09] Kayaker Magic: Lyr, we are chatting about LL's decision to switch from vivox to webRTC
[11:10] Joe Magarac: The only trouble is that LL won't document the interface. Someone has to read the LL client code.
[11:10] Joe Magarac: Bleah.
[11:10] Vincent.Sylvester On our end we first need to write a new protocol handler I guess, from there see if this ends up being part of freeswitch, which would mean feature limitations or if there is a webrtc thing we can stuff in there. Though I don't think latency and performance is going to be great when it all runs in OpenSim
[11:11] Vincent.Sylvester What's that like c++? ugh
[11:11] Joe Magarac: Google maintains the code, so it is at least well-exercised.
[11:12] Vincent.Sylvester Ah so is the google webrtc thing... that makes it easier, I was already developing in that direction when Vivox announced closure
[11:12] Vincent.Sylvester One less headache if the viewer end is covered
[11:13] Joe Magarac: There are also Rust and Go implementations and a C# binding.
[11:13] Orbert.Tatham With Vivox, the interface dosn't leak information about the users across to each other, at least nobody ever accused them of such. Does WebRTC have any suck privacy protections?
[11:13] Orbert.Tatham *such
[11:13] Vincent.Sylvester Lyr, tug on Ubit's leash, he seems to still be playing at the park
[11:14] Lyr Lobo: hehe
[11:14] Vincent.Sylvester Supposedly all will run through their ad-hoc proxy whatever that actually means specifically, but that gives me some hope that it will be less doxxy
[11:14] Lyr Lobo: he was not feeling well yesterday
[11:14] Lyr Lobo: will check on him
[11:15] Cuga.Rajal good question Orbert.. that is a common concern that they will need to address
[11:15] Joe Magarac: It's funny. If it was pure peer to peer, it could be end to end encrypted. But you'd know the IP address of the other end.
[11:15] Orbert.Tatham Yes
[11:15] Orbert.Tatham Thank you, Cuga
[11:15] Cuga.Rajal Some won't even ise music streaming because of that issue
[11:15] Joe Magarac: So, anonymity or secrecy, pick one.
[11:16] Orbert.Tatham I had some serioously psychotic stalkers in SL
[11:16] Orbert.Tatham I need the anonymity for personal safety. There is no secrecy there
[11:16] Cuga.Rajal the only IP you should be able to see is the audio server
[11:17] Joe Magarac: That seems to be  the plan for SL.
[11:17] Joe Magarac: WebRTC itself can do peer to peer but that is optional.
[11:17] Vincent.Sylvester That also means it's a bit easier to implement on our end as we have one point all goes through so we just need to hand it off to a webrtc server
[11:18] Joe Magarac: The big advantage of not doing peer to peer is that all the hassles of "NAT punching" go away.
[11:18] Vincent.Sylvester ... yeah well unless everyone and their grandma running their grids from home suddenly want voice too, but eh that's on them
[11:18] Orbert.Tatham SSL connections to the audio server covers a lot of the secrecy issues if you need them
[11:19] Joe Magarac: The operator of the audio server can listen in.
[11:19] Cuga.Rajal SSL quadruples the bandwidth it uses
[11:19] Joe Magarac: If you're running a grid, you have to be able to accept inbound connections anyway.
[11:20] Vincent.Sylvester The operator might regret that knowing what goes on out there
[11:20] Joe Magarac: Not sure how WebRTC does that.
[11:20] Joe Magarac: (was re SSL)
[11:20] Joe Magarac: Still no Ubit.
[11:20] Vincent.Sylvester Yeah I'll have to manually log I guess
[11:21] Joe Magarac: On another subject, LL people said they are looking into replacing Havok. That's a future thing, though. WebRTC voice is underway now.
[11:21] Cuga.Rajal Just curious if anybody using mySQL for OS is using the "secure" connector option instead of legacy
[11:21] Vincent.Sylvester ll running outta money from all the AWS bills now wanting to get rid of license costs
[11:21] Cuga.Rajal oops i did not mean to hit enter on that now lol
[11:22] Vincent.Sylvester Did that end up working?
[11:22] Cuga.Rajal Haven't tried yet
[11:23] Cuga.Rajal I could try now, I just need to find a reddit article on what configs to change
[11:23] Cuga.Rajal nobody raising their hand lol
[11:23] Vincent.Sylvester Meanwhile, no commits this week, not much going on
[11:24] Vincent.Sylvester I decided to just ditch old migrations as it became apparent the actual table changes are just maybe a dozen or so
[11:24] Vincent.Sylvester So really doing a test for each possible version and writing specific migrations was much less work than the numbers initially suggested
[11:24] Vincent.Sylvester Still have to finish that and test it, but it should mean that migrations will be more solid and each step is checked properly
[11:25] Vincent.Sylvester How this will look in future with possible table splits we'll see, but it's not complex to adjust anyways
[11:28] Cuga.Rajal Vincent, would you say that it's safe to install an old Opensim database backup on a new OS build, and have the migrations happen at startup time? (a lot easier than OAR/IAR imports)
[11:29] Kayaker Magic: I've done that.
[11:29] Vincent.Sylvester I won't vouch for anything, but technically the migrations were all just appended, so they should run through, assuming the migrations table still contains the correct version info
[11:30] Vincent.Sylvester It does tend to work, but obviously it's fire and forget so you only know if something didn't work when it blows up, so long as you have backups you can keep trying
[11:30] Cuga.Rajal great.. and probably less risky now that previous years
[11:30] Vincent.Sylvester sql is just text, so if something does break you can adjust the queries
[11:32] Cuga.Rajal I wonder what SL is going to use to replace Havok, and if it is off-the-shelf
[11:33] Joe Magarac: They don't know. They were asking us at simulator user meeting.
[11:33] Joe Magarac: Specifically regarding pathfinding.
[11:33] Orbert.Tatham Hehe
[11:33] Cuga.Rajal Bullet! lol (Ubit not here)
[11:33] Orbert.Tatham That would have been good for a laugh
[11:33] Vincent.Sylvester Idk what's worse, Rider writing code or asking SL users to make technical decisions...
[11:34] Orbert.Tatham How many here have taken a shot at pathfinding only to have their server melt down?
[11:34] Joe Magarac: I have a good NPC system running in SL.
[11:34] Joe Magarac: I actually have a maze solver written in LSL.
[11:34] Orbert.Tatham I wonder what the TPVs would do if they pushed pathfinding off to the viewers?
[11:35] Joe Magarac: SL animesh have no viewer of their own.
[11:35] Cuga.Rajal I have a Roomba Cat in SL that uses pathfinding... It was difficult to reproduce in OS
[11:36] Orbert.Tatham How did you do it?
[11:36] Orbert.Tatham I have the same in SL
[11:36] Orbert.Tatham 'course it went through mesh walls...
[11:36] Lyr Lobo grins
[11:36] Joe Magarac: if you try to run SL pathfinding in SL above zombie speed it breaks.
[11:37] Lyr Lobo: Heinlein... The Cat Who Walked through Walls
[11:37] Cuga.Rajal looking for the LSL... it's not in My Suitcase
[11:37] Vincent.Sylvester If a Minecraft data pack can implement a physics engine I should think you can make LSL do some basic collision avoidance fairly easily
[11:37] Orbert.Tatham Which explains why I lost so many of my pathfinding kittens - they liked to run.....
[11:38] Kayaker Magic: I make my dinosaurs stay inside a parcel so they don't escape.
[11:38] Orbert.Tatham Heinlein had fun with Schroedinger
[11:38] Joe Magarac: It's not easy. It is possible. Here's my code:
[11:38] Vincent.Sylvester Prims, uh.. find a way
[11:38] Kayaker Magic: LOL
[11:38] Cuga.Rajal I will bring my OS-converted roomba cat next time
[11:38] Joe Magarac: Won't work in OS, though. Uses llGetStaticPath for coarse planning.
[11:39] Vincent.Sylvester I just made the NPCs less stupid and added feedback events into them. Not great for performance, but it works
[11:39] Vincent.Sylvester The joys of open source
[11:39] Orbert.Tatham Where's my AR-15 when I need it
[11:40] Vincent.Sylvester Gonna need a bigger gun for that
[11:40] Joe Magarac: I get good performance from NPCs, but it took a year of work.
[11:40] Orbert.Tatham That would have been an easy target
[11:40] Joe Magarac: Visit the docks in Port Babbage and one of my urchins will find ou and say "Allo".
[11:41] Joe Magarac: find you
[11:47] Kayaker Magic: <crickets>
[11:47] Vincent.Sylvester Yummy
[11:48] Vincent.Sylvester Ubit did explore newer versions of dotnet as well last week, with mixed results
[11:48] Vincent.Sylvester Apparently it does work, but 8 has a lot of deprecation notices so a bunch of stuff doesn't run natively on that version
[11:49] Vincent.Sylvester Major things we use for a lot of stuff not being available anymore and no replacements that just drop in
[11:49] Vincent.Sylvester System.Drawing falling away, with no good gdi implementation that doesn't require rewriting all the functions
[11:49] Vincent.Sylvester Even then questionable how well that will with work
[11:50] Vincent.Sylvester dotnet 6 only has LTS for this year... that is unless Microsoft gets enough complaints to figure out maybe gutting a runtime isn't the best option
[11:50] Vincent.Sylvester Sure it's faster, cause there is less in it, duh -.-
[11:51] Orbert.Tatham Welcome to the Micro$haft treadmill - it just gets faster and faster, never a pause to catch up, but it makes THEM money
[11:51] Vincent.Sylvester gdi implementation has bugs and performance problems... solution: Just remove it. Can't have bugs in something that doesn't exist
[11:52] Vincent.Sylvester Hm maybe that's why some people never get headaches huh
[11:53] Lyr Lobo grins
[11:53] Vincent.Sylvester We did look around a bit and there are some limited options for replacing gdi, but whether they have all the required features requires reading through quite a bit of code, since it's not all documented in detail
[11:53] Kayaker Magic: The code is the documentation
[11:54] Vincent.Sylvester With what's going on though that is off into later this year for now, maybe by then things become more clear
[11:54] Vincent.Sylvester Skiasharp I think it is called was one option that looks to also be faster, so dynamic textures might come back a bit quicker, but whether that supports the blending and transforms remains to be seen
[11:55] Vincent.Sylvester It seems the solution otherwise is shipping more precompiled dlls along
[11:55] Vincent.Sylvester At least if older version of runtime is present it just backwards compatible there for now
[11:56] Vincent.Sylvester Until they change their mind about that too
[11:57] Joe Magarac: Gotta go, next meeting. Thanks all!
[11:58] Cuga.Rajal tc Joe
[11:58] Vincent.Sylvester We are at the top of the hour, any other topics for today?
[11:59] Lyr Lobo: Thank you for a great meeting
[12:00] Cuga.Rajal Hope Ubit feels better soon
[12:00] Vincent.Sylvester Just not the same without his rants :)
[12:00] Kayaker Magic: LOL
[12:00] Motoko.Karu ^_^
Personal tools
About This Wiki