Raphiiko / oyasumivr_oscquery

Limited OSCQuery implementation in Rust for use with VRChat, for OyasumiVR.
MIT License
14 stars 0 forks source link

Localhost interface is being ignored/No Address #2

Closed C0D3-M4513R closed 1 week ago

C0D3-M4513R commented 3 months ago

I've tried adding this crate to https://github.com/C0D3-M4513R/DexProtectOscRS/tree/dev?tab=readme-ov-file (dev builds can be found via Github Actions). I'm currently developing this on Linux(/NixOs) via Proton GE8.28. I am ofc running the app inside the Proton environment (port bindings from inside proton are only visible inside proton). VRC is open and has osc enabled.

The oyasumivr_oscquery::client::init() function succeeds, but for the oyasumivr_oscquery::client::get_vrchat_oscquery_address() I get nothing. Please note that I do not have any delay between calling init() and the get_vrchat_oscquery_address()

Code:

    if osc_create_data.use_oscquery{
        if let Err(err) = oyasumivr_oscquery::client::init().await {
            match err{
                Error::IO(err) => return Err(err),
                Error::LocalIpUnavailable(err) => return Err(std::io::Error::other(err)),
                Error::InitError(err) => match err{
                    OSCQueryInitError::AlreadyInitialized => {
                        log::error!("oscquery failed with: Already Initialized");
                        return Err(std::io::Error::other("AlreadyInizialized"))
                    },
                    OSCQueryInitError::OSCQueryinitFailed => {
                        log::error!("oscquery failed with: OSCQueryInitializationFailed");
                        return Err(std::io::Error::other("OSCQueryInitializationFailed"))
                    },
                    OSCQueryInitError::MDNSDaemonInitFailed(err) => {
                        log::error!("oscquery failed with: MDNSDaemonInitFailed({})", err);
                        return Err(std::io::Error::other(err))
                    },
                    OSCQueryInitError::NotYetInitialized => {
                        log::error!("oscquery failed with: NotYetInitialized");
                        return Err(std::io::Error::other("NotYetInitialized"))
                    },
                }
                Error::IPV4Unavailable() => return Err(std::io::Error::from(std::io::ErrorKind::AddrNotAvailable)),
            }
        }
        tokio::time::sleep(Duration::from_secs(10)).await;
        if let Some((host, port)) = oyasumivr_oscquery::client::get_vrchat_oscquery_address().await {
            send_port = port;
            ip = IpAddr::from_str(host.as_str()).map_err(|err|std::io::Error::other(err))?;
        }else{
            log::error!("oscquery didn't find address");
            return Err(std::io::Error::from(std::io::ErrorKind::NotFound))
        }
    } else {
        ip = osc_create_data.ip;
        send_port = osc_create_data.send_port;
    }
    log::info!("Trying to connect to OSC on '{ip}:{port}'");
Logs:

