modeco80 ddf4d97511 qemu: more refactoring
qmp client is now much more robust (and doesn't fight over itself as much). this should
hopefully completely eliminate the case where display connects but qmp is half connected.

i also forgot QemuDisplay actually emits an event on connection, so we can just use that to
wait for when the display connects. which allows us to set the started state there instead of praying
when the qmp client connects that we are connected to the display roughly at the same time.

i also gated some stuff to require vm state in the server. this is a bit rickity, but does seem to work.
2024-07-11 20:33:50 -04:00
2023-09-02 17:54:44 -04:00
2024-07-11 20:33:50 -04:00
2024-07-11 20:33:50 -04:00
2024-06-23 02:24:03 -04:00
2024-04-11 12:04:40 -04:00

Banner image

CollabVM1.ts

This is a drop-in replacement for the dying CollabVM 1.2.11. Currently in beta

Compatibility

The CollabVM server will run on any Operating System that can run Node.JS and Rust. This means modern linux distributions and Windows versions.

We do not recommend or support running CollabVM Server on Windows due to very poor support for QEMU on that platform.

Dependencies

The CollabVM server requires the following to be installed on your server:

  1. Node.js (obviously)
  2. QEMU (Unless you just want to use a VNC Connection as your VM)
  3. A Rust toolchain (e.g: rustup)
  4. NASM assembler

Installing dependencies on Arch

  1. Install dependencies: sudo pacman --needed --noconfirm -Sy nodejs nasm rust
  2. Enable corepack: sudo corepack enable

Installing dependencies on Debian

TODO

Running

TODO: These instructions are not finished for the refactor branch.

  1. Copy config.example.toml to config.toml, and fill out fields
  2. Install dependencies: yarn
  3. Build it: yarn build
  4. Run it: yarn serve
Description
No description provided
Readme 686 KiB
Languages
TypeScript 90.2%
Rust 9.5%
JavaScript 0.3%