## Settings file was created by plugin RecNet Plugin v1.0.0 ## Plugin GUID: net.rec.plugin [Advanced] ## Allows other fields below in the advanced section to be modified. # Setting type: Boolean # Default value: false Enabled Advanced Settings = true ## Custom Photon NameServer # Setting type: String # Default value: Photon NameServer = photon.recflare.net ## Custom Photon NameServer Port (if 0, it will be default) # Setting type: Int32 # Default value: 0 Photon NameServer Port = 5058 ## Show debug logs (HTTP tracing, etc. WARNING: will include sensitive information such as passwords and auth tokens in the logs, be careful when sharing them!) # Setting type: Boolean # Default value: false Debug = false ## Force CheckForDUIDMismatch to return TRUE (fakes the comparison only). Reproduces the hang path but does not corrupt any stored value. Leave false for normal play. # Setting type: Boolean # Default value: false Simulate DUID Mismatch = false ## Force CheckForDUIDMismatch to return FALSE (the workaround fix, ON by default): the client never migrates and never takes the Create Account hang path. No-op on healthy machines (the real check returns false anyway); on mismatched machines it skips the hang. Set false only to observe the real mismatch behavior for debugging. # Setting type: Boolean # Default value: true Suppress DUID Mismatch = true ## ONE-SHOT TEST: on next launch, write a truncated device id into the DUID pref via the game's own WriteDUIDs, producing a genuinely corrupt STORED value (real current id) — exactly the friend's condition. After it logs '[CORRUPT] wrote', set this back to false and relaunch to drive the real mismatch path. Use 'Restore Stored DUID' to undo. # Setting type: Boolean # Default value: false Corrupt Stored DUID = false ## ONE-SHOT UNDO: on next launch, call WriteDUIDs with the real device id, overwriting any corrupt stored value with a good one. Set back to false after it logs '[CORRUPT] restored'. # Setting type: Boolean # Default value: false Restore Stored DUID = false ## Replace the body of the PlayerReporting/v1/deviceId response with this text, to test what shape the client will accept. Empty = leave the server's response alone. # Setting type: String # Default value: DeviceId Response Override = ## HTTP status to force on the PlayerReporting/v1/deviceId response. Only applies when the override body is set. # Setting type: Int32 # Default value: 200 DeviceId Response Status = 200 [Photon] ## Photon Realtime App ID # Setting type: String # Default value: App Id Realtime = rf-8f322bdb ## Photon Voice App ID # Setting type: String # Default value: App Id Voice = rf-6b4682e1 ## Photon Chat App ID # Setting type: String # Default value: App Id Chat = rf-55fae86e [Server] ## Host for the RecNet NameServer. # Setting type: String # Default value: https://ns.rec.net RecNet NameServer Host = https://ns.recflare.net [Signing] ## Force RSA signature verification to succeed (ON by default), so the client stops checking that images are signed with Rec Room's private key. This is what lets a self-hosted server serve its own images without the baked-in modulus matching. Set false only if you actually want signed images, in which case use 'Signing Modulus Override' instead. NOTE: this forces ALL mscorlib RSA verification to pass, not just image signatures. # Setting type: Boolean # Default value: true Disable Signature Verification = true ## Optional alternative to disabling verification: your own RSA public modulus, base64, RAW 2048-bit (256 bytes decoded) — NOT a PEM/DER key. When set, it is substituted for the modulus baked into global-metadata.dat and real verification still runs, so images stay signed with your keypair. Redundant while 'Disable Signature Verification' is true. Empty = leave the stock modulus alone. # Setting type: String # Default value: Signing Modulus Override =