Skip to content

Instantly share code, notes, and snippets.

@belthesar
Last active October 27, 2023 05:16
Show Gist options
  • Save belthesar/ac38df6c204bf512344900c64b81d2a2 to your computer and use it in GitHub Desktop.
Save belthesar/ac38df6c204bf512344900c64b81d2a2 to your computer and use it in GitHub Desktop.
Playing Supplice on Mac or Linux!

Playing Supplice on Mac or Linux

Supplice is currently (as of 2023-10-26) for Windows users, but thanks to the awesome work of the gzdoom team, and because there currently seem to be no engine code level changes, it is possible to play Supplice on Windows or Mac! Keep in mind, these instructions involve some work in the terminal on these operating systems, and assume you have some basic familiarity working inside of one. If you aren't comfortable with digging into some CLI shenanigans, it would probably be best to wait for an official release for your platform, and to request that the Supplice team add support for your platform.

The overview of steps is as follows:

  1. (Arguably most importantly) Buy Supplice!
  2. Install GZDoom for your platform
  3. Install steamcmd for your platform
  4. Use steamcmd to force install Supplice on your computer
  5. Use GZDoom to play Supplice!

Buy Supplice!

In order to play Supplice on other platforms, you need to own a copy of Supplice. Head on over to Steam and pick up a copy to play!

Install GZDoom for your platform

The GZDoom team makes builds of GZDoom for so many platforms, including Mac and Linux!

The most officialy way to install GZDoom for Mac or Linux is to download the version that's appropriate for you from the ZDoom website: https://www.zdoom.org/downloads

Alternatively, you can use various different package managers like Homebrew (brew install --cask gzdoom) for Mac or Flatpak (flatpak install gzdoom) for Linux. See these package managers' websites for installation instructions.

Install steamcmd for your platform

What's steamcmd? steamcmd is a command line utility for interacting with Steam. It's predominantly used for performing actions like installing games on systems without a GUI, but it can also be used to install games that are unsupported on the current platform!

On Mac

The way I installed steamcmd on Mac was through Homebrew. If you didn't use Homebrew to install GZDoom, you install it now by following the instrctions on the Homebrew website.

Once Homebrew is installed, you can install steamcmd with the command brew install steamcmd.

On Linux

steamcmd is a part of most distributions package managers. See your distribution's instructions for how to install packages. The package is almost always simply called "steamcmd". You can also follow Valve's instructions for installing steamcmd here: https://developer.valvesoftware.com/wiki/SteamCMD. Keep in mind that if you install steamcmd manually, you may need to perform additional steps to ensure the binary is executable, and that you may need to specify the path to the binary if it is not in your PATH.

Use steamcmd to force install Supplice on your computer

Now that we have steamcmd installed on our computer, we need to use it to install Supplice! Here's how we do that.

Note: steamcmd is a command line utility run through the terminal.

Open up your favorite terminal emulator. On Mac, you can use the built in Terminal.app or the venerable iTerm, for Linux, this might be Gnome Terminal or Konsole, or whatever your fancy is really, if you're running Linux, I'm going to safely assume you've either got incredibly strong opinions on this subject, or you're happy to use whatever your desktop environment supplies. From here, since steamcmd is likely installed in our PATH (and if it's not, then you're doing things hard mode and you likely already know what to do here), we can open steamcmd in our terminal.

$ steamcmd

On first run, steamcmd takes a little bit to get things started. You'll know it's ready for input when we're presented with the prompt below:

Steam>

From here, we can start inputting commands. First, we'll need to login.

Steam> login <username>

You will replace <username> with your Steam username. Do not include the angle brackets. In example, if your username was "ILoveBoomerShooters", your would enter into the prompt login ILoveBoomerShooters. steamcmd will then ask for your password, and then ask for a Steam 2FA code. Your phone may prompt you for a login attempt, and you can approve it, but in my experience, I had to navigate in my phone to retrieve one of the old 2FA loging codes. Your Steam Mobile app may warn you to not give these 2FA codes to anyone (which is really good advice!) but we can safely disregard it as we are the one using the code.

