CollabVM: Difference between revisions

Jump to navigation Jump to search
no edit summary
(Updated VM Names to match with website)
No edit summary
 
The '''Collaborative Virtual Machine''' (also known as '''CollabVM''', '''Collab VM''', or '''collab-vm''') is an open source project which allows users to collaboratively control one or more virtual machines through an online web interface using a turn-based queue system, typically for around 18 seconds per person. The twist is that anyone can hop in and use any of the available virtual machines at any given moment, and do whatever they want, so long as they abide by the CollabVM Rules.
 
The current concept and project was inspired by the website [[socket.computer]], but the CollabVM project adds many more features on top of the existing features such as a chat room, anon [[Adminscreen Panel]]keyboard, logsadmin/mod roles, the fact that it actually functions, and more. The website was created by [[Dartz]], and the current iteration of the server software was mostly coded and written by [[Cosmic Sans]], [[DartzElijah]] and [[GeodudeModeco80]]. And since the server software is open source and publicly available, you can download it for free [httphttps://github.com/computernewb/collab3collabvm-1.2.ts here]. Currently, the latest version of [[collab-vm-server]] is 1.2-TS, but it will eventually be replaced with CollabVM 3.0.
 
==What it is==
The site allows users to control a virtual machine. The site runs several virtual machines. The list are as follows: (updated sometimes)
 
[https://computernewb.com/collab-vm/ CollabVM]   [https://computernewb.com/collab-vm/ Home] [https://computernewb.com/collab-vm/faq FAQ] [https://computernewb.com/collab-vm/rules Rules] [https://discord.gg/a4kqb4mGyX Discord] [https://old.reddit.com/r/collabvm Subreddit] [https://computernewb.com/collab-vm/themes/dark Dark Theme]                   [https://computernewb.com/collab-vm/user-vm/ Check out UserVM for more VMs!]
<gallery>
File:Vm0b0t new36.png|[[VM0|Totally Windows 7 (VM 0b0t) - ANARCHY VM]]
</gallery>
 
The site is powered by Guacamole and [[CollabVM Server 1.x (TypeScript)|CollabVM Server]], which uses a [[CollabVM 1.2 Protocol Reference|WebSocket protocol]] originally derived from Guacamole (lol) but has been modified and adapted over the years to such an extent that it'd be inaccurate to call it that. The site features a chatroom, where users are able to type messages to each other. The purpose of the chat is to share ideas on what to do on the virtual machine, although it can be used for pretty much anything.
 
When you login to the website, you are given a [[Guest|generic, anonymous guest name]] (typically guest (string of 4-6 numbers)). Server owners can modify the server to use a different name, so it might be different depending on the CollabVM site you're using. If registration isn't enabled, you can change your username by clicking the "Change Username" button. If it is, you'll have to create an account
 
To take control of the virtual machine, you may need to register and login to the instance. You will receive a message in chat if so. Click the "Take Turn" button or click on the screen. You will be assigned a place in line. You'll then get control of the virtual machine when its your turn. You may end your turn at any time by pressing the "End Turn" button.
 
=== [[CollabVM 1.2|CollabVM 1.2.10+]] ===
'''June 2, 2020 - When 3.0 releases''' - ''spanning'February 7, years2023'''
 
CollabVM 2.0 was way too unstable to be used as a full time version, so we switched back to 1.2. Going back, we actually got more features in the "post 2.0" updates, such as JPEG support, bugfixes and stability.
All of the above were merged in to 1.2.10.
 
=== [[CollabVM 3Server 1.0x (TypeScript)|CollabVM 1.2.ts]] ===
'''February 7, 2023''' - '''present day'''
'''When 3.0 releases - May god have mercy on your wretched souls'''
 
As the original CollabVM 1.2.11 codebase began to show its age over time, with multiple bugs appearing that were unfeasable to fix, the decision was made to do a full protocol-compatible rewrite of the server in TypeScript, with the goal of being more maintainable than the C++ codebase
CollabVM 3.0 is going to be the successor and a complete rewrite of 1.x and 2.0, which started development on August 25th, 2021. It is a major overhaul compared to CVM 1.x and 2.0. Some of the things that will happen in this update include:
 
This iteration removed the admin panel (because it fucking sucked lol) and replaced it with a configuration file. While originally a barebones 1:1 implementation of the CollabVM 1.2.11 protocol, additional features have been added over time, such as:
 
* Accounts and login
* The binary protocol, replacing base64 guacamole screen rects with binary MsgPack rects.
* Turn whitelisting with a separate password
* GeoIP Flags next to usernames in the userlist
 
Several of the functions of the server such as Guacamole parsing, JPEG compression, and (soon) VNC have also been rewritten as a Rust native module to increase performance
 
;=== [[CollabVM 3.0.2]] ===
'''Sometime before the heat death of the universe ''' (probably)
 
CollabVM 3.0 is set to be the next and hopefully final iteration of the CollabVM server. It's gone through multiple rewrites, resets, dramas, and several long periods of inactivity, but in its current state it supports most features of the original server, with several bugs that need to be patched
: Guacamole is going to be replaced (possibly, with a custom protocol)
: WebSocket-- replaced
: CloudFlare support (possibly)
: Switch to the CMake build system
: Restoration of the internal HTTP server
: Addition of a JavaScript/C++ based plug in system
 
Features of CollabVM 3.0 include:
As CollabVM 3.0 won't be the only release in the 3.x trilogy, there will be more features added in the coming weeks as new versions will release, that if 3.0 will even release at all.
 
* An all-binary protocol that will completely replace the original
; CollabVM 3.0.2
* A REST API to replace the all-WebSocket protocol of CollabVM 1.2
: Implement bot accounts
* h264 VM screen instead of JPEG
; CollabVM 3.0.5
* VM audio, compressed with Opus
: Implement/Add CollabVM Rooms
; CollabVM 3.1.0
: Switch to WebRTC for all protocol usage & video streaming

Navigation menu