CollabVM: Difference between revisions

4,724 bytes added ,  5 June 2022
yay
No edit summary
(yay)
The '''Collaborative Virtual Machine''' (also known as '''CollabVM''', '''Collab VM''', or '''collab-vm''') is an open source project which allows users to collaboratively control a virtual machine, typically for around 18 seconds per person. The twist is that anyone can hop in and use any of the available 9* official/unofficial 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, an [[Admin Panel|administrator panel]], logs, and more. The website was created by [[Dartz]], and the software was coded and written by [[Cosmic Sans]], Dartz and [[Geodude]]. And since the server software is open source and publically available, you can download it for free [http://github.com/computernewb/collab3 here]. Currently, the latest veersion of collab-vm-server is 1.2.11, but it will eventually be replaced with CollabVM 3.0.
 
==What it is==
[[CollabVM#Official VMs|'''Official VMs''']]
 
There are other sites running the CollabVM software that also run other operating systems, like MS-DOS, Windows 98, Debian, etc, and soon, users will be able to host their own VMs with their own operating systems (this has been already done). The site is powered by Guacamole and [[CollabVM Server|collab-vm-server]]. 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 generic, [[guest|anonymous guest name]] (typically guest(string of 4-6 numbers)). Server owners can recompile the server with a different name, so it may be different depending on the CollabVM site you're using. You can change your name if you so desire (by clicking the "Change Username" buttonUserVM) or you can leave it as the default guest name.
 
The site is powered by Guacamole and [[collab-vm-server]]. 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.
To take control of the virtual machine, first, either press the Take Turn button or click on the screen. You will then be assigned a place in line. You will either get control of the virtual machine, or you may have to wait until another users turn is finished before you can take control. To check who is currently taking a turn, you can scroll to the user list and look for any blue / yellow names. If their name has a blue background, that means they are currently in control of the virtual machine. If their name has a yellow background, this means they are currently waiting to take control of the virtual machine. If they have no color, that means they aren't doing anything. When you press the Take Turn button or click the screen, if someone is also taking a turn, you will receive a timer which indicates how long you have to wait.
 
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 recompile the server with a different name, so it may be different depending on the CollabVM site you're using. You can change your name if you so desire (by clicking the "Change Username" button) or you can leave it as the default guest name.
 
To take control of the virtual machine, first, either press the Take Turn button or click on the screen. You will then be assigned a place in line. You will either get control of the virtual machine, or you may have to wait until another users turn is finished before you can take control. To check who is currently taking a turn, you can scroll to the user list and look for any blue /or yellow names. If their name has a blue background, that means they are currently in control of the virtual machine. If their name has a yellow background, this means they are currently waiting to take control of the virtual machine. If they have no color, that means they aren't doing anything. When you press the Take Turn button or click the screen, if someone is also taking a turn, you will receive a timer which indicates how long you have to wait.
 
'''Please note''': ''While the site is not explicitly for 18 and up, if you are under the age of 18, you need permission from your guardian, (or parent) as anyone can do anything on this virtual machine, and that includes opening pornography and other NSFW things. There is a warning blur which blurs out the screen before you can see it.''
 
===CollabVM 1.0===
februaryFebruary 18, 2015 ~to juneJuly ?28, 2015
'''''THE REST OF THESE SECTIONS ARE A PLACEHOLDER, PLEASE FOR THE LOVE OF GOD SOMEBODY FILL SOME ACTUAL INFO IN!!!!'''''
 
CollabVM 1.0 (known as the [[Socket.io|Socket.IO]] Era to some) was the first popular iteration of CollabVM, and the second overall. Although initially unpopular, it exploded in popularity in April 2015 after being posted onto Reddit. It ran the [[socket.computer]] engine, but had a few modifications in place, the screen was scaled, the laptop image was removed, an administrator panel was modded into it, and two exploits were found and then later fixed.
february 18 2015 ~ june ? 2015
 
CollabVM 1.0 ran 9 different operating systems in its life span, which includes: [[Windows 95|Windows 95 OSR2]], [[Windows 98]], [[Windows 2000]], [[Windows Vista|Windows Vista Home Premium]], [[Windows 7|Windows 7 Home Premium]], [[Windows 7|Windows 7 Ultimate]], [[Windows XP|Windows XP Professional SP2]], and then [[Tiny7]].
Instead of Browser Computer which was entirely custom(?), this one is a Socket.computer clone(?) with some additional features. CollabVM 1.0 would eventually get replaced with CollabVM 1.1
 
The site had a Xat chatroom embedded into the bottom, as well as an online counter which showed how many people were online. Later, this was added to the server itself. It was replaced with CollabVM 1.1 on July 28, 2015.
 
===CollabVM 1.1===
juneJuly ?28, 2015 ~to somewhereMarch in24, 2016
 
CollabVM 1.1 was the third iteration of CollabVM. This iteration was a very important milestone in CollabVM's history as it was when collab-vm-server was officially out of beta and released onto the site.
CollabVM 1.1 is a complete C++ rewrite of the original CollabVM, and around this era the site saw an EXPLOSION in users after being posted to r/InternetIsBeautiful. '''todo: document 1.1 features'''
 
CollabVM 1.1 brought the brand new engine that is still in use today, as well as removing all of the vulnerabilities of [[socket.computer]], as well as making it much faster and without any fuzz. The xat chat was initially removed from the page, but was later added back after high demand. This version also introduced some features still found on the site like the NSFW warning and other things.
 
It has ran two operating systems in its time which includes Windows 7 Ultimate and Tiny7. Later, an update was released for it. Later on, it brought several new features to the table, including a new bootstrap theme, a brand new HTML5 chat, the Online Users list, the virtual keyboard, the FAQ, News, Rules, and other pages, as well as many other new features.
 
This was also the first version of [[collab-vm-server]] that [[Experimental VM]] ran. On December 29, 2015 a new server was purchased which ran QEMU far better than the old one. On October 18, 2016, the binaries for CollabVM 1.1 were released.
 
===[[CollabVM 1.2]]===
somewhereMarch in24, 2016 ~to earlyFebruary 17, 2020
 
CollabVM 1.2 is the fourth iteration of CollabVM. The latest stable release is 1.2.11. This iteration included several updates to the existing 1.1 core, and added some new features. These features included the Vote Reset, which allows users to reset the virtual machine even when an admin is not online (now users could simply vote reset instead of potentially waiting for hours for an admin), a brand new homepage which showed the current running virtual machines along with screenshots of them running, support for multiple virtual machines was added, an issue that let users impersonate others was fixed, and the turn counter now counted how long you had to wait.
 
Later, on June 15, 2016, another huge and highly anticipated feature was added to CollabVM 1.2; the Virus Farm, also known as the CollabVM Agent. The Agent allows users to upload any file to the machine its currently running on, and more. The agent was designed to be very easy to enable and disable, so a CollabVM could easily be converted into a Virus Farm node, and vice versa. On October 18, 2016, another huge milestone for CollabVM was made - the server's source code as well as its binaries were publicly released.
 
On December 12, 2018, a Windows port was made available by CHOCOLATEMAN and modeco80.
CollabVM 1.2 is the first version with multiple VM support ('''todo: think of more things here''') and added some slight changes to the 1.1 core. One of them being the [[Virus Farm]] and the [[CollabVM Agent]] ('''todo: fill in more here''')
 
===[[CollabVM 2.0]]===
earlyFebruary 17, 2020 ~to juneJune 2, 2020
 
CollabVM 2.0 is the fifth iteration of CollabVM. This version was originally planned to be 1.3, although since it was renamed to 2.0 since it shares none of the old code from the original server. This iteration includes several updates including stability updates, more modern libraries, VNC and RDP support, full VNC and RDP audio support, accounts, native Windows support, and more.
CollabVM 2.0 sucked. The project was shot down by [[Ceiridge|the Anger Vein]], and the development was rushed because people kept annoying Cosmic.
 
It was dropped from being used on the official instance due to an overabundance of instability, bugs and a million crash exploits.
 
===CollabVM: the Revengance/1.2.10+===
juneJune 2, 2020 ~- wheneverWhen 3.0 releases
 
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.
After CollabVM 2.0 was canned, Yellows decided to bang his head on the keyboard and proceed to write an entire section full of retard babble and incoherent screaming. There were several new things added in the 1.2.10 and later versions, like 6969's avalanche of cool shit (Like Mod rank and red names and other things) and DarkOK's even bigger dog excrement of a fuckton of awesome powertrip features, and also Yellows' one single spark of Boohbah drug juice he got from his asshole (Kicking).
 
In February 2021, the last official version of the CollabVM 1.2 server was released, 1.2.11. It uses Boost.Beast for WebSockets, similar to CollabVM 2.0, but it doesn't crash as much as CollabVM 2.0.
 
This updated code base is also being used as the base for the next CollabVM version.
 
Features added in forks:
 
; 6969
Banning from the VM view,
Forcefully temporarily or permanently muting a user,
Moderator rank and perms,
Build identification,
Forcefully making votes lose,
; DarkOK
Forcefully renaming users,
Forcefully ending/stealing turns,
Forcefully making votes win,
Chat MOTD,
Copy user IP addresses,
Rank colors in chat,
QEMU Monitor from VM view,
Easily login from VM view,
; yellows111
Kicking, and other such.
 
All of the above were merged in to 1.2.10.
 
===[[CollabVM 3.0]]===
ETA: Who knows?
whenever 3.0 releases
 
CollabVM 3.0 is going to be the successor to 1.x and 2.0, and started development on August 25th, 2021. It is a major overhaul when compared to CVM 1.x and 2.0. Some of the things that will happen in this update include:
 
: Guacamole is going to be replaced
: WebSocket-- replaced
: CloudFlare support (possibly)
: Switch to the CMake build system
: Restoration of the internal HTTP server
: Addition of a plug in system
 
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 (this points to a citation that goes to an external link), that if 3.0 will even release at all.
 
; CollabVM 3.0.2
'''''The big bitch.'''''
: Implement bot accounts
; CollabVM 3.0.5
: Implement/Add CollabVM Rooms
; CollabVM 3.1.0
: Switch to WebRTC for all protocol usage & video streaming