Skip to content

CraftOS-PC v2.0

Choose a tag to compare

@MCJack123 MCJack123 released this 09 Sep 02:54
· 1456 commits to master since this release

CraftOS-PC 2 has reached a stable state and is ready for production.

Linux builds are no longer included in the release, please install using the PPA if you are using Ubuntu. See README.md for more information.

Changes since Pre-Release 1:

  • Fixed high CPU usage, now uses ~5% CPU at idle
  • Moved plugin directory on Mac to CraftOS-PC.app/Contents/PlugIns
  • Fixed HTTP requests

Changes since CraftOS-PC v1.2:

  • Rewrote code base in C++
    • Improves performance of emulator
    • Reduces system resource usage (~5% CPU, 8 MB RAM at idle on Windows)
    • No longer truly cross-platform, requires platform-specific binaries
  • Added built-in screenshots
    • Take a screenshot with F2 or call term.screenshot(path)
      • path is a global path outside of CraftOS and is optional
    • Saved to ~/.craftos/screenshots by default
  • Added some configuration variables
    • debug_enable (false): Set to true and reboot to enable debug API (or disable removal)
    • ignoreHotkeys (false): Set to true to disable hotkeys (F2, F3)
    • isColor (true): Toggles whether the computer is an Advanced Computer or Standard Computer
  • Settings are now stored at ~/.craftos/config/*.json
  • Added multi-computer support
    • Computers can be added with periphemu.create(<id>, "computer")
    • Can be added from the shell with attach <id> computer
    • Both forms attach the computer peripheral to the current computer
  • Added modem peripheral
  • Added GIF recording support
    • Press F3 to toggle recording
    • Shows red circle in corner while recording
    • Limited to 15 seconds for performance reasons
    • Saves to ~/.craftos/screenshots/<time>.gif
  • .craftos directory is now created on boot
  • Added some CC: Tweaked features
    • #16 (Add monitor.getTextScale())
    • #24 (Add automatic HTTPS requests)
    • #25 (Add term.nativePaletteColor())
    • #29 (Make os.time() and os.date() case-insensitive)
  • Added switch to auto-run script (--script )
  • Added switch to run headless from the console (--headless) (does not work on Windows build, recompile for the console subsystem to use)
  • Added WebSocket support
    • http.websocket(url) will open a client WebSocket connecting to url
    • http.websocket() will open a server WebSocket that can be connected to
  • Added plugin/module system
    • Add plugins in the <installation directory>/plugins folder (CraftOS-PC.app/Contents/PlugIns on Mac)
    • See DOCUMENTATION.md for more details
  • Added file.seek method
  • Added io library with proper filename redirects
  • Added drive peripheral
    • Use disk.insertDisk(string path) to mount a folder or audio file
    • Use disk.insertDisk(number id) to mount a floppy disk from ~/.craftos/computer/disk/<id>
  • Added a whole bunch of features from CC: Tweaked, making CraftOS-PC mostly compatible with CC:T
  • Added new ROM features

I've also attached the CCEmuX adapter plugin binaries to this release.

If you experience problems with CraftOS-PC, you can file an issue, or you can ping me on the ComputerCraft Discord server.