Installation instructions
Skip to
Introduction
VASSAL is a Java application, which allows it to run on any platform that can run the Java platform - or Java Runtime Environment (JRE). This encompasses most desktop platforms, such as Windows, MacOSX, and Linux, as well as other systems such as FreeBSD, Solaris, and so on. It is even possible to run a fully-fledged JRE on Android (but not iOS).
Windows
The VASSAL installer for Windows comes with a JRE, and there’s no need install Java separately.
- Head over to the VASSAL download page
- Select the installer file for your architecture
.exefor 64-bit x86 - this is most likely what you want..exefor 32-bit x86 - for older machines..exefor 64-bit ARM - for more specialised machines
If in doubt, check out the MicroSoft FAQ
- Download the installer, and remember where you downloaded it to (typically your
Downloadsfolder) - Open your file manager (
File Explorer) and navigate to where you downloaded the VASSAL installer. - Double-click the installer and follow the on-screen instructions.
If you have trouble installing, check Issues with Download, Installation or Running being Blocked to see if there is a known solution.
MacOSX
The VASSAL disk-image for MacOSX comes with a JRE, and there’s no need install Java separately.
- Head over to the VASSAL download page
- Download the disk-image (
.dmg) for MacOSX, noting where you downloaded it to (typically yourDownloadsdirectory). - Open
Finderand navigate to where you downloaded the image. - Double-click the installer and follow the on-screen instructions.
If you have trouble installing, check Issues with Download, Installation or Running being
Blocked to see if there is a known solution.
For installation on older MacOSX versions (MacOS 10.13 or older), check if the post Installing Vassal for older MacOS machines works for you.
Linux
The below assumes a bit of familiarity with the command line - see also here. Alternatively, you can use your distributions graphical user interface (GUI) tools for package installation, archive expansion, etc.. Please refer to your distributions documentation.
Debian and derivatives
For Debian GNU/Linux and derived Linux distributions - such as Kali, Knoppix, Kali, Mint, SteamOS, Ubuntu, Zorin, etc. - you can download the latest Debian package - file of the form vassal-<version>-1_all.deb from GitHub releases page (as of this writing, no link is provided from the Vassal download page.
Typically, the download will end up in your Downloads folder. Open that folder with your file browser and double-click the file to install it. It should automatically download and install all needed packages from your distribution repository.
You can also do this from the terminal - assuming you downloaded vassal-3.7.19-1_all.deb - by doing
$ cd ~/Downloads
$ sudo apt install ./vassal-3.7.19-1_all.deb
(replace the version number with the version you downloaded).
This package will set up full desktop integration, meaning
- Vassal files (
.vmod,.vsav,.vlog, and.vext) are associated with Vassal and you can simply double-click such a file to open it in Vassal. - Vassal is registered as a (Game) application with system menus and so on.
- Documentation is integrated in to the systems documentation repository.
- The Vassal API JAR
Vengine.jaris placed in a predictable location (/usr/share/java) - The package uses already available third-party JARs and thus benefits from (security) updates to those third-party packages.
Generic Linux
If you are not using Debian GNU/Linux, or one of its many derivatives, you must install Vassal “by-hand”.
Vassal for Linux consists of a Java Archive (JAR), some auxiliary files, and a wrapper script to execute the JAR. It does not come with a JRE, and one must therefore be installed first.
Install the JRE
Please make sure you get at least the required version of JRE (see the note on the VASSAL download page). As of this writing (Spring of 2025) you need at least version 11.
Debian and derivatives
For the Debian GNU/Linux and derived distributions, such as Ubuntu, Mint, Kali, and many many others, package installation is done via apt. To install a JRE, do
$ sudo apt install default-jre
Consult your distribution documentation on Java, e.g., Debian’s or Ubuntu’s, for more information and trouble-shooting
Redhat and derivatives
For the Redhat and derived distributions, such as Fedora, CentOS, and many others, package installation is done via dnf. To install a JRE, do
$ sudo dnf install java-latest-openjdk
Some Redhat derivatives may use yum rather than dnf. For those distributions, do
$ sudo yum install java-latest-openjdk
Consult your distribution documentation on Java, e.g., Fedora’s, RHEL’s, for more information and trouble-shooting.
Arch Linux and derivatives
For Arch Linux and derived distributions, such as Manjaro, and SteamOS, package installation is handled by the pacman. To install a JRE, do
$ sudo pacman -S --needed jre-openjdk
See also ArchLinux Java documentation.
Gentoo and derivatives
For Gentoo and derived distributions, such as ChromeOS, and ChromiumOS, package installation is handled by the portage system. To install a JRE, do
$ sudo emerge --ask --oneshot virtual/jre
See also Gentoo’s Java documentation.
Other distributions
Please refer to your distribution’s documentation.
Download VASSAL
- Head over to the VASSAL download page
- Download the compressed tar-ball
.tar.bz2for all architectures, noting where you downloaded the file (typically yourDownloads- or~/Downloadsdirectory)
Install VASSAL
When installing VASSAL you have choice of where to put it, and how to install it. Common destinations are
/opt/vassalfor system-wide installation~/Vassalfor single-user installations
It is recommended to install in /opt/vassal
Furthermore, you may want to do a flexible installation that allows you to quickly and easily change the VASSAL version you are running.
However, you are free to do the installation in anyway you want.
System-wide
-
Make sure the directory
/opt/vassalexists.$ sudo mkdir -p /opt/vassal -
Change directory to
/opt/vassalcd /opt/vassal -
Unpack the downloaded compressed tar-ball to that directory. Assuming the tar-ball was downloaded into
~/Downloads/VASSAL-3.7.16-linux.tar.bz2(adjust of actual download directory and VASSAL version number), do$ sudo tar -xjf ~/Downloads/VASSAL-3.7.16-linux.tar.bz2This will create the directory
VASSAL-3.7.16(adjust for actual version number). -
Make a symbolic link from the unpacked directory to
current$ sudo ln -s VASSAL-3.7.16 current(adjust for actual version number).
This step is optional, but recommended.
This will make it so that
/opt/vassal/currentpoints to the installed version of VASSAL. Should you later want to use a different version, then download the tar-ball and unpack as detailed in 3 above. Then, remove the old link and make a new one from the new installation. Say you got 3.7.20, then do$ cd /opt/vassal $ sudo rm current $ sudo ln -s VASSAL-3.7.20 current
You can now execute VASSAL by running
/opt/vassal/current/VASSAL.sh
Single-user
-
Make sure the directory
~/Vassalexists.$ mkdir -p ~/Vassal -
Change directory to
~/Vassalcd ~/Vassal -
Unpack the downloaded compressed tar-ball to that directory. Assuming the tar-ball was downloaded into
~/Downloads/VASSAL-3.7.16-linux.tar.bz2(adjust of actual download directory and VASSAL version number), do$ tar -xjf ~/Downloads/VASSAL-3.7.16-linux.tar.bz2This will create the directory
VASSAL-3.7.16(adjust for actual version number). -
Make a symbolic link from the unpacked directory to
current$ ln -s VASSAL-3.7.16 current(adjust for actual version number).
This step is optional, but recommended.
This will make it so that
~/Vassal/currentpoints to the installed version of VASSAL. Should you later want to use a different version, then download the tar-ball and unpack as detailed in 3 above. Then, remove the old link and make a new one from the new installation. Say you got 3.7.20, then do$ cd ~/Vassal $ rm current $ ln -s VASSAL-3.7.20 current
You can now execute VASSAL by running
~/Vassal/current/VASSAL.sh
Desktop integration
Please see the article How to Integrate VASSAL into the Linux Desktop.
ChromeBook
ChromeBooks (or ChromioumBook) are running the Linux kernel with a Graphical User Interface based on the Chrome (or Chromium) browser. As such, it is just another Linux machine.
You need to turn on “Linux” by following these instructions.
Note, this is such a misleading way of talking about this. What you really are doing is simply to enable particular interfaces which are already present on your system: ChromeOS is already running the Linux kernel and all the command-line tools are already there - they are just not visible to you: A case of Security-by-Obscurity.
Follow the instructions for Linux, in particular the Debian GNU/Linux instructions for installing Vassal.
Android
Please see the article How to Run VASSAL on Android (X11)
SteamOS
Please see the article How to Run VASSAL on SteamDeck
Other platforms
For all other platforms, you will need to get a JRE on the machine. Please refer to your platform’s documentation.
Please make sure you get at least the required version of JRE (see the note on the VASSAL download page). As of this writing (Spring of 2025) you need at least version 11.
Other steps will then follow the same procedure as for Linux.
Trouble shooting
-
First, check the Documentation index, in particular known issues, to see if your problem has a known solution.
-
Secondly, check the forum, in particular the Technical Support & Bugs category, if your problem has already been solved.
-
If your problem persists, create a new post in the Technical Support & Bugs, following these guidelines and taking care to format your message for readability
Hopefully, someone will have a solution to your problem quickly.