Once you've logged in, we're almost ready to download the game. However, we need to set an option in steamcmd to tell it that, forget whatever operating system we're running right now, we want to download the Windows game. We do that by typing this command in the steamcmd prompt:

Steam> @sSteamCmdForcePlatformType windows

You'll know you've done it right when steamcmd returns the following:

"@sSteamCmdForcePlatformType" = "windows"

Now, we can tell steamcmd to install the game! To do that, we use the following command:

Steam> app_update 1693280

With this, steamcmd will now download the game to our Steam Library. If you have more than one, it will choose your primary library to install to.

What does that number mean? All Steam apps have an App ID. I found Supplice's Steam ID at https://steamdb.info.

Once the game is installed, type quit at the prompt to close steamcmd. Now that Supplice is installed, it's time to have some fun.

Use GZDoom to play Supplice!

Okay! GZDoom is installed, Supplice is installed, how the heck do I do this? Well, for both Mac and Linux, the steps boil down to the same two things.

  1. Find out where Supplice is installed to
  2. Start GZDoom, telling it where Supplice is installed.

Step 1 is pretty common, but Step 2 is separate Because of that, we'll outline them separately:

Play on Mac!

Assuming that steamcmd installed Supplice to your default Steam library, that should be installed at ~/Library/Application Support/Steam/steamapps/common/Supplice. You can get to your Steam Library pretty easily by opening Steam settings (Cmd+, or Steam menu in the top left -> Preferences). Go to the Storage section, and hit the three dots button, and choose "Browse Folder". From this folder, Open the Common folder, then the Supplice folder.

Once here, you'll find the file "Supplice.ipk3". You'll need this! You can copy this file if you'd like, or you can create a shortcut to this folder so you can come back here easily. Either way, open up a second Finder window to your Application folder, and find your GZDoom App icon. To open Supplice, drag the "Supplice.ipk3" file onto your GZDoom icon. If it's more convenient, or you plan on playing a lot of Supplice, you could pin the GZDoom icon to your Dock, and drag the "Supplice.ipk3" file to the Dock icon.

Depending on if you have Doom WADs on your system, GZDoom will either launch Supplice directly, or it prompt you for which IWAD you want to use. Choose Supplice at this menu, and then click OK. That's it, you're in!

Play on Linux!

Linux folks, things are bit more manual for y'all. In my expereince, it's far more easy to use GZDoom from the terminal to launch IWADs, and Supplice will be the same. First, let's find the path to your Supplice install. If your Steam is using the default library path, that will be at ~/.steam/steam/steamapps/common/Supplice. You can also find the path in the Steam Settings (Steam menu, Settings). Go to the Storage section, and hit the three dots button, and choose "Browse Folder". From this folder, Open the Common folder, then the Supplice folder. This should open in your Window Manager's file browser. Either way, confirm the path, and then close this window.

From here, we'll open a terminal. Change directory to our Supplice directory (eg: cd ~/.steam/steam/steamapps/common/Supplice), and then launch GZDoom with the following command gzdoom -iwad ./Supplice.ipk3 +queryiwad false.

What does that queryiwad thing do? Even if you have other Doom IWADs in a place where gzdoom could find them, this command tells gzdoom "don't worry about those other iwads, just use the one I told you to use."

That's it, you're in, get to shooting!

Do I need to follow these steps for Linux? What about Proton?

Everything about the ZDoom engine should work brilliantly in Proton, so that's totally a viable option for you! A native build is certainly not going to add anything special, and you likely won't notice a performance or fidelity difference playing with Proton on Linux. If you want the easiest experience on Linux, this is definitely way simpler than it would otherwise be with the steps above. However, if you have some weird behaviors, you can try the steps above and see if they improve your experience

Concluion

Hope this helps, y'all! Be sure to tip your game devs, they're making a wonderful experience, and maybe, instead of writing for 45 minutes, I'll actually be able to play the game and enjoy the new Episode 2 that just dropped! Enjoy!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment