You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm trying to read some record data to do the data replay like this:
-- start at the simulator config:rec_file="data/400m.csv"data= {}
forlineinio.lines(rec_file) dotable.insert(data, split(line, ","))
end-- in onLBSimulatorTick function:simulator:setInputNumber(11, data[ticks%#data+1][1])
simulator:setInputNumber(12, data[ticks%#data+1][2])
simulator:setInputNumber(13, data[ticks%#data+1][3])
It worked fine on earlier version. But on latest version, it pops up a exception:
Exception has occurred: MyMicrocontroller.lua:22: attempt to index a nil value (global 'io')
stack traceback:
MyMicrocontroller.lua:22: in field '?'
.../Common/LifeBoatAPI/Tools/Simulator/SimulatorSandbox.lua:67: in field 'require'
_build/_simulator.lua:29: in main chunk
[C]: in ?
I tried to manually require io or iolib, but it turned to Could not find require: io.
How can I fix this? Or is it possible to provide a data read interface?
The text was updated successfully, but these errors were encountered:
Hey, the simulator is currently heavily sandboxed, to prevent people transmitting malicious code via libraries (and to replicate the in-game experience more closely)
I can see the benefit of what you're doing; perhaps just making the sandbox optional would be the way to go? I think for 99% of people there'll be no reason to change it, but it looks like you're reading test data out of a csv, which is pretty awesome - and I want you to be able to do that.
Does that sound like a solution you'd be comfortable with?
nameouschangey
changed the title
io.open exception
Simulator Sandbox prevents loading test data from .csv file - would be beneficial to be togglable feature
Jul 21, 2022
There wasn't a security issue before - until adding the "auto-updating git libraries" feature; at which point, realised it would take 10 seconds for somebody to maliciously distribute a library with os.execute("rmdir C:/Users") or worse 😅
I'm trying to read some record data to do the data replay like this:
It worked fine on earlier version. But on latest version, it pops up a exception:
I tried to manually require
io
oriolib
, but it turned toCould not find require: io
.How can I fix this? Or is it possible to provide a data read interface?
The text was updated successfully, but these errors were encountered: