Running Manually

SKGM can be downloaded as a AppImage from the GitHub releases and run on the server. A beginners guide is available here. An cloud-init script is available here.

Prerequisites

The prerequisites for SKGM are the same as other GameMaker games. Ubuntu 20.04 and 22.04 are needed (other distros may work but are not tested), and the following apt packages are needed:

  • libxxf86vm1
  • libgl1
  • libssl1.1
  • libxrandr2
  • libglu1-mesa
  • libcurl4
  • libopenal1
  • xvfb
  • libssl1.0.0
  • libcurl3-gnutls
  • lsb-release

For Ubuntu 20.04, use the following commands to install them:

echo "deb http://security.ubuntu.com/ubuntu xenial-security main" > /etc/apt/sources.list.d/xenial-security.list

apt-get update
apt-get install --no-install-recommends --yes \
  libxxf86vm1 \
  libgl1 \
  libssl1.1 \
  libxrandr2 \
  libglu1-mesa \
  libcurl4 \
  libopenal1 \
  xvfb \
  libssl1.0.0 \
  libcurl3-gnutls \
  lsb-release

For Ubuntu 22.04, use the following commands to install them:

apt-get update
apt-get install --no-install-recommends --yes \
  curl \
  ca-certificates \
  gpg \
  gpg-agent \
  dirmngr

echo "deb http://security.ubuntu.com/ubuntu xenial-security main" > /etc/apt/sources.list.d/xenial-security.list
echo "deb http://security.ubuntu.com/ubuntu focal-security main" > /etc/apt/sources.list.d/focal-security.list
gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 40976EAF437D05B5 3B4FE6ACC0B21F32
gpg --export 40976EAF437D05B5 3B4FE6ACC0B21F32 >/etc/apt/trusted.gpg.d/security.ubuntu.com.gpg

apt-get update
apt-get install --no-install-recommends --yes \
  libxxf86vm1 \
  libgl1 \
  libssl1.1 \
  libxrandr2 \
  libglu1-mesa \
  libcurl4 \
  libopenal1 \
  xvfb \
  libssl1.0.0 \
  libcurl3-gnutls \
  lsb-release

Running headless

As usual for GameMaker games on linux, running headless needs the help of Xvfb. This needs to be running at any time SKGM is running. The following commands will run Xvfb in the background:

Xvfb :0 -screen 0 400x400x24 &

Once Xvfb has been run, SKGM can then be run headless on DISPLAY=:0. Games that it start up will also use this display to run headless

DISPLAY=:0 ./skgm.AppImage --appimage-extract-and-run

Once SKGM is running, you can open up the control panel, using port 5000 (the default port). e.g. http://:5000