June 6th 2021 Update
TG appears to no longer work under this setup, and I'm told TG has dropped IE8 support. This effectively means dropping linux support. Bay and Bay-derived servers/codebases (this includes Polaris) should still work well under this setup.
Disclaimers
My method of installing was done on Ubuntu, specifically the 18.04.4 LTS version, which is a fairly common distro, so hopefully that helps. If you're on something like Arch then you might need to make some adjustments. I'm also using the KDE Desktop Environment, which might be different from your DE, but hopefully it won't be an issue.
I'm also running an AMD GPU, which usually makes things easier on Linux compared to using an Nvidia card due to less driver headaches. I've never used a Nvidia one on linux so I can't really help you if that causes problems.
This guide also assumes you have full access to your system, I.E. you can use sudo or su or otherwise have permission to install something on the system. If you're on something really locked down like a Chromebook, then this might not work. You don't need to be root to play the game, but you will need it to install WINE and supporting programs.
What We're Gonna Use
Nowadays there's a lot of different 'front-end' programs for WINE, such as Steam's Proton, or Lutris, that can install certain programs and follow a pre-configured list of steps to get the program to run. There's even a setup for BYOND, but instead of using that, I'd rather use a different program, called PlayOnLinux, for a number of reasons.
For starters, PlayOnLinux will handle a lot of the tedious management of 'wine bottles' and what version of WINE to use, but without just trying to handle absolutely everything automatically like Lutris does. This is a pro because if something goes wrong when using Lutris, it's pretty difficult to figure out what happened, while using PlayOnLinux lets us tinker with the setup heavily, but still handles the otherwise tedious management of other things that we would need to deal with if we were to just use WINE manually.
Getting PlayOnLinux
First, we need to install PlayOnLinux. In the world of Linux, generally the preferred method of installing a program is by using your distribution's package manager, as opposed to googling for the program and downloading it. Doing it this way is easier, faster, probably safer, and also will have your programs be easy to update. For Debian-based distros like Ubuntu, apt-get is used to install/uninstall programs. Other distros will likely have a different package manager, like Arch using pacman, so go look up which one your distro uses if you don't use apt.
I'd tell you that you can probably go find a nice front-end for your distro's package manager, and if you know of one you want to use, then you can use that just fine, but if you otherwise don't, I'll just use apt, a 'commandline front-end' for apt-get, in the command line, since later on in the install we're gonna be using the command line anyways, so now's a good time to get used to using it.
Now to the actual installation instructions. First, open a terminal using whatever terminal you like, and then type in
Code: Select all
sudo apt install playonlinux
Setting up PlayOnLinux
After that's done, you should be able to find the new program on your menu bar, or you can just type
Code: Select all
playonlinux

Just without anything on the bottom-right side, since that's where byond will be once we finish installing. I have a bunch of byond versions since awhile ago I decided to install byond many times with different changes to find the most stable version, for science. Yours is probably not gonna look that crazy.
Anyways, next step is to click the Configure button, which will open a window like this.

First, let's get a version of WINE that I know works with BYOND really well, which as of this writing is 5.2. You can easily change what version you use with a few clicks, which is a big part of why we're using PlayOnLinux as opposed to doing it manually.
Near the middle of the window, look for Wine version, and click the little plus button on the right end. This will open a new window.

At the writing of this guide, the PlayOnLinux servers seem to be having some trouble, so I can't actually see the giant list of wine versions on the left. Hopefully that doesn't happen to you or you might need to figure out how to manually install 5.2 to PlayOnLinux.
The tab that we start on is Wine versions (x86), which basically means 32 bit, which is where we want to be. Look for 5.2 on the list on the left that is hopefully there, click on it, then click the > arrow to install it, then close the window.
Making your Wine Bottle
Click the New button on the bottom-left of the window. Another window will pop up.

Click Next.

It will ask if you want a 32 bit or 64 bit "Virtual Drive", which is just what PlayOnLinux calls wine bottles. BYOND is 32 bit, so click 32 bit.
A note on wine bottles: They're essentially directories that contain everything WINE will use to make the program think it's running in windows, but are isolated from other wine bottles, so installing stuff to get one game to work inside its wine bottle won't break a different game inside a seperate wine bottle. It should be noted this isolation isn't really isolation in the security sense, since stuff running inside the wine bottle still can see the root directory.
After hitting Next again, you'll be asked for which version of WINE to use for the wine bottle you're making.

You can change this later at any time, which is very helpful when wanting to see if a specific version works or doesn't work. I personally use 5.2. If you don't see that available, you need to install 5.2 through the wine manager first, or switch to it later.
Once again, hit Next, and you're asked to choose a name for your wine bottle.

It doesn't really matter what you name it but I suggest making it obvious that it holds byond inside, so naming it byond, ss13, etc is recommended. In the picture I'm naming it ss13, since I already have (many) byond bottles already, so I don't get confused.
Hit Next, and wait for the program to set up your bottle. It should take only a minute or so.
When that's all done, you should see something like this, but only having 'default' and whatever you named your new wine bottle. Make sure your new one says it's wine version is 5.2.

Now we have a wine bottle ready, but WINE needs more software to run BYOND, so we're gonna be installing some extra stuff inside the bottle. Click the Miscellaneous tab, then click Open a shell.

