Try   HackMD

Обновлённый гайд для запуска BYOND (DreamDaemon) на Debian/Ubuntu


Оригинал https://www.byond.com/forum/post/2780956
Пост переведён на Русский язык от последнего изменения 9 апреля 2022 года.


Это руководство является кросспостом из моего GitHub Gist. Вы можете найти оригинал здесь

  1. Используйте Ubuntu (или Debian тоже подходит для этого руководства), потому что я не знаю других дистрибутивов лол.

  2. Введи sudo dpkg --add-architecture i386 чтобы включить 32-битные пакеты

  3. Введи sudo apt update чтобы убедиться, что пакеты обновлены

  4. Введи sudo apt install libstdc++6:i386 чтобы получить зависимости для BYOND

  5. Найди ссылку для загрузки Linux-версии BYOND с http://www.byond.com/download/, например такую http://www.byond.com/download/build/513/513.1536_byond_linux.zip

  6. Введи wget <ссылка_на_BYOND>

  7. Распакуй файл введя unzip 513.1536_byond_linux.zip заменив имя файла на ту что скачали (посмотри в конец ссылки бастард прим. пер.).

  8. Перейди в byond директорию (cd byond прим. пер.)

  9. У тебя два варианта:

  10. Установить для всех пользователей

  11. Установить только для своего пользователя без прав администратора

Вариант 1: Установить для всех пользователей Вариант 2: Установить только для своего пользователя без прав администратора
1. Введи sudo make install 1. Введи make here
2. Это даст комманду которая выглядит примерно так source /somepath/byond/bin/byondsetup, введи её
3. (Необязательно) Добавьте эту команду в сценарий запуска (.bash_profile/.profile). Этот шаг является необязательным, если вы можете запускать эту команду выше каждый раз, когда открываете терминал, в которой хотите использовать BYOND.
  1. Введи DreamDaemon, и ты увидишь как надо пользоваться

  2. (Необязательно) Введи ldd библиотека.so в вашей папке с кодом, чтобы убедиться, что связь между библиотекой и пакетами работает правильно. Если все в порядке, переходите к следующему шагу.

  3. Введи DreamDaemon твойкод.dmb -trusted

Находим проблему:

Ввод ldd комманды, что файл не является динамически подключаемым исполняемым файлом.

Попробуйте установить gcc-multilib с помощью sudo apt install gcc-multilib


Я получаю спам рантаймами типа Cannot load library <something>.so

  • Убедитесь, что файл .so действительно существует
  • Убедитесь, что у пользователя, запускающего DreamDaemon, есть разрешение на выполнение файла .so (используйте ls -l для проверки разрешений на владельца)
  • Введи ldd файл.so и посмотрите, не помечена ли какая-либо библиотека как (not found) или у неё нету версии (/usr/lib/libstdc++.so.6: versionGLIBCXX_3.X.XX' not found обычно распространённая проблема)
  • Введи strace DreamDaemon твойбилд.dmb | grep <твоябиблиотека>.so чтобы попытаться найти то что он пытается загрузить

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

Если это rust_g, то его можно скачать отсюда https://github.com/tgstation/rust-g/releases или следуя инструкции отсюда (англ.) https://github.com/tgstation/rust-g что-бы скомпилировать rust_g самому. Если это не rust_g, обратись к умному чуваку которого ты знаешь.


LDD говорит, что библиотека не найдена (not found), и что теперь?

Гугли ubuntu <твоя библиотека что не найдена> not found и, скорее всего, вы попадете на страницу стаковерфлоу, на которой указано, какой пакет установить, чтобы получить библиотеку.


Когда запускаю DreamDaemon пишет No such file or directory /somepath/byond/bin/DreamDaemon

Установи libstdc++6:i386


wget/make/unzip not found

Введи эти команды в зависимости от того, чего не хватает

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

Как мне сделать X в операционной системе Y?

Я не знаю, stackoverflow.com и askubuntu.com тебе помогут найти решение. Ну или же можете зайти сюда и задать вопрос.