CollabVM Server 1.x/Admin Panel

Revision as of 11:54, 14 June 2022 by Undefishin (talk | contribs)

The Admin Panel lets you configure nearly everything in CollabVM.

Screenshot of the Admin Panel in CollabVM 1.2.10

From here, you can delete, create, and add virtual machines, as well as remotely manage them and change many settings in the server configuration. Be careful giving your admin panel to other users, because like all admin panels, it can be used as a weapon of mass destruction if used maliciously.

This page will document all the features found in the Admin Panel.

How to access it

To access the Admin Panel, you can go to wherever you put your admin webapp (http://127.0.0.1:(collab-vm-server port)/admin/ (replace 127.0.0.1 with your IP address if different)). If you are running on an older version of CVM Server (older than 1.2.9) you will need to edit the admin.min.js file.

By default, the admin password is collabvm. It is recommended to change this immediately, since it is highly insecure (any password we put on here by default would be insecure, no matter the complexity).

Admin Panel Options

Server Config

Chat Message Rate

  • Default value: 4 messages per 3 seconds

This is the built in anti-spam feature CollabVM has. By default it allows you to send 4 messages in 3 seconds before muting for 30 seconds.

If you want to disable the anti-spam, set this value to 0. Moderators or admins can bypass the anti-spam completely.

Chat Mute Time

  • Default value: 30 seconds

If a user spams above the values set in "Chat Message Rate", they will be muted for however many seconds you specify in here. For example, if you set this to 60, a user who spammed the chat would be muted for 60 seconds (1 minute).

Max Connections From One IP

  • Default value: 5 connections

To prevent users from racking up turns, the server has a built-in feature that denies connections from users with too many connections open. So, if this is set to 3, you can only connect to the VM 3 times per one IP address.

If you want users to be able to open infinite connections, set this to 0.

Upload Timeout

  • Default value: 120 seconds

If you are using the CollabVM Agent, you can set the timeout for file uploads here.

Ban IP Command

  • Default value: (none)

If you want to be able to use the "Ban User" button on the VMs, you will have to add in a Ban IP command.

Example commands:

  • BSD: pfctl -t blockedips -T add $IP
  • Linux: iptables -A INPUT -s $IP -j DROP
  • Linux (with ipset): ipset add blockedips $IP
  • Windows Vista/Server 2008 and up: netsh advfirewall firewall add rule name=\"CollabVM Block - $NAME - $IP\" dir=in interface=any action=block remoteip=$IP/32 (the backslashes is because of rapidjson)

JPEG Compression Quality

  • Default value: 75 (percent)

If you are using a build of the server with JPEG support compiled in (you will not see this if you're using a build without it), you can set the compression quality. It is not recommended to set it below 30, and the text will become unreadable at very low levels.

Blacklisted usernames

  • Default value: (none)

To prevent impersonation of other users, you can add a blacklist of usernames. Moderators and Admins are able to bypass this, so it is recommended to add a list of moderators and admin usernames. To add usernames, you simply do this:

Username1;Username2

Enable Moderator Rank

  • Default value: false

This will enable the "moderator" rank on your server. Moderators are similar to admins, except they have a green username and can be limited in what they can do (by default, admins have all permissions).

Moderator permissions

Administrators also have "VM Monitor" when logged in as admin on the VM

Restore Snapshot
This permission allows to forcibly restore the virtual machine (as if a vote reset passed) to its original state.
Reboot VM
This permission allows to forcibly restart the virtual machine.
Ban Users
This permission allows to ban users (this will only work if a Ban IP Command has been set).
Kick Users
This permission allows to kick users.
Force Votes
This permission allows to force vote resets to either pass or fail, regardless of the current vote.
Mute Users
This permission allows to mute users - it can be a temporary (whatever's specified in "Chat Mute Time") or permanent mute.
Bypass & End Turns
This permission allows to bypass (allows you to shoto at the top of the turn queue, ending the current turn) and end turns, as well as clear the turn queue.
Rename Users
This permission allows to forcibly rename users.
Copy IPs
This permission allows to copy IP addresses.

Server Passwords

Change Master Password

  • Default value: collabvm

This is the password you will use to login as an admin and login to the admin panel in CollabVM. By default the password is collabvm. CHANGE IT IMMEDIATELY!!! The default password is EXTREMELY insecure!

Change Moderator Password

  • Default value: cvmmod

This is the password you will use to login as a moderator. By default the password is cvmmod. Once again you will want to change this immediately if you have the mod rank enabled.

New VM Settings

Auto Start

  • Default value: false

If you want the VM to start when your server starts up, enable this.

Descriptions

URL Name
  • Default value: (none)

The URL name is what your VM's internal name will be. Most people will leave this as something like "win7", "win10", "debian", etc.

Display Name
  • Default value: (none)

This is what will display when people see your VM in a list, so make it something descriptive, for example "Windows 7 Professional x64 SP1".

Because the display name is not sanitized in the webapp, you can put HTML tags in the display name, thereby meaning you can extend the display name by putting a br tag after your VM name and adding in a description or whatever you want. But keep in mind, if you're going to put your VM on the UserVMs, you'll have to get rid of your XSS as it is not allowed.

MOTD
  • Default value: (none)

This is the message that you will see when you join a VM. This can be anything.

VNC/QMP

VNC Address
  • Default value: 127.0.0.1

The VNC IP Address. It is highly recommended to keep this as 127.0.0.1.

VNC Port
  • Default value: 5900

The VNC Port. You should only need to change this if you are already running a VNC Server on 5900 or you are running multiple VMs. If you are, selecting the input box and pressing the up arrow should work fine.

QMP Socket Type
  • Default value: Local

The QMP Socket Type. You should normally not have to touch this.

QMP Address
  • Default value: localhost

The QMP Address. You should normally not have to touch this.

QMP Port
  • Default value: 5800

The QMP Port. You should normally not have to touch this.

Max Guacamole/QMP Connection Attempts
  • Default value: 5

If your server has a lot of stuff running, has a slow CPU, or low memory, it might take a bit for QEMU to actually start. You can configure the maximum attempts here.

Technical

Hypervisor
  • Default value: QEMU

Right now, the only working hypervisor is QEMU, so there's nothing to change.

Start Command
  • Default value: (none)

The start command for your VM goes here. For example:

qemu-system-i386 -m 1G -usb -accel kvm -device usb-tablet -nographic

Snapshot Mode
  • Default value: off

The "Snapshot Mode" is required if you want to use Vote Resets. After you install your VM, you should set this to "Hard Drive Snapshots" otherwise all changes made to the VM will be permanent.

Restore After Shutdown
  • Default value: false

If you want your VM to restore after it is shut down, you can enable this option. It is recommended to use Vote Resets instead.

Togglable Features

Turns Enabled
  • Default value: false

If you want turns to be enabled, check this box.

Turn Time
  • Default value: 20 seconds

How long you want each users turn to last. i.e. If you want turns to last 18 seconds, set this number to 18.

Votes Enabled
  • Default value: false

If you want vote for resets to be enabled, check this box. Note that the Snapshot Mode must be set to "Hard Drive Snapshots" for this to work.

Vote Time
  • Default value: 60 seconds

Determines how long each vote reset should last.

Vote Cooldown
  • Default value: 120 seconds

Determines how long it takes before another vote for reset can begin.