This will open a terminal and automatically set some environmental variables so that what we're gonna install goes to the right place. If we were doing this manually than you'd have to do that yourself, another reason we're using PlayOnLinux. Note that your terminal program might look different, but it should look somewhat similar.

We're gonna use a terminal program called winetricks, which installs things for wine to use. It's kind of like a package manager for WINE. You might need to install it, if it didn't get installed alongside PlayOnLinux. If that's the case, just do what you did to install PlayOnLinux but instead type in winetricks. Various SS13 linux guides recommend a different number of things to install, however I've found that 'less is more' when it comes to this, as installing a bunch of stuff had actually made it worse. Thus this list is rather small and contains the essentials, but it's everything you need to play on Polaris. I've also played on TG without issue. This is an update: TG appears to have dropped IE8 support, which effectively drops linux support.
The things we're gonna be installing is allfonts, wsh57, mfc42, vcrun6, and finally ie8. With allfonts being the exception, the others are required for BYOND to run. Allfonts just makes the fonts not look awful.
Winetricks lets you chain install programs one after the other if you type the name of each one on the same line. You can also install them one at a time if you want.

Hit enter, and you have some time on your hands, since it takes me about 15 minutes to install everything. It might take you more or less time depending on how good your CPU is. You'll see a massive amount of text go by but you don't need to read any of it. Go get a tasty sandwich and wait. Just note that when winetricks gets to the vcrun6 and ie8 parts, a popup box from the program being installed will come up and you'll need to handle it, EULAs, etc.
IE will probably ask if you want to "improve" it, presumably with telemetry (remember when they used to ask you for that?). Just decline that and keep going. Accept the EULA. It'll ask if you want updates for windows/IE and a virus scan, just say no and keep installing.
When it's done, the IE prompt will probably suggest restarting your computer, but you don't need to do that, since it thinks it's on Windows and Windows usually needs to restart when updating system-related stuff. If you really want, you can click the 'Windows reboot' button in the Wine tab.
Close that special PlayOnLinux commandline, since we're done with it now.
Now we're all set to run BYOND, but first, we need to actually get BYOND and install it.
Installing BYOND
Go to BYOND's website, and download BYOND. Which version is the best one tends to change over time so I'm not gonna give any specific recommendations, but if for some reason you don't want the latest version, you can go to http://www.byond.com/download/build/513/ to find all the versions for 513. If 514 or later is out by the time you're reading this, just change the link to point there.
Download the installer .exe somewhere easy to reach, like your downloads folder. It doesn't need to be inside your wine bottle.
After you downloaded the exe, go back to PlayOnLinux, and go to where you went to open the shell, in the Miscellaneous tab, but this time click Run a .exe file in this virtual drive. This does something similar to the shell button, setting environmental variables to point to your wine bottle instead of your system in general. A file dialog box will pop up. Go find the byond .exe you downloaded, highlight it, and click open.

If all went well, you'll see the BYOND install show up, starting with the EULA. You know what to do.

Next it'll ask where you want BYOND. I'd leave it at the default. Note that this is relative to your wine bottle, I.E. the "C Drive" that BYOND is gonna install into is inside your wine bottle.

It'll ask if you want start menu entries and a desktop shortcut. I don't remember if this actually makes it through WINE or not but you can set those up later if you want. I opted to not add those things. Click the install button.

Watch the progress bar. When it's done it'll ask if you want to launch BYOND. Might as well.

Running BYOND
BYOND should be open now, and you'll need to log into it with your BYOND account.
After that, you should be good to go, for playing SS13. Connect to the server of your choice to see if everything's working.

There's still a few more things to do that will make launching BYOND less of a pain. Go back to PlayOnLinux's Configure window, on the General tab, and click Make a new shortcut from this virtual drive. You'll get a list of programs inside your wine bottle.

Click byond.exe, and click Next.
Give it a name. If you're like me and want to install different versions at the same time, you can name them differently to distinguish them. Click Next.

It'll ask if you want to add more shortcuts. Hit Cancel. You can close the Configure window now.
On the main PlayOnLinux window, you should see your new shortcut there. In the future, you can highlight that shortcut, and click the Run button to run BYOND from the wine bottle. At this point, you should be all set to play SS13 on Linux.
Known Limitations
Certain features unfortunately do not work, or work at a reduced capacity when playing with this setup, however the overall game itself remains perfectly playable.
Notes;
- Tooltips should work without incident.
- Examine tab's title will have weird spacing but it should still be readable.
- VChat will not work at all. I recommend turning it off in preferences so you don't need to wait for oldchat to come back.
- Icons in the chat bar are missing, e.g. the radio icons, but nothing vital depends on those.
- If planning to play on TG or TG-derived servers, you should enable 'no frills' setting in preferences for their TGUI. TG does not appear to be playable anymore. I'm not sure if downstreams will also have issues or not.
- Polaris TGUI that use advanced features like the suit sensor map will probably not work, but the basics still work.
- Most NanoUI windows work without any issues beyond refreshing faster than they're supposed to (E.g. every second vs every two seconds).
- Certain NanoUI windows which load a lot of information at once, like powergrid monitor, might choke the client and cause your game to freeze. This sometimes happens for people on Windows as well.
- The client might slow down over time if it runs for many hours. Closing and rejoining the game fixes this. This may or may not actually also affect Windows and be BYOND's fault.