You need to install the libdouble-conversion1 package before installing Vircadia server (which normally only supports Ubuntu 18.04)
sudo apt update
wget http://ftp.br.debian.org/debian/pool/main/d/double-conversion/libdouble-conversion1_3.1.0-3_amd64.deb
sudo apt install ./libdouble-conversion1_3.1.0-3_amd64.deb
wget https://cdn.vircadia.com/dist/domain-server/ubuntu/vircadia-server_2022.1.0-selene-20211126-aabcdea-0ubuntu1-1_amd64.deb
sudo apt-get install ./vircadia-server_2022.1.0-selene-20211126-aabcdea-0ubuntu1-1_amd64.deb
Start the server as a service:
sudo systemctl enable [email protected]
Got to http://server-ip:40100 (or http://localhost:40100) to get the server web browser interface and set up server. If you have problems, make sure you are using the right IP of your server and check for firewall settings (e.g. sudo ufw status
)
Set a name for your domain, this is what can be used for clients to search for your server using Explore function in the app.
Optional: I have my web interface behind a Caddy proxy an with my own domain, so I can access it via a secure URL such as https://vircadia.mydomain.com (not my actual). If you want to know more about Caddy as a reverse proxy, see my tutorial video.
Full Automatic Networking is supposed to just work but on my home server I still had to forward port 40102 on my router manually.
Set permissions for users in the server web interface. Include Rez etc if you want them to be able to create objects in the world, and edit it in a persistent way. I entered my username as a specific user and gave myself all permmissions, and gave other users lesser permissions and only friends edit ability.
Download the Interface app Vircadia client interface and connect to your server by clicking Explore and search for your Domain. Tell others to join by giving them the name of your Domain which they can search for in the client interface.
By default a new server is a blank void (no content).
Some really good looking free content is available.
If you want to quickly replace the whole content on your server with a pre-built world, just download one of these zips, and in your server settings, go to Content > Upload Content and upload the zip file.
Use the CREATE button in the client interface. This allows you to search for enities within the world and modify them. Another way is to modify them programatically through the javascript interface, via scripts or the Console (see below).
There is a Javascript API that allows you to write various scripts to create and alter the world dynamically, or enter commands in a console in the client interface app. To enable the console and other developer tools, go to Settings > Developer Menu to enable Developer menu. Under the new Developer choose Scripting > Console.... Enter commands here e.g. MyAvatar.setGravity(0);
(default is usually -5).
You should be aware of licenses of content you copy, but it is possible to simply select and export content as json from any domain you join, by using the CREATE button.
Are you trying to run the client on the same VM as the server? If so this will not work if the server does not a good GPU You need to run the client on another PC locally with a good GPU, not via remote desktop and not on a VM either. Just download the client onto your local PC and try, it will work with intel GPU but might be slow. There is Mac, Windows, and Linux client.
Right now I dont think there is a working web client but this is coming hopefully later this year. You cannot connect simply by going to http://localhost:40102 in a web browser, only the native 3D client can do this.
So the only way is to run the interface native client on a proper PC, then search for your server using the Explore button to connect.