How to make a UserVM

Revision as of 05:36, 29 May 2022 by Elijah (talk | contribs)

This guide is pretty outdated. For a more up-to-date guide see How to Setup a UserVM



This page details how to set up a UserVM on CollabVM.

Getting started

To start, pick which version of CVM Server you want to use. The latest version is 1.2.11. Versions 1.2.10 and below are not supported.

Alternatively, you can go the autistic route and get mkcvm, which is a script that compiles CollabVM Server for you.

Some users report frequent crashes with 1.2.11 - others report no problems at all. 1.2.11 appears to be more stable on more up to date distributions, i.e. newer than Debian 10, so if you have something modern or bleeding-edge, use 1.2.11. If you have something older, like CentOS or an older version of Debian, use 1.2.10. If you're on Windows, it is recommended to use 1.2.11

Requirements

  • Windows: Windows 7/Server 2008 R2 or higher is required to run 1.2.10 or higher

(Or NT 4 if using 6969's fork of QEMU 0.12 and CollabVM Server 1.2.10)

To see what Windows version you're on, press Windows Key + R and type winver. Chances are you are on a new enough version to run it.

  • Linux: Version 1.2.10 and 1.2.11 requires at least Linux Kernel 2.6.

To see what Kernel version you have, type uname -a. If you're on any modern distro released after 2015 you should be on at least 4.x.

To run the pre-compiled binary from the GitHub repo itself (located in releases), you will need an Ryzen CPU.

This is due to an mistake where it was accidentally optimized for such CPUs (and because Ryzens have more instructions to play around with), it doesn't run on anything lower than that, in order to use the Linux version of collab-vm-server, you're going to have to compile it yourself.

Before you begin

You'll need to decide what OS you want your VM to run. If you have a slower system that doesn't support KVM (or has issues with it) or you have low memory, it is recommended to use Windows XP since it's a very old system and doesn't require too much memory.

You'll need QEMU. Go to qemu.org and click Download. If you are on Windows, download the windows binaries. Add the QEMU folder to your path later, if on Debian or any debian distro use the command sudo apt install qemu-utils qemu-system

Set up your hard disk, I use qemu-img create -f qcow2 hdd.img 30G for my XP VMs.

Breaking it down:

  1. qemu-img: QEMU image utility
  2. create: create an image
  3. -f: first image format
  4. qcow2: qcow2 format
  5. hdd.img: file name
  6. 30G: the size of the disk.

Starting up the VM

Enter the following command

qemu-system-i386 -hda hdd.img -cdrom iso.iso -accel kvm -cpu host -m 2G -usbdevice tablet

If you want x64 systems, change i386 to x86_64. Remove -accel kvm -cpu host if running on Windows

You should see a QEMU window come up with the system booting up.

Go through the install process as you would on a real computer. After that, you can set up programs and applications and if you have Active Directory set up and working properly you can connect your VM to AD.

Making your VM live

Shutdown the VM and go to localhost:port/admin, login with the admin password (default is collabvm, change this!) and click "New VM"

Autostart: Recommended to choose yes

URL Name: choose whatever

VM Name: choose whatever

VNC Address: Leave as localhost

VNC Port: Change port (you cannot have multiple vms running on the same port)

QMP: Do not configure if on Linux. Haven't used it never will, figure it out yourself windows users

Max connection attempts: Leave it

Hypervisor: Leave as QEMU, CollabVM does not support VMware/VirtualBox.

Start command: Use the command you used to start the VM.

Snapshot mode: Choose Hard drive snapshots

Restore after shutdown: Choose

Turns: Enable, set to 20s or enter your own turn time

Vote resets: Enable, set to 60s or enter your own reset time

Reset cooldown: Enable, set to 120s or enter your own reset time

Agent: Disable unless you for some god awful reason you still have it

Save VM settings and click Start, or wait for it to start.