CollabVM Server 1.x (TypeScript): Difference between revisions
mNo edit summary |
No edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 19: | Line 19: | ||
* Server has been completely rewritten from scratch. |
* 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. |
* 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 == |
== 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 == |
== References == |
Latest revision as of 03:18, 26 June 2024
![]() | 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. |
![]() | |
---|---|
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