Skip to content

Instantly share code, notes, and snippets.

@alexkar598
Last active October 22, 2024 18:12
Show Gist options
  • Save alexkar598/9a5624decad39ce40c5dadef8231fbd3 to your computer and use it in GitHub Desktop.
Save alexkar598/9a5624decad39ce40c5dadef8231fbd3 to your computer and use it in GitHub Desktop.
ss13 on linux
  1. Use ubuntu (or debian works too for this guide) because i dont know the other distros lmao

  2. Run sudo dpkg --add-architecture i386 to enable 32 bits package lists

  3. Run sudo apt update to make sure package lists are updated

  4. Run sudo apt install libstdc++6:i386 to get the dependencies for BYOND

  5. Find the download link for BYOND's linux version from http://www.byond.com/download/, looks like http://www.byond.com/download/build/513/513.1536_byond_linux.zip

  6. Run wget <theurlyougot>

  7. Decompress the file you just downloaded somewhere unzip 513.1536_byond_linux.zip replacing the filename with the actual filename you have

  8. CD into the newly extracted byond directory

  9. You have two options here:

    1. Install system wide
    2. Install for your own user without admin rights
Option 1: Install system wide Option 2: Install for your own user without admin rights
1. Run sudo make install 1. Run make here
2. Its going to give you a command to run that looks like source /somepath/byond/bin/byondsetup, run that command
3. (Optional) Add that command to your startup script (.bash_profile/.profile). This step is optional if youre fine with running this command each time you open a shell you want to use BYOND in
  1. Run DreamDaemon, you should get the usage information
  • (Optional) Run ldd yoursofile.so on each .so file in your codebase to verify that linkage is working properly. You should be looking for something that says its not found. If everything is OK move on to the next step.
  1. Run DreamDaemon yourcodebase.dmb -trusted

Troubleshooting:

Running ldd says that the file is not a dynamically linked executable

Try installing gcc-multilib with sudo apt install gcc-multilib


Im getting spammed with runtimes of Cannot load library <something>.so

  • Verify that the .so file actually exists
  • Verify that the user running DreamDaemon has the execute permission to the .so file (use ls -l to check the permissions and ownership)
  • Try to ldd the .so file and check if any library is marked as "(not found)" or is missing a version (/usr/lib/libstdc++.so.6: version GLIBCXX_3.X.XX' not found ` is a common one and is somewhat easy to miss)
  • Run strace DreamDaemon yourcodebase.dmb | grep <something>.so to try to find what its trying to load and where and figure it out from there

The game is expecting an .so file but it doesnt exist!

If its rust_g, you can download a release from https://github.com/tgstation/rust-g/releases or follow the instructions https://github.com/tgstation/rust-g to compile it yourself. If it is not rust_g, contact whatever smart dude your codebase has.


LDD says a library is not found, so now what?

Google ubuntu <yourlibraryfile thats not found> not found and chances are youll hit a stack overflow page that tells you what package to install to get the library


Running DreamDaemon says No such file or directory /somepath/byond/bin/DreamDaemon

Make sure libstdc++6:i386 is installed


wget/make/unzip not found

Run these commands depending on whats missing

  • wget: sudo apt install wget
  • make: sudo apt install make
  • unzip: sudo apt install zip

How do I do X on Y distro?

I dont know mane, this is a guide for ubuntu so stackoverflow.com is your friend

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