4211941560945b4c494076b9eb152a70592e2f1f
Instead of creating an instance of a protocol per user and storing state there, we just have the protocol implementations take in all of the state they should need in processMessage(), and store them all globally (with some wrappers to make it easier to handle this). This makes things slightly cleaner (and probably also helps memory usage, since we now don't need to create protocol instances as soon as a user connects/swaps, and they don't need to be garbage collected since they are held in the manager.)
CollabVM1.ts
This is a drop-in replacement for the dying CollabVM 1.2.11. Currently in beta
Compatibility
The CollabVM server is officially supported on modern Linux distributions, using latest NodeJS LTS and Rust
We do not support running directly on Microsoft Windows. If you want to run CollabVM on Windows, we recommend using the Windows Subsystem for Linux. We will close any issues related to running the server directly on windows.
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%