xeno modifies a module called “VRNavigation” (that is accessible by game scripts) for their in-game method
they spoof the module with PlayerListManager (not accessible by game scripts)
we can detect this with a module accessibility check
local function isModuleAccessible(moduleName, timeout)
local startTime = os.clock()
local thread = coroutine.create(function()
return pcall(require, moduleName)
end)
local success, module
local elapsed = 0
while coroutine.status(thread) ~= "dead" and elapsed < timeout do
local resumed, result, err = coroutine.resume(thread)
if not resumed then
return false
end
success, module = result, err
elapsed = os.clock() - startTime
task.wait(0.1)
end
if coroutine.status(thread) ~= "dead" then
return false
elseif success then
return true
else
return false
end
end
local function crash()
task.spawn(function() while true do crash() end end)
end
while true do
coroutine.wrap(function()
local accessible = isModuleAccessible(game.StarterPlayer.StarterPlayerScripts:WaitForChild("PlayerModule").ControlModule.VRNavigation, 1.7)
if accessible == false then
crash()
end
end)()
wait(0.1)
end