OC-KittenOS/laboratory/ocemu.cfg

141 lines
5.6 KiB
INI

--OCEmu configuration. Designed to mimic HOCON syntax, but is not exactly HOCON
--syntax.
ocemu {
--Client side settings, presentation and performance related stuff.
client {
--The sample rate used for generating beeps of computers' internal speakers.
--Use custom values at your own responsibility here; if it breaks OC you'll
--get no support. Some potentially reasonable lower values are 16000 or even
--8000 (which was the old default, but leads to artifacting on certain
--frequencies).
beepSampleRate=44100
--The base volume of beeps generated by computers. This may be in a range of
--[0, 127], where 0 means mute (the sound will not even be generated), and
--127 means maximum amplitude / volume.
beepVolume=32
--The color of monochrome text (i.e. displayed when in 1-bit color depth,
--e.g. tier one screens / GPUs, or higher tier set to 1-bit color depth).
--Defaults to white, feel free to make it some other color, tho!
monochromeColor="0xFFFFFF"
}
--Computer related settings, concerns server performance and security.
computer {
--The maximum size of the byte array that can be stored on EEPROMs as
--configuration data.
eepromDataSize=256
--The maximum size of the byte array that can be stored on EEPROMs as
--executable data..
eepromSize=4096
--Settings specific to the Lua architecture.
lua {
--Whether to allow loading precompiled bytecode via Lua's `load` function,
--or related functions (`loadfile`, `dofile`). Enable this only if you
--absolutely trust all users on your server and all Lua code you run. This
--can be a MASSIVE SECURITY RISK, since precompiled code can easily be
--used for exploits, running arbitrary code on the real server! I cannot
--stress this enough: only enable this is you know what you're doing.
allowBytecode=false
--Whether to allow user defined __gc callbacks, i.e. __gc callbacks
--defined *inside* the sandbox. Since garbage collection callbacks are not
--sandboxed (hooks are disabled while they run), this is not recommended.
allowGC=false
}
--The time in seconds a program may run without yielding before it is
--forcibly aborted. This is used to avoid stupidly written or malicious
--programs blocking other computers by locking down the executor threads.
--Note that changing this won't have any effect on computers that are
--already running - they'll have to be rebooted for this to take effect.
timeout=5
}
--Emulator related settings. Components, accuracy, and debugging.
emulator {
--Default components available to the computer.
components {
{"gpu", "c1-gpu-tier3", 0, 160, 50, 3},
{"gpu", "c1-gpu-tier1", 0, 50, 16, 1},
{"screen_sdl2", "c1-screen-tier3", -1, 160, 50, 3},
{"screen_sdl2", "c1-screen-tier1", -1, 50, 16, 1},
{"modem", "c1-modem", 1, false},
{"eeprom", "c1-eeprom", 9, "lua/bios.lua"},
{"filesystem", "c1-tmpfs", -1, "tmpfs", "tmpfs", false, 5},
{"filesystem", "c1-sda", 5, nil, "Workbench", false, 4},
{"filesystem", "c1-sdb", 5, nil, "Repository", false, 4},
{"filesystem", "openos", 0, "loot/openos", "openos", true, 1},
{"internet", "c1-internet", 2},
{"computer", "c1-computer", -1},
{"ocemu", "c1-ocemu", -1},
{"keyboard_sdl2", "c1-keyboard", -1}
}
--Whether to enable the emulator's extremely verbose logging.
debug=false
--Whether to choose performance over timing-accuracy.
fast=false
--Whether to return vague error messages like OpenComputers.
vague=false
}
filesystem {
--The maximum block size that can be read in one 'read' call on a file
--system. This is used to limit the amount of memory a call from a user
--program can cause to be allocated on the host side: when 'read' is, called
--a byte array with the specified size has to be allocated. So if this
--weren't limited, a Lua program could trigger massive memory allocations
--regardless of the amount of RAM installed in the computer it runs on. As a
--side effect this pretty much determines the read performance of file
--systems.
maxReadBuffer=2048
}
internet {
--Whether to allow HTTP requests via internet cards. When enabled, the
--`request` method on internet card components becomes available.
enableHttp=true
--Whether to allow TCP connections via internet cards. When enabled, the
--`connect` method on internet card components becomes available.
enableTcp=true
}
--Other settings that you might find useful to tweak.
misc {
--The maximum size of network packets to allow sending via network cards.
--This has *nothing to do* with real network traffic, it's just a limit for
--the network cards, mostly to reduce the chance of computer with a lot of
--RAM killing those with less by sending huge packets. This does not apply
--to HTTP traffic.
maxNetworkPacketSize=8192
--The maximum distance a wireless message can be sent. In other words, this
--is the maximum signal strength a wireless network card supports. This is
--used to limit the search range in which to check for modems, which may or
--may not lead to performance issues for ridiculous ranges - like, you know,
--more than the loaded area. See also: `wirelessCostPerRange`.
maxWirelessRange=400
}
--The configuration version this config was generated at. This is used to
--allow the emulator to reset/migrate parts of the config when their meaning
--has changed across versions.
version=3
}