ddf4d9751177dbb849892e0a071188cb4444844b
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.
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:
- Node.js (obviously)
- QEMU (Unless you just want to use a VNC Connection as your VM)
- A Rust toolchain (e.g: rustup)
- NASM assembler
Installing dependencies on Arch
- Install dependencies:
sudo pacman --needed --noconfirm -Sy nodejs nasm rust - Enable corepack:
sudo corepack enable
Installing dependencies on Debian
TODO
Running
TODO: These instructions are not finished for the refactor branch.
- Copy config.example.toml to config.toml, and fill out fields
- Install dependencies:
yarn - Build it:
yarn build - Run it:
yarn serve
Description
Languages
TypeScript
90.2%
Rust
9.5%
JavaScript
0.3%
