CollabVM Server 1.x (TypeScript)

From Computernewb Wiki
Jump to navigation Jump to search
Check icon
This article documents a current version of the CollabVM Server software.
If you are planning to set up the CollabVM Server, you should use this version.
Current stable: 1.x (TS)
CollabVM Server
Developer(s) Elijah, MDMCK10, modeco80 (see contributors)
License None (yet)
Platforms Anything that can run QEMU and Node.js
Architectures Any architecture that can run Node.js
Release date February 9th, 2023

CollabVM Server 1.x (not to be confused with the older, C++-based version) is a version of the CollabVM Server which started development on February 9th, 2023. It is the current, supported and stable version of CollabVM. It is built on TypeScript, making it the first CollabVM Server version to be written in a language that isn't C++.

History

The predecessor, also named CollabVM Server 1.x, had a lot of problems. A lot of problems. To the point where even performing a simple moderation action like banning would cause the server to crash. This was also the case with the Admin Panel, as stopping a VM may cause the server to crash[1].

These bugs caused the CollabVM staff team to create a new server version from scratch, which is based on Node.js and TypeScript.

New features

  • Server has been completely rewritten from scratch.
  • Admin Panel functionality has been completely removed, as attempting to login (with the correct password) will cause the server to crash. Its functionality has been replaced with a config.toml file.
  • Several admin opcodes were added, including:
    • Opcode 21: Send raw (XSS) message (Previously available in some forks of CollabVM 1.2.11 but not the mainline version)
    • Opocde 22: Toggle turns (Takes one argument, 1 to enable turns, 0 to disable them
    • Opcode 23: Take an indefinite turn (the turn timer will appear as 999999999, but even if it runs out, it will go into the negatives)
    • Opcode 24: Hide the screen from all non-staff users (Takes one argument, 1 to hide the screen, 0 to show it)
  • The ability to have a separate password required to take turns, with all other users only able to view and chat

Building and running

  • Install node.js and NPM, if you don't have them.

On Debian derivatives (Ubuntu): sudo apt install npm nodejs

On Arch derivatives: sudo pacman -S npm nodejs

  • Clone the repository with git: git clone https://github.com/computernewb/collabvm-1.2.ts
  • Enter the directory with this command: cd collabvm-1.2.ts
  • Rename the config.example.toml file to config.toml, and edit it to match your VM. Should be pretty easy, because it is well commented.
  • Install dependencies: npm install
  • Build: npm run build
  • Finally, run: npm run serve

References