-
Use ubuntu (or debian works too for this guide) because i dont know the other distros lmao
-
Run
sudo dpkg --add-architecture i386to enable 32 bits package lists -
Run
sudo apt updateto make sure package lists are updated -
Run
sudo apt install libstdc++6:i386to get the dependencies for BYOND -
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 -
Run
wget <theurlyougot> -
Decompress the file you just downloaded somewhere
unzip 513.1536_byond_linux.zipreplacing the filename with the actual filename you have -
CD into the newly extracted
byonddirectory -
You have two options here:
- Install system wide
- 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 |
- Run
DreamDaemon, you should get the usage information
- (Optional) Run
ldd yoursofile.soon 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.
- Run
DreamDaemon yourcodebase.dmb -trusted
Try installing gcc-multilib with sudo apt install gcc-multilib
- 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: versionGLIBCXX_3.X.XX' not found ` is a common one and is somewhat easy to miss) - Run
strace DreamDaemon yourcodebase.dmb | grep <something>.soto try to find what its trying to load and where and figure it out from there
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.
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
Make sure libstdc++6:i386 is installed
Run these commands depending on whats missing
- wget: sudo apt install wget
- make: sudo apt install make
- unzip: sudo apt install zip
I dont know mane, this is a guide for ubuntu so stackoverflow.com is your friend