``` 2024-06-24T00:32:13.959839Z  INFO dex_protect_osc_rs: Logger initialized at app\src/main.rs:39 2024-06-24T00:32:13.966597Z  INFO dex_protect_osc_rs: Tokio Runtime initialized at app\src/main.rs:42 2024-06-24T00:32:13.967147Z DEBUG eframe: Using the glow renderer at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\eframe-0.27.2\src\lib.rs:261 2024-06-24T00:32:14.010565Z DEBUG eframe::native::glow_integration: Event::Resumed at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\eframe-0.27.2\src\native\glow_integration.rs:419 2024-06-24T00:32:14.012779Z DEBUG eframe::native::file_storage: Loading app state from "C:\\users\\steamuser\\AppData\\Roaming\\DexProtectOSC-RS\\data\\app.ron"… at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\eframe-0.27.2\src\native\file_storage.rs:47 2024-06-24T00:32:14.014180Z DEBUG eframe::native::glow_integration: trying to create glutin Display with config: ConfigTemplateBuilder { template: ConfigTemplate { color_buffer_type: Rgb { r_size: 8, g_size: 8, b_size: 8 }, alpha_size: 8, depth_size: 0, stencil_size: 0, num_samples: None, min_swap_interval: None, max_swap_interval: None, config_surface_types: ConfigSurfaceTypes(WINDOW), api: None, transparency: false, single_buffering: false, stereoscopy: None, float_pixels: false, max_pbuffer_width: None, hardware_accelerated: None, max_pbuffer_height: None, native_window: None } } at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\eframe-0.27.2\src\native\glow_integration.rs:906 2024-06-24T00:32:14.124347Z DEBUG eframe::native::glow_integration: using the first config from config picker closure. config: Wgl(Config { inner: Config { hdc: 520159306, pixel_format_index: 1 } }) at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\eframe-0.27.2\src\native\glow_integration.rs:929 2024-06-24T00:32:14.126044Z DEBUG eframe::native::glow_integration: successfully created GL Display with version: WGL and supported features: DisplayFeatures(CONTEXT_NO_ERROR | FLOAT_PIXEL_FORMAT | SWAP_CONTROL | MULTISAMPLING_PIXEL_FORMATS | SRGB_FRAMEBUFFERS) at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\eframe-0.27.2\src\native\glow_integration.rs:942 2024-06-24T00:32:14.126698Z DEBUG eframe::native::glow_integration: creating gl context using raw window handle: Some(Win32(Win32WindowHandle { hwnd: 0x50182, hinstance: 0x140000000 })) at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\eframe-0.27.2\src\native\glow_integration.rs:951 2024-06-24T00:32:14.127949Z DEBUG eframe::native::glow_integration: Initializing egui_winit for viewport "FFFF" at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\eframe-0.27.2\src\native\glow_integration.rs:1087 2024-06-24T00:32:14.128328Z DEBUG eframe::native::glow_integration: Creating a gl_surface for viewport "FFFF" at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\eframe-0.27.2\src\native\glow_integration.rs:1098 2024-06-24T00:32:14.173684Z DEBUG egui_glow::painter:  opengl version: 4.6 (Core Profile) Mesa 24.0.7 opengl renderer: AMD Radeon RX 6800 (radeonsi, navi21, LLVM 17.0.6, DRM 3.54, 6.6.31-rt31) opengl vendor: AMD at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\egui_glow-0.27.2\src\painter.rs:150 2024-06-24T00:32:14.174107Z DEBUG egui_glow::shader_version: Shader version: Gl140 ("4.60"). at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\egui_glow-0.27.2\src\shader_version.rs:27 2024-06-24T00:32:14.174282Z DEBUG egui_glow::painter: Shader header: "#version 140\n". at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\egui_glow-0.27.2\src\painter.rs:166 2024-06-24T00:32:14.174490Z DEBUG egui_glow::painter: SRGB texture Support: true at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\egui_glow-0.27.2\src\painter.rs:175 2024-06-24T00:32:14.174950Z DEBUG egui_glow::painter: SRGB framebuffer Support: true at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\egui_glow-0.27.2\src\painter.rs:182 2024-06-24T00:32:14.197004Z DEBUG egui_glow::vao: GL version: "4.6 (Core Profile) Mesa 24.0.7". at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\egui_glow-0.27.2\src\vao.rs:122 2024-06-24T00:32:14.199497Z  INFO dex_protect_osc_rs::app: You are running a release build. Some log statements were disabled. at app\src\app.rs:124 2024-06-24T00:32:14.238486Z DEBUG mdns_sd::service_daemon: new socket bind to [::]:5353 at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:748 2024-06-24T00:32:14.245944Z DEBUG mdns_sd::service_daemon: new socket bind to [::]:5353 at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:748 2024-06-24T00:32:14.252075Z DEBUG mdns_sd::service_daemon: new socket bind to [::]:5353 at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:748 2024-06-24T00:32:14.257001Z DEBUG mdns_sd::service_daemon: new socket bind to [::]:5353 at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:748 2024-06-24T00:32:14.264630Z DEBUG mdns_sd::service_daemon: new socket bind to 0.0.0.0:5353 at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:748 2024-06-24T00:32:14.277043Z DEBUG mdns_sd::service_daemon: event received with key 18446744073709551614 at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:431 2024-06-24T00:32:14.277639Z DEBUG mdns_sd::service_daemon: signal socket recvd: Command Browse at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:1865 2024-06-24T00:32:14.277910Z DEBUG mdns_sd::service_daemon: Sending multicast query for _osc._udp.local. at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:1376 2024-06-24T00:32:14.278233Z DEBUG mdns_sd::service_daemon: Broadcasting query: 1 questions 0 answers 0 authorities 0 additional at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2211 2024-06-24T00:32:14.278658Z DEBUG mdns_sd::service_daemon: sent out 33 bytes on interface Interface { name: "{00000002-0000-0000-0000-4E6574446576}", addr: V6(Ifv6Addr { ip: fdb8:15e7:c493:0:2800:58c8:6dfe:1dfa, netmask: ::, broadcast: None }), index: None } at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2247 2024-06-24T00:32:14.279037Z DEBUG mdns_sd::service_daemon: Broadcasting query: 1 questions 0 answers 0 authorities 0 additional at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2211 2024-06-24T00:32:14.279443Z DEBUG mdns_sd::service_daemon: sent out 33 bytes on interface Interface { name: "{00000002-0000-0000-0000-4E6574446576}", addr: V4(Ifv4Addr { ip: 192.168.1.3, netmask: 255.255.255.0, broadcast: Some(192.168.1.255) }), index: Some(2) } at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2247 2024-06-24T00:32:14.279715Z DEBUG mdns_sd::service_daemon: Sending multicast query for _oscjson._tcp.local. at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:1376 2024-06-24T00:32:14.279995Z DEBUG mdns_sd::service_daemon: Broadcasting query: 1 questions 0 answers 0 authorities 0 additional at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2211 2024-06-24T00:32:14.280268Z DEBUG mdns_sd::service_daemon: sent out 37 bytes on interface Interface { name: "{00000002-0000-0000-0000-4E6574446576}", addr: V6(Ifv6Addr { ip: fdb8:15e7:c493:0:2800:58c8:6dfe:1dfa, netmask: ::, broadcast: None }), index: None } at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2247 2024-06-24T00:32:14.281619Z DEBUG mdns_sd::service_daemon: Broadcasting query: 1 questions 0 answers 0 authorities 0 additional at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2211 2024-06-24T00:32:14.282570Z DEBUG mdns_sd::service_daemon: sent out 37 bytes on interface Interface { name: "{00000002-0000-0000-0000-4E6574446576}", addr: V4(Ifv4Addr { ip: 192.168.1.3, netmask: 255.255.255.0, broadcast: Some(192.168.1.255) }), index: Some(2) } at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2247 2024-06-24T00:32:14.284428Z DEBUG mdns_sd::service_daemon: event received with key 18446744073709551614 at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:431 2024-06-24T00:32:14.284668Z DEBUG mdns_sd::service_daemon: signal socket recvd: Command Browse at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:1865 2024-06-24T00:32:15.279140Z DEBUG mdns_sd::service_daemon: Sending multicast query for _osc._udp.local. at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:1376 2024-06-24T00:32:15.279511Z DEBUG mdns_sd::service_daemon: Broadcasting query: 1 questions 0 answers 0 authorities 0 additional at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2211 2024-06-24T00:32:15.280578Z DEBUG mdns_sd::service_daemon: sent out 33 bytes on interface Interface { name: "{00000002-0000-0000-0000-4E6574446576}", addr: V6(Ifv6Addr { ip: fdb8:15e7:c493:0:2800:58c8:6dfe:1dfa, netmask: ::, broadcast: None }), index: None } at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2247 2024-06-24T00:32:15.280965Z DEBUG mdns_sd::service_daemon: Broadcasting query: 1 questions 0 answers 0 authorities 0 additional at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2211 2024-06-24T00:32:15.281211Z DEBUG mdns_sd::service_daemon: sent out 33 bytes on interface Interface { name: "{00000002-0000-0000-0000-4E6574446576}", addr: V4(Ifv4Addr { ip: 192.168.1.3, netmask: 255.255.255.0, broadcast: Some(192.168.1.255) }), index: Some(2) } at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2247 2024-06-24T00:32:15.282512Z DEBUG mdns_sd::service_daemon: Sending multicast query for _oscjson._tcp.local. at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:1376 2024-06-24T00:32:15.282906Z DEBUG mdns_sd::service_daemon: Broadcasting query: 1 questions 0 answers 0 authorities 0 additional at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2211 2024-06-24T00:32:15.283172Z DEBUG mdns_sd::service_daemon: sent out 37 bytes on interface Interface { name: "{00000002-0000-0000-0000-4E6574446576}", addr: V6(Ifv6Addr { ip: fdb8:15e7:c493:0:2800:58c8:6dfe:1dfa, netmask: ::, broadcast: None }), index: None } at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2247 2024-06-24T00:32:15.283441Z DEBUG mdns_sd::service_daemon: Broadcasting query: 1 questions 0 answers 0 authorities 0 additional at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2211 2024-06-24T00:32:15.283700Z DEBUG mdns_sd::service_daemon: sent out 37 bytes on interface Interface { name: "{00000002-0000-0000-0000-4E6574446576}", addr: V4(Ifv4Addr { ip: 192.168.1.3, netmask: 255.255.255.0, broadcast: Some(192.168.1.255) }), index: Some(2) } at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2247 2024-06-24T00:32:17.282005Z DEBUG mdns_sd::service_daemon: Sending multicast query for _osc._udp.local. at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:1376 2024-06-24T00:32:17.282334Z DEBUG mdns_sd::service_daemon: Broadcasting query: 1 questions 0 answers 0 authorities 0 additional at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2211 2024-06-24T00:32:17.282657Z DEBUG mdns_sd::service_daemon: sent out 33 bytes on interface Interface { name: "{00000002-0000-0000-0000-4E6574446576}", addr: V6(Ifv6Addr { ip: fdb8:15e7:c493:0:2800:58c8:6dfe:1dfa, netmask: ::, broadcast: None }), index: None } at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2247 2024-06-24T00:32:17.283985Z DEBUG mdns_sd::service_daemon: Broadcasting query: 1 questions 0 answers 0 authorities 0 additional at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2211 2024-06-24T00:32:17.284883Z DEBUG mdns_sd::service_daemon: sent out 33 bytes on interface Interface { name: "{00000002-0000-0000-0000-4E6574446576}", addr: V4(Ifv4Addr { ip: 192.168.1.3, netmask: 255.255.255.0, broadcast: Some(192.168.1.255) }), index: Some(2) } at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2247 2024-06-24T00:32:17.286384Z DEBUG mdns_sd::service_daemon: Sending multicast query for _oscjson._tcp.local. at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:1376 2024-06-24T00:32:17.286741Z DEBUG mdns_sd::service_daemon: Broadcasting query: 1 questions 0 answers 0 authorities 0 additional at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2211 2024-06-24T00:32:17.287274Z DEBUG mdns_sd::service_daemon: sent out 37 bytes on interface Interface { name: "{00000002-0000-0000-0000-4E6574446576}", addr: V6(Ifv6Addr { ip: fdb8:15e7:c493:0:2800:58c8:6dfe:1dfa, netmask: ::, broadcast: None }), index: None } at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2247 2024-06-24T00:32:17.287691Z DEBUG mdns_sd::service_daemon: Broadcasting query: 1 questions 0 answers 0 authorities 0 additional at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2211 2024-06-24T00:32:17.288110Z DEBUG mdns_sd::service_daemon: sent out 37 bytes on interface Interface { name: "{00000002-0000-0000-0000-4E6574446576}", addr: V4(Ifv4Addr { ip: 192.168.1.3, netmask: 255.255.255.0, broadcast: Some(192.168.1.255) }), index: Some(2) } at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2247 2024-06-24T00:32:21.285747Z DEBUG mdns_sd::service_daemon: Sending multicast query for _osc._udp.local. at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:1376 2024-06-24T00:32:21.286818Z DEBUG mdns_sd::service_daemon: Broadcasting query: 1 questions 0 answers 0 authorities 0 additional at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2211 2024-06-24T00:32:21.287688Z DEBUG mdns_sd::service_daemon: sent out 33 bytes on interface Interface { name: "{00000002-0000-0000-0000-4E6574446576}", addr: V6(Ifv6Addr { ip: fdb8:15e7:c493:0:2800:58c8:6dfe:1dfa, netmask: ::, broadcast: None }), index: None } at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2247 2024-06-24T00:32:21.289434Z DEBUG mdns_sd::service_daemon: Broadcasting query: 1 questions 0 answers 0 authorities 0 additional at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2211 2024-06-24T00:32:21.291486Z DEBUG mdns_sd::service_daemon: sent out 33 bytes on interface Interface { name: "{00000002-0000-0000-0000-4E6574446576}", addr: V4(Ifv4Addr { ip: 192.168.1.3, netmask: 255.255.255.0, broadcast: Some(192.168.1.255) }), index: Some(2) } at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2247 2024-06-24T00:32:21.293045Z DEBUG mdns_sd::service_daemon: Sending multicast query for _oscjson._tcp.local. at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:1376 2024-06-24T00:32:21.293345Z DEBUG mdns_sd::service_daemon: Broadcasting query: 1 questions 0 answers 0 authorities 0 additional at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2211 2024-06-24T00:32:21.293713Z DEBUG mdns_sd::service_daemon: sent out 37 bytes on interface Interface { name: "{00000002-0000-0000-0000-4E6574446576}", addr: V6(Ifv6Addr { ip: fdb8:15e7:c493:0:2800:58c8:6dfe:1dfa, netmask: ::, broadcast: None }), index: None } at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2247 2024-06-24T00:32:21.294446Z DEBUG mdns_sd::service_daemon: Broadcasting query: 1 questions 0 answers 0 authorities 0 additional at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2211 2024-06-24T00:32:21.294813Z DEBUG mdns_sd::service_daemon: sent out 37 bytes on interface Interface { name: "{00000002-0000-0000-0000-4E6574446576}", addr: V4(Ifv4Addr { ip: 192.168.1.3, netmask: 255.255.255.0, broadcast: Some(192.168.1.255) }), index: Some(2) } at C:\Users\runneradmin\.cargo\git\checkouts\vrc-mdns-sd-566b359840b29783\b0c8914\src\service_daemon.rs:2247 2024-06-24T00:32:24.285695Z ERROR dex_protect_osc_rs::osc: oscquery didn't find address at app\src\osc.rs:83 2024-06-24T00:32:24.294520Z  WARN dex_protect_osc_rs::app: Error in OSC Thread: entity not found at app\src\app.rs:198 2024-06-24T00:32:27.037142Z DEBUG eframe::native::glow_integration: Received WindowEvent::CloseRequested for viewport Some("FFFF") at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\eframe-0.27.2\src\native\glow_integration.rs:784 2024-06-24T00:32:27.038689Z DEBUG eframe::native::epi_integration: Closing root viewport (ViewportCommand::CancelClose was not sent) at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\eframe-0.27.2\src\native\epi_integration.rs:298 2024-06-24T00:32:27.040260Z DEBUG eframe::native::run: Asking to exit event loop… at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\eframe-0.27.2\src\native\run.rs:176 2024-06-24T00:32:27.050156Z DEBUG eframe::native::run: Received Event::LoopExiting - saving app state… at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\eframe-0.27.2\src\native\run.rs:89 2024-06-24T00:32:27.050594Z DEBUG eframe::native::run: eframe window closed at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\eframe-0.27.2\src\native\run.rs:213 GUI exited. Thank you for using DexProtectOSC-RS! ```

