CollabVM Server 1.x (TypeScript): Difference between revisions

no edit summary
(Created page with "{{SupportedCVM}} {{Infobox product | name = '''CollabVM Server''' | logo = center | developer = Elijah, modeco80 (see [https://github.com/computernewb/collabvm-1.2.ts/graphs/contributors contributors]) | license = None (yet) | archs = Any architecture that can run nodejs | platforms = Anything that can run QEMU and nodejs | release = February 9th, 2023 }} '''CollabVM Server 1.x''' (not to be confused with...")
 
No edit summary
 
(4 intermediate revisions by 2 users not shown)
| name = '''CollabVM Server'''
| logo = [[File:Collabvmlogo.png|center]]
| developer = Elijah, MDMCK10, modeco80 (see [https://github.com/computernewb/collabvm-1.2.ts/graphs/contributors contributors])
| license = None (yet)
| archs = Any architecture that can run nodejsNode.js
| platforms = Anything that can run QEMU and nodejsNode.js
| release = February 9th, 2023
}}
'''CollabVM Server 1.x''' (not to be confused with the [[CollabVM Server 1.x|oldolder, unstable as fuckC++-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 ==
* 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, <code>1</code> to enable turns, <code>0</code> 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, <code>1</code> to hide the screen, <code>0</code> 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 ==
{{Main|UserVM Handbook}}
* Install node.js and NPM, if you don't have them.
On Debian derivatives (Ubuntu): <code>sudo apt install npm nodejs</code>
On Arch derivatives: <code>sudo pacman -S npm nodejs</code>
* Clone the repository with git: <code>git clone https://github.com/computernewb/collabvm-1.2.ts</code>
* Enter the directory with this command: <code>cd collabvm-1.2.ts</code>
* 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: <code>npm install</code>
* Build: <code>npm run build</code>
* Finally, run: <code>npm run serve</code>
 
== References ==