Raphiiko commented 1 week ago

Sorry for the very late reply, I haven't looked at this repository in a long time (mostly due to oyasumivr to having partially switched away from using it).

I've updated this crate and all of the MDNS/Discovery functionality has been handed off to a dotnet based sidecar. I'll be closing this as I doubt you're still looking at this crate after all this time, but if you do happen to try it again, feel free to reopen this issue should you run into anything.

C0D3-M4513R commented 1 week ago

My feature for OscQuery for DexProtectOscRS is blocked only on this issue. This is still an issue, I'd like to see fixed. The tree for oscquery on the DexProtectOscRS repo has moved though to: https://github.com/C0D3-M4513R/DexProtectOscRS/tree/feat/osc-query | https://github.com/C0D3-M4513R/DexProtectOscRS/pull/16

Since the update I haven't retested it, mostly because there hasn't been any indication in this issue, that that might have solved this issue.

C0D3-M4513R commented 1 week ago

Though with the update, I can't use this crate anymore regardless, because the crate won't work on non-windows systems anymore (due to the build.rs)

Raphiiko commented 1 week ago

I have to note this package only really exists to support OyasumiVR, and as that software isn't cross platform in any way, neither is this package.

I'm not really testing on Linux because of this, but I'm also not immediately seeing any blockers for running this using Proton. What issue are you running into specifically? I don't see the build.rs you refer to, only a build.sh, but this only compiles the included dotnet project into a windows executable. With dotnet being cross platform, you should be able to build it for linux in a similar way, or maybe even just run the resulting windows build through proton?

C0D3-M4513R commented 1 week ago

Just because you can run a lot of things through proton doesn't mean you should.

I accept, that you don't want to build/test this on other OS's (as I hinted at earlier, by saying that I guess, that I'll need to use a different crate)

Also I probably could build the c# to a linux executable and maybe even could get it to work, but I'd like to stick to a more rust way of doing things. So I'll not be continuing to choose this crate.

(I also currently don't feel like bothering with a OscQuery client, given that there are no rust libraries for a OscQuery client now and I don't feel like writing my own, especially when osc works just fine for now.)

Raphiiko commented 1 week ago

I too would have liked this crate to remain pure Rust, but sadly from what I've found there currently aren't any reliable options for mdns/zeroconf advertisements and discovery in the Rust ecosystem right now, for Windows anyways. VRChat doesn't seem to play nice with mdns-sd out of the box, and although it's possible to get it to work sometimes with a few hacky patches, we never got it to work reliably for every user. MeaMod has proven to be reliable, so a dotnet sidecar is the compromise.

If you happen to run into anything else that better fits your purpose in the future, feel free to drop it here. Maybe there's alternative approaches to be learned from.